Compare commits

...
103 Commits
Author SHA1 Message Date
Carmelo Messina 21397e931a v109 fix move navigation bar to bottom
replaced CachedFeatureFlags.isEnabled(flagname) with ChromeFeatureList.flagname
2023-01-06 15:28:35 +01:00
Carmelo Messina 6def6dbb13 v109 fix build (fixup) 2023-01-06 15:02:37 +01:00
Carmelo Messina 4bd07ff2a8 v109 no code changes (Update i18n zh_CN support) 2023-01-06 14:54:21 +01:00
Carmelo Messina 9af802b19a v109 fix Modify default preferences
no code changes, simply moved content_features.cc to features.cc
2023-01-06 14:53:55 +01:00
Carmelo Messina 6c61862192 v109 fix remove calling untrusted hooks 2023-01-06 14:53:06 +01:00
Carmelo Messina 8de6ebd120 v109 no code changes (big patches) 2023-01-06 14:51:58 +01:00
Carmelo Messina 0e90d1abc4 v109 Allow playing audio in background 2023-01-06 14:48:59 +01:00
Carmelo Messina 029f26f52b v109 patches
- Remove CachedFeatureFlags#sDefaults
https://source.chromium.org/chromium/chromium/src/+/aec86b4698c914db19b33fe3ea1b455cc4fb905f
2023-01-06 14:46:27 +01:00
Carmelo Messina fd697a78a1 v109 no code changes (with fix inverted Encode()) 2023-01-06 14:43:32 +01:00
Carmelo Messina 782a40f709 v109 no code changes (with fix some lost changes after v108) 2023-01-06 14:41:38 +01:00
Carmelo Messina e20700b880 v109 no code changes (with macros to define base::Features) 2023-01-06 14:38:54 +01:00
Carmelo Messina 4edd166532 v109 no code changes 2023-01-06 14:26:01 +01:00
csagan5 a0daaacf6d Release 108.0.5359.156 2022-12-19 22:06:09 +01:00
csagan5 868202cc90 Release 108.0.5359.109 2022-12-09 23:12:06 +01:00
csagan5 a036ebc7fa Release 108.0.5359.106 2022-12-03 16:25:31 +01:00
csagan5 d4d64568c4 Add missing CHANGELOG entry 2022-12-02 23:19:48 +01:00
csagan5 6c7c3a464b Release 108.0.5359.75 2022-12-02 23:07:30 +01:00
csagan5 37dc3f3f9a Further build and linking fixes 2022-12-02 23:01:37 +01:00
csagan5 506078ceec Build fixes 2022-12-02 23:01:37 +01:00
csagan5 5305deddb4 Ported all patches to v108 2022-12-02 23:01:37 +01:00
csagan5 ce0831ac07 More v108 patch updates 2022-12-02 23:01:37 +01:00
csagan5 4d9aeafe84 Patches for v108 2022-12-02 23:01:37 +01:00
Seb FandCarl b832e272de Added Android 13 to bug template 2022-11-20 12:27:13 +01:00
csagan5 3c356c438e Minor changes for latest v107 patches 2022-11-19 18:33:31 +01:00
csagan5 6147d667f1 Release 107.0.5304.114 2022-11-19 18:13:24 +01:00
csagan5 9e6782f08d Add missing entry from CHANGELOG 2022-11-19 16:57:32 +01:00
csagan5 e9bf23509a Add new banner for StandWithUkraine 2022-11-19 10:24:53 +01:00
Carmelo Messinaandcsagan5 be2a93f8b3 remove another method 2022-11-19 09:55:08 +01:00
Carmelo MessinaandCarl 1a98943b7b Aligns requestAnimationFrame's callback to the w3c specification 2022-11-19 09:54:14 +01:00
Carmelo MessinaandCarl 499e54afc2 fix some build errors 2022-11-19 09:49:11 +01:00
9ee77a4e1d set the color of the navbar, fix selection with drag touch (#2449)
Co-authored-by: Carmelo Messina <uazo@users.noreply.github.com>
2022-11-18 19:57:25 +01:00
csagan5 a34a56760f Release 107.0.5304.96 2022-11-16 23:51:15 +01:00
CarlandGitHub fa31ed23d4 Patches for v107 (#2435) 2022-11-16 23:43:43 +01:00
csagan5 196b7aeb57 Update funding options 2022-11-06 13:58:59 +01:00
csagan5 ed157739e4 Explicitly mention that builds are not officially supported 2022-11-06 13:51:03 +01:00
csagan5 b53615f711 Add Patreon donation option 2022-11-03 18:34:10 +01:00
csagan5 9f00f57f9b Release 106.0.5249.163 2022-10-31 18:41:03 +01:00
csagan5 1dd630c767 Add undocumented flag offline-pages-auto-save 2022-10-30 14:42:33 +01:00
csagan5 5b3407dac4 Remove PayPal donations instructions 2022-10-30 13:14:38 +01:00
csagan5 58211b7d40 Release 106.0.5249.72 2022-10-20 19:07:11 +02:00
CarlandGitHub bec354837c Patches for v106 (#2400) 2022-10-20 18:59:30 +02:00
csagan5 fdb76cca90 Add FAQ about JIT and websites performance 2022-10-19 07:56:38 +02:00
csagan5 a9fa3ee3a7 Fix some typos in CHANGELOG 2022-09-28 22:24:33 +02:00
csagan5 992d7ba767 Release 105.0.5195.147 2022-09-28 22:22:16 +02:00
8dcef19700 Remove http referrals in cross origin navigation (#2343)
* Remove http referrals in cross origin navigation

* Update build/patches/Remove-http-referrals-in-cross-origin-navigation.patch

Co-authored-by: Carl <32685696+csagan5@users.noreply.github.com>

* Update patch description

Co-authored-by: Carmelo Messina <uazo@users.noreply.github.com>
Co-authored-by: Carl <32685696+csagan5@users.noreply.github.com>
2022-09-28 01:28:03 +02:00
ebb00aec78 fixed injection with back-forward cache enabled (#2334)
Co-authored-by: Carmelo Messina <uazo@users.noreply.github.com>
2022-09-28 01:23:30 +02:00
csagan5 42b1cc902b Remove incorrect information about site-engagement flag 2022-09-27 23:42:12 +02:00
1910dad049 Partition blobs by top frame url (#2338)
Co-authored-by: Carmelo Messina <uazo@users.noreply.github.com>
2022-09-27 23:38:13 +02:00
87d3ef70eb Uses the first of the accept-languages as the system language for blink (#2311)
and fix the selection in the UI for the browser language

Co-authored-by: Carmelo Messina <uazo@users.noreply.github.com>
2022-09-27 23:37:41 +02:00
csagan5 a38283a21a Release 105.0.5195.41 2022-09-18 09:25:07 +02:00
CarlandGitHub 0b195c831b Patches for v105 (#2308) 2022-09-17 18:11:36 +02:00
csagan5 236a41fbc4 Add mention of strict origin isolation and strict site isolation 2022-09-04 20:25:50 +02:00
csagan5 182c239e96 Remove unused patch 2022-08-14 08:26:08 +02:00
csagan5 c2366cad99 Release 104.0.5112.91 2022-08-14 08:25:05 +02:00
zhmarsandGitHub a2cf968b7d Update zh_CN translations (#2248) 2022-08-13 21:38:10 -07:00
a3605523e5 Add svg fingerprinting mitigation (#2215)
Co-authored-by: Carmelo Messina <uazo@users.noreply.github.com>
2022-08-13 21:37:51 -07:00
csagan5 7dcdc98732 Improve description for #disable-external-intent-requests flag 2022-08-14 04:17:13 +02:00
csagan5 adcc477c33 Add explanation for #site-engagement flag 2022-08-08 06:25:56 +02:00
csagan5 6df964528a Release 104.0.5112.63 2022-08-08 02:07:12 +02:00
CarlandGitHub dca45015a4 Patches for v104 (#2232) 2022-08-07 17:04:16 -07:00
csagan5 069095f200 Clarify distinction for bug reports/feature requests about the browser itself 2022-07-25 04:45:04 +02:00
csagan5 1a874980c9 Update patch description 2022-07-25 04:40:03 +02:00
csagan5 94fb357b3e Release 103.0.5060.140 2022-07-25 03:32:52 +02:00
csagan5 41ab84eba8 Add pull request template 2022-07-21 12:11:34 +02:00
CarlandGitHub ff8c9f219c Merge pull request #2172 from uazo/remove-navigator-connection
Remove navigator.connection info
2022-07-21 03:04:10 -07:00
CarlandGitHub 8d0f1903c7 Merge pull request #2207 from uazo/fix-timezone
Fix incorrect handling of blink::TimeZoneController::TimeZoneOverride
2022-07-21 03:00:14 -07:00
CarlandGitHub 69e7f5cc91 Merge pull request #2208 from uazo/fix-user-agent-customization
Fix the correct management of the custom ua.
2022-07-21 02:59:34 -07:00
csagan5 5971dfdcb0 Update wording for FAQ 2022-07-21 11:52:33 +02:00
Carmelo Messina 82625a734e fix the correct management of the custom ua.
also fix ua reduction management for desktop version (not managed by chromium)
2022-07-20 18:10:09 +02:00
Carmelo Messina 622da7ae82 fix incorrect handling of blink::TimeZoneController::TimeZoneOverride 2022-07-20 18:04:49 +02:00
csagan5 2b57217034 Release 103.0.5060.126 2022-07-17 20:44:26 +02:00
Carmelo Messina d65d4a3d6b Change the result of navigator.connection to default values and disable observers 2022-07-14 15:53:48 +02:00
CarlandGitHub ddb789ed0d Merge pull request #2171 from uazo/fix-clangd-build
Add kill switch for no-unqualified-std-cast-call build option
2022-07-13 22:40:20 +02:00
CarlandGitHub a8f50230a0 Merge pull request #2173 from uazo/partition-blink-memory-cache
Partitioning Blink memory cache
2022-07-13 22:35:18 +02:00
CarlandGitHub 5d7913cf42 Merge pull request #2191 from uazo/some-changes-on-v103
Some changes on v103
2022-07-13 22:33:57 +02:00
CarlandGitHub ae91ca61c9 Merge pull request #2192 from uazo/fix-signin-and-sync-integrations-v103
Fix open password setting and recents tab crash
2022-07-13 22:27:18 +02:00
CarlandGitHub 3b19df2828 Merge pull request #2193 from uazo/fix-2179
Fix sticky desktop mode
2022-07-13 22:25:13 +02:00
Carmelo Messina 650d6bfcb6 fix sticky desktop mode 2022-07-13 17:10:15 +02:00
Carmelo Messina 996fff2c7a fix open password setting and recents tab crash 2022-07-13 17:06:28 +02:00
Carmelo Messina 216f4ce5c0 use space as separator 2022-07-13 17:04:07 +02:00
Carmelo Messina 506d1a51b8 rename to skip_clangd_unsupported_options 2022-07-13 13:46:04 +02:00
Carmelo Messina 9a8759023c merge with master 2022-07-13 13:44:46 +02:00
Carmelo Messina 57ea2280a0 some changes on v103 2022-07-13 13:30:40 +02:00
csagan5 67edc4337f Updated CHANGELOG with correct issue URL 2022-07-12 08:46:20 +02:00
csagan5 994c9dbd98 Release 103.0.5060.121 2022-07-12 08:27:37 +02:00
CarlandGitHub 505b939073 Merge pull request #2157 from bromite/next/v103
Patches for v103
2022-07-12 00:53:26 +02:00
csagan5 99ed991ace Merge branch 'master' into next/v103 2022-07-12 00:44:47 +02:00
csagan5 c7a6d5e006 Fixes from debug build and uazo 2022-07-12 00:14:07 +02:00
Carmelo MessinaandCarl 1576384e02 Remove preload of com.google.android.gms.fonts 2022-07-10 23:13:00 +02:00
Carmelo MessinaandCarl f77ac33155 Remove window name on cross origin navigation 2022-07-10 23:04:09 +02:00
csagan5 8439ece721 Fix SystemWebView building issue and signin crash 2022-07-08 23:13:21 +02:00
csagan5 b60242dde9 Fix other build/link issues 2022-07-07 21:54:47 +02:00
Carmelo Messina 10247f9b65 Partitioning Blink memory cache 2022-07-06 13:54:58 +02:00
Carmelo Messina 32258dc105 Remove navigator.connection info 2022-07-06 13:46:03 +02:00
Carmelo Messina 0162eb0566 Add kill switch for no-unqualified-std-cast-call 2022-07-06 13:35:31 +02:00
csagan5 796a3b0acf Include new patch for dark mode 2022-07-05 23:59:00 +02:00
krlvmandcsagan5 b590fcae83 Patch for allowing to match only system dark mode 2022-07-05 23:59:00 +02:00
csagan5 b21c08de2f Fixed linking issues 2022-07-05 23:59:00 +02:00
csagan5 76277b4c08 Remove more signin integrations 2022-06-27 23:31:53 +02:00
csagan5 90e29193cb Remove more signin-related integrations 2022-06-26 23:55:28 +02:00
csagan5 06259daa58 More fixes related to password manager 2022-06-26 19:11:08 +02:00
csagan5 b7d091858e More fixes for linking and removed files 2022-06-26 11:43:20 +02:00
csagan5 a880d8cf53 Patches for v103 2022-06-25 22:03:04 +02:00
257 changed files with 27985 additions and 22551 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
# These are supported funding model platforms # These are supported funding model platforms
liberapay: csagan5 patreon: csagan5
custom: https://www.bromite.org/#donate custom: https://www.bromite.org/#donate
+5 -1
View File
@@ -6,7 +6,8 @@ body:
value: | value: |
Welcome! Thanks for taking the time to submit a bug report. Welcome! Thanks for taking the time to submit a bug report.
If you are looking for a place to ask a question to the Bromite community then please use the [GitHub Discussions](https://github.com/bromite/bromite/discussions) instead. If this is not a bug about the Bromite browser, or you are looking for a place to ask a question to the community,
then please use the [GitHub Discussions](https://github.com/bromite/bromite/discussions) instead.
Make sure you have acknowledged and completed this template before submitting your issue. Make sure you have acknowledged and completed this template before submitting your issue.
@@ -25,6 +26,8 @@ body:
required: true required: true
- label: "I have updated Bromite to the latest version. The bug is reproducible on this latest version." - label: "I have updated Bromite to the latest version. The bug is reproducible on this latest version."
required: true required: true
- label: "This is a bug report about the Bromite browser (not about the website, building Bromite, F-Droid or anything else)."
required: true
- type: dropdown - type: dropdown
id: is_chromium id: is_chromium
@@ -73,6 +76,7 @@ body:
multiple: false multiple: false
description: What version of Android are you running? description: What version of Android are you running?
options: options:
- 13
- 12.1 - 12.1
- 12.0 - 12.0
- 11 - 11
+4 -1
View File
@@ -6,7 +6,8 @@ body:
value: | value: |
Welcome! Thanks for taking time to submit a feature request. Welcome! Thanks for taking time to submit a feature request.
If you are looking for a place to ask a question to the Bromite community then please use the [GitHub Discussions](https://github.com/bromite/bromite/discussions) instead. If this is not a feature request about the Bromite browser, or you are looking for a place
to ask a question to the community then please use the [GitHub Discussions](https://github.com/bromite/bromite/discussions) instead.
Make sure you have acknowledged and completed this template before submitting your issue. Make sure you have acknowledged and completed this template before submitting your issue.
@@ -27,6 +28,8 @@ body:
required: true required: true
- label: "I have searched [existing issues](https://github.com/bromite/bromite/issues) for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue." - label: "I have searched [existing issues](https://github.com/bromite/bromite/issues) for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue."
required: true required: true
- label: "This is a feature request for the Bromite browser; not the website nor F-Droid nor anything else."
required: true
- type: dropdown - type: dropdown
id: is_privacy_related id: is_privacy_related
+15
View File
@@ -0,0 +1,15 @@
## Description
*Please explain here what feature or bugfix these changes are addressing and why they should be included*
## All submissions
* [ ] there are no other open [Pull Requests](../../../pulls) for the same update/change
* [ ] Bromite can be built with these changes
* [ ] I have tested that the new change works as intended (AVD or physical device will do)
### Format
* [ ] patch subject and filename match (e.g. `Subject: Alternative cache (NIK-based)` -> `Alternative-cache-NIK-based.patch`)
* [ ] patch description contains explanation of changes
* [ ] no unnecessary whitespace or unrelated changes
+83
View File
@@ -1,3 +1,86 @@
# 108.0.5359.156
# 108.0.5359.109
* reintroduce adaptive-button-in-top-toolbar-customization flag
# 108.0.5359.106
* fix crash when using always incognito (fixes https://github.com/bromite/bromite/issues/2482)
* enable third-party storage partitioning (fixes https://github.com/bromite/bromite/issues/2337)
* disable features ExperimentsForAgsa, KeepPrefetchedContentSuggestions, CriticalClientHint, AcceptCHFrame (accidentally enabled but not effective in 108.0.5359.75)
# 108.0.5359.75
* drop patch to mark all favicons ON_DEMAND (fixed by upstream, see https://bugs.chromium.org/p/chromium/issues/detail?id=1096660)
* enable AutomaticLazyFrameLoadingToAds and AutomaticLazyFrameLoadingToEmbeds features
* drop patch for SDK21 to prevent crashes on download
* fix patch to ignore enterprise policies for secure DNS (fixes https://github.com/bromite/bromite/issues/2463)
* stop using SM-G960U as model provided via client hints and Javascript (fixes https://github.com/bromite/bromite/issues/2465)
* temptative fix for OfflinePageModelFactory crash (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2419)
* fix fingerprinting vector via Window.requestAnimationFrame() (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2370)
* remove patch for offline measurements background task (fixes https://github.com/bromite/bromite/issues/2468)
* enable PermuteTLSExtensions (fixes https://github.com/bromite/bromite/issues/2467)
* hide "turn on enhanced protection" in security interstitials
# 107.0.5304.114
* fix for drag selection not working with bottom toolbar (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2411)
* fix for navbar color not matching site color (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2416)
* clamp time resolution in WebWorkers' requestAnimationFrame (thanks to @uazo)
* drop patch for AV1 codec support (already in upstream)
# 107.0.5304.96
* bottom toolbar: fix for white strip at top in tab view (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2407)
* reverse tab order from top to bottom when using bottom toolbar (thanks to @uazo)
* dropped patches already merged upstream (partition DNS requests by top frame NIK, clipboard user gesture requirement removal)
* disable StartSurface feature
# 106.0.5249.163
* enable ECH (Encrypted ClientHello) by default
# 106.0.5249.72
* dropped patches already merged upstream
# 105.0.5195.147
* enable HEVC by default (fixes https://github.com/bromite/bromite/issues/2331)
* partition blobs by top frame URL (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2312)
* use first accept-language as system language for Blink (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2160)
* fix user scripts injection with back-forward cache enabled (thanks to @uazo)
* remove HTTP referrals in cross-origin navigation (thanks to @uazo)
* update noise factor for anti-fingerpriting mitigations only once per document (fixes https://github.com/bromite/bromite/issues/2352)
* disable add to home screen prompt (fixes https://github.com/bromite/bromite/issues/2340)
# 105.0.5195.41
* revert by-pass for clipboard permissions for NTP doodles (fixes https://bugs.chromium.org/p/chromium/issues/detail?id=1334203)
* prevent history detection via favicon (fixes https://github.com/bromite/bromite/issues/2269)
* fix the lack of protection in canvas.convertToBlob()
* improve incognito mode detection countermeasures (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1615)
* fix toolbar gesture when using bottom navigation bar (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2253)
# 104.0.5112.91
* re-introduce modal flag to prompt when closing all tabs
* sharing hub: always use visible URL (fixes https://github.com/bromite/bromite/issues/2204)
* add SVG fingerprinting mitigation (thanks to @uazo)
* updated zh_CN translactions (thanks to @zhmars)
* dropped patch to open YouTube links in Bromite
# 104.0.5112.63
# 103.0.5060.140
* fix timezone override not working correctly (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2133)
* never provide navigator.connection info (thanks to @uazo)
* fix management of custom User-Agent (thanks to @uazo)
# 103.0.5060.126
* fix malfunctioning sticky desktop mode (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2179)
* fix non-working passwords manager (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2188)
* fix crash when opening recent tabs (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2190)
* fix autoplay not working correctly (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2096)
* add GN flag for clangd builds (thanks to @uazo)
# 103.0.5060.121
* do not enable always use HTTPS by default
* match system dark mode (thanks to @krlvm)
* remove window name on cross origin navigation (thanks to @uazo)
* remove preload of GMS fonts on stock Android (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2156)
# 102.0.5005.96 # 102.0.5005.96
* fix history expiration bug (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2104) * fix history expiration bug (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2104)
* fix category setting activation (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2091) * fix category setting activation (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2091)
+6 -2
View File
@@ -38,7 +38,7 @@ No.
We cannot add add-ons to Bromite (merely some features). We cannot add add-ons to Bromite (merely some features).
## Is Bromite on Play Store? ## Is Bromite on Play Store?
No, and this is unlikely to change. Many limitations apply for submissions there, including which ads are allowed to be blocked. No, and this is not going to change. Many limitations apply for submissions there, including which ads are allowed to be blocked.
Bromite favors user freedom in software choice: the device is yours so you get to choose which software to run on it, end of the story. Bromite favors user freedom in software choice: the device is yours so you get to choose which software to run on it, end of the story.
@@ -85,7 +85,11 @@ Various Android browsers get some fee to ship their apps with a specific default
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. 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 See also: https://github.com/bromite/bromite/wiki/SearchEngines
## Some sites show ads, how can I fix this? ## Some websites 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. 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. 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 See also: https://github.com/bromite/bromite/wiki/AdBlocking
## This JavaScript/WebGL website is not performing well with Bromite, how can I fix this?
Bromite comes with [JavaScript JIT](https://hacks.mozilla.org/2017/02/a-crash-course-in-just-in-time-jit-compilers/) disabled by default; if you trust the website you can enable it.
For more information about this, search "javascript jit vulnerabilities" on your favorite search engine.
+12 -3
View File
@@ -1,3 +1,5 @@
[![Stand With Ukraine](./banner2-direct.svg)](https://stand-with-ukraine.pp.ua/)
# Bromite - Take back your browser # Bromite - Take back your browser
<a href="https://github.com/bromite/bromite/releases/latest"> <a href="https://github.com/bromite/bromite/releases/latest">
<img src="https://www.bromite.org/release.svg" alt="current Bromite release" title="current Bromite release" /> </a> <img src="https://www.bromite.org/release.svg" alt="current Bromite release" title="current Bromite release" /> </a>
@@ -27,7 +29,9 @@ Minimal UI changes are applied to help curbing the idea of "browser as an advert
Please donate to support development of Bromite and the costs for the build system. Please donate to support development of Bromite and the costs for the build system.
[&rarr; Support development with a donation](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JP3XTQPVRNET2): [![paypal](https://www.bromite.org/assets/img/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JP3XTQPVRNET2) ## &rarr; Support development with a donation
Patreon: https://www.patreon.com/csagan5
<a href="bitcoin:bc1qlx7h0lj9z88g2xfeuwsrtfs77sxuhrxf2t28sw">BTC donations address</a>: `bc1qlx7h0lj9z88g2xfeuwsrtfs77sxuhrxf2t28sw` <a href="bitcoin:bc1qlx7h0lj9z88g2xfeuwsrtfs77sxuhrxf2t28sw">BTC donations address</a>: `bc1qlx7h0lj9z88g2xfeuwsrtfs77sxuhrxf2t28sw`
@@ -86,7 +90,7 @@ ETH donations address: `0x5d392F8FBf3465afe05B1Adc575e248D33B891F6`
* HTTPS-only mode enabled by default * HTTPS-only mode enabled by default
* disable TLS resumption by default * disable TLS resumption by default
* partition DoH requests by top-frame NIK * partition DoH requests by top-frame NIK
* add option to use home page as NTP * strict site isolation and strict origin isolation
## Features not related to privacy ## Features not related to privacy
* browser automatic updates, enabled by default * browser automatic updates, enabled by default
@@ -116,6 +120,7 @@ ETH donations address: `0x5d392F8FBf3465afe05B1Adc575e248D33B891F6`
* keyboard dictionary hints in address bar * keyboard dictionary hints in address bar
* always allow `view-source:` URLs * always allow `view-source:` URLs
* allow moving navigation bar to bottom * allow moving navigation bar to bottom
* add option to use home page as NTP
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). 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).
@@ -147,11 +152,13 @@ New flags:
* `#allow-user-certificates`, disabled by default * `#allow-user-certificates`, disabled by default
* `#cleartext-permitted`, enabled by default, can be used to disable all cleartext-HTTP traffic * `#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 * `#omnibox-autocomplete-filtering`, can be used to restrict omnibox autocomplete results
* `#disable-external-intent-requests` * `#disable-external-intent-requests`, can be used to disable opening any external app for any URL
* `#enable-userscripts-log`, see https://github.com/bromite/bromite/wiki/UserScripts#flags * `#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 * `#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 * `#move-top-toolbar-to-bottom`, disabled by default
* `#site-engagement`, enabled by default * `#site-engagement`, enabled by default
* `#offline-pages-auto-save`, disabled by default, allows auto-saving of pages when device goes offline
* `#adaptive-button-in-top-toolbar-customization`, disabled by default, allows having a new tab or share button on the address bar
### Site settings ### Site settings
@@ -209,6 +216,8 @@ The Chromium version tag used as base for the patches is available here: [RELEAS
The GN args used to build Bromite are available here: [bromite.gn_args](./build/bromite.gn_args). The GN args used to build Bromite are available here: [bromite.gn_args](./build/bromite.gn_args).
The patches are to be applied second the order specified in the `bromite_patches_list.txt` file (you can use `git am`). The patches are to be applied second the order specified in the `bromite_patches_list.txt` file (you can use `git am`).
NOTE: no official support is provided for builds.
## How to build the filters ## How to build the filters
See upstream documentation: https://github.com/chromium/chromium/blob/master/components/subresource_filter/FILTER_LIST_GENERATION.md See upstream documentation: https://github.com/chromium/chromium/blob/master/components/subresource_filter/FILTER_LIST_GENERATION.md
+64
View File
@@ -0,0 +1,64 @@
<svg viewBox="0 0 1040 200" xmlns="http://www.w3.org/2000/svg">
<style>
@namespace svg url(http://www.w3.org/2000/svg);
svg {
font-family: Helvetica, Arial, sans-serif;
text-rendering: geometricPrecision;
}
svg|a:link, svg|a:visited {
cursor: pointer;
}
.flag-blue {
fill: #0057b7;
}
.flag-yellow {
fill: #ffd700;
}
.message {
fill: white;
font-size: 20px;
}
.call {
fill: black;
font-size: 32px;
}
.mobile-only {
display: none;
}
.arrow {
font-size: 24px;
}
@media (max-width: 770px) {
.message {
display: none;
font-size: 29px;
}
.mobile-only {
display: inherit;
}
.call {
font-size: 36px;
}
}
</style>
<a href="https://stand-with-ukraine.pp.ua">
<rect x="0" y="0" width="100%" height="100%" class="flag-yellow"/>
<rect x="0" y="0" width="100%" height="110px" class="flag-blue"/>
<text x="0" y="25" class="message">
<tspan x="25" dy="1.15em">Russia has invaded Ukraine and already killed tens of thousands of civilians, with many more raped or tortured.</tspan>
<tspan x="25" dy="1.35em">The death toll keeps climbing. It's a <tspan font-weight="bold">genocide</tspan>. We need your help. Let's fight back against the Russian regime.</tspan>
</text>
<text x="0" y="25" class="message mobile-only">
<tspan x="25" dy=".7em">Russia has invaded Ukraine and already killed tens of thousands of civilians,</tspan>
<tspan x="25" dy="1.2em">with many more raped or tortured. It's a <tspan font-weight="bold">genocide</tspan>. We need your help.</tspan>
</text>
<text x="50%" y="78.5%" dominant-baseline="middle" text-anchor="middle" class="call">
Help Ukraine Now <tspan dominant-baseline="middle" class="arrow"></tspan>
</text>
</a>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

+1 -1
View File
@@ -1 +1 @@
d5d96df7c999fb23a203ac332784b203afe8614f- 56775bdf8d12f9d3e1a99fcf1dde6a7417522963-
+1 -1
View File
@@ -1 +1 @@
102.0.5005.96 109.0.5414.61
+1 -1
View File
@@ -1 +1 @@
91e2c8c16071b47c9a1d2c1bba592f6a643dd1b1 1b133d62395a6ad11c65997a1c24acffb3f73d9e
+2 -1
View File
@@ -22,7 +22,6 @@ enable_platform_dolby_vision=true
enable_platform_hevc=true enable_platform_hevc=true
enable_remoting=false enable_remoting=false
enable_reporting=false enable_reporting=false
enable_supervised_users=false
enable_vr=false enable_vr=false
exclude_unwind_tables=false exclude_unwind_tables=false
ffmpeg_branding="Chrome" ffmpeg_branding="Chrome"
@@ -37,11 +36,13 @@ safe_browsing_mode=0
symbol_level=1 symbol_level=1
system_webview_package_name="org.bromite.webview" system_webview_package_name="org.bromite.webview"
target_os="android" target_os="android"
treat_warnings_as_errors=true
use_cfi_cast=true use_cfi_cast=true
use_debug_fission=true use_debug_fission=true
use_errorprone_java_compiler=false use_errorprone_java_compiler=false
use_gnome_keyring=false use_gnome_keyring=false
use_official_google_api_keys=false use_official_google_api_keys=false
use_rtti=false use_rtti=false
use_stable_package_name_for_trichrome=false
use_sysroot=false use_sysroot=false
webview_includes_weblayer=false webview_includes_weblayer=false
+49 -44
View File
@@ -1,9 +1,28 @@
Disable-third-party-cookies-by-default.patch Remove-EV-certificates.patch
do-not-hide-.orig-files.patch do-not-hide-.orig-files.patch
Do-not-link-with-libatomic.patch Do-not-link-with-libatomic.patch
do-not-add-suffix-to-package-name.patch do-not-add-suffix-to-package-name.patch
exit-on-failure-of-inclusion.patch exit-on-failure-of-inclusion.patch
AV1-codec-support.patch Disable-safe-browsing.patch
Remove-signin-and-sync-integrations.patch
Move-some-account-settings-back-to-privacy-settings.patch
Remove-contextual-search-manager.patch
kill-Vision.patch
kill-Location-fall-back-to-system.patch
kill-Auth.patch
Remove-binary-blob-integrations.patch
Remove-SMS-integration.patch
Remove-price-shopping-commerce-integrations.patch
Remove-voice-recognition-integration.patch
Do-not-compile-QR-code-sharing.patch
Timezone-customization.patch
Revert-the-removal-of-an-option-to-block-autoplay.patch
Add-support-for-ISupportHelpAndFeedback.patch
JIT-site-settings.patch
Site-setting-for-images.patch
Content-settings-infrastructure.patch
Add-webGL-site-setting.patch
Add-webRTC-site-settings.patch
Switch-to-fstack-protector-strong.patch Switch-to-fstack-protector-strong.patch
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
Bromite-package-name.patch Bromite-package-name.patch
@@ -12,8 +31,6 @@ Always-use-new-tab-page-for-default-home-page.patch
disable-battery-status-updater.patch disable-battery-status-updater.patch
Battery-API-return-nothing.patch Battery-API-return-nothing.patch
updater-disable-updater-pings.patch updater-disable-updater-pings.patch
Remove-EV-certificates.patch
promo-disable-Google-promotion-fetching.patch
Disable-omission-of-URL-elements-in-Omnibox.patch Disable-omission-of-URL-elements-in-Omnibox.patch
Modify-default-preferences.patch Modify-default-preferences.patch
Do-not-hide-component-extensions.patch Do-not-hide-component-extensions.patch
@@ -30,10 +47,7 @@ ungoogled-chromium-Disable-intranet-detector.patch
ungoogled-chromium-no-special-hosts-domains.patch ungoogled-chromium-no-special-hosts-domains.patch
ungoogled-chromium-Disable-Gaia.patch ungoogled-chromium-Disable-Gaia.patch
ungoogled-chromium-Disable-Network-Time-Tracker.patch ungoogled-chromium-Disable-Network-Time-Tracker.patch
Disable-safe-browsing.patch
Disable-all-promo-dialogs.patch Disable-all-promo-dialogs.patch
Remove-signin-integrations.patch
Hide-passwords-manager-link.patch
Disable-update-scheduler.patch Disable-update-scheduler.patch
Add-English-only-search-engine.patch Add-English-only-search-engine.patch
Add-DuckDuckGo-Lite-search-engine.patch Add-DuckDuckGo-Lite-search-engine.patch
@@ -42,7 +56,6 @@ build-remove-calling-untrusted-hooks.patch
Inject-scripts-for-AMP-tracking-ads-and-video.patch Inject-scripts-for-AMP-tracking-ads-and-video.patch
Allow-playing-audio-in-background.patch Allow-playing-audio-in-background.patch
Add-flag-to-control-video-playback-resume-feature.patch Add-flag-to-control-video-playback-resume-feature.patch
Open-YouTube-links-in-Bromite.patch
Add-exit-menu-item.patch Add-exit-menu-item.patch
Remove-help-menu-item.patch Remove-help-menu-item.patch
AudioBuffer-AnalyserNode-fp-mitigations.patch AudioBuffer-AnalyserNode-fp-mitigations.patch
@@ -56,8 +69,6 @@ Add-an-always-incognito-mode.patch
Keep-flag-to-allow-screenshots-in-Incognito-mode.patch Keep-flag-to-allow-screenshots-in-Incognito-mode.patch
Add-option-to-not-persist-tabs-across-sessions.patch Add-option-to-not-persist-tabs-across-sessions.patch
Add-a-proxy-configuration-page.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 Add-custom-tab-intents-privacy-option.patch
Disable-FLoC-and-privacy-sandbox.patch Disable-FLoC-and-privacy-sandbox.patch
History-number-of-days-privacy-setting.patch History-number-of-days-privacy-setting.patch
@@ -72,29 +83,19 @@ autofill-miscellaneous.patch
Enable-native-Android-autofill.patch Enable-native-Android-autofill.patch
first_run-deactivate-autoupdate-globally.patch first_run-deactivate-autoupdate-globally.patch
translate-disable-fetching-of-languages-from-server.patch translate-disable-fetching-of-languages-from-server.patch
kill-Vision.patch
kill-Location-fall-back-to-system.patch
kill-Auth.patch
Remove-binary-blob-integrations.patch
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 Offer-builtin-autocomplete-for-chrome-flags.patch
Use-4-tile-rows-never-show-logo.patch Use-4-tile-rows-never-show-logo.patch
Disable-various-metrics.patch Disable-various-metrics.patch
Enable-SPPI-for-devices-with-enough-memory.patch Enable-SPPI-for-devices-with-enough-memory.patch
Enable-StrictOriginIsolation-and-SitePerProcess.patch Enable-StrictOriginIsolation-and-SitePerProcess.patch
Use-64-bit-WebView-processes.patch Use-64-bit-WebView-processes.patch
prefs-disable-signinallowed-by-default.patch
prefs-always-prompt-for-download-directory.patch prefs-always-prompt-for-download-directory.patch
Disable-offline-pages-in-CCT.patch Disable-offline-pages-in-CCT.patch
disable-payment-support-by-default.patch
disable-background-sync-by-default.patch
disable-sensors-access-site-setting-by-default.patch
Disable-media-router-and-remoting-by-default.patch Disable-media-router-and-remoting-by-default.patch
Restore-Search-Ready-Omnibox-flag.patch Restore-Search-Ready-Omnibox-flag.patch
disable-AdsBlockedInfoBar.patch disable-AdsBlockedInfoBar.patch
Bromite-AdBlockUpdaterService.patch Bromite-subresource-adblocker.patch
Bromite-auto-updater.patch
Replace-DoH-probe-domain-with-RIPE-domain.patch Replace-DoH-probe-domain-with-RIPE-domain.patch
Increase-number-of-autocomplete-matches-to-10.patch Increase-number-of-autocomplete-matches-to-10.patch
Disable-requests-for-single-word-Omnibar-searches.patch Disable-requests-for-single-word-Omnibar-searches.patch
@@ -107,10 +108,10 @@ Disable-feeds-support-by-default.patch
Show-site-settings-for-cookies-javascript-and-ads.patch Show-site-settings-for-cookies-javascript-and-ads.patch
Disable-DRM-media-origin-IDs-preprovisioning.patch Disable-DRM-media-origin-IDs-preprovisioning.patch
Disable-smart-selection-by-default.patch Disable-smart-selection-by-default.patch
Enable-user-agent-freeze-by-default.patch Guard-for-user-agent-reduction.patch
disable-browser-autologin-by-default.patch
AImageReader-CFI-crash-mitigations.patch AImageReader-CFI-crash-mitigations.patch
Add-menu-item-to-view-source.patch Add-menu-item-to-view-source.patch
Revert-removal-of-execution-context-address-space.patch
Block-gateway-attacks-via-websockets.patch Block-gateway-attacks-via-websockets.patch
Enable-prefetch-privacy-changes-by-default.patch Enable-prefetch-privacy-changes-by-default.patch
Disable-support-for-RAR-files-inspection.patch Disable-support-for-RAR-files-inspection.patch
@@ -120,43 +121,33 @@ Disable-the-DIAL-repeating-discovery.patch
Block-qjz9zk-or-trk-requests.patch Block-qjz9zk-or-trk-requests.patch
Hardening-against-incognito-mode-detection.patch Hardening-against-incognito-mode-detection.patch
Remove-weblayer-dependency-on-Play-Services.patch Remove-weblayer-dependency-on-Play-Services.patch
Timezone-customization.patch
Restore-Simplified-NTP-launch.patch Restore-Simplified-NTP-launch.patch
Add-option-to-use-home-page-as-NTP.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-text-fragments-by-default.patch
disable-WebView-variations-support.patch disable-WebView-variations-support.patch
ask-permission-to-play-protected-media-by-default.patch
Enable-network-isolation-features.patch Enable-network-isolation-features.patch
Revert-flags-remove-num-raster-threads.patch Revert-flags-remove-num-raster-threads.patch
webview-Hard-no-to-persistent-histograms.patch webview-Hard-no-to-persistent-histograms.patch
Ignore-enterprise-policies-for-secure-DNS.patch Ignore-enterprise-policies-for-secure-DNS.patch
Add-menu-item-to-bookmark-all-tabs.patch Add-menu-item-to-bookmark-all-tabs.patch
Ask-user-before-closing-all-tabs.patch Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
Add-option-to-force-tablet-UI.patch Add-option-to-force-tablet-UI.patch
Make-all-favicon-requests-on-demand.patch
Add-Alt-D-hotkey-to-focus-address-bar.patch Add-Alt-D-hotkey-to-focus-address-bar.patch
Remove-offline-measurement-background-task.patch
User-agent-customization.patch User-agent-customization.patch
Add-AllowUserCertificates-flag.patch Add-AllowUserCertificates-flag.patch
Add-IsCleartextPermitted-flag.patch Add-IsCleartextPermitted-flag.patch
Unexpire-tab-groups-flags.patch Unexpire-tab-groups-flags.patch
Add-flag-for-omnibox-autocomplete-filtering.patch Add-flag-for-omnibox-autocomplete-filtering.patch
Enable-IntentBlockExternalFormRedirectsNoGesture.patch Revert-Delete-block-external-form-redirects.patch
Add-flag-to-disable-external-intent-requests.patch Add-flag-to-disable-external-intent-requests.patch
Enable-share-intent.patch
Logcat-crash-reports-UI.patch Logcat-crash-reports-UI.patch
Add-support-for-ISupportHelpAndFeedback.patch
JIT-site-settings.patch
API-level-21-prevent-crash-on-download.patch
Add-flag-to-disable-vibration.patch Add-flag-to-disable-vibration.patch
mime_util-force-text-x-suse-ymp-to-be-downloaded.patch mime_util-force-text-x-suse-ymp-to-be-downloaded.patch
Client-hints-overrides.patch Client-hints-overrides.patch
Disable-AGSA-by-default.patch Disable-AGSA-by-default.patch
Allow-building-without-enable_reporting.patch Allow-building-without-enable_reporting.patch
Disable-lock-icon-in-address-bar-by-default.patch Disable-lock-icon-in-address-bar-by-default.patch
Enable-share-intent.patch
Site-setting-for-images.patch
Bromite-auto-updater.patch
Experimental-user-scripts-support.patch Experimental-user-scripts-support.patch
Keep-empty-tabs-between-sessions.patch Keep-empty-tabs-between-sessions.patch
Disable-third-party-origin-trials.patch Disable-third-party-origin-trials.patch
@@ -164,10 +155,9 @@ Never-use-HTTP-probes-for-connection-detection.patch
Disable-Accessibility-service-by-default.patch Disable-Accessibility-service-by-default.patch
Disable-conversion-measurement-api.patch Disable-conversion-measurement-api.patch
Restore-offline-indicator-v2-flag.patch Restore-offline-indicator-v2-flag.patch
Reintroduce-override_build_timestamp.patch Re-introduce-override_build_timestamp.patch
enable-ftrivial-auto-var-init-zero.patch enable-ftrivial-auto-var-init-zero.patch
disable-appending-variations-header.patch disable-appending-variations-header.patch
Make-HTTPS-only-mode-the-default.patch
Disable-idle-detection.patch Disable-idle-detection.patch
Allow-building-without-supervised-users.patch Allow-building-without-supervised-users.patch
Disable-minidump-upload-scheduling.patch Disable-minidump-upload-scheduling.patch
@@ -184,16 +174,31 @@ Add-lifetime-options-for-permissions.patch
Disable-crash-reporting.patch Disable-crash-reporting.patch
Samsung-Note-9-SDK27-crazylinker-workaround.patch Samsung-Note-9-SDK27-crazylinker-workaround.patch
Disable-TLS-resumption.patch Disable-TLS-resumption.patch
Partition-DNS-requests-by-top-frame-NIK.patch
Remove-mremap-from-seccomp-baseline-policy.patch Remove-mremap-from-seccomp-baseline-policy.patch
Move-navigation-bar-to-bottom.patch Move-navigation-bar-to-bottom.patch
Welcome-screen.patch Welcome-screen.patch
Content-settings-infrastructure.patch
Add-webGL-site-setting.patch
Add-site-engagement-flag.patch Add-site-engagement-flag.patch
Add-webRTC-site-settings.patch
enable-process-isolated-sandboxed-iframes-by-default.patch
Enable-Certificate-Transparency.patch Enable-Certificate-Transparency.patch
Invalidate-components-public-key.patch Invalidate-components-public-key.patch
Improve-plain-text-rendering-on-mobile.patch Improve-plain-text-rendering-on-mobile.patch
Remove-segmentation-platform.patch
Follow-only-system-dark-mode.patch
Remove-window-name-on-cross-origin-navigation.patch
Remove-preload-of-com.google.android.gms.fonts.patch
Partition-Blink-memory-cache.patch
Remove-navigator.connection-info.patch
Disable-PrivacyGuide.patch
sharing-hub-always-use-visible-URL.patch
Re-introduce-kWebAuthCable.patch
Enable-HEVC-by-default.patch
Partition-blobs-by-top-frame-URL.patch
Override-Navigator-Language.patch
Disable-add-to-home-screen-prompt.patch
Remove-HTTP-referrals-in-cross-origin-navigation.patch
Enable-ECH-by-default.patch
Disable-StartSurface-feature.patch
Clamp-time-resolution-in-requestAnimationFrame.patch
Enable-PermuteTLSExtensions-by-default.patch
Enable-third-party-storage-partitioning.patch
Restore-adaptive-button-in-top-toolbar-customization.patch
Automated-domain-substitution.patch Automated-domain-substitution.patch
+2 -1
View File
@@ -22,7 +22,6 @@ enable_platform_dolby_vision=true
enable_platform_hevc=true enable_platform_hevc=true
enable_remoting=false enable_remoting=false
enable_reporting=true enable_reporting=true
enable_supervised_users=false
enable_vr=false enable_vr=false
exclude_unwind_tables=false exclude_unwind_tables=false
ffmpeg_branding="Chrome" ffmpeg_branding="Chrome"
@@ -37,11 +36,13 @@ safe_browsing_mode=2
symbol_level=1 symbol_level=1
system_webview_package_name="com.android.webview" system_webview_package_name="com.android.webview"
target_os="android" target_os="android"
treat_warnings_as_errors=true
use_cfi_cast=true use_cfi_cast=true
use_debug_fission=true use_debug_fission=true
use_errorprone_java_compiler=false use_errorprone_java_compiler=false
use_gnome_keyring=false use_gnome_keyring=false
use_official_google_api_keys=false use_official_google_api_keys=false
use_rtti=false use_rtti=false
use_stable_package_name_for_trichrome=false
use_sysroot=false use_sysroot=false
webview_includes_weblayer=false webview_includes_weblayer=false
-2
View File
@@ -1,4 +1,3 @@
AV1-codec-support.patch
exit-on-failure-of-inclusion.patch exit-on-failure-of-inclusion.patch
Reintroduce-override_build_timestamp.patch Reintroduce-override_build_timestamp.patch
do-not-hide-.orig-files.patch do-not-hide-.orig-files.patch
@@ -8,5 +7,4 @@ Switch-to-fstack-protector-strong.patch
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
enable-ftrivial-auto-var-init-zero.patch enable-ftrivial-auto-var-init-zero.patch
Disable-feeds-support-by-default.patch Disable-feeds-support-by-default.patch
Allow-building-without-supervised-users.patch
Chromium-package-name.patch Chromium-package-name.patch
@@ -0,0 +1,650 @@
From: Your Name <you@example.com>
Date: Thu, 5 Jan 2023 08:14:13 +0000
Subject: 109 Move navigation bar to bottom fixup
---
.../features/start_surface/StartSurfaceMediator.java | 2 +-
.../tasks/tab_management/TabGroupUiToolbarView.java | 2 +-
.../browser/tasks/tab_management/TabListCoordinator.java | 2 +-
.../browser/tasks/tab_management/TabListRecyclerView.java | 6 +++---
.../browser/tasks/tab_management/TabSwitcherMediator.java | 8 ++++----
.../settings/ChromeAccessibilitySettingsDelegate.java | 2 +-
.../org/chromium/chrome/browser/app/ChromeActivity.java | 2 +-
.../chrome/browser/compositor/CompositorViewHolder.java | 2 +-
.../browser/compositor/layouts/LayoutManagerChrome.java | 2 +-
.../browser/compositor/layouts/ToolbarSwipeLayout.java | 4 ++--
.../overlays/strip/StripLayoutHelperManager.java | 2 +-
.../compositor/scene_layer/StaticTabSceneLayer.java | 2 +-
.../browser/compositor/scene_layer/TabListSceneLayer.java | 4 ++--
.../compositor/scene_layer/TabStripSceneLayer.java | 2 +-
.../chrome/browser/findinpage/FindToolbarTablet.java | 2 +-
.../chrome/browser/fullscreen/BrowserControlsManager.java | 4 ++--
.../browser/messages/MessageContainerCoordinator.java | 4 ++--
.../src/org/chromium/chrome/browser/ntp/NewTabPage.java | 2 +-
.../org/chromium/chrome/browser/ntp/RecentTabsPage.java | 6 +++---
.../chrome/browser/searchwidget/SearchActivity.java | 2 +-
.../status_indicator/StatusIndicatorCoordinator.java | 2 +-
.../status_indicator/StatusIndicatorSceneLayer.java | 2 +-
.../chromium/chrome/browser/toolbar/ToolbarManager.java | 4 ++--
.../org/chromium/chrome/browser/ui/BottomContainer.java | 6 +++---
.../browser/ui/system/StatusBarColorController.java | 2 +-
.../browser_controls/BrowserControlsMarginSupplier.java | 2 +-
.../org/chromium/chrome/browser/ui/appmenu/AppMenu.java | 8 ++++----
.../chrome/browser/ui/appmenu/AppMenuHandlerImpl.java | 2 +-
.../chrome/browser/omnibox/UrlBarCoordinator.java | 2 +-
.../omnibox/suggestions/AutocompleteCoordinator.java | 2 +-
.../browser/omnibox/suggestions/AutocompleteMediator.java | 2 +-
.../omnibox/suggestions/OmniboxSuggestionsDropdown.java | 4 ++--
.../browser/toolbar/LocationBarFocusScrimHandler.java | 2 +-
.../browser/toolbar/bottom/BottomControlsMediator.java | 2 +-
.../toolbar/bottom/ScrollingBottomViewSceneLayer.java | 2 +-
.../browser/toolbar/top/ToolbarControlContainer.java | 2 +-
.../chrome/browser/toolbar/top/TopToolbarSceneLayer.java | 2 +-
37 files changed, 55 insertions(+), 55 deletions(-)
diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
--- a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
+++ b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
@@ -1134,7 +1134,7 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View.
}
private void setTopMargin(int topMargin) {
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM))
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled())
topMargin = 0;
mPropertyModel.set(TOP_MARGIN, topMargin);
}
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java
@@ -177,7 +177,7 @@ public class TabGroupUiToolbarView extends FrameLayout {
}
void setPrimaryColorAndApplyTint(int color) {
- if (!CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM))
+ if (!ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled())
return;
// change the background color of the bottom bar if the top toolbar is below
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
@@ -324,7 +324,7 @@ public class TabListCoordinator
if (mMode == TabListMode.GRID) {
GridLayoutManager gridLayoutManager =
new GridLayoutManager(context, GRID_LAYOUT_SPAN_COUNT_COMPACT);
- if (titleProvider != null && CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (titleProvider != null && ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
gridLayoutManager =
new GridLayoutManagerDockBottom(context, GRID_LAYOUT_SPAN_COUNT_COMPACT);
((GridLayoutManagerDockBottom)gridLayoutManager)
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java
@@ -232,7 +232,7 @@ class TabListRecyclerView
}
void setShadowVisibility(boolean shouldShowShadow) {
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()
&& mIsVisible) {
// always show shadow
shouldShowShadow = true;
@@ -250,7 +250,7 @@ class TabListRecyclerView
// Add shadow for grid tab switcher.
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
LayoutParams.MATCH_PARENT, shadowHeight,
- (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM) ?
+ (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled() ?
Gravity.BOTTOM :
Gravity.TOP));
mShadowImageView.setLayoutParams(params);
@@ -279,7 +279,7 @@ class TabListRecyclerView
void setShadowTopOffset(int shadowTopOffset) {
mShadowTopOffset = shadowTopOffset;
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// invert the offset since Gravity is set to BOTTOM
mShadowTopOffset = -mShadowTopOffset;
}
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
@@ -461,7 +461,7 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
updateTopControlsProperties();
mContainerViewModel.set(
BOTTOM_CONTROLS_HEIGHT, browserControlsStateProvider.getBottomControlsHeight());
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
mContainerViewModel.set(
BOTTOM_CONTROLS_HEIGHT, mContainerViewModel.get(BOTTOM_CONTROLS_HEIGHT) +
mBrowserControlsStateProvider.getContentOffset());
@@ -471,7 +471,7 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
if (mMode == TabListMode.GRID) {
mContainerViewModel.set(BOTTOM_PADDING,
(int) context.getResources().getDimension(R.dimen.tab_grid_bottom_padding));
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// adjust the bottom margin so as not to cover the top toolbar at the bottom
mContainerViewModel.set(
BOTTOM_PADDING, mContainerViewModel.get(BOTTOM_PADDING) +
@@ -604,7 +604,7 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
final int contentOffset = mBrowserControlsStateProvider.getContentOffset();
mContainerViewModel.set(TOP_MARGIN, contentOffset);
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// move the view up since the toolbar is at the bottom
mContainerViewModel.set(TOP_MARGIN, 0);
}
@@ -764,7 +764,7 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
private void setInitialScrollIndexOffset() {
int offset = mMode == TabListMode.CAROUSEL ? INITIAL_SCROLL_INDEX_OFFSET_CAROUSEL
: INITIAL_SCROLL_INDEX_OFFSET_GTS;
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
offset = 0;
}
int initialPosition = Math.max(
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
@@ -104,7 +104,7 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
private static class MoveTopToolbarToBottomDelegate implements BooleanPreferenceDelegate {
@Override
public boolean isEnabled() {
- return CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM);
+ return ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled();
}
@Override
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
@@ -764,7 +764,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
ImageView shadowImage = findViewById(R.id.toolbar_hairline);
if (shadowImage != null) {
// Invert the shadown if the top toolbar is at the bottom
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
ViewGroup.MarginLayoutParams marginParams = (ViewGroup.MarginLayoutParams)shadowImage.getLayoutParams();
marginParams.setMargins(marginParams.leftMargin, 0,
marginParams.rightMargin, marginParams.bottomMargin);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
@@ -319,7 +319,7 @@ public class CompositorViewHolder extends FrameLayout
WebContents webContents = mTabVisible.getWebContents();
if (webContents == null) return;
EventForwarder forwarder = webContents.getEventForwarder();
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// no need to adjust the touch offsets, since the content view is never moved
top = 0;
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java
@@ -213,7 +213,7 @@ public class LayoutManagerChrome
@Override
public SwipeHandler createToolbarSwipeHandler(boolean supportSwipeDown) {
boolean move_top_toolbar =
- CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM);
+ ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled();
return new ToolbarSwipeHandler(supportSwipeDown && !move_top_toolbar,
supportSwipeDown && move_top_toolbar);
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java
@@ -411,7 +411,7 @@ public class ToolbarSwipeLayout extends Layout {
mLeftToolbarOverlay.setXOffset(leftX * dpToPx);
}
mLeftTab.setX(leftX);
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
mLeftTab.setY(0);
} else {
mLeftTab.setY(mBrowserControlsStateProvider.getContentOffset() / dpToPx);
@@ -428,7 +428,7 @@ public class ToolbarSwipeLayout extends Layout {
mRightToolbarOverlay.setXOffset(rightX * dpToPx);
}
mRightTab.setX(rightX);
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
mRightTab.setY(0);
} else {
mRightTab.setY(mBrowserControlsStateProvider.getContentOffset() / dpToPx);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
@@ -421,7 +421,7 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
mWidth, mHeight, orientationChanged, LayoutManagerImpl.time());
float top = 0;
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM) &&
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled() &&
mBrowserControlsManagerSupplier.get() != null) {
// move the rectangle to grab the touch events as the tab list (in tablet mode)
// is down and is following the toolbar offset as it moves.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java
@@ -48,7 +48,7 @@ public class StaticTabSceneLayer extends SceneLayer {
float x = model.get(LayoutTab.RENDER_X) * LayoutTab.sDpToPx;
float y = model.get(LayoutTab.CONTENT_OFFSET)
+ model.get(LayoutTab.RENDER_Y) * LayoutTab.sDpToPx;
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// the page content window never moves, it is fixed at the top
y = 0;
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabListSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabListSceneLayer.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabListSceneLayer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabListSceneLayer.java
@@ -86,7 +86,7 @@ public class TabListSceneLayer extends SceneLayer {
TabListSceneLayerJni.get().beginBuildingFrame(mNativePtr, TabListSceneLayer.this);
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// the tabs list content window is fixed at the top, where the top toolbar used to be
viewport.top = 0;
backgroundTopOffset = 0;
@@ -126,7 +126,7 @@ public class TabListSceneLayer extends SceneLayer {
contentOffset = browserControls.getContentOffset();
}
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
toolbarYOffset = 0;
contentOffset = 0;
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java
@@ -84,7 +84,7 @@ public class TabStripSceneLayer extends SceneOverlayLayer {
if (mNativePtr == 0) return;
boolean visible = yOffset > -layoutHelper.getHeight();
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// the list of open tabs (in tablet mode) is moved down, above the top
// toolbar which is also below.
// values are in pixel.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java b/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java
@@ -169,7 +169,7 @@ public class FindToolbarTablet extends FindToolbar {
if (show && getVisibility() != View.VISIBLE && mCurrentAnimation != mAnimationEnter) {
View anchorView = getRootView().findViewById(R.id.toolbar);
- if (!CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (!ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) getLayoutParams();
lp.topMargin = anchorView.getBottom() - mYInsetPx;
setLayoutParams(lp);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java
@@ -400,7 +400,7 @@ public class BrowserControlsManager
@Override
public int getTopControlsHeightRealOffset() {
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM))
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled())
return 0;
else
return mTopControlContainerHeight;
@@ -472,7 +472,7 @@ public class BrowserControlsManager
@Override
public float getTopVisibleContentOffset() {
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM))
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled())
return 0;
return getTopControlsHeight() + getTopControlOffset();
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java
@@ -64,7 +64,7 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider
}
CoordinatorLayout.LayoutParams params =
(CoordinatorLayout.LayoutParams) mContainer.getLayoutParams();
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
params.gravity = Gravity.START | Gravity.BOTTOM;
params.bottomMargin = getContainerTopOffset();
} else {
@@ -129,7 +129,7 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider
/** @return Offset of the message container from the top of the screen. */
private int getContainerTopOffset() {
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
return mControlsManager.getContentOffset()
+ (mControlsManager.getBottomControlsHeight() - mControlsManager.getBottomControlOffset())
+ mContainer.getMessageShadowTopMargin();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
@@ -565,7 +565,7 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide
int bottomMargin = mBrowserControlsStateProvider.getBottomControlsHeight()
- mBrowserControlsStateProvider.getBottomControlOffset();
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// move the margin of the new tab page up if the top toolbar is at the bottom
bottomMargin += mBrowserControlsStateProvider.getTopControlsHeight();
topMargin = -mBrowserControlsStateProvider.getTopControlsHeight();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsPage.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsPage.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsPage.java
@@ -91,7 +91,7 @@ public class RecentTabsPage
mView.addOnAttachStateChangeListener(this);
if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity) ||
- CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
mBrowserControlsStateProvider = browserControlsStateProvider;
mBrowserControlsStateProvider.addObserver(this);
onBottomControlsHeightChanged(mBrowserControlsStateProvider.getBottomControlsHeight(),
@@ -289,7 +289,7 @@ public class RecentTabsPage
// If the content offset is different from the margin, we use translationY to position the
// view in line with the content offset.
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
topMargin = 0;
recentTabsRoot.setTranslationY(0);
} else {
@@ -297,7 +297,7 @@ public class RecentTabsPage
}
int bottomMargin = mBrowserControlsStateProvider.getBottomControlsHeight();
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
bottomMargin += mBrowserControlsStateProvider.getTopControlsHeight();
}
if (topMargin != layoutParams.topMargin || bottomMargin != layoutParams.bottomMargin) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
@@ -194,7 +194,7 @@ public class SearchActivity extends AsyncInitializationActivity
mSearchBox = (SearchActivityLocationBarLayout) mContentView.findViewById(
R.id.search_location_bar);
mAnchorView = mContentView.findViewById(R.id.toolbar);
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams)
mAnchorView.getLayoutParams();
layoutParams.gravity = Gravity.START | Gravity.BOTTOM;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java
@@ -179,7 +179,7 @@ public class StatusIndicatorCoordinator {
private void initialize() {
final ViewStub stub = mActivity.findViewById(R.id.status_indicator_stub);
final ViewResourceFrameLayout root = (ViewResourceFrameLayout) stub.inflate();
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// status messages (such as the offline indicator) are docked at the bottom
CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams)root.getLayoutParams();
layoutParams.gravity = Gravity.START | Gravity.BOTTOM;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorSceneLayer.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorSceneLayer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorSceneLayer.java
@@ -80,7 +80,7 @@ class StatusIndicatorSceneLayer extends SceneOverlayLayer implements SceneOverla
public SceneOverlayLayer getUpdatedSceneOverlayTree(
RectF viewport, RectF visibleViewport, ResourceManager resourceManager, float yOffset) {
int offset = mBrowserControlsStateProvider.getTopControlsMinHeightOffset();
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
offset = (int)viewport.bottom - offset;
}
StatusIndicatorSceneLayerJni.get().updateStatusIndicatorLayer(
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
@@ -1318,7 +1318,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
private void MoveBottomBarOverTopBar() {
if (bottomRoot != null &&
- CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// move up the container view of the ui
// below there is the toolbar
bottomRoot.setTranslationY(-mBrowserControlsSizer.getTopControlsHeight());
@@ -2123,7 +2123,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
private void setControlContainerTopMargin(int margin) {
final ViewGroup.MarginLayoutParams layoutParams =
((ViewGroup.MarginLayoutParams) mControlContainer.getLayoutParams());
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
if (layoutParams.bottomMargin == margin) {
return;
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java
@@ -66,13 +66,13 @@ public class BottomContainer
@Override
public void onTopControlsHeightChanged(int topControlsHeight, int topControlsMinHeight) {
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM))
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled())
setTranslationY(mBaseYOffset);
}
@Override
public void onAndroidVisibilityChanged(int visibility) {
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM))
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled())
setTranslationY(mBaseYOffset);
}
@@ -80,7 +80,7 @@ public class BottomContainer
public void setTranslationY(float y) {
mBaseYOffset = y;
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// the snackbar container is moved up because there is the top toolbar at the bottom
mBaseYOffset = -(mBrowserControlsStateProvider.getTopControlsHeight()
+ mBrowserControlsStateProvider.getTopControlOffset());
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java
@@ -428,7 +428,7 @@ public class StatusBarColorController
boolean needsDarkStatusBarIcons = !ColorUtils.shouldUseLightForegroundOnBackground(color);
ApiCompatibilityUtils.setStatusBarIconColor(root, needsDarkStatusBarIcons);
ApiCompatibilityUtils.setStatusBarColor(mWindow, color);
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM) &&
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled() &&
Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
UiUtils.setNavigationBarIconColor(mWindow.getDecorView().getRootView(),
needsDarkStatusBarIcons);
diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java
--- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java
+++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java
@@ -54,7 +54,7 @@ public class BrowserControlsMarginSupplier extends ObservableSupplierImpl<Rect>
+ mBrowserControlsStateProvider.getTopControlOffset();
int bottomMargin = mBrowserControlsStateProvider.getBottomControlsHeight()
- mBrowserControlsStateProvider.getBottomControlOffset();
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
bottomMargin += topMargin;
topMargin = 0;
}
diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java
--- a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java
+++ b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java
@@ -265,7 +265,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
}
mListView = (ListView) contentView.findViewById(R.id.app_menu_list);
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// always scroll to the bottom to show new items
mListView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
// fill content starting from the bottom of the view
@@ -310,7 +310,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
if (popupHeight + popupPosition[1] > visibleDisplayFrame.bottom) {
mPopup.setHeight(visibleDisplayFrame.height());
}
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// due to some unknown behaviour, the popup must be resized to
// allow selection without leaving touch
mPopup.setHeight(popupHeight-1);
@@ -362,7 +362,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
int anchorViewX = tempLocation[0];
int anchorViewY = tempLocation[1];
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// moves the view offset up by the height of the popup
anchorViewY -= popupHeight;
// fix it if it goes offscreen
@@ -560,7 +560,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler
}
int availableScreenSpace = Math.max(
anchorViewY, appDimensions.height() - anchorViewY - anchorViewImpactHeight);
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// use all available space
availableScreenSpace = appDimensions.height() - anchorViewImpactHeight;
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.N) {
diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java
--- a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java
+++ b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java
@@ -184,7 +184,7 @@ class AppMenuHandlerImpl
}),
this);
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// reverses the order of items in the menu
ModelList modelListReversed = new ModelList();
for (int i = 0; i < modelList.size(); i++) {
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java
@@ -239,7 +239,7 @@ public class UrlBarCoordinator implements UrlBarEditingTextStateProvider, UrlFoc
// to show or hide keyboard anyway. This may happen when we schedule keyboard hide, and
// receive a second request to hide the keyboard instantly.
if (showKeyboard) {
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// probably due to an android bug, fix the size rather than pan the view.
// with the pan the bar may not always follow the focus if not at the first input by the user
setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE, /* delay */ false);
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java
@@ -236,7 +236,7 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC
ViewGroup container = (ViewGroup) ((ViewStub) mParent.getRootView().findViewById(
R.id.omnibox_results_container_stub))
.inflate();
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// make margins works
dropdown.getViewGroup().setClipToPadding(true);
container.bringToFront();
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
@@ -1013,7 +1013,7 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener,
@Override
public void onSuggestionDropdownScroll() {
mSuggestionsListScrolled = true;
- if (!CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (!ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
mDelegate.setKeyboardVisibility(false, false);
}
}
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java
@@ -266,7 +266,7 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
final Resources resources = context.getResources();
int paddingBottom =
resources.getDimensionPixelOffset(R.dimen.omnibox_suggestion_list_padding_bottom);
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// reverse the layout so that the items are at the bottom (in reverse order)
// and anchored to the bottom edge
mLayoutScrollListener.setReverseLayout(true);
@@ -496,7 +496,7 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
}
private int calculateAnchorBottomRelativeToContent() {
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM))
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled())
return 0;
View contentView =
mEmbedder.getAnchorView().getRootView().findViewById(android.R.id.content);
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarFocusScrimHandler.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarFocusScrimHandler.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarFocusScrimHandler.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarFocusScrimHandler.java
@@ -58,7 +58,7 @@ public class LocationBarFocusScrimHandler implements UrlFocusChangeListener {
Resources resources = context.getResources();
int topMargin = resources.getDimensionPixelSize(R.dimen.tab_strip_height);
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// since the top bar is at the bottom, we need to cover the whole page
topMargin = 0;
}
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java
@@ -105,7 +105,7 @@ class BottomControlsMediator implements BrowserControlsStateProvider.Observer,
void setBottomControlsVisible(boolean visible) {
if (visible == true
&& mIsBottomControlsVisible == false
- && CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ && ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// always show the toolbar if the bottom controls are visible, so as not to leave the hole below.
mBrowserControlsSizer.getBrowserVisibilityDelegate().showControlsTransient();
}
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/ScrollingBottomViewSceneLayer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/ScrollingBottomViewSceneLayer.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/ScrollingBottomViewSceneLayer.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/ScrollingBottomViewSceneLayer.java
@@ -127,7 +127,7 @@ public class ScrollingBottomViewSceneLayer extends SceneOverlayLayer implements
boolean isShadowVisible = mBottomView.getVisibility() != View.VISIBLE;
float offsetPy = viewport.height() + mCurrentYOffsetPx;
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// fix the offset of the fake bottom controls, used only for animations
offsetPy -= (mBottomView.getHeight() - mCurrentYOffsetPx + mTopControlsMinHeightOffset);
}
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
@@ -109,7 +109,7 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
@Override
public void initWithToolbar(int toolbarLayoutId) {
try (TraceEvent te = TraceEvent.scoped("ToolbarControlContainer.initWithToolbar")) {
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// the top toolbar is docked at the bottom
CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams)getLayoutParams();
layoutParams.gravity = Gravity.START | Gravity.BOTTOM;
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java
@@ -41,7 +41,7 @@ class TopToolbarSceneLayer extends SceneOverlayLayer {
private void pushProperties(PropertyModel model) {
if (mResourceManagerSupplier.get() == null) return;
float offsetY = model.get(TopToolbarOverlayProperties.Y_OFFSET);
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
+ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) {
// fix the offset of the fake top controls, used only for animations
offsetY = model.get(TopToolbarOverlayProperties.VIEWPORT_HEIGHT) -
model.get(TopToolbarOverlayProperties.TOOLBAR_HEIGHT) -
--
2.25.1
@@ -0,0 +1,53 @@
From: Your Name <you@example.com>
Date: Thu, 5 Jan 2023 11:48:07 +0000
Subject: Add a proxy configuration page (add fixup)
---
chrome/browser/resources/proxy_config.js | 13 ++++++++++++-
chrome/browser/ui/webui/proxy_config_ui.cc | 2 +-
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/resources/proxy_config.js b/chrome/browser/resources/proxy_config.js
--- a/chrome/browser/resources/proxy_config.js
+++ b/chrome/browser/resources/proxy_config.js
@@ -16,7 +16,6 @@
*/
import {$} from 'chrome://resources/js/util.js';
-import {addSingletonGetter} from 'chrome://resources/js/cr.m.js';
/**
* Main entry point called once the page has loaded.
@@ -60,6 +59,18 @@ var ProxyConfigView = (function() {
var kIdFtpProxies = 'ftp-proxies';
var kIdFallbackProxies = 'fallback-proxies';
+ /**
+ * Adds a {@code getInstance} static method that always return the same
+ * instance object.
+ * @param {!Function} ctor The constructor for the class to add the static
+ * method to.
+ */
+ function addSingletonGetter(ctor) {
+ ctor.getInstance = function() {
+ return ctor.instance_ || (ctor.instance_ = new ctor());
+ };
+ }
+
/**
* @constructor
*/
diff --git a/chrome/browser/ui/webui/proxy_config_ui.cc b/chrome/browser/ui/webui/proxy_config_ui.cc
--- a/chrome/browser/ui/webui/proxy_config_ui.cc
+++ b/chrome/browser/ui/webui/proxy_config_ui.cc
@@ -164,7 +164,7 @@ void ProxyConfigMessageHandler::OnProxyConfigChanged(
// call Javascript function
web_ui()->CallJavascriptFunctionUnsafe("ProxyConfigView.getInstance().onProxyConfigChanged",
- *state.CreateDeepCopy());
+ state.Clone());
}
const std::string omitDirect(const std::string pacString) {
--
2.25.1
@@ -0,0 +1,26 @@
From: Your Name <you@example.com>
Date: Thu, 5 Jan 2023 11:37:12 +0000
Subject: Add webGL site setting (add fixup)
---
.../core/browser/content_settings_registry.cc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
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
@@ -636,9 +636,9 @@ void ContentSettingsRegistry::Init() {
Register(ContentSettingsType::WEBGL, "webgl", CONTENT_SETTING_BLOCK,
WebsiteSettingsInfo::SYNCABLE,
- AllowlistedSchemes(),
- ValidSettings(CONTENT_SETTING_ALLOW,
- CONTENT_SETTING_BLOCK),
+ /*allowlisted_schemes=*/{},
+ /*valid_settings=*/{CONTENT_SETTING_ALLOW,
+ CONTENT_SETTING_BLOCK},
WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
WebsiteSettingsRegistry::PLATFORM_ANDROID,
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
--
2.25.1
@@ -0,0 +1,26 @@
From: Your Name <you@example.com>
Date: Thu, 5 Jan 2023 11:37:41 +0000
Subject: Add webRTC site settings (add fixup)
---
.../core/browser/content_settings_registry.cc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
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
@@ -650,9 +650,9 @@ void ContentSettingsRegistry::Init() {
Register(ContentSettingsType::WEBRTC, "webrtc", CONTENT_SETTING_BLOCK,
WebsiteSettingsInfo::SYNCABLE,
- AllowlistedSchemes(),
- ValidSettings(CONTENT_SETTING_ALLOW,
- CONTENT_SETTING_BLOCK),
+ /*allowlisted_schemes=*/{},
+ /*valid_settings=*/{CONTENT_SETTING_ALLOW,
+ CONTENT_SETTING_BLOCK},
WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
WebsiteSettingsRegistry::PLATFORM_ANDROID,
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
--
2.25.1
@@ -0,0 +1,24 @@
From: Your Name <you@example.com>
Date: Sun, 18 Dec 2022 16:38:48 +0000
Subject: Client hints overrides (add fixup)
---
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
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
@@ -2832,8 +2832,8 @@
public: true,
},
{
- name: "UserAgentClientHint",
- status: "stable",
+ name: "UserAgentClientHint", // always disabled
+ status: "experimental", // in bromite
base_feature: "UserAgentClientHint",
},
{
--
2.25.1
@@ -0,0 +1,29 @@
From: Your Name <you@example.com>
Date: Thu, 5 Jan 2023 11:35:28 +0000
Subject: Disable all predictors code (add fixup)
---
components/optimization_guide/core/BUILD.gn | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/components/optimization_guide/core/BUILD.gn b/components/optimization_guide/core/BUILD.gn
--- a/components/optimization_guide/core/BUILD.gn
+++ b/components/optimization_guide/core/BUILD.gn
@@ -77,12 +77,14 @@ static_library("model_executor") {
}
deps = [
":features",
- ":machine_learning",
"//base",
"//components/optimization_guide/proto:optimization_guide_proto",
"//net",
"//url",
]
+ if (build_with_tflite_lib) {
+ deps += [ ":machine_learning", ]
+ }
}
mojom("interfaces") {
--
2.25.1
@@ -0,0 +1,48 @@
From: Your Name <you@example.com>
Date: Thu, 5 Jan 2023 11:33:47 +0000
Subject: Disable conversion measurement api (add fixup)
---
.../attribution_report_network_sender.cc | 8 ++++++--
content/renderer/render_thread_impl.cc | 2 +-
2 files changed, 7 insertions(+), 3 deletions(-)
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
@@ -76,6 +76,9 @@ void AttributionReportNetworkSender::SendReport(AttributionDebugReport report) {
void AttributionReportNetworkSender::SendReport(GURL url,
base::ValueView report_body,
UrlLoaderCallback callback) {
+ // this is never called on Bromite but nothing would be sent if it were
+ if ((true)) return;
+
auto resource_request = std::make_unique<network::ResourceRequest>();
resource_request->url = std::move(url);
resource_request->method = net::HttpRequestHeaders::kPostMethod;
@@ -132,8 +135,9 @@ void AttributionReportNetworkSender::SendReport(GURL url,
network::SimpleURLLoader::RETRY_ON_NAME_NOT_RESOLVED;
simple_url_loader_ptr->SetRetryOptions(/*max_retries=*/1, retry_mode);
- // 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);
+ simple_url_loader_ptr->DownloadHeadersOnly(
+ url_loader_factory_.get(),
+ base::BindOnce(std::move(callback), std::move(it)));
}
void AttributionReportNetworkSender::OnReportSent(
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -1823,7 +1823,7 @@ RenderThreadImpl::GetOsSupportForAttributionReporting() {
void RenderThreadImpl::SetOsSupportForAttributionReporting(
blink::mojom::AttributionOsSupport attribution_os_support) {
- attribution_os_support_ = attribution_os_support;
+ attribution_os_support_ = blink::mojom::AttributionOsSupport::kDisabled;
}
} // namespace content
--
2.25.1
@@ -0,0 +1,74 @@
From: Your Name <you@example.com>
Date: Thu, 5 Jan 2023 11:34:41 +0000
Subject: Disable safe browsing (add fixup)
---
.../chrome_file_system_access_permission_context.cc | 4 +++-
chrome/browser/ui/android/strings/android_chrome_strings.grd | 3 +++
chrome/browser/ui/webui/interstitials/interstitial_ui.cc | 4 ----
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
@@ -115,6 +115,7 @@ const char kPathKey[] = "path";
const char kPathTypeKey[] = "path-type";
const char kTimestampKey[] = "timestamp";
+#if defined(FULL_SAFE_BROWSING)
void ShowFileSystemAccessRestrictedDirectoryDialogOnUIThread(
content::GlobalRenderFrameHostId frame_id,
const url::Origin& origin,
@@ -144,7 +145,6 @@ void ShowFileSystemAccessRestrictedDirectoryDialogOnUIThread(
origin, handle_type, std::move(callback), web_contents);
}
-#if defined(FULL_SAFE_BROWSING)
void ShowFileSystemAccessDangerousFileDialogOnUIThread(
content::GlobalRenderFrameHostId frame_id,
const url::Origin& origin,
@@ -431,6 +431,7 @@ base::StringPiece GetGrantKeyFromGrantType(GrantType type) {
: kPermissionReadableKey;
}
+#if defined(FULL_SAFE_BROWSING)
bool FileHasDangerousExtension(const url::Origin& origin,
const base::FilePath& path,
Profile* profile) {
@@ -442,6 +443,7 @@ bool FileHasDangerousExtension(const url::Origin& origin,
return danger_level == safe_browsing::DownloadFileType::DANGEROUS ||
danger_level == safe_browsing::DownloadFileType::ALLOW_ON_USER_GESTURE;
}
+#endif
} // namespace
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
@@ -467,6 +467,9 @@ CHAR_LIMIT guidelines:
<message name="IDS_PRELOAD_PAGES_EXTENDED_PRELOADING_BULLET_FOUR" desc="Fourth bullet point under the Preload Pages extended preloading mode. Informs the user about what the extended preloading setting does.">
Because the preloaded pages are encrypted, Google will not learn anything about the preloaded page content. Google servers will learn which sites are privately preloaded. This information is only used to preload the pages, and is not linked to other information from your Google Account.
</message>
+ <message name="IDS_USAGE_AND_CRASH_REPORTS_TITLE" desc="Title for a preference that enables sending usage statistics and crash reports.">
+ Help improve Chrome\u2019s features and performance
+ </message>
<!-- Metrics settings -->
<message name="IDS_PREFS_METRICS_SETTINGS" desc="Title for the page that allows the user to control how much usage data Chrome uploads. [CHAR_LIMIT=32]">
diff --git a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
--- a/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
+++ b/chrome/browser/ui/webui/interstitials/interstitial_ui.cc
@@ -518,10 +518,6 @@ void InterstitialHTMLSource::StartDataRequest(
interstitial_delegate = CreateMITMSoftwareBlockingPage(web_contents);
} else if (path_without_query == "/blocked-interception") {
interstitial_delegate = CreateBlockedInterceptionBlockingPage(web_contents);
- } else if (path_without_query == "/enterprise-block") {
- interstitial_delegate = CreateEnterpriseBlockPage(web_contents);
- } else if (path_without_query == "/enterprise-warn") {
- interstitial_delegate = CreateEnterpriseWarnPage(web_contents);
} else if (path_without_query == "/clock") {
interstitial_delegate = CreateBadClockBlockingPage(web_contents);
} else if (path_without_query == "/lookalike") {
--
2.25.1
@@ -0,0 +1,53 @@
From: Your Name <you@example.com>
Date: Thu, 5 Jan 2023 11:26:25 +0000
Subject: Remove binary blob integrations (add fixup)
---
chrome/android/java/AndroidManifest.xml | 2 ++
chrome/browser/privacy/BUILD.gn | 1 +
.../browser/ui/signin/fre/SigninFirstRunMediator.java | 8 ++------
3 files changed, 5 insertions(+), 6 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
@@ -751,6 +751,8 @@ by a child template that "extends" this file.
android:theme="@style/Theme.BrowserUI.Translucent.NoTitleBar"
android:excludeFromRecents="true"
android:process=":browser_restart_process">
+ </activity>
+
<activity
android:name="org.chromium.chrome.browser.sharing.shared_intent.SharedIntentShareActivity"
android:icon="@drawable/ic_launcher"
diff --git a/chrome/browser/privacy/BUILD.gn b/chrome/browser/privacy/BUILD.gn
--- a/chrome/browser/privacy/BUILD.gn
+++ b/chrome/browser/privacy/BUILD.gn
@@ -11,6 +11,7 @@ if (is_android) {
"//chrome/android:*",
"//chrome/browser/feed/android:*",
"//chrome/browser/ui/android/omnibox:*",
+ "//chrome/browser/ui/android/signin:*",
]
sources = [
"java/src/org/chromium/chrome/browser/privacy/secure_dns/SecureDnsBridge.java",
diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/SigninFirstRunMediator.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/SigninFirstRunMediator.java
--- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/SigninFirstRunMediator.java
+++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/SigninFirstRunMediator.java
@@ -186,12 +186,8 @@ public class SigninFirstRunMediator
boolean isSigninDisabledByPolicy = false;
boolean isMetricsReportingDisabledByPolicy = false;
if (hasPolicies) {
- isSigninDisabledByPolicy =
- IdentityServicesProvider.get()
- .getSigninManager(Profile.getLastUsedRegularProfile())
- .isSigninDisabledByPolicy();
- isMetricsReportingDisabledByPolicy =
- !mPrivacyPreferencesManager.isUsageAndCrashReportingPermittedByPolicy();
+ isSigninDisabledByPolicy = true;
+ isMetricsReportingDisabledByPolicy = true;
final FrePolicy frePolicy = new FrePolicy();
frePolicy.metricsReportingDisabledByPolicy = isMetricsReportingDisabledByPolicy;
--
2.25.1
@@ -0,0 +1,105 @@
From: Your Name <you@example.com>
Date: Thu, 5 Jan 2023 11:29:23 +0000
Subject: Remove price/shopping/commerce integra (add fixup)
---
.../chrome/browser/app/ChromeActivity.java | 4 ----
.../bookmarks/BookmarkItemsAdapter.java | 2 --
.../bookmarks/BookmarkSaveFlowMediator.java | 21 -------------------
.../commerce/core/commerce_feature_list.cc | 4 ++--
4 files changed, 2 insertions(+), 29 deletions(-)
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
@@ -2395,10 +2395,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
}
if (id == R.id.disable_price_tracking_menu_id) {
- PowerBookmarkUtils.setPriceTrackingEnabledWithSnackbars(mBookmarkModelSupplier.get(),
- mBookmarkModelSupplier.get().getUserBookmarkIdForTab(currentTab),
- /*enabled=*/false, mSnackbarManager, getResources(), (success) -> {});
- RecordUserAction.record("MobileMenuDisablePriceTracking");
return true;
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java
@@ -25,7 +25,6 @@ import org.chromium.chrome.browser.bookmarks.BookmarkRow.Location;
import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.profiles.Profile;
-import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.bookmarks.BookmarkItem;
@@ -226,7 +225,6 @@ public class BookmarkItemsAdapter extends DragReorderableListAdapter<BookmarkLis
return createViewHolderHelper(parent, R.layout.bookmark_folder_row);
case ViewType.BOOKMARK:
return createViewHolderHelper(parent, R.layout.bookmark_item_row);
- .init(mImageFetcher, mDelegate.getModel(), mSnackbarManager);
case ViewType.DIVIDER:
return new ViewHolder(
LayoutInflater.from(parent.getContext())
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowMediator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowMediator.java
@@ -17,7 +17,6 @@ import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.commerce.PriceTrackingUtils;
import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
-import org.chromium.chrome.browser.price_tracking.PriceDropNotificationManagerFactory;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.bookmarks.BookmarkItem;
@@ -39,9 +38,6 @@ public class BookmarkSaveFlowMediator
private BookmarkId mBookmarkId;
private PowerBookmarkMeta mPowerBookmarkMeta;
private boolean mWasBookmarkMoved;
- private SubscriptionsManager mSubscriptionsManager;
- private CommerceSubscription mSubscription;
- private Callback<Boolean> mSubscriptionsManagerCallback;
private String mFolderName;
/**
@@ -121,23 +117,6 @@ public class BookmarkSaveFlowMediator
}
void handleNotificationSwitchToggle(CompoundButton view, boolean toggled) {
- if (mSubscriptionsManagerCallback == null) {
- mSubscriptionsManagerCallback =
- mCallbackController.makeCancelable((Boolean success) -> {
- setPriceTrackingToggleVisualsOnly(success && view.isChecked());
- setPriceTrackingNotificationUiEnabled(success);
- });
- }
-
- // Make sure the notification channel is initialized when the user tracks a product.
- // TODO(crbug.com/1382191): Add a SubscriptionsObserver in the PriceDropNotificationManager
- // and initialize the channel there.
- if (toggled && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
- PriceDropNotificationManagerFactory.create().createNotificationChannel();
- }
- setPriceTrackingIconForEnabledState(toggled);
- PriceTrackingUtils.setPriceTrackingStateForBookmark(Profile.getLastUsedRegularProfile(),
- mBookmarkId.getId(), toggled, mSubscriptionsManagerCallback);
}
void setPriceTrackingNotificationUiEnabled(boolean enabled) {
diff --git a/components/commerce/core/commerce_feature_list.cc b/components/commerce/core/commerce_feature_list.cc
--- a/components/commerce/core/commerce_feature_list.cc
+++ b/components/commerce/core/commerce_feature_list.cc
@@ -98,8 +98,8 @@ BASE_FEATURE(kCommerceMerchantViewer,
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kCommercePriceTracking,
- "CommercePriceTracking",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "CommercePriceTracking", // guard this
+ base::FEATURE_DISABLED_BY_DEFAULT); // guard this
const base::FeatureParam<bool> kDeleteAllMerchantsOnClearBrowsingHistory{
&kCommerceMerchantViewer, "delete_all_merchants_on_clear_history", false};
--
2.25.1
@@ -0,0 +1,42 @@
From: Your Name <you@example.com>
Date: Thu, 5 Jan 2023 11:27:59 +0000
Subject: Remove signin and sync integrations (add fixup)
---
chrome/android/BUILD.gn | 1 +
.../chrome/browser/app/feed/FeedActionDelegateImpl.java | 3 ---
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -276,6 +276,7 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/ui/android/management:java_resources",
"//chrome/browser/ui/android/omnibox:java_resources",
"//chrome/browser/ui/android/quickactionsearchwidget:java_resources",
+ "//chrome/browser/ui/android/signin:java_resources",
"//chrome/browser/ui/android/strings:ui_strings_grd",
"//chrome/browser/ui/android/theme:java_resources",
"//chrome/browser/ui/android/toolbar:java_resources",
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/feed/FeedActionDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/feed/FeedActionDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/feed/FeedActionDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/feed/FeedActionDelegateImpl.java
@@ -19,7 +19,6 @@ import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
import org.chromium.chrome.browser.offlinepages.RequestCoordinatorBridge;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.share.crow.CrowButtonDelegate;
-import org.chromium.chrome.browser.signin.SyncConsentActivityLauncherImpl;
import org.chromium.chrome.browser.suggestions.SuggestionsConfig;
import org.chromium.chrome.browser.tab.EmptyTabObserver;
import org.chromium.chrome.browser.tab.Tab;
@@ -129,8 +128,6 @@ public class FeedActionDelegateImpl implements FeedActionDelegate {
@Override
public void showSignInActivity() {
if (ChromeFeatureList.isEnabled(ChromeFeatureList.FEED_SHOW_SIGN_IN_COMMAND)) {
- SyncConsentActivityLauncherImpl.get().launchActivityIfAllowed(
- mActivityContext, SigninAccessPoint.NTP_CONTENT_SUGGESTIONS);
}
}
--
2.25.1
@@ -0,0 +1,28 @@
From: Your Name <you@example.com>
Date: Thu, 5 Jan 2023 11:36:46 +0000
Subject: Timezone customization (add fixup)
---
.../core/browser/content_settings_registry.cc | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
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
@@ -614,10 +614,10 @@ void ContentSettingsRegistry::Init() {
Register(ContentSettingsType::TIMEZONE_OVERRIDE, "timezone-override", CONTENT_SETTING_ALLOW,
WebsiteSettingsInfo::SYNCABLE,
- AllowlistedSchemes(kChromeUIScheme, kChromeDevToolsScheme),
- ValidSettings(CONTENT_SETTING_ALLOW, // use system time
- CONTENT_SETTING_ASK, // custom timezone, default UTC
- CONTENT_SETTING_BLOCK), // random
+ /*allowlisted_schemes=*/{},
+ /*valid_settings=*/{CONTENT_SETTING_ALLOW, // use system time
+ CONTENT_SETTING_ASK, // custom timezone, default UTC
+ CONTENT_SETTING_BLOCK}, // random
WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
WebsiteSettingsRegistry::PLATFORM_ANDROID,
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
--
2.25.1
@@ -0,0 +1,31 @@
From: Your Name <you@example.com>
Date: Thu, 5 Jan 2023 11:30:19 +0000
Subject: User agent customization (add fixup)
---
.../android/preferences/privacy_preferences_manager_impl.cc | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc b/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc
--- a/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc
+++ b/chrome/browser/android/preferences/privacy_preferences_manager_impl.cc
@@ -17,6 +17,7 @@
#include "base/command_line.h"
#include "base/base_switches.h"
#include "chrome/common/chrome_switches.h"
+#include "content/browser/attribution_reporting/attribution_manager.h"
#include "content/browser/renderer_host/render_process_host_impl.h"
#include "content/common/renderer.mojom.h"
#include "chrome/browser/chrome_content_browser_client.h"
@@ -88,7 +89,8 @@ static void UpdateOverrideUserAgent() {
std::vector<std::string> cors_exempt_header_list;
iter.GetCurrentValue()->GetRendererInterface()->InitializeRenderer(
/*user_agent*/ ua, /*full_user_agent*/ ua, /*reduced_user_agent*/ ua,
- /*metadata*/ blink::UserAgentMetadata(), cors_exempt_header_list);
+ /*metadata*/ blink::UserAgentMetadata(), cors_exempt_header_list,
+ content::AttributionManager::GetOsSupport());
}
}
}
--
2.25.1
@@ -17,6 +17,8 @@ See discussions at:
* https://github.com/bromite/bromite/issues/445 * https://github.com/bromite/bromite/issues/445
* https://github.com/bromite/bromite/issues/814 * https://github.com/bromite/bromite/issues/814
* https://github.com/bromite/bromite/issues/1005 * https://github.com/bromite/bromite/issues/1005
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
base/android/android_image_reader_compat.cc | 8 +++++++- base/android/android_image_reader_compat.cc | 8 +++++++-
base/android/android_image_reader_compat.h | 4 ++++ base/android/android_image_reader_compat.h | 4 ++++
@@ -28,9 +30,9 @@ See discussions at:
gpu/config/gpu_workaround_list.txt | 1 + gpu/config/gpu_workaround_list.txt | 1 +
gpu/ipc/service/gpu_init.cc | 5 +++++ gpu/ipc/service/gpu_init.cc | 5 +++++
gpu/ipc/service/stream_texture_android.cc | 11 ++++++++++- gpu/ipc/service/stream_texture_android.cc | 11 ++++++++++-
media/base/media_switches.cc | 4 ++++ media/base/media_switches.cc | 5 +++++
media/base/media_switches.h | 1 + media/base/media_switches.h | 1 +
12 files changed, 65 insertions(+), 5 deletions(-) 12 files changed, 66 insertions(+), 5 deletions(-)
diff --git a/base/android/android_image_reader_compat.cc b/base/android/android_image_reader_compat.cc diff --git a/base/android/android_image_reader_compat.cc b/base/android/android_image_reader_compat.cc
--- a/base/android/android_image_reader_compat.cc --- a/base/android/android_image_reader_compat.cc
@@ -82,8 +84,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 diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json
@@ -2243,9 +2243,9 @@ @@ -2515,9 +2515,9 @@
"expiry_milestone": 106 "expiry_milestone": 115
}, },
{ {
- "name": "enable-image-reader", - "name": "enable-image-reader",
@@ -124,9 +126,9 @@ diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_lis
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
--- a/gpu/config/gpu_finch_features.cc --- a/gpu/config/gpu_finch_features.cc
+++ b/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) { @@ -64,6 +64,11 @@ BASE_FEATURE(kUseGles2ForOopR,
#endif
} // namespace );
+ +
+// Use android AImageReader when playing videos with MediaPlayer. +// Use android AImageReader when playing videos with MediaPlayer.
@@ -134,23 +136,23 @@ diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
+ base::FEATURE_ENABLED_BY_DEFAULT}; + base::FEATURE_ENABLED_BY_DEFAULT};
+ +
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
// Used to limit GL version to 2.0 for skia raster on Android. // Use android SurfaceControl API for managing display compositor's buffer queue
const base::Feature kUseGles2ForOopR{"UseGles2ForOopR", // and using overlays on Android. Also used by webview to disable surface
diff --git a/gpu/config/gpu_finch_features.h b/gpu/config/gpu_finch_features.h diff --git a/gpu/config/gpu_finch_features.h b/gpu/config/gpu_finch_features.h
--- a/gpu/config/gpu_finch_features.h --- a/gpu/config/gpu_finch_features.h
+++ b/gpu/config/gpu_finch_features.h +++ b/gpu/config/gpu_finch_features.h
@@ -17,6 +17,7 @@ namespace features { @@ -17,6 +17,7 @@ namespace features {
GPU_EXPORT BASE_DECLARE_FEATURE(kUseGles2ForOopR);
// All features in alphabetical order. The features should be documented // All features in alphabetical order. The features should be documented
+GPU_EXPORT extern const base::Feature kAImageReaderMediaPlayer;
// alongside the definition of their values in the .cc file. // alongside the definition of their values in the .cc file.
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
+GPU_EXPORT extern const base::Feature kAImageReaderMediaPlayer; GPU_EXPORT BASE_DECLARE_FEATURE(kAndroidSurfaceControl);
GPU_EXPORT extern const base::Feature kUseGles2ForOopR;
GPU_EXPORT extern const base::Feature kAndroidSurfaceControl;
GPU_EXPORT extern const base::Feature kWebViewSurfaceControl;
diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
--- a/gpu/config/gpu_util.cc --- a/gpu/config/gpu_util.cc
+++ b/gpu/config/gpu_util.cc +++ b/gpu/config/gpu_util.cc
@@ -120,6 +120,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus( @@ -121,6 +121,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus(
#if !BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_ANDROID)
return kGpuFeatureStatusDisabled; return kGpuFeatureStatusDisabled;
#else #else
@@ -160,7 +162,7 @@ diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
if (!gpu_preferences.enable_android_surface_control) if (!gpu_preferences.enable_android_surface_control)
return kGpuFeatureStatusDisabled; return kGpuFeatureStatusDisabled;
@@ -343,6 +346,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) { @@ -344,6 +347,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) {
gpu_feature_info->status_values[GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION] = gpu_feature_info->status_values[GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION] =
kGpuFeatureStatusBlocklisted; kGpuFeatureStatusBlocklisted;
} }
@@ -175,18 +177,18 @@ diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list.txt diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list.txt
--- a/gpu/config/gpu_workaround_list.txt --- a/gpu/config/gpu_workaround_list.txt
+++ b/gpu/config/gpu_workaround_list.txt +++ b/gpu/config/gpu_workaround_list.txt
@@ -14,6 +14,7 @@ decode_encode_srgb_for_generatemipmap @@ -15,6 +15,7 @@ decode_encode_srgb_for_generatemipmap
depth_stencil_renderbuffer_resize_emulation depth_stencil_renderbuffer_resize_emulation
disable_2d_canvas_auto_flush disable_2d_canvas_auto_flush
disable_accelerated_av1_decode disable_accelerated_av1_decode
+disable_aimagereader +disable_aimagereader
disable_accelerated_av1_encode
disable_accelerated_h264_encode disable_accelerated_h264_encode
disable_accelerated_hevc_decode disable_accelerated_hevc_decode
disable_accelerated_vp8_decode
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
--- a/gpu/ipc/service/gpu_init.cc --- a/gpu/ipc/service/gpu_init.cc
+++ b/gpu/ipc/service/gpu_init.cc +++ b/gpu/ipc/service/gpu_init.cc
@@ -580,6 +580,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line, @@ -626,6 +626,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
} }
#endif // BUILDFLAG(IS_WIN) #endif // BUILDFLAG(IS_WIN)
@@ -229,27 +231,28 @@ 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 diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc --- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc +++ b/media/base/media_switches.cc
@@ -711,6 +711,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning", @@ -758,6 +758,11 @@ BASE_FEATURE(kHardwareSecureDecryptionExperiment,
// Note: Has no effect if kMediaDrmPreprovisioning feature is disabled. // Allows automatically disabling hardware secure Content Decryption Module
const base::Feature kMediaDrmPreprovisioningAtStartup{ // (CDM) after failures or crashes to fallback to software secure CDMs. If this
"MediaDrmPreprovisioningAtStartup", base::FEATURE_ENABLED_BY_DEFAULT}; // feature is disabled, the fallback will never happen and users could be stuck
+// Enables the Android Image Reader path for Video decoding(for AVDA and MCVD) +// Enables the Android Image Reader path for Video decoding(for AVDA and MCVD)
+const base::Feature kAImageReaderVideoOutput{"AImageReaderVideoOutput", +BASE_FEATURE(kAImageReaderVideoOutput,
+ base::FEATURE_ENABLED_BY_DEFAULT}; + "AImageReaderVideoOutput",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+ +
// in playback failures.
// Enable picture in picture web api for android. BASE_FEATURE(kHardwareSecureDecryptionFallback,
const base::Feature kPictureInPictureAPI{"PictureInPictureAPI", "HardwareSecureDecryptionFallback",
diff --git a/media/base/media_switches.h b/media/base/media_switches.h diff --git a/media/base/media_switches.h b/media/base/media_switches.h
--- a/media/base/media_switches.h --- a/media/base/media_switches.h
+++ b/media/base/media_switches.h +++ b/media/base/media_switches.h
@@ -223,6 +223,7 @@ MEDIA_EXPORT extern const base::Feature kForceHardwareAudioDecoders; @@ -235,6 +235,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVp8TemporalLayerHWEncoding);
MEDIA_EXPORT extern const base::Feature kAllowNonSecureOverlays; MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVp9kSVCHWEncoding);
MEDIA_EXPORT extern const base::Feature kMediaControlsExpandGesture; #endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS)
MEDIA_EXPORT extern const base::Feature kMediaDrmPersistentLicense; MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoBlitColorAccuracy);
+MEDIA_EXPORT extern const base::Feature kAImageReaderVideoOutput; +MEDIA_EXPORT BASE_DECLARE_FEATURE(kAImageReaderVideoOutput);
MEDIA_EXPORT extern const base::Feature kMediaDrmPreprovisioning; MEDIA_EXPORT BASE_DECLARE_FEATURE(kVp9kSVCHWDecoding);
MEDIA_EXPORT extern const base::Feature kMediaDrmPreprovisioningAtStartup; MEDIA_EXPORT BASE_DECLARE_FEATURE(kWakeLockOptimisationHiddenMuted);
MEDIA_EXPORT extern const base::Feature kCanPlayHls; MEDIA_EXPORT BASE_DECLARE_FEATURE(kWebContentsCaptureHiDpi);
-- --
2.25.1 2.25.1
@@ -1,45 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 27 Jun 2021 16:53:48 +0200
Subject: API level 21: prevent crash on download
On Lollipop 5.0.x it is not possible to use the system persistent bundle.
This patch ignores boolean settings for them and prevents the crash.
See also: https://github.com/bromite/bromite/issues/1184
---
.../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
@@ -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) {
- persistableBundle.putBoolean(key, (Boolean) obj);
+ if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP) {
+ failedKeys.add(key);
+ } else {
+ persistableBundle.putBoolean(key, (Boolean) obj);
+ }
} else if (obj instanceof boolean[]) {
- persistableBundle.putBooleanArray(key, (boolean[]) obj);
+ if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP) {
+ failedKeys.add(key);
+ } else {
+ persistableBundle.putBooleanArray(key, (boolean[]) obj);
+ }
} else if (obj instanceof Double) {
persistableBundle.putDouble(key, (Double) obj);
} else if (obj instanceof double[]) {
--
2.25.1
-214
View File
@@ -1,214 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 16 Dec 2018 15:24:19 +0100
Subject: AV1 codec support
libaom build fixes (requires -fPIC)
Report AV1 as playable on Android
---
third_party/libaom/BUILD.gn | 6 ++++--
third_party/libaom/libaom_srcs.gni | 5 +++++
.../config/linux/arm-neon-cpu-detect/config/aom_config.asm | 2 +-
.../config/linux/arm-neon-cpu-detect/config/aom_config.h | 2 +-
.../source/config/linux/arm-neon/config/aom_config.asm | 2 +-
.../libaom/source/config/linux/arm-neon/config/aom_config.h | 2 +-
.../libaom/source/config/linux/arm/config/aom_config.asm | 2 +-
.../libaom/source/config/linux/arm/config/aom_config.h | 2 +-
.../libaom/source/config/linux/arm64/config/aom_config.asm | 2 +-
.../libaom/source/config/linux/arm64/config/aom_config.h | 2 +-
.../source/config/linux/generic/config/aom_config.asm | 2 +-
.../libaom/source/config/linux/generic/config/aom_config.h | 2 +-
.../libaom/source/config/linux/x64/config/aom_config.asm | 2 +-
.../libaom/source/config/linux/x64/config/aom_config.h | 2 +-
14 files changed, 21 insertions(+), 14 deletions(-)
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
@@ -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
}
@@ -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" ]
}
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
@@ -652,6 +652,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",
+ "//third_party/libaom/source/libaom/aom_ports/arm.h",
+ ]
+
aom_rtcd_sources = [
"//third_party/libaom/source/libaom/aom_dsp/aom_dsp_rtcd.c",
"//third_party/libaom/source/libaom/aom_scale/aom_scale_rtcd.c",
diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
CONFIG_PARTITION_SEARCH_ORDER equ 0
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
CONFIG_RATECTRL_LOG equ 0
CONFIG_RD_COMMAND equ 0
CONFIG_RD_DEBUG equ 0
diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
--- a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
@@ -52,7 +52,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RATECTRL_LOG 0
#define CONFIG_RD_COMMAND 0
#define CONFIG_RD_DEBUG 0
diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
CONFIG_PARTITION_SEARCH_ORDER equ 0
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
CONFIG_RATECTRL_LOG equ 0
CONFIG_RD_COMMAND equ 0
CONFIG_RD_DEBUG equ 0
diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
--- a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
@@ -52,7 +52,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RATECTRL_LOG 0
#define CONFIG_RD_COMMAND 0
#define CONFIG_RD_DEBUG 0
diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.asm b/third_party/libaom/source/config/linux/arm/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/arm/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/arm/config/aom_config.asm
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
CONFIG_PARTITION_SEARCH_ORDER equ 0
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
CONFIG_RATECTRL_LOG equ 0
CONFIG_RD_COMMAND equ 0
CONFIG_RD_DEBUG equ 0
diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.h b/third_party/libaom/source/config/linux/arm/config/aom_config.h
--- a/third_party/libaom/source/config/linux/arm/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/arm/config/aom_config.h
@@ -52,7 +52,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RATECTRL_LOG 0
#define CONFIG_RD_COMMAND 0
#define CONFIG_RD_DEBUG 0
diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.asm b/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
CONFIG_PARTITION_SEARCH_ORDER equ 0
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
CONFIG_RATECTRL_LOG equ 0
CONFIG_RD_COMMAND equ 0
CONFIG_RD_DEBUG equ 0
diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.h b/third_party/libaom/source/config/linux/arm64/config/aom_config.h
--- a/third_party/libaom/source/config/linux/arm64/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/arm64/config/aom_config.h
@@ -52,7 +52,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RATECTRL_LOG 0
#define CONFIG_RD_COMMAND 0
#define CONFIG_RD_DEBUG 0
diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.asm b/third_party/libaom/source/config/linux/generic/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/generic/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/generic/config/aom_config.asm
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
CONFIG_PARTITION_SEARCH_ORDER equ 0
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
CONFIG_RATECTRL_LOG equ 0
CONFIG_RD_COMMAND equ 0
CONFIG_RD_DEBUG equ 0
diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.h b/third_party/libaom/source/config/linux/generic/config/aom_config.h
--- a/third_party/libaom/source/config/linux/generic/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/generic/config/aom_config.h
@@ -52,7 +52,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RATECTRL_LOG 0
#define CONFIG_RD_COMMAND 0
#define CONFIG_RD_DEBUG 0
diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.asm b/third_party/libaom/source/config/linux/x64/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/x64/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/x64/config/aom_config.asm
@@ -40,7 +40,7 @@
%define CONFIG_OPTICAL_FLOW_API 0
%define CONFIG_OS_SUPPORT 1
%define CONFIG_PARTITION_SEARCH_ORDER 0
-%define CONFIG_PIC 0
+%define CONFIG_PIC 1
%define CONFIG_RATECTRL_LOG 0
%define CONFIG_RD_COMMAND 0
%define CONFIG_RD_DEBUG 0
diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.h b/third_party/libaom/source/config/linux/x64/config/aom_config.h
--- a/third_party/libaom/source/config/linux/x64/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/x64/config/aom_config.h
@@ -52,7 +52,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RATECTRL_LOG 0
#define CONFIG_RD_COMMAND 0
#define CONFIG_RD_DEBUG 0
--
2.25.1
@@ -2,23 +2,24 @@ From: uazo <uazo@users.noreply.github.com>
Date: Mon, 26 Apr 2021 13:28:24 +0000 Date: Mon, 26 Apr 2021 13:28:24 +0000
Subject: Add AllowUserCertificates flag Subject: Add AllowUserCertificates flag
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../src/org/chromium/chrome/browser/app/ChromeActivity.java | 3 +++ .../src/org/chromium/chrome/browser/app/ChromeActivity.java | 3 +++
.../chrome/browser/app/flags/ChromeCachedFlags.java | 1 + .../chromium/chrome/browser/app/flags/ChromeCachedFlags.java | 1 +
chrome/browser/about_flags.cc | 6 +++++- chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 5 +++++ chrome/browser/flag_descriptions.cc | 5 +++++
chrome/browser/flag_descriptions.h | 3 +++ chrome/browser/flag_descriptions.h | 3 +++
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++++ chrome/browser/flags/android/chrome_feature_list.cc | 5 +++++
chrome/browser/flags/android/chrome_feature_list.h | 1 + chrome/browser/flags/android/chrome_feature_list.h | 1 +
.../chromium/chrome/browser/flags/CachedFeatureFlags.java | 1 + .../org/chromium/chrome/browser/flags/ChromeFeatureList.java | 3 +++
.../chromium/chrome/browser/flags/ChromeFeatureList.java | 1 + net/android/java/src/org/chromium/net/X509Util.java | 5 +++++
net/android/java/src/org/chromium/net/X509Util.java | 5 +++++ 9 files changed, 30 insertions(+)
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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -231,6 +231,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider; @@ -226,6 +226,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
import org.chromium.content_public.browser.SelectionPopupController; import org.chromium.content_public.browser.SelectionPopupController;
import org.chromium.content_public.browser.WebContents; import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.common.ContentSwitches; import org.chromium.content_public.common.ContentSwitches;
@@ -26,7 +27,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.printing.PrintManagerDelegateImpl; import org.chromium.printing.PrintManagerDelegateImpl;
import org.chromium.printing.PrintingController; import org.chromium.printing.PrintingController;
import org.chromium.printing.PrintingControllerImpl; import org.chromium.printing.PrintingControllerImpl;
@@ -994,6 +995,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent> @@ -961,6 +962,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
UpdateMenuItemHelper.getInstance().onStart(); UpdateMenuItemHelper.getInstance().onStart();
ChromeActivitySessionTracker.getInstance().onStartWithNative(); ChromeActivitySessionTracker.getInstance().onStartWithNative();
ChromeCachedFlags.getInstance().cacheNativeFlags(); ChromeCachedFlags.getInstance().cacheNativeFlags();
@@ -38,30 +39,28 @@ 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 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 --- 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 +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
@@ -94,6 +94,7 @@ public class ChromeCachedFlags { @@ -77,6 +77,7 @@ public class ChromeCachedFlags {
.GIVE_JAVA_UI_THREAD_DEFAULT_TASK_TRAITS_USER_BLOCKING_PRIORITY); add(ChromeFeatureList.sAndroidAuxiliarySearch);
add(ChromeFeatureList.GRID_TAB_SWITCHER_FOR_TABLETS); add(ChromeFeatureList.sAnonymousUpdateChecks);
add(ChromeFeatureList.IMMERSIVE_UI_MODE); add(ChromeFeatureList.sAppMenuMobileSiteOption);
+ add(ChromeFeatureList.ALLOW_USER_CERTIFICATES); + add(ChromeFeatureList.sAllowUserCertificates);
add(ChromeFeatureList.INSTANT_START); add(ChromeFeatureList.sBackGestureRefactorAndroid);
add(ChromeFeatureList.INSTANCE_SWITCHER); add(ChromeFeatureList.sCctBrandTransparency);
add(ChromeFeatureList.INTEREST_FEED_V2); add(ChromeFeatureList.sCctIncognito);
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -3220,7 +3220,11 @@ const FeatureEntry kFeatureEntries[] = { @@ -8936,6 +8936,10 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-container-queries", flag_descriptions::kCSSContainerQueriesName, FEATURE_VALUE_TYPE(features::kWin10TabSearchCaptionButton)},
flag_descriptions::kCSSContainerQueriesDescription, kOsAll, #endif // BUILDFLAG(IS_WIN)
FEATURE_VALUE_TYPE(blink::features::kCSSContainerQueries)},
-#if BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_ANDROID) // Bromite allow user certificates
+ {"allow-user-certificates", + {"allow-user-certificates",
+ flag_descriptions::kAllowUserCertificatesName, + flag_descriptions::kAllowUserCertificatesName,
+ flag_descriptions::kAllowUserCertificatesDescription, kOsAndroid, + flag_descriptions::kAllowUserCertificatesDescription, kOsAndroid,
+ FEATURE_VALUE_TYPE(chrome::android::kAllowUserCertificates)}, + FEATURE_VALUE_TYPE(chrome::android::kAllowUserCertificates)},
{"explore-sites", flag_descriptions::kExploreSitesName, {"omnibox-updated-connection-security-indicators",
flag_descriptions::kExploreSitesDescription, kOsAndroid, flag_descriptions::kOmniboxUpdatedConnectionSecurityIndicatorsName,
FEATURE_WITH_PARAMS_VALUE_TYPE(chrome::android::kExploreSites, flag_descriptions::kOmniboxUpdatedConnectionSecurityIndicatorsDescription,
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc
@@ -80,7 +79,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 diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h
@@ -38,6 +38,9 @@ namespace flag_descriptions { @@ -40,6 +40,9 @@ namespace flag_descriptions {
// Cross-platform ------------------------------------------------------------- // Cross-platform -------------------------------------------------------------
@@ -93,50 +92,40 @@ 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 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 --- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -144,6 +144,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { @@ -153,6 +153,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedLoadingPlaceholder, &feed::kFeedReplaceAll,
&feed::kFeedShowSignInCommand,
&feed::kInterestFeedContentSuggestions, &feed::kInterestFeedContentSuggestions,
&feed::kInterestFeedSpinnerAlwaysAnimate,
+ &kAllowUserCertificates, + &kAllowUserCertificates,
&feed::kInterestFeedV1ClicksAndViewsConditionalUpload, &feed::kInterestFeedV1ClicksAndViewsConditionalUpload,
&feed::kInterestFeedV2, &feed::kInterestFeedV2,
&feed::kInterestFeedV2Autoplay, &feed::kInterestFeedV2Autoplay,
@@ -399,6 +400,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{ @@ -469,6 +470,10 @@ BASE_FEATURE(kAllowNewIncognitoTabIntents,
"AdaptiveButtonInTopToolbarCustomizationV2", "AllowNewIncognitoTabIntents",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT);
+const base::Feature kAllowUserCertificates = { +BASE_FEATURE(kAllowUserCertificates,
+ "AllowUserCertificates", base::FEATURE_DISABLED_BY_DEFAULT}; + "AllowUserCertificates",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ +
const base::Feature kAddToHomescreenIPH{"AddToHomescreenIPH", BASE_FEATURE(kFocusOmniboxInIncognitoTabIntents,
base::FEATURE_DISABLED_BY_DEFAULT}; "FocusOmniboxInIncognitoTabIntents",
base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h 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 --- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h +++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -12,6 +12,7 @@ @@ -17,6 +17,7 @@ BASE_DECLARE_FEATURE(kAdaptiveButtonInTopToolbar);
namespace chrome { BASE_DECLARE_FEATURE(kAdaptiveButtonInTopToolbarCustomizationV2);
namespace android { BASE_DECLARE_FEATURE(kAddToHomescreenIPH);
BASE_DECLARE_FEATURE(kAllowNewIncognitoTabIntents);
+extern const base::Feature kAllowUserCertificates; +BASE_DECLARE_FEATURE(kAllowUserCertificates);
// Alphabetical: BASE_DECLARE_FEATURE(kAndroidScrollOptimizations);
extern const base::Feature kAdaptiveButtonInTopToolbar; BASE_DECLARE_FEATURE(kAndroidSearchEngineChoiceNotification);
extern const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2; BASE_DECLARE_FEATURE(kAssistantConsentModal);
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
@@ -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 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 --- 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 +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -193,6 +193,7 @@ public abstract class ChromeFeatureList { @@ -162,6 +162,7 @@ public abstract class ChromeFeatureList {
} }
/* Alphabetical: */ /* Alphabetical: */
@@ -144,6 +133,15 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String ABOUT_THIS_SITE_BANNER = "AboutThisSiteBanner"; public static final String ABOUT_THIS_SITE_BANNER = "AboutThisSiteBanner";
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR = "AdaptiveButtonInTopToolbar"; public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR = "AdaptiveButtonInTopToolbar";
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2 = public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2 =
@@ -612,6 +613,8 @@ public abstract class ChromeFeatureList {
"SkipServiceWorkerForInstallPromot";
/* Alphabetical: */
+ public static final CachedFlag sAllowUserCertificates =
+ new CachedFlag(ALLOW_USER_CERTIFICATES, false);
public static final CachedFlag sAndroidAuxiliarySearch =
new CachedFlag(OMNIBOX_ANDROID_AUXILIARY_SEARCH, false);
public static final CachedFlag sAnonymousUpdateChecks =
diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/java/src/org/chromium/net/X509Util.java 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 --- a/net/android/java/src/org/chromium/net/X509Util.java
+++ b/net/android/java/src/org/chromium/net/X509Util.java +++ b/net/android/java/src/org/chromium/net/X509Util.java
@@ -2,6 +2,7 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Tue, 9 Mar 2021 19:43:00 +0100 Date: Tue, 9 Mar 2021 19:43:00 +0100
Subject: Add Alt+D hotkey to focus address bar Subject: Add Alt+D hotkey to focus address bar
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../java/src/org/chromium/chrome/browser/KeyboardShortcuts.java | 2 ++ .../java/src/org/chromium/chrome/browser/KeyboardShortcuts.java | 2 ++
1 file changed, 2 insertions(+) 1 file changed, 2 insertions(+)
@@ -2,6 +2,7 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 12 Oct 2017 11:06:18 +0200 Date: Thu, 12 Oct 2017 11:06:18 +0200
Subject: Add DuckDuckGo Lite search engine Subject: Add DuckDuckGo Lite search engine
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../search_engines/prepopulated_engines.json | 10 + .../search_engines/prepopulated_engines.json | 10 +
.../search_engines/search_engine_type.h | 1 + .../search_engines/search_engine_type.h | 1 +
@@ -31,18 +32,18 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/se
diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h
--- a/components/search_engines/search_engine_type.h --- a/components/search_engines/search_engine_type.h
+++ b/components/search_engines/search_engine_type.h +++ b/components/search_engines/search_engine_type.h
@@ -76,6 +76,7 @@ enum SearchEngineType { @@ -79,6 +79,7 @@ enum SearchEngineType {
SEARCH_ENGINE_ECOSIA = 59, SEARCH_ENGINE_STARTER_PACK_HISTORY = 62,
SEARCH_ENGINE_PETALSEARCH = 60, SEARCH_ENGINE_STARTER_PACK_TABS = 63,
SEARCH_ENGINE_GOOGLE_EN = 61, SEARCH_ENGINE_GOOGLE_EN = 64,
+ SEARCH_ENGINE_DUCKDUCKGOLIGHT = 62, + SEARCH_ENGINE_DUCKDUCKGOLIGHT = 65,
SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro. SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro.
}; };
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc 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 --- a/components/search_engines/template_url_prepopulate_data.cc
+++ b/components/search_engines/template_url_prepopulate_data.cc +++ b/components/search_engines/template_url_prepopulate_data.cc
@@ -41,7 +41,7 @@ const PrepopulatedEngine* const engines_AE[] = { @@ -42,7 +42,7 @@ const PrepopulatedEngine* const engines_AE[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -51,7 +52,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -50,7 +50,7 @@ const PrepopulatedEngine* const engines_AL[] = { @@ -51,7 +51,7 @@ const PrepopulatedEngine* const engines_AL[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -60,7 +61,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com, &yandex_com,
}; };
@@ -59,7 +59,7 @@ const PrepopulatedEngine* const engines_AR[] = { @@ -60,7 +60,7 @@ const PrepopulatedEngine* const engines_AR[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_ar, &yahoo_ar,
@@ -69,7 +70,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -67,7 +67,7 @@ const PrepopulatedEngine* const engines_AR[] = { @@ -68,7 +68,7 @@ const PrepopulatedEngine* const engines_AR[] = {
const PrepopulatedEngine* const engines_AT[] = { const PrepopulatedEngine* const engines_AT[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
@@ -78,7 +79,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_at, &yahoo_at,
&ecosia, &ecosia,
}; };
@@ -77,7 +77,7 @@ const PrepopulatedEngine* const engines_AU[] = { @@ -78,7 +78,7 @@ const PrepopulatedEngine* const engines_AU[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_au, &yahoo_au,
@@ -87,7 +88,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -86,7 +86,7 @@ const PrepopulatedEngine* const engines_BA[] = { @@ -87,7 +87,7 @@ const PrepopulatedEngine* const engines_BA[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -96,7 +97,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com, &yandex_com,
}; };
@@ -96,7 +96,7 @@ const PrepopulatedEngine* const engines_BE[] = { @@ -97,7 +97,7 @@ const PrepopulatedEngine* const engines_BE[] = {
&bing, &bing,
&yahoo, &yahoo,
&ecosia, &ecosia,
@@ -105,7 +106,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Bulgaria // Bulgaria
@@ -104,7 +104,7 @@ const PrepopulatedEngine* const engines_BG[] = { @@ -105,7 +105,7 @@ const PrepopulatedEngine* const engines_BG[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -114,7 +115,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru, &yandex_ru,
}; };
@@ -113,7 +113,7 @@ const PrepopulatedEngine* const engines_BH[] = { @@ -114,7 +114,7 @@ const PrepopulatedEngine* const engines_BH[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -123,7 +124,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com, &yandex_com,
}; };
@@ -122,7 +122,7 @@ const PrepopulatedEngine* const engines_BI[] = { @@ -123,7 +123,7 @@ const PrepopulatedEngine* const engines_BI[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -132,7 +133,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru, &yandex_ru,
}; };
@@ -131,7 +131,7 @@ const PrepopulatedEngine* const engines_BN[] = { @@ -132,7 +132,7 @@ const PrepopulatedEngine* const engines_BN[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -141,7 +142,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -140,7 +140,7 @@ const PrepopulatedEngine* const engines_BO[] = { @@ -141,7 +141,7 @@ const PrepopulatedEngine* const engines_BO[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -150,7 +151,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -149,7 +149,7 @@ const PrepopulatedEngine* const engines_BR[] = { @@ -150,7 +150,7 @@ const PrepopulatedEngine* const engines_BR[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_br, &yahoo_br,
@@ -159,7 +160,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -159,7 +159,7 @@ const PrepopulatedEngine* const engines_BY[] = { @@ -160,7 +160,7 @@ const PrepopulatedEngine* const engines_BY[] = {
&yandex_by, &yandex_by,
&mail_ru, &mail_ru,
&bing, &bing,
@@ -168,7 +169,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Belize // Belize
@@ -167,7 +167,7 @@ const PrepopulatedEngine* const engines_BZ[] = { @@ -168,7 +168,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -177,7 +178,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -176,7 +176,7 @@ const PrepopulatedEngine* const engines_CA[] = { @@ -177,7 +177,7 @@ const PrepopulatedEngine* const engines_CA[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_ca, &yahoo_ca,
@@ -186,7 +187,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -184,7 +184,7 @@ const PrepopulatedEngine* const engines_CA[] = { @@ -185,7 +185,7 @@ const PrepopulatedEngine* const engines_CA[] = {
const PrepopulatedEngine* const engines_CH[] = { const PrepopulatedEngine* const engines_CH[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
@@ -195,7 +196,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
&yahoo_ch, &yahoo_ch,
}; };
@@ -194,7 +194,7 @@ const PrepopulatedEngine* const engines_CL[] = { @@ -195,7 +195,7 @@ const PrepopulatedEngine* const engines_CL[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_cl, &yahoo_cl,
@@ -204,7 +205,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -213,7 +213,7 @@ const PrepopulatedEngine* const engines_CO[] = { @@ -214,7 +214,7 @@ const PrepopulatedEngine* const engines_CO[] = {
&bing, &bing,
&yahoo_co, &yahoo_co,
&ecosia, &ecosia,
@@ -213,7 +214,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Costa Rica // Costa Rica
@@ -221,7 +221,7 @@ const PrepopulatedEngine* const engines_CR[] = { @@ -222,7 +222,7 @@ const PrepopulatedEngine* const engines_CR[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -222,7 +223,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -231,7 +231,7 @@ const PrepopulatedEngine* const engines_CZ[] = { @@ -232,7 +232,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
&seznam_cz, &seznam_cz,
&bing, &bing,
&yahoo, &yahoo,
@@ -231,7 +232,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Germany // Germany
@@ -239,7 +239,7 @@ const PrepopulatedEngine* const engines_DE[] = { @@ -240,7 +240,7 @@ const PrepopulatedEngine* const engines_DE[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&ecosia, &ecosia,
@@ -240,7 +241,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_de, &yahoo_de,
}; };
@@ -248,7 +248,7 @@ const PrepopulatedEngine* const engines_DK[] = { @@ -249,7 +249,7 @@ const PrepopulatedEngine* const engines_DK[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_dk, &yahoo_dk,
@@ -249,7 +250,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -257,7 +257,7 @@ const PrepopulatedEngine* const engines_DO[] = { @@ -258,7 +258,7 @@ const PrepopulatedEngine* const engines_DO[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -258,7 +259,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -267,7 +267,7 @@ const PrepopulatedEngine* const engines_DZ[] = { @@ -268,7 +268,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
&bing, &bing,
&yahoo_fr, &yahoo_fr,
&yandex_com, &yandex_com,
@@ -267,7 +268,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Ecuador // Ecuador
@@ -276,7 +276,7 @@ const PrepopulatedEngine* const engines_EC[] = { @@ -277,7 +277,7 @@ const PrepopulatedEngine* const engines_EC[] = {
&bing, &bing,
&yahoo, &yahoo,
&ecosia, &ecosia,
@@ -276,7 +277,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Estonia // Estonia
@@ -284,7 +284,7 @@ const PrepopulatedEngine* const engines_EE[] = { @@ -285,7 +285,7 @@ const PrepopulatedEngine* const engines_EE[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yandex_ru, &yandex_ru,
@@ -285,7 +286,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo, &yahoo,
}; };
@@ -294,7 +294,7 @@ const PrepopulatedEngine* const engines_EG[] = { @@ -295,7 +295,7 @@ const PrepopulatedEngine* const engines_EG[] = {
&bing, &bing,
&yahoo, &yahoo,
&yandex_com, &yandex_com,
@@ -294,7 +295,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Spain // Spain
@@ -302,7 +302,7 @@ const PrepopulatedEngine* const engines_ES[] = { @@ -303,7 +303,7 @@ const PrepopulatedEngine* const engines_ES[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_es, &yahoo_es,
@@ -303,7 +304,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -311,7 +311,7 @@ const PrepopulatedEngine* const engines_FI[] = { @@ -312,7 +312,7 @@ const PrepopulatedEngine* const engines_FI[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_fi, &yahoo_fi,
@@ -312,7 +313,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru, &yandex_ru,
}; };
@@ -320,7 +320,7 @@ const PrepopulatedEngine* const engines_FO[] = { @@ -321,7 +321,7 @@ const PrepopulatedEngine* const engines_FO[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_dk, &yahoo_dk,
@@ -321,7 +322,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -338,7 +338,7 @@ const PrepopulatedEngine* const engines_GB[] = { @@ -339,7 +339,7 @@ const PrepopulatedEngine* const engines_GB[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_uk, &yahoo_uk,
@@ -330,7 +331,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -347,7 +347,7 @@ const PrepopulatedEngine* const engines_GR[] = { @@ -348,7 +348,7 @@ const PrepopulatedEngine* const engines_GR[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -339,7 +340,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru, &yandex_ru,
}; };
@@ -356,7 +356,7 @@ const PrepopulatedEngine* const engines_GT[] = { @@ -357,7 +357,7 @@ const PrepopulatedEngine* const engines_GT[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -348,7 +349,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -366,7 +366,7 @@ const PrepopulatedEngine* const engines_HK[] = { @@ -367,7 +367,7 @@ const PrepopulatedEngine* const engines_HK[] = {
&yahoo_hk, &yahoo_hk,
&bing, &bing,
&baidu, &baidu,
@@ -357,7 +358,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Honduras // Honduras
@@ -374,7 +374,7 @@ const PrepopulatedEngine* const engines_HN[] = { @@ -375,7 +375,7 @@ const PrepopulatedEngine* const engines_HN[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -366,7 +367,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -383,7 +383,7 @@ const PrepopulatedEngine* const engines_HR[] = { @@ -384,7 +384,7 @@ const PrepopulatedEngine* const engines_HR[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -375,7 +376,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -392,7 +392,7 @@ const PrepopulatedEngine* const engines_HU[] = { @@ -393,7 +393,7 @@ const PrepopulatedEngine* const engines_HU[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -384,7 +385,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com, &yandex_com,
}; };
@@ -402,7 +402,7 @@ const PrepopulatedEngine* const engines_ID[] = { @@ -403,7 +403,7 @@ const PrepopulatedEngine* const engines_ID[] = {
&yahoo_id, &yahoo_id,
&bing, &bing,
&yandex_com, &yandex_com,
@@ -393,7 +394,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Ireland // Ireland
@@ -410,7 +410,7 @@ const PrepopulatedEngine* const engines_IE[] = { @@ -411,7 +411,7 @@ const PrepopulatedEngine* const engines_IE[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_uk, &yahoo_uk,
@@ -402,7 +403,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -420,7 +420,7 @@ const PrepopulatedEngine* const engines_IL[] = { @@ -421,7 +421,7 @@ const PrepopulatedEngine* const engines_IL[] = {
&bing, &bing,
&yandex_ru, &yandex_ru,
&yahoo, &yahoo,
@@ -411,7 +412,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// India // India
@@ -428,7 +428,7 @@ const PrepopulatedEngine* const engines_IN[] = { @@ -429,7 +429,7 @@ const PrepopulatedEngine* const engines_IN[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_in, &yahoo_in,
@@ -420,7 +421,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&info_com, &info_com,
}; };
@@ -438,7 +438,7 @@ const PrepopulatedEngine* const engines_IQ[] = { @@ -439,7 +439,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
&bing, &bing,
&yahoo, &yahoo,
&yandex_tr, &yandex_tr,
@@ -429,7 +430,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Iran // Iran
@@ -447,14 +447,14 @@ const PrepopulatedEngine* const engines_IR[] = { @@ -448,14 +448,14 @@ const PrepopulatedEngine* const engines_IR[] = {
&bing, &bing,
&yahoo, &yahoo,
&ask, &ask,
@@ -446,7 +447,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo, &yahoo,
&ecosia, &ecosia,
}; };
@@ -464,7 +464,7 @@ const PrepopulatedEngine* const engines_IT[] = { @@ -465,7 +465,7 @@ const PrepopulatedEngine* const engines_IT[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -455,7 +456,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -473,7 +473,7 @@ const PrepopulatedEngine* const engines_JM[] = { @@ -474,7 +474,7 @@ const PrepopulatedEngine* const engines_JM[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -464,7 +465,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -482,7 +482,7 @@ const PrepopulatedEngine* const engines_JO[] = { @@ -483,7 +483,7 @@ const PrepopulatedEngine* const engines_JO[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -473,7 +474,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com, &yandex_com,
}; };
@@ -491,7 +491,7 @@ const PrepopulatedEngine* const engines_JP[] = { @@ -492,7 +492,7 @@ const PrepopulatedEngine* const engines_JP[] = {
&googleen, &google, &googleen, &google,
&yahoo_jp, &yahoo_jp,
&bing, &bing,
@@ -482,7 +483,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&baidu, &baidu,
}; };
@@ -500,7 +500,7 @@ const PrepopulatedEngine* const engines_KE[] = { @@ -501,7 +501,7 @@ const PrepopulatedEngine* const engines_KE[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -491,7 +492,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -518,7 +518,7 @@ const PrepopulatedEngine* const engines_KW[] = { @@ -519,7 +519,7 @@ const PrepopulatedEngine* const engines_KW[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -500,7 +501,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com, &yandex_com,
}; };
@@ -528,7 +528,7 @@ const PrepopulatedEngine* const engines_KZ[] = { @@ -529,7 +529,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
&yandex_kz, &yandex_kz,
&mail_ru, &mail_ru,
&bing, &bing,
@@ -509,7 +510,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Lebanon // Lebanon
@@ -536,7 +536,7 @@ const PrepopulatedEngine* const engines_LB[] = { @@ -537,7 +537,7 @@ const PrepopulatedEngine* const engines_LB[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -518,7 +519,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -544,7 +544,7 @@ const PrepopulatedEngine* const engines_LB[] = { @@ -545,7 +545,7 @@ const PrepopulatedEngine* const engines_LB[] = {
const PrepopulatedEngine* const engines_LI[] = { const PrepopulatedEngine* const engines_LI[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
@@ -527,7 +528,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo, &yahoo,
&ecosia, &ecosia,
}; };
@@ -554,7 +554,7 @@ const PrepopulatedEngine* const engines_LT[] = { @@ -555,7 +555,7 @@ const PrepopulatedEngine* const engines_LT[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -536,7 +537,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru, &yandex_ru,
}; };
@@ -562,7 +562,7 @@ const PrepopulatedEngine* const engines_LT[] = { @@ -563,7 +563,7 @@ const PrepopulatedEngine* const engines_LT[] = {
const PrepopulatedEngine* const engines_LU[] = { const PrepopulatedEngine* const engines_LU[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
@@ -545,7 +546,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo, &yahoo,
&ecosia, &ecosia,
}; };
@@ -573,7 +573,7 @@ const PrepopulatedEngine* const engines_LV[] = { @@ -574,7 +574,7 @@ const PrepopulatedEngine* const engines_LV[] = {
&bing, &bing,
&yandex_ru, &yandex_ru,
&yahoo, &yahoo,
@@ -554,7 +555,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Libya // Libya
@@ -582,7 +582,7 @@ const PrepopulatedEngine* const engines_LY[] = { @@ -583,7 +583,7 @@ const PrepopulatedEngine* const engines_LY[] = {
&bing, &bing,
&yahoo, &yahoo,
&yandex_com, &yandex_com,
@@ -563,7 +564,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Morocco // Morocco
@@ -591,14 +591,14 @@ const PrepopulatedEngine* const engines_MA[] = { @@ -592,14 +592,14 @@ const PrepopulatedEngine* const engines_MA[] = {
&bing, &bing,
&yahoo_fr, &yahoo_fr,
&yandex_com, &yandex_com,
@@ -580,7 +581,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_fr, &yahoo_fr,
&ecosia, &ecosia,
}; };
@@ -618,7 +618,7 @@ const PrepopulatedEngine* const engines_ME[] = { @@ -619,7 +619,7 @@ const PrepopulatedEngine* const engines_ME[] = {
&bing, &bing,
&yahoo, &yahoo,
&yandex_ru, &yandex_ru,
@@ -589,7 +590,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Macedonia // Macedonia
@@ -626,7 +626,7 @@ const PrepopulatedEngine* const engines_MK[] = { @@ -627,7 +627,7 @@ const PrepopulatedEngine* const engines_MK[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -598,7 +599,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru, &yandex_ru,
}; };
@@ -635,7 +635,7 @@ const PrepopulatedEngine* const engines_MX[] = { @@ -636,7 +636,7 @@ const PrepopulatedEngine* const engines_MX[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_mx, &yahoo_mx,
@@ -607,7 +608,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -644,7 +644,7 @@ const PrepopulatedEngine* const engines_MY[] = { @@ -645,7 +645,7 @@ const PrepopulatedEngine* const engines_MY[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_my, &yahoo_my,
@@ -616,7 +617,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -653,7 +653,7 @@ const PrepopulatedEngine* const engines_NI[] = { @@ -654,7 +654,7 @@ const PrepopulatedEngine* const engines_NI[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -625,7 +626,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -662,7 +662,7 @@ const PrepopulatedEngine* const engines_NL[] = { @@ -663,7 +663,7 @@ const PrepopulatedEngine* const engines_NL[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_nl, &yahoo_nl,
@@ -634,7 +635,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -671,7 +671,7 @@ const PrepopulatedEngine* const engines_NO[] = { @@ -672,7 +672,7 @@ const PrepopulatedEngine* const engines_NO[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -643,7 +644,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -680,7 +680,7 @@ const PrepopulatedEngine* const engines_NZ[] = { @@ -681,7 +681,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_nz, &yahoo_nz,
@@ -652,7 +653,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -689,7 +689,7 @@ const PrepopulatedEngine* const engines_OM[] = { @@ -690,7 +690,7 @@ const PrepopulatedEngine* const engines_OM[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -661,7 +662,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&petal_search, &petal_search,
}; };
@@ -698,7 +698,7 @@ const PrepopulatedEngine* const engines_PA[] = { @@ -699,7 +699,7 @@ const PrepopulatedEngine* const engines_PA[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_es, &yahoo_es,
@@ -670,7 +671,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -708,7 +708,7 @@ const PrepopulatedEngine* const engines_PE[] = { @@ -709,7 +709,7 @@ const PrepopulatedEngine* const engines_PE[] = {
&bing, &bing,
&yahoo_pe, &yahoo_pe,
&ecosia, &ecosia,
@@ -679,7 +680,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Philippines // Philippines
@@ -717,7 +717,7 @@ const PrepopulatedEngine* const engines_PH[] = { @@ -718,7 +718,7 @@ const PrepopulatedEngine* const engines_PH[] = {
&bing, &bing,
&yahoo, &yahoo,
&ecosia, &ecosia,
@@ -688,7 +689,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Pakistan // Pakistan
@@ -725,7 +725,7 @@ const PrepopulatedEngine* const engines_PK[] = { @@ -726,7 +726,7 @@ const PrepopulatedEngine* const engines_PK[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -697,7 +698,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com, &yandex_com,
}; };
@@ -734,7 +734,7 @@ const PrepopulatedEngine* const engines_PL[] = { @@ -735,7 +735,7 @@ const PrepopulatedEngine* const engines_PL[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -706,7 +707,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru, &yandex_ru,
}; };
@@ -743,7 +743,7 @@ const PrepopulatedEngine* const engines_PR[] = { @@ -744,7 +744,7 @@ const PrepopulatedEngine* const engines_PR[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -715,7 +716,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -752,7 +752,7 @@ const PrepopulatedEngine* const engines_PT[] = { @@ -753,7 +753,7 @@ const PrepopulatedEngine* const engines_PT[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -724,7 +725,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -761,7 +761,7 @@ const PrepopulatedEngine* const engines_PY[] = { @@ -762,7 +762,7 @@ const PrepopulatedEngine* const engines_PY[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_es, &yahoo_es,
@@ -733,7 +734,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -770,7 +770,7 @@ const PrepopulatedEngine* const engines_QA[] = { @@ -771,7 +771,7 @@ const PrepopulatedEngine* const engines_QA[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -742,7 +743,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_tr, &yandex_tr,
}; };
@@ -779,7 +779,7 @@ const PrepopulatedEngine* const engines_RO[] = { @@ -780,7 +780,7 @@ const PrepopulatedEngine* const engines_RO[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -751,7 +752,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_tr, &yandex_tr,
}; };
@@ -788,7 +788,7 @@ const PrepopulatedEngine* const engines_RS[] = { @@ -789,7 +789,7 @@ const PrepopulatedEngine* const engines_RS[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -760,7 +761,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru, &yandex_ru,
}; };
@@ -798,7 +798,7 @@ const PrepopulatedEngine* const engines_RU[] = { @@ -799,7 +799,7 @@ const PrepopulatedEngine* const engines_RU[] = {
&yandex_ru, &yandex_ru,
&mail_ru, &mail_ru,
&bing, &bing,
@@ -769,7 +770,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Rwanda // Rwanda
@@ -806,7 +806,7 @@ const PrepopulatedEngine* const engines_RW[] = { @@ -807,7 +807,7 @@ const PrepopulatedEngine* const engines_RW[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -778,7 +779,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -816,7 +816,7 @@ const PrepopulatedEngine* const engines_SA[] = { @@ -817,7 +817,7 @@ const PrepopulatedEngine* const engines_SA[] = {
&bing, &bing,
&yahoo, &yahoo,
&yandex_com, &yandex_com,
@@ -787,7 +788,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Sweden // Sweden
@@ -824,7 +824,7 @@ const PrepopulatedEngine* const engines_SE[] = { @@ -825,7 +825,7 @@ const PrepopulatedEngine* const engines_SE[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_se, &yahoo_se,
@@ -796,7 +797,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -833,7 +833,7 @@ const PrepopulatedEngine* const engines_SG[] = { @@ -834,7 +834,7 @@ const PrepopulatedEngine* const engines_SG[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_sg, &yahoo_sg,
@@ -805,7 +806,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&baidu, &baidu,
}; };
@@ -841,7 +841,7 @@ const PrepopulatedEngine* const engines_SG[] = { @@ -842,7 +842,7 @@ const PrepopulatedEngine* const engines_SG[] = {
const PrepopulatedEngine* const engines_SI[] = { const PrepopulatedEngine* const engines_SI[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
@@ -814,7 +815,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo, &yahoo,
&yandex_com, &yandex_com,
}; };
@@ -850,7 +850,7 @@ const PrepopulatedEngine* const engines_SI[] = { @@ -851,7 +851,7 @@ const PrepopulatedEngine* const engines_SI[] = {
const PrepopulatedEngine* const engines_SK[] = { const PrepopulatedEngine* const engines_SK[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
@@ -823,7 +824,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo, &yahoo,
&yandex_com, &yandex_com,
}; };
@@ -860,7 +860,7 @@ const PrepopulatedEngine* const engines_SV[] = { @@ -861,7 +861,7 @@ const PrepopulatedEngine* const engines_SV[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_es, &yahoo_es,
@@ -832,7 +833,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -870,7 +870,7 @@ const PrepopulatedEngine* const engines_SY[] = { @@ -871,7 +871,7 @@ const PrepopulatedEngine* const engines_SY[] = {
&bing, &bing,
&yahoo, &yahoo,
&yandex_com, &yandex_com,
@@ -841,7 +842,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Thailand // Thailand
@@ -887,7 +887,7 @@ const PrepopulatedEngine* const engines_TN[] = { @@ -888,7 +888,7 @@ const PrepopulatedEngine* const engines_TN[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_fr, &yahoo_fr,
@@ -850,7 +851,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com, &yandex_com,
}; };
@@ -897,7 +897,7 @@ const PrepopulatedEngine* const engines_TR[] = { @@ -898,7 +898,7 @@ const PrepopulatedEngine* const engines_TR[] = {
&yandex_tr, &yandex_tr,
&yahoo_tr, &yahoo_tr,
&bing, &bing,
@@ -859,7 +860,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Trinidad and Tobago // Trinidad and Tobago
@@ -905,7 +905,7 @@ const PrepopulatedEngine* const engines_TT[] = { @@ -906,7 +906,7 @@ const PrepopulatedEngine* const engines_TT[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -868,7 +869,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -915,7 +915,7 @@ const PrepopulatedEngine* const engines_TW[] = { @@ -916,7 +916,7 @@ const PrepopulatedEngine* const engines_TW[] = {
&yahoo_tw, &yahoo_tw,
&bing, &bing,
&baidu, &baidu,
@@ -877,7 +878,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// Tanzania // Tanzania
@@ -923,7 +923,7 @@ const PrepopulatedEngine* const engines_TZ[] = { @@ -924,7 +924,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -886,7 +887,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&baidu, &baidu,
}; };
@@ -932,7 +932,7 @@ const PrepopulatedEngine* const engines_UA[] = { @@ -933,7 +933,7 @@ const PrepopulatedEngine* const engines_UA[] = {
&googleen, &google, &googleen, &google,
&yandex_ua, &yandex_ua,
&bing, &bing,
@@ -895,7 +896,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo, &yahoo,
}; };
@@ -941,7 +941,7 @@ const PrepopulatedEngine* const engines_US[] = { @@ -942,7 +942,7 @@ const PrepopulatedEngine* const engines_US[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -904,7 +905,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -950,7 +950,7 @@ const PrepopulatedEngine* const engines_UY[] = { @@ -951,7 +951,7 @@ const PrepopulatedEngine* const engines_UY[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_es, &yahoo_es,
@@ -913,7 +914,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -959,7 +959,7 @@ const PrepopulatedEngine* const engines_VE[] = { @@ -960,7 +960,7 @@ const PrepopulatedEngine* const engines_VE[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo_es, &yahoo_es,
@@ -922,7 +923,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -978,7 +978,7 @@ const PrepopulatedEngine* const engines_YE[] = { @@ -979,7 +979,7 @@ const PrepopulatedEngine* const engines_YE[] = {
&bing, &bing,
&yahoo, &yahoo,
&yandex_com, &yandex_com,
@@ -931,7 +932,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
}; };
// South Africa // South Africa
@@ -986,7 +986,7 @@ const PrepopulatedEngine* const engines_ZA[] = { @@ -987,7 +987,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
@@ -940,7 +941,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia, &ecosia,
}; };
@@ -995,7 +995,7 @@ const PrepopulatedEngine* const engines_ZW[] = { @@ -996,7 +996,7 @@ const PrepopulatedEngine* const engines_ZW[] = {
&googleen, &google, &googleen, &google,
&bing, &bing,
&yahoo, &yahoo,
+115 -113
View File
@@ -4,6 +4,8 @@ Subject: Add English-only search engine
Add a Google search engine that forces languages to English, Add a Google search engine that forces languages to English,
disable from all its searches RLZ and field experiments querystring parameters. disable from all its searches RLZ and field experiments querystring parameters.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../search_engines/prepopulated_engines.json | 21 ++ .../search_engines/prepopulated_engines.json | 21 ++
.../search_engines/search_engine_type.h | 1 + .../search_engines/search_engine_type.h | 1 +
@@ -13,7 +15,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 diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
--- a/components/search_engines/prepopulated_engines.json --- a/components/search_engines/prepopulated_engines.json
+++ b/components/search_engines/prepopulated_engines.json +++ b/components/search_engines/prepopulated_engines.json
@@ -134,6 +134,27 @@ @@ -138,6 +138,27 @@
"id": 1 "id": 1
}, },
@@ -44,18 +46,18 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/se
diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h
--- a/components/search_engines/search_engine_type.h --- a/components/search_engines/search_engine_type.h
+++ b/components/search_engines/search_engine_type.h +++ b/components/search_engines/search_engine_type.h
@@ -75,6 +75,7 @@ enum SearchEngineType { @@ -78,6 +78,7 @@ enum SearchEngineType {
SEARCH_ENGINE_PRIVACYWALL = 58, SEARCH_ENGINE_STARTER_PACK_BOOKMARKS = 61,
SEARCH_ENGINE_ECOSIA = 59, SEARCH_ENGINE_STARTER_PACK_HISTORY = 62,
SEARCH_ENGINE_PETALSEARCH = 60, SEARCH_ENGINE_STARTER_PACK_TABS = 63,
+ SEARCH_ENGINE_GOOGLE_EN = 61, + SEARCH_ENGINE_GOOGLE_EN = 64,
SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro. SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro.
}; };
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc 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 --- a/components/search_engines/template_url_prepopulate_data.cc
+++ b/components/search_engines/template_url_prepopulate_data.cc +++ b/components/search_engines/template_url_prepopulate_data.cc
@@ -28,7 +28,7 @@ namespace { @@ -29,7 +29,7 @@ namespace {
// Default (for countries with no better engine set) // Default (for countries with no better engine set)
const PrepopulatedEngine* const engines_default[] = { const PrepopulatedEngine* const engines_default[] = {
@@ -64,7 +66,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
}; };
@@ -38,7 +38,7 @@ const PrepopulatedEngine* const engines_default[] = { @@ -39,7 +39,7 @@ const PrepopulatedEngine* const engines_default[] = {
// clang-format off // clang-format off
// United Arab Emirates // United Arab Emirates
const PrepopulatedEngine* const engines_AE[] = { const PrepopulatedEngine* const engines_AE[] = {
@@ -73,7 +75,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -47,7 +47,7 @@ const PrepopulatedEngine* const engines_AE[] = { @@ -48,7 +48,7 @@ const PrepopulatedEngine* const engines_AE[] = {
// Albania // Albania
const PrepopulatedEngine* const engines_AL[] = { const PrepopulatedEngine* const engines_AL[] = {
@@ -82,7 +84,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -56,7 +56,7 @@ const PrepopulatedEngine* const engines_AL[] = { @@ -57,7 +57,7 @@ const PrepopulatedEngine* const engines_AL[] = {
// Argentina // Argentina
const PrepopulatedEngine* const engines_AR[] = { const PrepopulatedEngine* const engines_AR[] = {
@@ -91,7 +93,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_ar, &yahoo_ar,
&duckduckgo, &duckduckgo,
@@ -65,7 +65,7 @@ const PrepopulatedEngine* const engines_AR[] = { @@ -66,7 +66,7 @@ const PrepopulatedEngine* const engines_AR[] = {
// Austria // Austria
const PrepopulatedEngine* const engines_AT[] = { const PrepopulatedEngine* const engines_AT[] = {
@@ -100,7 +102,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&duckduckgo, &duckduckgo,
&yahoo_at, &yahoo_at,
@@ -74,7 +74,7 @@ const PrepopulatedEngine* const engines_AT[] = { @@ -75,7 +75,7 @@ const PrepopulatedEngine* const engines_AT[] = {
// Australia // Australia
const PrepopulatedEngine* const engines_AU[] = { const PrepopulatedEngine* const engines_AU[] = {
@@ -109,7 +111,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_au, &yahoo_au,
&duckduckgo, &duckduckgo,
@@ -83,7 +83,7 @@ const PrepopulatedEngine* const engines_AU[] = { @@ -84,7 +84,7 @@ const PrepopulatedEngine* const engines_AU[] = {
// Bosnia and Herzegovina // Bosnia and Herzegovina
const PrepopulatedEngine* const engines_BA[] = { const PrepopulatedEngine* const engines_BA[] = {
@@ -118,7 +120,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -92,7 +92,7 @@ const PrepopulatedEngine* const engines_BA[] = { @@ -93,7 +93,7 @@ const PrepopulatedEngine* const engines_BA[] = {
// Belgium // Belgium
const PrepopulatedEngine* const engines_BE[] = { const PrepopulatedEngine* const engines_BE[] = {
@@ -127,7 +129,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&ecosia, &ecosia,
@@ -101,7 +101,7 @@ const PrepopulatedEngine* const engines_BE[] = { @@ -102,7 +102,7 @@ const PrepopulatedEngine* const engines_BE[] = {
// Bulgaria // Bulgaria
const PrepopulatedEngine* const engines_BG[] = { const PrepopulatedEngine* const engines_BG[] = {
@@ -136,7 +138,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -110,7 +110,7 @@ const PrepopulatedEngine* const engines_BG[] = { @@ -111,7 +111,7 @@ const PrepopulatedEngine* const engines_BG[] = {
// Bahrain // Bahrain
const PrepopulatedEngine* const engines_BH[] = { const PrepopulatedEngine* const engines_BH[] = {
@@ -145,7 +147,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -119,7 +119,7 @@ const PrepopulatedEngine* const engines_BH[] = { @@ -120,7 +120,7 @@ const PrepopulatedEngine* const engines_BH[] = {
// Burundi // Burundi
const PrepopulatedEngine* const engines_BI[] = { const PrepopulatedEngine* const engines_BI[] = {
@@ -154,7 +156,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -128,7 +128,7 @@ const PrepopulatedEngine* const engines_BI[] = { @@ -129,7 +129,7 @@ const PrepopulatedEngine* const engines_BI[] = {
// Brunei // Brunei
const PrepopulatedEngine* const engines_BN[] = { const PrepopulatedEngine* const engines_BN[] = {
@@ -163,7 +165,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -137,7 +137,7 @@ const PrepopulatedEngine* const engines_BN[] = { @@ -138,7 +138,7 @@ const PrepopulatedEngine* const engines_BN[] = {
// Bolivia // Bolivia
const PrepopulatedEngine* const engines_BO[] = { const PrepopulatedEngine* const engines_BO[] = {
@@ -172,7 +174,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -146,7 +146,7 @@ const PrepopulatedEngine* const engines_BO[] = { @@ -147,7 +147,7 @@ const PrepopulatedEngine* const engines_BO[] = {
// Brazil // Brazil
const PrepopulatedEngine* const engines_BR[] = { const PrepopulatedEngine* const engines_BR[] = {
@@ -181,7 +183,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_br, &yahoo_br,
&duckduckgo, &duckduckgo,
@@ -155,7 +155,7 @@ const PrepopulatedEngine* const engines_BR[] = { @@ -156,7 +156,7 @@ const PrepopulatedEngine* const engines_BR[] = {
// Belarus // Belarus
const PrepopulatedEngine* const engines_BY[] = { const PrepopulatedEngine* const engines_BY[] = {
@@ -190,7 +192,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_by, &yandex_by,
&mail_ru, &mail_ru,
&bing, &bing,
@@ -164,7 +164,7 @@ const PrepopulatedEngine* const engines_BY[] = { @@ -165,7 +165,7 @@ const PrepopulatedEngine* const engines_BY[] = {
// Belize // Belize
const PrepopulatedEngine* const engines_BZ[] = { const PrepopulatedEngine* const engines_BZ[] = {
@@ -199,7 +201,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -173,7 +173,7 @@ const PrepopulatedEngine* const engines_BZ[] = { @@ -174,7 +174,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
// Canada // Canada
const PrepopulatedEngine* const engines_CA[] = { const PrepopulatedEngine* const engines_CA[] = {
@@ -208,7 +210,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_ca, &yahoo_ca,
&duckduckgo, &duckduckgo,
@@ -182,7 +182,7 @@ const PrepopulatedEngine* const engines_CA[] = { @@ -183,7 +183,7 @@ const PrepopulatedEngine* const engines_CA[] = {
// Switzerland // Switzerland
const PrepopulatedEngine* const engines_CH[] = { const PrepopulatedEngine* const engines_CH[] = {
@@ -217,7 +219,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&duckduckgo, &duckduckgo,
&ecosia, &ecosia,
@@ -191,7 +191,7 @@ const PrepopulatedEngine* const engines_CH[] = { @@ -192,7 +192,7 @@ const PrepopulatedEngine* const engines_CH[] = {
// Chile // Chile
const PrepopulatedEngine* const engines_CL[] = { const PrepopulatedEngine* const engines_CL[] = {
@@ -226,7 +228,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_cl, &yahoo_cl,
&duckduckgo, &duckduckgo,
@@ -203,13 +203,13 @@ const PrepopulatedEngine* const engines_CN[] = { @@ -204,13 +204,13 @@ const PrepopulatedEngine* const engines_CN[] = {
&sogou, &sogou,
&baidu, &baidu,
&bing, &bing,
@@ -242,7 +244,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_co, &yahoo_co,
&ecosia, &ecosia,
@@ -218,7 +218,7 @@ const PrepopulatedEngine* const engines_CO[] = { @@ -219,7 +219,7 @@ const PrepopulatedEngine* const engines_CO[] = {
// Costa Rica // Costa Rica
const PrepopulatedEngine* const engines_CR[] = { const PrepopulatedEngine* const engines_CR[] = {
@@ -251,7 +253,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -227,7 +227,7 @@ const PrepopulatedEngine* const engines_CR[] = { @@ -228,7 +228,7 @@ const PrepopulatedEngine* const engines_CR[] = {
// Czech Republic // Czech Republic
const PrepopulatedEngine* const engines_CZ[] = { const PrepopulatedEngine* const engines_CZ[] = {
@@ -260,7 +262,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&seznam_cz, &seznam_cz,
&bing, &bing,
&yahoo, &yahoo,
@@ -236,7 +236,7 @@ const PrepopulatedEngine* const engines_CZ[] = { @@ -237,7 +237,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
// Germany // Germany
const PrepopulatedEngine* const engines_DE[] = { const PrepopulatedEngine* const engines_DE[] = {
@@ -269,7 +271,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&ecosia, &ecosia,
&duckduckgo, &duckduckgo,
@@ -245,7 +245,7 @@ const PrepopulatedEngine* const engines_DE[] = { @@ -246,7 +246,7 @@ const PrepopulatedEngine* const engines_DE[] = {
// Denmark // Denmark
const PrepopulatedEngine* const engines_DK[] = { const PrepopulatedEngine* const engines_DK[] = {
@@ -278,7 +280,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_dk, &yahoo_dk,
&duckduckgo, &duckduckgo,
@@ -254,7 +254,7 @@ const PrepopulatedEngine* const engines_DK[] = { @@ -255,7 +255,7 @@ const PrepopulatedEngine* const engines_DK[] = {
// Dominican Republic // Dominican Republic
const PrepopulatedEngine* const engines_DO[] = { const PrepopulatedEngine* const engines_DO[] = {
@@ -287,7 +289,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -263,7 +263,7 @@ const PrepopulatedEngine* const engines_DO[] = { @@ -264,7 +264,7 @@ const PrepopulatedEngine* const engines_DO[] = {
// Algeria // Algeria
const PrepopulatedEngine* const engines_DZ[] = { const PrepopulatedEngine* const engines_DZ[] = {
@@ -296,7 +298,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_fr, &yahoo_fr,
&yandex_com, &yandex_com,
@@ -272,7 +272,7 @@ const PrepopulatedEngine* const engines_DZ[] = { @@ -273,7 +273,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
// Ecuador // Ecuador
const PrepopulatedEngine* const engines_EC[] = { const PrepopulatedEngine* const engines_EC[] = {
@@ -305,7 +307,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&ecosia, &ecosia,
@@ -281,7 +281,7 @@ const PrepopulatedEngine* const engines_EC[] = { @@ -282,7 +282,7 @@ const PrepopulatedEngine* const engines_EC[] = {
// Estonia // Estonia
const PrepopulatedEngine* const engines_EE[] = { const PrepopulatedEngine* const engines_EE[] = {
@@ -314,7 +316,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yandex_ru, &yandex_ru,
&duckduckgo, &duckduckgo,
@@ -290,7 +290,7 @@ const PrepopulatedEngine* const engines_EE[] = { @@ -291,7 +291,7 @@ const PrepopulatedEngine* const engines_EE[] = {
// Egypt // Egypt
const PrepopulatedEngine* const engines_EG[] = { const PrepopulatedEngine* const engines_EG[] = {
@@ -323,7 +325,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&yandex_com, &yandex_com,
@@ -299,7 +299,7 @@ const PrepopulatedEngine* const engines_EG[] = { @@ -300,7 +300,7 @@ const PrepopulatedEngine* const engines_EG[] = {
// Spain // Spain
const PrepopulatedEngine* const engines_ES[] = { const PrepopulatedEngine* const engines_ES[] = {
@@ -332,7 +334,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_es, &yahoo_es,
&duckduckgo, &duckduckgo,
@@ -308,7 +308,7 @@ const PrepopulatedEngine* const engines_ES[] = { @@ -309,7 +309,7 @@ const PrepopulatedEngine* const engines_ES[] = {
// Finland // Finland
const PrepopulatedEngine* const engines_FI[] = { const PrepopulatedEngine* const engines_FI[] = {
@@ -341,7 +343,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_fi, &yahoo_fi,
&duckduckgo, &duckduckgo,
@@ -317,7 +317,7 @@ const PrepopulatedEngine* const engines_FI[] = { @@ -318,7 +318,7 @@ const PrepopulatedEngine* const engines_FI[] = {
// Faroe Islands // Faroe Islands
const PrepopulatedEngine* const engines_FO[] = { const PrepopulatedEngine* const engines_FO[] = {
@@ -350,7 +352,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_dk, &yahoo_dk,
&duckduckgo, &duckduckgo,
@@ -326,7 +326,7 @@ const PrepopulatedEngine* const engines_FO[] = { @@ -327,7 +327,7 @@ const PrepopulatedEngine* const engines_FO[] = {
// France // France
const PrepopulatedEngine* const engines_FR[] = { const PrepopulatedEngine* const engines_FR[] = {
@@ -359,7 +361,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_fr, &yahoo_fr,
&qwant, &qwant,
@@ -335,7 +335,7 @@ const PrepopulatedEngine* const engines_FR[] = { @@ -336,7 +336,7 @@ const PrepopulatedEngine* const engines_FR[] = {
// United Kingdom // United Kingdom
const PrepopulatedEngine* const engines_GB[] = { const PrepopulatedEngine* const engines_GB[] = {
@@ -368,7 +370,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_uk, &yahoo_uk,
&duckduckgo, &duckduckgo,
@@ -344,7 +344,7 @@ const PrepopulatedEngine* const engines_GB[] = { @@ -345,7 +345,7 @@ const PrepopulatedEngine* const engines_GB[] = {
// Greece // Greece
const PrepopulatedEngine* const engines_GR[] = { const PrepopulatedEngine* const engines_GR[] = {
@@ -377,7 +379,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -353,7 +353,7 @@ const PrepopulatedEngine* const engines_GR[] = { @@ -354,7 +354,7 @@ const PrepopulatedEngine* const engines_GR[] = {
// Guatemala // Guatemala
const PrepopulatedEngine* const engines_GT[] = { const PrepopulatedEngine* const engines_GT[] = {
@@ -386,7 +388,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -362,7 +362,7 @@ const PrepopulatedEngine* const engines_GT[] = { @@ -363,7 +363,7 @@ const PrepopulatedEngine* const engines_GT[] = {
// Hong Kong // Hong Kong
const PrepopulatedEngine* const engines_HK[] = { const PrepopulatedEngine* const engines_HK[] = {
@@ -395,7 +397,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_hk, &yahoo_hk,
&bing, &bing,
&baidu, &baidu,
@@ -371,7 +371,7 @@ const PrepopulatedEngine* const engines_HK[] = { @@ -372,7 +372,7 @@ const PrepopulatedEngine* const engines_HK[] = {
// Honduras // Honduras
const PrepopulatedEngine* const engines_HN[] = { const PrepopulatedEngine* const engines_HN[] = {
@@ -404,7 +406,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -380,7 +380,7 @@ const PrepopulatedEngine* const engines_HN[] = { @@ -381,7 +381,7 @@ const PrepopulatedEngine* const engines_HN[] = {
// Croatia // Croatia
const PrepopulatedEngine* const engines_HR[] = { const PrepopulatedEngine* const engines_HR[] = {
@@ -413,7 +415,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -389,7 +389,7 @@ const PrepopulatedEngine* const engines_HR[] = { @@ -390,7 +390,7 @@ const PrepopulatedEngine* const engines_HR[] = {
// Hungary // Hungary
const PrepopulatedEngine* const engines_HU[] = { const PrepopulatedEngine* const engines_HU[] = {
@@ -422,7 +424,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -398,7 +398,7 @@ const PrepopulatedEngine* const engines_HU[] = { @@ -399,7 +399,7 @@ const PrepopulatedEngine* const engines_HU[] = {
// Indonesia // Indonesia
const PrepopulatedEngine* const engines_ID[] = { const PrepopulatedEngine* const engines_ID[] = {
@@ -431,7 +433,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_id, &yahoo_id,
&bing, &bing,
&yandex_com, &yandex_com,
@@ -407,7 +407,7 @@ const PrepopulatedEngine* const engines_ID[] = { @@ -408,7 +408,7 @@ const PrepopulatedEngine* const engines_ID[] = {
// Ireland // Ireland
const PrepopulatedEngine* const engines_IE[] = { const PrepopulatedEngine* const engines_IE[] = {
@@ -440,7 +442,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_uk, &yahoo_uk,
&duckduckgo, &duckduckgo,
@@ -416,7 +416,7 @@ const PrepopulatedEngine* const engines_IE[] = { @@ -417,7 +417,7 @@ const PrepopulatedEngine* const engines_IE[] = {
// Israel // Israel
const PrepopulatedEngine* const engines_IL[] = { const PrepopulatedEngine* const engines_IL[] = {
@@ -449,7 +451,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yandex_ru, &yandex_ru,
&yahoo, &yahoo,
@@ -425,7 +425,7 @@ const PrepopulatedEngine* const engines_IL[] = { @@ -426,7 +426,7 @@ const PrepopulatedEngine* const engines_IL[] = {
// India // India
const PrepopulatedEngine* const engines_IN[] = { const PrepopulatedEngine* const engines_IN[] = {
@@ -458,7 +460,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_in, &yahoo_in,
&duckduckgo, &duckduckgo,
@@ -434,7 +434,7 @@ const PrepopulatedEngine* const engines_IN[] = { @@ -435,7 +435,7 @@ const PrepopulatedEngine* const engines_IN[] = {
// Iraq // Iraq
const PrepopulatedEngine* const engines_IQ[] = { const PrepopulatedEngine* const engines_IQ[] = {
@@ -467,7 +469,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&yandex_tr, &yandex_tr,
@@ -443,7 +443,7 @@ const PrepopulatedEngine* const engines_IQ[] = { @@ -444,7 +444,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
// Iran // Iran
const PrepopulatedEngine* const engines_IR[] = { const PrepopulatedEngine* const engines_IR[] = {
@@ -476,7 +478,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&ask, &ask,
@@ -452,7 +452,7 @@ const PrepopulatedEngine* const engines_IR[] = { @@ -453,7 +453,7 @@ const PrepopulatedEngine* const engines_IR[] = {
// Iceland // Iceland
const PrepopulatedEngine* const engines_IS[] = { const PrepopulatedEngine* const engines_IS[] = {
@@ -485,7 +487,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&duckduckgo, &duckduckgo,
&yahoo, &yahoo,
@@ -461,7 +461,7 @@ const PrepopulatedEngine* const engines_IS[] = { @@ -462,7 +462,7 @@ const PrepopulatedEngine* const engines_IS[] = {
// Italy // Italy
const PrepopulatedEngine* const engines_IT[] = { const PrepopulatedEngine* const engines_IT[] = {
@@ -494,7 +496,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -470,7 +470,7 @@ const PrepopulatedEngine* const engines_IT[] = { @@ -471,7 +471,7 @@ const PrepopulatedEngine* const engines_IT[] = {
// Jamaica // Jamaica
const PrepopulatedEngine* const engines_JM[] = { const PrepopulatedEngine* const engines_JM[] = {
@@ -503,7 +505,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -479,7 +479,7 @@ const PrepopulatedEngine* const engines_JM[] = { @@ -480,7 +480,7 @@ const PrepopulatedEngine* const engines_JM[] = {
// Jordan // Jordan
const PrepopulatedEngine* const engines_JO[] = { const PrepopulatedEngine* const engines_JO[] = {
@@ -512,7 +514,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -488,7 +488,7 @@ const PrepopulatedEngine* const engines_JO[] = { @@ -489,7 +489,7 @@ const PrepopulatedEngine* const engines_JO[] = {
// Japan // Japan
const PrepopulatedEngine* const engines_JP[] = { const PrepopulatedEngine* const engines_JP[] = {
@@ -521,7 +523,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_jp, &yahoo_jp,
&bing, &bing,
&duckduckgo, &duckduckgo,
@@ -497,7 +497,7 @@ const PrepopulatedEngine* const engines_JP[] = { @@ -498,7 +498,7 @@ const PrepopulatedEngine* const engines_JP[] = {
// Kenya // Kenya
const PrepopulatedEngine* const engines_KE[] = { const PrepopulatedEngine* const engines_KE[] = {
@@ -530,7 +532,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -506,7 +506,7 @@ const PrepopulatedEngine* const engines_KE[] = { @@ -507,7 +507,7 @@ const PrepopulatedEngine* const engines_KE[] = {
// South Korea // South Korea
const PrepopulatedEngine* const engines_KR[] = { const PrepopulatedEngine* const engines_KR[] = {
@@ -539,7 +541,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&naver, &naver,
&daum, &daum,
&bing, &bing,
@@ -515,7 +515,7 @@ const PrepopulatedEngine* const engines_KR[] = { @@ -516,7 +516,7 @@ const PrepopulatedEngine* const engines_KR[] = {
// Kuwait // Kuwait
const PrepopulatedEngine* const engines_KW[] = { const PrepopulatedEngine* const engines_KW[] = {
@@ -548,7 +550,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -524,7 +524,7 @@ const PrepopulatedEngine* const engines_KW[] = { @@ -525,7 +525,7 @@ const PrepopulatedEngine* const engines_KW[] = {
// Kazakhstan // Kazakhstan
const PrepopulatedEngine* const engines_KZ[] = { const PrepopulatedEngine* const engines_KZ[] = {
@@ -557,7 +559,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_kz, &yandex_kz,
&mail_ru, &mail_ru,
&bing, &bing,
@@ -533,7 +533,7 @@ const PrepopulatedEngine* const engines_KZ[] = { @@ -534,7 +534,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
// Lebanon // Lebanon
const PrepopulatedEngine* const engines_LB[] = { const PrepopulatedEngine* const engines_LB[] = {
@@ -566,7 +568,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -542,7 +542,7 @@ const PrepopulatedEngine* const engines_LB[] = { @@ -543,7 +543,7 @@ const PrepopulatedEngine* const engines_LB[] = {
// Liechtenstein // Liechtenstein
const PrepopulatedEngine* const engines_LI[] = { const PrepopulatedEngine* const engines_LI[] = {
@@ -575,7 +577,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&duckduckgo, &duckduckgo,
&yahoo, &yahoo,
@@ -551,7 +551,7 @@ const PrepopulatedEngine* const engines_LI[] = { @@ -552,7 +552,7 @@ const PrepopulatedEngine* const engines_LI[] = {
// Lithuania // Lithuania
const PrepopulatedEngine* const engines_LT[] = { const PrepopulatedEngine* const engines_LT[] = {
@@ -584,7 +586,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -560,7 +560,7 @@ const PrepopulatedEngine* const engines_LT[] = { @@ -561,7 +561,7 @@ const PrepopulatedEngine* const engines_LT[] = {
// Luxembourg // Luxembourg
const PrepopulatedEngine* const engines_LU[] = { const PrepopulatedEngine* const engines_LU[] = {
@@ -593,7 +595,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&duckduckgo, &duckduckgo,
&yahoo, &yahoo,
@@ -569,7 +569,7 @@ const PrepopulatedEngine* const engines_LU[] = { @@ -570,7 +570,7 @@ const PrepopulatedEngine* const engines_LU[] = {
// Latvia // Latvia
const PrepopulatedEngine* const engines_LV[] = { const PrepopulatedEngine* const engines_LV[] = {
@@ -602,7 +604,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yandex_ru, &yandex_ru,
&yahoo, &yahoo,
@@ -578,7 +578,7 @@ const PrepopulatedEngine* const engines_LV[] = { @@ -579,7 +579,7 @@ const PrepopulatedEngine* const engines_LV[] = {
// Libya // Libya
const PrepopulatedEngine* const engines_LY[] = { const PrepopulatedEngine* const engines_LY[] = {
@@ -611,7 +613,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&yandex_com, &yandex_com,
@@ -587,7 +587,7 @@ const PrepopulatedEngine* const engines_LY[] = { @@ -588,7 +588,7 @@ const PrepopulatedEngine* const engines_LY[] = {
// Morocco // Morocco
const PrepopulatedEngine* const engines_MA[] = { const PrepopulatedEngine* const engines_MA[] = {
@@ -620,7 +622,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_fr, &yahoo_fr,
&yandex_com, &yandex_com,
@@ -596,7 +596,7 @@ const PrepopulatedEngine* const engines_MA[] = { @@ -597,7 +597,7 @@ const PrepopulatedEngine* const engines_MA[] = {
// Monaco // Monaco
const PrepopulatedEngine* const engines_MC[] = { const PrepopulatedEngine* const engines_MC[] = {
@@ -629,7 +631,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&duckduckgo, &duckduckgo,
&yahoo_fr, &yahoo_fr,
@@ -605,7 +605,7 @@ const PrepopulatedEngine* const engines_MC[] = { @@ -606,7 +606,7 @@ const PrepopulatedEngine* const engines_MC[] = {
// Moldova // Moldova
const PrepopulatedEngine* const engines_MD[] = { const PrepopulatedEngine* const engines_MD[] = {
@@ -638,7 +640,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru, &yandex_ru,
&bing, &bing,
&mail_ru, &mail_ru,
@@ -614,7 +614,7 @@ const PrepopulatedEngine* const engines_MD[] = { @@ -615,7 +615,7 @@ const PrepopulatedEngine* const engines_MD[] = {
// Montenegro // Montenegro
const PrepopulatedEngine* const engines_ME[] = { const PrepopulatedEngine* const engines_ME[] = {
@@ -647,7 +649,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&yandex_ru, &yandex_ru,
@@ -623,7 +623,7 @@ const PrepopulatedEngine* const engines_ME[] = { @@ -624,7 +624,7 @@ const PrepopulatedEngine* const engines_ME[] = {
// Macedonia // Macedonia
const PrepopulatedEngine* const engines_MK[] = { const PrepopulatedEngine* const engines_MK[] = {
@@ -656,7 +658,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -632,7 +632,7 @@ const PrepopulatedEngine* const engines_MK[] = { @@ -633,7 +633,7 @@ const PrepopulatedEngine* const engines_MK[] = {
// Mexico // Mexico
const PrepopulatedEngine* const engines_MX[] = { const PrepopulatedEngine* const engines_MX[] = {
@@ -665,7 +667,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_mx, &yahoo_mx,
&duckduckgo, &duckduckgo,
@@ -641,7 +641,7 @@ const PrepopulatedEngine* const engines_MX[] = { @@ -642,7 +642,7 @@ const PrepopulatedEngine* const engines_MX[] = {
// Malaysia // Malaysia
const PrepopulatedEngine* const engines_MY[] = { const PrepopulatedEngine* const engines_MY[] = {
@@ -674,7 +676,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_my, &yahoo_my,
&duckduckgo, &duckduckgo,
@@ -650,7 +650,7 @@ const PrepopulatedEngine* const engines_MY[] = { @@ -651,7 +651,7 @@ const PrepopulatedEngine* const engines_MY[] = {
// Nicaragua // Nicaragua
const PrepopulatedEngine* const engines_NI[] = { const PrepopulatedEngine* const engines_NI[] = {
@@ -683,7 +685,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -659,7 +659,7 @@ const PrepopulatedEngine* const engines_NI[] = { @@ -660,7 +660,7 @@ const PrepopulatedEngine* const engines_NI[] = {
// Netherlands // Netherlands
const PrepopulatedEngine* const engines_NL[] = { const PrepopulatedEngine* const engines_NL[] = {
@@ -692,7 +694,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_nl, &yahoo_nl,
&duckduckgo, &duckduckgo,
@@ -668,7 +668,7 @@ const PrepopulatedEngine* const engines_NL[] = { @@ -669,7 +669,7 @@ const PrepopulatedEngine* const engines_NL[] = {
// Norway // Norway
const PrepopulatedEngine* const engines_NO[] = { const PrepopulatedEngine* const engines_NO[] = {
@@ -701,7 +703,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -677,7 +677,7 @@ const PrepopulatedEngine* const engines_NO[] = { @@ -678,7 +678,7 @@ const PrepopulatedEngine* const engines_NO[] = {
// New Zealand // New Zealand
const PrepopulatedEngine* const engines_NZ[] = { const PrepopulatedEngine* const engines_NZ[] = {
@@ -710,7 +712,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_nz, &yahoo_nz,
&duckduckgo, &duckduckgo,
@@ -686,7 +686,7 @@ const PrepopulatedEngine* const engines_NZ[] = { @@ -687,7 +687,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
// Oman // Oman
const PrepopulatedEngine* const engines_OM[] = { const PrepopulatedEngine* const engines_OM[] = {
@@ -719,7 +721,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -695,7 +695,7 @@ const PrepopulatedEngine* const engines_OM[] = { @@ -696,7 +696,7 @@ const PrepopulatedEngine* const engines_OM[] = {
// Panama // Panama
const PrepopulatedEngine* const engines_PA[] = { const PrepopulatedEngine* const engines_PA[] = {
@@ -728,7 +730,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_es, &yahoo_es,
&duckduckgo, &duckduckgo,
@@ -704,7 +704,7 @@ const PrepopulatedEngine* const engines_PA[] = { @@ -705,7 +705,7 @@ const PrepopulatedEngine* const engines_PA[] = {
// Peru // Peru
const PrepopulatedEngine* const engines_PE[] = { const PrepopulatedEngine* const engines_PE[] = {
@@ -737,7 +739,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_pe, &yahoo_pe,
&ecosia, &ecosia,
@@ -713,7 +713,7 @@ const PrepopulatedEngine* const engines_PE[] = { @@ -714,7 +714,7 @@ const PrepopulatedEngine* const engines_PE[] = {
// Philippines // Philippines
const PrepopulatedEngine* const engines_PH[] = { const PrepopulatedEngine* const engines_PH[] = {
@@ -746,7 +748,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&ecosia, &ecosia,
@@ -722,7 +722,7 @@ const PrepopulatedEngine* const engines_PH[] = { @@ -723,7 +723,7 @@ const PrepopulatedEngine* const engines_PH[] = {
// Pakistan // Pakistan
const PrepopulatedEngine* const engines_PK[] = { const PrepopulatedEngine* const engines_PK[] = {
@@ -755,7 +757,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -731,7 +731,7 @@ const PrepopulatedEngine* const engines_PK[] = { @@ -732,7 +732,7 @@ const PrepopulatedEngine* const engines_PK[] = {
// Poland // Poland
const PrepopulatedEngine* const engines_PL[] = { const PrepopulatedEngine* const engines_PL[] = {
@@ -764,7 +766,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -740,7 +740,7 @@ const PrepopulatedEngine* const engines_PL[] = { @@ -741,7 +741,7 @@ const PrepopulatedEngine* const engines_PL[] = {
// Puerto Rico // Puerto Rico
const PrepopulatedEngine* const engines_PR[] = { const PrepopulatedEngine* const engines_PR[] = {
@@ -773,7 +775,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -749,7 +749,7 @@ const PrepopulatedEngine* const engines_PR[] = { @@ -750,7 +750,7 @@ const PrepopulatedEngine* const engines_PR[] = {
// Portugal // Portugal
const PrepopulatedEngine* const engines_PT[] = { const PrepopulatedEngine* const engines_PT[] = {
@@ -782,7 +784,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -758,7 +758,7 @@ const PrepopulatedEngine* const engines_PT[] = { @@ -759,7 +759,7 @@ const PrepopulatedEngine* const engines_PT[] = {
// Paraguay // Paraguay
const PrepopulatedEngine* const engines_PY[] = { const PrepopulatedEngine* const engines_PY[] = {
@@ -791,7 +793,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_es, &yahoo_es,
&duckduckgo, &duckduckgo,
@@ -767,7 +767,7 @@ const PrepopulatedEngine* const engines_PY[] = { @@ -768,7 +768,7 @@ const PrepopulatedEngine* const engines_PY[] = {
// Qatar // Qatar
const PrepopulatedEngine* const engines_QA[] = { const PrepopulatedEngine* const engines_QA[] = {
@@ -800,7 +802,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -776,7 +776,7 @@ const PrepopulatedEngine* const engines_QA[] = { @@ -777,7 +777,7 @@ const PrepopulatedEngine* const engines_QA[] = {
// Romania // Romania
const PrepopulatedEngine* const engines_RO[] = { const PrepopulatedEngine* const engines_RO[] = {
@@ -809,7 +811,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -785,7 +785,7 @@ const PrepopulatedEngine* const engines_RO[] = { @@ -786,7 +786,7 @@ const PrepopulatedEngine* const engines_RO[] = {
// Serbia // Serbia
const PrepopulatedEngine* const engines_RS[] = { const PrepopulatedEngine* const engines_RS[] = {
@@ -818,7 +820,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -794,7 +794,7 @@ const PrepopulatedEngine* const engines_RS[] = { @@ -795,7 +795,7 @@ const PrepopulatedEngine* const engines_RS[] = {
// Russia // Russia
const PrepopulatedEngine* const engines_RU[] = { const PrepopulatedEngine* const engines_RU[] = {
@@ -827,7 +829,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru, &yandex_ru,
&mail_ru, &mail_ru,
&bing, &bing,
@@ -803,7 +803,7 @@ const PrepopulatedEngine* const engines_RU[] = { @@ -804,7 +804,7 @@ const PrepopulatedEngine* const engines_RU[] = {
// Rwanda // Rwanda
const PrepopulatedEngine* const engines_RW[] = { const PrepopulatedEngine* const engines_RW[] = {
@@ -836,7 +838,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -812,7 +812,7 @@ const PrepopulatedEngine* const engines_RW[] = { @@ -813,7 +813,7 @@ const PrepopulatedEngine* const engines_RW[] = {
// Saudi Arabia // Saudi Arabia
const PrepopulatedEngine* const engines_SA[] = { const PrepopulatedEngine* const engines_SA[] = {
@@ -845,7 +847,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&yandex_com, &yandex_com,
@@ -821,7 +821,7 @@ const PrepopulatedEngine* const engines_SA[] = { @@ -822,7 +822,7 @@ const PrepopulatedEngine* const engines_SA[] = {
// Sweden // Sweden
const PrepopulatedEngine* const engines_SE[] = { const PrepopulatedEngine* const engines_SE[] = {
@@ -854,7 +856,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_se, &yahoo_se,
&duckduckgo, &duckduckgo,
@@ -830,7 +830,7 @@ const PrepopulatedEngine* const engines_SE[] = { @@ -831,7 +831,7 @@ const PrepopulatedEngine* const engines_SE[] = {
// Singapore // Singapore
const PrepopulatedEngine* const engines_SG[] = { const PrepopulatedEngine* const engines_SG[] = {
@@ -863,7 +865,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_sg, &yahoo_sg,
&duckduckgo, &duckduckgo,
@@ -839,7 +839,7 @@ const PrepopulatedEngine* const engines_SG[] = { @@ -840,7 +840,7 @@ const PrepopulatedEngine* const engines_SG[] = {
// Slovenia // Slovenia
const PrepopulatedEngine* const engines_SI[] = { const PrepopulatedEngine* const engines_SI[] = {
@@ -872,7 +874,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&duckduckgo, &duckduckgo,
&yahoo, &yahoo,
@@ -848,7 +848,7 @@ const PrepopulatedEngine* const engines_SI[] = { @@ -849,7 +849,7 @@ const PrepopulatedEngine* const engines_SI[] = {
// Slovakia // Slovakia
const PrepopulatedEngine* const engines_SK[] = { const PrepopulatedEngine* const engines_SK[] = {
@@ -881,7 +883,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&duckduckgo, &duckduckgo,
&yahoo, &yahoo,
@@ -857,7 +857,7 @@ const PrepopulatedEngine* const engines_SK[] = { @@ -858,7 +858,7 @@ const PrepopulatedEngine* const engines_SK[] = {
// El Salvador // El Salvador
const PrepopulatedEngine* const engines_SV[] = { const PrepopulatedEngine* const engines_SV[] = {
@@ -890,7 +892,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_es, &yahoo_es,
&duckduckgo, &duckduckgo,
@@ -866,7 +866,7 @@ const PrepopulatedEngine* const engines_SV[] = { @@ -867,7 +867,7 @@ const PrepopulatedEngine* const engines_SV[] = {
// Syria // Syria
const PrepopulatedEngine* const engines_SY[] = { const PrepopulatedEngine* const engines_SY[] = {
@@ -899,7 +901,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&yandex_com, &yandex_com,
@@ -875,7 +875,7 @@ const PrepopulatedEngine* const engines_SY[] = { @@ -876,7 +876,7 @@ const PrepopulatedEngine* const engines_SY[] = {
// Thailand // Thailand
const PrepopulatedEngine* const engines_TH[] = { const PrepopulatedEngine* const engines_TH[] = {
@@ -908,7 +910,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_th, &yahoo_th,
&yandex_ru, &yandex_ru,
@@ -884,7 +884,7 @@ const PrepopulatedEngine* const engines_TH[] = { @@ -885,7 +885,7 @@ const PrepopulatedEngine* const engines_TH[] = {
// Tunisia // Tunisia
const PrepopulatedEngine* const engines_TN[] = { const PrepopulatedEngine* const engines_TN[] = {
@@ -917,7 +919,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_fr, &yahoo_fr,
&duckduckgo, &duckduckgo,
@@ -893,7 +893,7 @@ const PrepopulatedEngine* const engines_TN[] = { @@ -894,7 +894,7 @@ const PrepopulatedEngine* const engines_TN[] = {
// Turkey // Turkey
const PrepopulatedEngine* const engines_TR[] = { const PrepopulatedEngine* const engines_TR[] = {
@@ -926,7 +928,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_tr, &yandex_tr,
&yahoo_tr, &yahoo_tr,
&bing, &bing,
@@ -902,7 +902,7 @@ const PrepopulatedEngine* const engines_TR[] = { @@ -903,7 +903,7 @@ const PrepopulatedEngine* const engines_TR[] = {
// Trinidad and Tobago // Trinidad and Tobago
const PrepopulatedEngine* const engines_TT[] = { const PrepopulatedEngine* const engines_TT[] = {
@@ -935,7 +937,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -911,7 +911,7 @@ const PrepopulatedEngine* const engines_TT[] = { @@ -912,7 +912,7 @@ const PrepopulatedEngine* const engines_TT[] = {
// Taiwan // Taiwan
const PrepopulatedEngine* const engines_TW[] = { const PrepopulatedEngine* const engines_TW[] = {
@@ -944,7 +946,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_tw, &yahoo_tw,
&bing, &bing,
&baidu, &baidu,
@@ -920,7 +920,7 @@ const PrepopulatedEngine* const engines_TW[] = { @@ -921,7 +921,7 @@ const PrepopulatedEngine* const engines_TW[] = {
// Tanzania // Tanzania
const PrepopulatedEngine* const engines_TZ[] = { const PrepopulatedEngine* const engines_TZ[] = {
@@ -953,7 +955,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -929,7 +929,7 @@ const PrepopulatedEngine* const engines_TZ[] = { @@ -930,7 +930,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
// Ukraine // Ukraine
const PrepopulatedEngine* const engines_UA[] = { const PrepopulatedEngine* const engines_UA[] = {
@@ -962,7 +964,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ua, &yandex_ua,
&bing, &bing,
&duckduckgo, &duckduckgo,
@@ -938,7 +938,7 @@ const PrepopulatedEngine* const engines_UA[] = { @@ -939,7 +939,7 @@ const PrepopulatedEngine* const engines_UA[] = {
// United States // United States
const PrepopulatedEngine* const engines_US[] = { const PrepopulatedEngine* const engines_US[] = {
@@ -971,7 +973,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -947,7 +947,7 @@ const PrepopulatedEngine* const engines_US[] = { @@ -948,7 +948,7 @@ const PrepopulatedEngine* const engines_US[] = {
// Uruguay // Uruguay
const PrepopulatedEngine* const engines_UY[] = { const PrepopulatedEngine* const engines_UY[] = {
@@ -980,7 +982,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_es, &yahoo_es,
&duckduckgo, &duckduckgo,
@@ -956,7 +956,7 @@ const PrepopulatedEngine* const engines_UY[] = { @@ -957,7 +957,7 @@ const PrepopulatedEngine* const engines_UY[] = {
// Venezuela // Venezuela
const PrepopulatedEngine* const engines_VE[] = { const PrepopulatedEngine* const engines_VE[] = {
@@ -989,7 +991,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo_es, &yahoo_es,
&duckduckgo, &duckduckgo,
@@ -965,7 +965,7 @@ const PrepopulatedEngine* const engines_VE[] = { @@ -966,7 +966,7 @@ const PrepopulatedEngine* const engines_VE[] = {
// Vietnam // Vietnam
const PrepopulatedEngine* const engines_VN[] = { const PrepopulatedEngine* const engines_VN[] = {
@@ -998,7 +1000,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&coccoc, &coccoc,
&yahoo, &yahoo,
&bing, &bing,
@@ -974,7 +974,7 @@ const PrepopulatedEngine* const engines_VN[] = { @@ -975,7 +975,7 @@ const PrepopulatedEngine* const engines_VN[] = {
// Yemen // Yemen
const PrepopulatedEngine* const engines_YE[] = { const PrepopulatedEngine* const engines_YE[] = {
@@ -1007,7 +1009,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&yandex_com, &yandex_com,
@@ -983,7 +983,7 @@ const PrepopulatedEngine* const engines_YE[] = { @@ -984,7 +984,7 @@ const PrepopulatedEngine* const engines_YE[] = {
// South Africa // South Africa
const PrepopulatedEngine* const engines_ZA[] = { const PrepopulatedEngine* const engines_ZA[] = {
@@ -1016,7 +1018,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing, &bing,
&yahoo, &yahoo,
&duckduckgo, &duckduckgo,
@@ -992,7 +992,7 @@ const PrepopulatedEngine* const engines_ZA[] = { @@ -993,7 +993,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
// Zimbabwe // Zimbabwe
const PrepopulatedEngine* const engines_ZW[] = { const PrepopulatedEngine* const engines_ZW[] = {
@@ -2,19 +2,21 @@ From: uazo <uazo@users.noreply.github.com>
Date: Mon, 26 Apr 2021 15:04:11 +0000 Date: Mon, 26 Apr 2021 15:04:11 +0000
Subject: Add IsCleartextPermitted flag Subject: Add IsCleartextPermitted flag
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/browser/about_flags.cc | 4 ++++ chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 4 ++++ chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++ chrome/browser/flag_descriptions.h | 3 +++
net/base/features.cc | 3 +++ net/base/features.cc | 4 ++++
net/base/features.h | 2 ++ net/base/features.h | 2 ++
net/url_request/url_request_http_job.cc | 4 ++++ net/url_request/url_request_http_job.cc | 4 ++++
6 files changed, 20 insertions(+) 6 files changed, 21 insertions(+)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -8201,6 +8201,10 @@ const FeatureEntry kFeatureEntries[] = { @@ -9171,6 +9171,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kRequestDesktopSiteExceptionsName, flag_descriptions::kRequestDesktopSiteExceptionsName,
flag_descriptions::kRequestDesktopSiteExceptionsDescription, kOsAndroid, flag_descriptions::kRequestDesktopSiteExceptionsDescription, kOsAndroid,
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)}, FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
@@ -28,7 +30,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 diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc
@@ -1477,6 +1477,10 @@ const char kHttpsOnlyModeDescription[] = @@ -1651,6 +1651,10 @@ const char kHttpsOnlyModeDescription[] =
"Adds a setting under chrome://settings/security to opt-in to HTTPS-First " "Adds a setting under chrome://settings/security to opt-in to HTTPS-First "
"Mode."; "Mode.";
@@ -42,7 +44,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 diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h
@@ -834,6 +834,9 @@ extern const char kHideShelfControlsInTabletModeDescription[]; @@ -935,6 +935,9 @@ extern const char kHideShelfControlsInTabletModeDescription[];
extern const char kHttpsOnlyModeName[]; extern const char kHttpsOnlyModeName[];
extern const char kHttpsOnlyModeDescription[]; extern const char kHttpsOnlyModeDescription[];
@@ -55,32 +57,33 @@ 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 diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc --- a/net/base/features.cc
+++ b/net/base/features.cc +++ b/net/base/features.cc
@@ -115,6 +115,9 @@ const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData", @@ -113,6 +113,10 @@ BASE_FEATURE(kPartitionNelAndReportingByNetworkIsolationKey,
const base::Feature kEncryptedClientHello{"EncryptedClientHello", "PartitionNelAndReportingByNetworkIsolationKey", // must be enabled
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
+const base::Feature kIsCleartextPermitted{"IsCleartextPermitted", +BASE_FEATURE(kIsCleartextPermitted,
+ base::FEATURE_ENABLED_BY_DEFAULT}; + "IsCleartextPermitted",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+ +
const base::Feature kNetworkQualityEstimator{"NetworkQualityEstimator", BASE_FEATURE(kEnableDoubleKeyNetworkAnonymizationKey,
base::FEATURE_DISABLED_BY_DEFAULT}; "EnableDoubleKeyNetworkAnonymizationKey",
base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/net/base/features.h b/net/base/features.h diff --git a/net/base/features.h b/net/base/features.h
--- a/net/base/features.h --- a/net/base/features.h
+++ b/net/base/features.h +++ b/net/base/features.h
@@ -37,6 +37,8 @@ NET_EXPORT extern const base::Feature kCapReferrerToOriginOnCrossOrigin; @@ -29,6 +29,8 @@ NET_EXPORT BASE_DECLARE_FEATURE(kAvoidH2Reprioritization);
// Enables the ParsedCookie domain attribute to be the empty string. // origin requests are restricted to contain at most the source origin.
NET_EXPORT extern const base::Feature kCookieDomainAttributeEmptyString; NET_EXPORT BASE_DECLARE_FEATURE(kCapReferrerToOriginOnCrossOrigin);
+NET_EXPORT extern const base::Feature kIsCleartextPermitted; +NET_EXPORT BASE_DECLARE_FEATURE(kIsCleartextPermitted);
+ +
// Support for altering the parameters used for DNS transaction timeout. See // Support for altering the parameters used for DNS transaction timeout. See
// ResolveContext::SecureTransactionTimeout(). // ResolveContext::SecureTransactionTimeout().
NET_EXPORT extern const base::Feature kDnsTransactionDynamicTimeouts; NET_EXPORT BASE_DECLARE_FEATURE(kDnsTransactionDynamicTimeouts);
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
--- a/net/url_request/url_request_http_job.cc --- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc +++ b/net/url_request/url_request_http_job.cc
@@ -210,6 +210,10 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) { @@ -212,6 +212,10 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
} }
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
+114 -107
View File
@@ -3,11 +3,17 @@ Date: Thu, 29 Mar 2018 00:43:32 +0200
Subject: Add a proxy configuration page Subject: Add a proxy configuration page
Accessible from proxy settings and chrome://proxy Accessible from proxy settings and chrome://proxy
Allows to use a PAC script URL, automatic configuration and explicit proxy Allows to use a PAC script URL, automatic configuration and explicit proxy settings.
settings.
Offer auto-complete for the proxy page URL. Offer auto-complete for the proxy page URL.
Store proxy settings in LocalState instead of Profile, so that proxy is used Store proxy settings in LocalState instead of Profile, so that proxy is used for SimpleURLLoaders as well;
for SimpleURLLoaders as well. this implementation is the same as the one in ChromeOS which gets proxy information from the LocalState
for the system network context; this is strictly not correct on Android because the network context is
never connected to any user profile and only gets proxy information from the system.
Existing settings on Profile are migrated to LocalState on startup.
Credits to @uazo for the LocalState integration.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/android/java/res/values/values.xml | 3 + chrome/android/java/res/values/values.xml | 3 +
.../java/res/xml/privacy_preferences.xml | 4 + .../java/res/xml/privacy_preferences.xml | 4 +
@@ -19,8 +25,8 @@ for SimpleURLLoaders as well.
chrome/browser/prefs/browser_prefs.cc | 4 + chrome/browser/prefs/browser_prefs.cc | 4 +
.../prefs/chrome_command_line_pref_store.cc | 2 +- .../prefs/chrome_command_line_pref_store.cc | 2 +-
chrome/browser/resources/proxy_config.css | 61 +++ chrome/browser/resources/proxy_config.css | 61 +++
chrome/browser/resources/proxy_config.html | 79 ++++ chrome/browser/resources/proxy_config.html | 78 ++++
chrome/browser/resources/proxy_config.js | 266 +++++++++++ chrome/browser/resources/proxy_config.js | 267 +++++++++++
chrome/browser/ui/BUILD.gn | 2 + chrome/browser/ui/BUILD.gn | 2 +
.../webui/chrome_web_ui_controller_factory.cc | 3 + .../webui/chrome_web_ui_controller_factory.cc | 3 +
chrome/browser/ui/webui/proxy_config_ui.cc | 418 ++++++++++++++++++ chrome/browser/ui/webui/proxy_config_ui.cc | 418 ++++++++++++++++++
@@ -43,7 +49,7 @@ for SimpleURLLoaders as well.
diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
--- a/chrome/android/java/res/values/values.xml --- a/chrome/android/java/res/values/values.xml
+++ b/chrome/android/java/res/values/values.xml +++ b/chrome/android/java/res/values/values.xml
@@ -25,6 +25,9 @@ @@ -27,6 +27,9 @@ found in the LICENSE file.
<!-- Compositor Tab Title Text --> <!-- Compositor Tab Title Text -->
<bool name="compositor_tab_title_fake_bold_text">true</bool> <bool name="compositor_tab_title_fake_bold_text">true</bool>
@@ -56,7 +62,7 @@ diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml 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 --- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -6,6 +6,10 @@ @@ -8,6 +8,10 @@ found in the LICENSE file.
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
@@ -70,18 +76,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 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 --- 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 +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -58,6 +58,7 @@ public class PrivacySettings @@ -59,6 +59,7 @@ public class PrivacySettings
private static final String PREF_DO_NOT_TRACK = "do_not_track"; 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_CLEAR_BROWSING_DATA = "clear_browsing_data";
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox"; private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
+ private static final String PREF_PROXY_OPTIONS = "proxy"; + private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_PRIVACY_REVIEW = "privacy_review"; private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
private static final String PREF_INCOGNITO_LOCK = "incognito_lock"; 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 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 --- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc +++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -275,6 +275,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() { @@ -284,6 +284,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
builtins_to_provide.push_back( builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUISettingsURL)); base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
#endif #endif
@@ -93,8 +99,8 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
--- a/chrome/browser/browser_resources.grd --- a/chrome/browser/browser_resources.grd
+++ b/chrome/browser/browser_resources.grd +++ b/chrome/browser/browser_resources.grd
@@ -74,6 +74,12 @@ @@ -81,6 +81,12 @@
<include name="IDR_HANGOUT_SERVICES_MANIFEST" file="resources\hangout_services\manifest.json" type="BINDATA" /> <include name="IDR_DESK_API_MANIFEST" file="resources\chromeos\desk_api\manifest.json" type="BINDATA" />
</if> </if>
+ <!-- Bromite Proxy Configuration UI --> + <!-- Bromite Proxy Configuration UI -->
@@ -117,29 +123,29 @@ diff --git a/chrome/browser/net/proxy_service_factory.cc b/chrome/browser/net/pr
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "build/chromeos_buildflags.h" #include "build/chromeos_buildflags.h"
@@ -14,6 +15,9 @@ @@ -13,6 +14,9 @@
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread.h"
#include "net/proxy_resolution/configured_proxy_resolution_service.h"
#include "net/proxy_resolution/proxy_config_service.h" #include "net/proxy_resolution/proxy_config_service.h"
+#include "components/proxy_config/proxy_config_pref_names.h" +#include "components/proxy_config/proxy_config_pref_names.h"
+#include "components/prefs/pref_service.h" +#include "components/prefs/pref_service.h"
+#include "components/prefs/pref_registry_simple.h" +#include "components/prefs/pref_registry_simple.h"
#if BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chromeos/network/proxy/proxy_config_service_impl.h" #include "chromeos/ash/components/network/proxy/proxy_config_service_impl.h"
@@ -72,7 +76,20 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfProfile( @@ -70,7 +74,20 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfProfile(
return std::make_unique<chromeos::ProxyConfigServiceImpl>( return std::make_unique<ash::ProxyConfigServiceImpl>(
profile_prefs, local_state_prefs, nullptr); profile_prefs, local_state_prefs, nullptr);
#else #else
- return std::make_unique<PrefProxyConfigTrackerImpl>(profile_prefs, nullptr); - return std::make_unique<PrefProxyConfigTrackerImpl>(profile_prefs, nullptr);
+ // Migrate from profile_prefs to local_state_prefs + // Migrate from profile_prefs to local_state_prefs
+ if (local_state_prefs->GetBoolean("proxy_migrated") == false) { + if (local_state_prefs->GetBoolean("proxy_migrated") == false) {
+ const base::Value* dict = + const base::Value::Dict& dict =
+ profile_prefs->GetDictionary(proxy_config::prefs::kProxy); + profile_prefs->GetDict(proxy_config::prefs::kProxy);
+ +
+ LOG(INFO) << "CreatePrefProxyConfigTrackerOfProfile: Migration from profile to local state"; + LOG(INFO) << "CreatePrefProxyConfigTrackerOfProfile: Migration from profile to local state";
+ +
+ const base::Value /*ProxyConfigDictionary*/ proxy_dict(dict->Clone()); + const base::Value /*ProxyConfigDictionary*/ proxy_dict(dict.Clone());
+ local_state_prefs->Set(proxy_config::prefs::kProxy, proxy_dict); + local_state_prefs->Set(proxy_config::prefs::kProxy, proxy_dict);
+ +
+ local_state_prefs->SetBoolean("proxy_migrated", true); + local_state_prefs->SetBoolean("proxy_migrated", true);
@@ -149,7 +155,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.cc b/chrome/browser/net/pr
#endif // BUILDFLAG(IS_CHROMEOS_ASH) #endif // BUILDFLAG(IS_CHROMEOS_ASH)
} }
@@ -88,3 +105,8 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfLocalState( @@ -86,3 +103,8 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfLocalState(
nullptr); nullptr);
#endif // BUILDFLAG(IS_CHROMEOS_ASH) #endif // BUILDFLAG(IS_CHROMEOS_ASH)
} }
@@ -181,16 +187,16 @@ 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 diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc --- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc
@@ -161,6 +161,8 @@ @@ -167,6 +167,8 @@
#include "printing/buildflags/buildflags.h"
#include "rlz/buildflags/buildflags.h" #include "rlz/buildflags/buildflags.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
+#include "chrome/browser/net/proxy_service_factory.h" +#include "chrome/browser/net/proxy_service_factory.h"
+ +
#if BUILDFLAG(ENABLE_BACKGROUND_MODE) #if BUILDFLAG(ENABLE_BACKGROUND_MODE)
#include "chrome/browser/background/background_mode_manager.h" #include "chrome/browser/background/background_mode_manager.h"
#endif #endif
@@ -994,6 +996,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { @@ -1055,6 +1057,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
chrome::enterprise_util::RegisterLocalStatePrefs(registry); chrome::enterprise_util::RegisterLocalStatePrefs(registry);
component_updater::RegisterPrefs(registry); component_updater::RegisterPrefs(registry);
embedder_support::OriginTrialPrefs::RegisterPrefs(registry); embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
@@ -202,13 +208,13 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
diff --git a/chrome/browser/prefs/chrome_command_line_pref_store.cc b/chrome/browser/prefs/chrome_command_line_pref_store.cc 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 --- a/chrome/browser/prefs/chrome_command_line_pref_store.cc
+++ b/chrome/browser/prefs/chrome_command_line_pref_store.cc +++ b/chrome/browser/prefs/chrome_command_line_pref_store.cc
@@ -157,7 +157,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() { @@ -159,7 +159,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
SetValue( command_line()->GetSwitchValueASCII(switches::kProxyBypassList);
proxy_config::prefs::kProxy, SetValue(proxy_config::prefs::kProxy,
std::make_unique<base::Value>(ProxyConfigDictionary::CreateFixedServers( base::Value(ProxyConfigDictionary::CreateFixedServers(
- proxy_server, bypass_list)), - proxy_server, bypass_list)),
+ proxy_server, bypass_list, false)), + proxy_server, bypass_list, false)),
WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS); WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS);
} }
} }
diff --git a/chrome/browser/resources/proxy_config.css b/chrome/browser/resources/proxy_config.css diff --git a/chrome/browser/resources/proxy_config.css b/chrome/browser/resources/proxy_config.css
@@ -281,7 +287,7 @@ diff --git a/chrome/browser/resources/proxy_config.html b/chrome/browser/resourc
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/chrome/browser/resources/proxy_config.html +++ b/chrome/browser/resources/proxy_config.html
@@ -0,0 +1,79 @@ @@ -0,0 +1,78 @@
+<!doctype html> +<!doctype html>
+<html> +<html>
+<head> +<head>
@@ -295,8 +301,7 @@ new file mode 100644
+<script src="chrome://resources/js/ios/web_ui.js"></script> +<script src="chrome://resources/js/ios/web_ui.js"></script>
+</if> +</if>
+ +
+<script src="chrome://resources/js/assert.js"></script> +<script type="module" src="chrome://resources/js/assert.js"></script>
+<script src="chrome://resources/js/util.js"></script>
+<script type="module" src="chrome://proxy/proxy_config.js"></script> +<script type="module" src="chrome://proxy/proxy_config.js"></script>
+<link rel="stylesheet" href="chrome://resources/css/text_defaults.css"> +<link rel="stylesheet" href="chrome://resources/css/text_defaults.css">
+<link rel="stylesheet" href="proxy_config.css"> +<link rel="stylesheet" href="proxy_config.css">
@@ -365,7 +370,7 @@ diff --git a/chrome/browser/resources/proxy_config.js b/chrome/browser/resources
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/chrome/browser/resources/proxy_config.js +++ b/chrome/browser/resources/proxy_config.js
@@ -0,0 +1,266 @@ @@ -0,0 +1,267 @@
+/* +/*
+ This file is part of Bromite. + This file is part of Bromite.
+ +
@@ -383,6 +388,7 @@ new file mode 100644
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>. + along with Bromite. If not, see <https://www.gnu.org/licenses/>.
+*/ +*/
+ +
+import {$} from 'chrome://resources/js/util.js';
+import {addSingletonGetter} from 'chrome://resources/js/cr.m.js'; +import {addSingletonGetter} from 'chrome://resources/js/cr.m.js';
+ +
+/** +/**
@@ -635,8 +641,8 @@ new file mode 100644
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
--- a/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn
@@ -281,6 +281,8 @@ static_library("ui") { @@ -287,6 +287,8 @@ static_library("ui") {
"webui/metrics_handler.h", "webui/metrics_internals/metrics_internals_ui.h",
"webui/net_export_ui.cc", "webui/net_export_ui.cc",
"webui/net_export_ui.h", "webui/net_export_ui.h",
+ "webui/proxy_config_ui.cc", + "webui/proxy_config_ui.cc",
@@ -647,16 +653,16 @@ 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 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 --- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc +++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -56,6 +56,7 @@ @@ -60,6 +60,7 @@
#include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h" #include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h"
#include "chrome/browser/ui/webui/omnibox/omnibox_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/policy/policy_ui.h"
+#include "chrome/browser/ui/webui/proxy_config_ui.h" +#include "chrome/browser/ui/webui/proxy_config_ui.h"
#include "chrome/browser/ui/webui/predictors/predictors_ui.h" #include "chrome/browser/ui/webui/predictors/predictors_ui.h"
#include "chrome/browser/ui/webui/profiles/profile_internals_ui.h"
#include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h" #include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h"
@@ -778,6 +779,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui, #include "chrome/browser/ui/webui/signin_internals_ui.h"
return &NewWebUI<MemoryInternalsUI>; @@ -801,6 +802,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<MetricsInternalsUI>;
if (url.host_piece() == chrome::kChromeUINetExportHost) if (url.host_piece() == chrome::kChromeUINetExportHost)
return &NewWebUI<NetExportUI>; return &NewWebUI<NetExportUI>;
+ if (url.host_piece() == chrome::kChromeUIProxyConfigHost) + if (url.host_piece() == chrome::kChromeUIProxyConfigHost)
@@ -928,9 +934,9 @@ new file mode 100644
+ net::ProxyConfigWithAnnotation config; + net::ProxyConfigWithAnnotation config;
+ auto availability = proxy_config_service_->GetLatestProxyConfig(&config); + auto availability = proxy_config_service_->GetLatestProxyConfig(&config);
+ +
+ const base::Value* dict = + const PrefService::Preference* const pref =
+ pref_service_->GetDictionary(proxy_config::prefs::kProxy); + pref_service_->FindPreference(proxy_config::prefs::kProxy);
+ ProxyConfigDictionary proxy_dict(dict->Clone()); + ProxyConfigDictionary proxy_dict(pref->GetValue()->GetDict().Clone());
+ ProxyPrefs::ProxyMode mode; + ProxyPrefs::ProxyMode mode;
+ if (!proxy_dict.GetMode(&mode) || mode == ProxyPrefs::MODE_SYSTEM) { + if (!proxy_dict.GetMode(&mode) || mode == ProxyPrefs::MODE_SYSTEM) {
+ availability = net::ProxyConfigService::CONFIG_UNSET; + availability = net::ProxyConfigService::CONFIG_UNSET;
@@ -942,8 +948,8 @@ new file mode 100644
+void ProxyConfigMessageHandler::OnClear(const base::Value::List& list) { +void ProxyConfigMessageHandler::OnClear(const base::Value::List& list) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI); + DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ +
+ const base::Value cfg = ProxyConfigDictionary::CreateSystem(); + const base::Value::Dict cfg = ProxyConfigDictionary::CreateSystem();
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg); + pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ pref_service_->CommitPendingWrite(); + pref_service_->CommitPendingWrite();
+ OnEnableNotifyUIWithState(list); + OnEnableNotifyUIWithState(list);
+} +}
@@ -1054,22 +1060,22 @@ new file mode 100644
+ +
+void ProxyConfigMessageHandler::apply(const net::ProxyConfig& proxyConfig) { +void ProxyConfigMessageHandler::apply(const net::ProxyConfig& proxyConfig) {
+ if (proxyConfig.auto_detect()) { + if (proxyConfig.auto_detect()) {
+ const base::Value cfg = ProxyConfigDictionary::CreateAutoDetect(); + const base::Value::Dict cfg = ProxyConfigDictionary::CreateAutoDetect();
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg); + pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ } else if (proxyConfig.has_pac_url()) { + } else if (proxyConfig.has_pac_url()) {
+ const base::Value cfg = ProxyConfigDictionary::CreatePacScript(proxyConfig.pac_url().spec(), proxyConfig.pac_mandatory()); + const base::Value::Dict cfg = ProxyConfigDictionary::CreatePacScript(proxyConfig.pac_url().spec(), proxyConfig.pac_mandatory());
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg); + pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ } else if (proxyConfig.proxy_rules().type == net::ProxyConfig::ProxyRules::Type::EMPTY) { + } else if (proxyConfig.proxy_rules().type == net::ProxyConfig::ProxyRules::Type::EMPTY) {
+ const base::Value cfg = ProxyConfigDictionary::CreateDirect(); + const base::Value::Dict cfg = ProxyConfigDictionary::CreateDirect();
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg); + pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ } else { + } else {
+ auto proxyRulesAsString = proxyConfig.proxy_rules().ToString(); + auto proxyRulesAsString = proxyConfig.proxy_rules().ToString();
+ auto bypassRulesAsString = proxyConfig.proxy_rules().bypass_rules.ToString(); + auto bypassRulesAsString = proxyConfig.proxy_rules().bypass_rules.ToString();
+ +
+ // fixed servers + // fixed servers
+ const base::Value cfg = ProxyConfigDictionary::CreateFixedServers(proxyRulesAsString, + const base::Value::Dict cfg = ProxyConfigDictionary::CreateFixedServers(proxyRulesAsString,
+ bypassRulesAsString, proxyConfig.proxy_rules().reverse_bypass); + bypassRulesAsString, proxyConfig.proxy_rules().reverse_bypass);
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg); + pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ } + }
+ pref_service_->CommitPendingWrite(); + pref_service_->CommitPendingWrite();
+ +
@@ -1126,7 +1132,7 @@ new file mode 100644
diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc
--- a/chrome/common/webui_url_constants.cc --- a/chrome/common/webui_url_constants.cc
+++ b/chrome/common/webui_url_constants.cc +++ b/chrome/common/webui_url_constants.cc
@@ -48,6 +48,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert"; @@ -47,6 +47,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
const char kChromeUICertificateViewerURL[] = "chrome://view-cert/"; const char kChromeUICertificateViewerURL[] = "chrome://view-cert/";
const char kChromeUIChromeSigninHost[] = "chrome-signin"; const char kChromeUIChromeSigninHost[] = "chrome-signin";
const char kChromeUIChromeSigninURL[] = "chrome://chrome-signin/"; const char kChromeUIChromeSigninURL[] = "chrome://chrome-signin/";
@@ -1135,15 +1141,15 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
const char kChromeUIChromeURLsHost[] = "chrome-urls"; const char kChromeUIChromeURLsHost[] = "chrome-urls";
const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/"; const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/";
const char kChromeUIComponentsHost[] = "components"; const char kChromeUIComponentsHost[] = "components";
@@ -421,6 +423,7 @@ bool IsSystemWebUIHost(base::StringPiece host) { @@ -446,6 +448,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
kChromeUILockScreenNetworkHost,
kChromeUILockScreenStartReauthHost,
kChromeUIMobileSetupHost, kChromeUIMobileSetupHost,
+ kChromeUIProxyConfigHost,
kChromeUIMultiDeviceSetupHost, kChromeUIMultiDeviceSetupHost,
kChromeUINetworkHost, kChromeUINetworkHost,
+ kChromeUIProxyConfigHost, kChromeUINotificationTesterHost,
kChromeUIOobeHost, @@ -718,6 +721,7 @@ const char* const kChromeHostURLs[] = {
kChromeUIOSCreditsHost,
kChromeUIOSSettingsHost,
@@ -672,6 +675,7 @@ const char* const kChromeHostURLs[] = {
#if !BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_ANDROID)
#if !BUILDFLAG(IS_CHROMEOS_ASH) #if !BUILDFLAG(IS_CHROMEOS_ASH)
kChromeUIAppLauncherPageHost, kChromeUIAppLauncherPageHost,
@@ -1154,7 +1160,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
--- a/chrome/common/webui_url_constants.h --- a/chrome/common/webui_url_constants.h
+++ b/chrome/common/webui_url_constants.h +++ b/chrome/common/webui_url_constants.h
@@ -132,6 +132,8 @@ extern const char kChromeUIMemoryInternalsHost[]; @@ -134,6 +134,8 @@ extern const char kChromeUIMetricsInternalsHost[];
extern const char kChromeUINTPTilesInternalsHost[]; extern const char kChromeUINTPTilesInternalsHost[];
extern const char kChromeUINaClHost[]; extern const char kChromeUINaClHost[];
extern const char kChromeUINetExportHost[]; extern const char kChromeUINetExportHost[];
@@ -1166,7 +1172,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 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 --- a/components/proxy_config/pref_proxy_config_tracker_impl.cc
+++ b/components/proxy_config/pref_proxy_config_tracker_impl.cc +++ b/components/proxy_config/pref_proxy_config_tracker_impl.cc
@@ -381,6 +381,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig( @@ -380,6 +380,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig(
if (proxy_dict.GetBypassList(&proxy_bypass)) { if (proxy_dict.GetBypassList(&proxy_bypass)) {
proxy_config.proxy_rules().bypass_rules.ParseFromString(proxy_bypass); proxy_config.proxy_rules().bypass_rules.ParseFromString(proxy_bypass);
} }
@@ -1186,46 +1192,47 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
} // namespace } // namespace
@@ -78,6 +80,14 @@ bool ProxyConfigDictionary::HasBypassList() const { @@ -76,6 +78,14 @@ bool ProxyConfigDictionary::HasBypassList() const {
return dict_.FindKey(kProxyBypassList); return dict_.Find(kProxyBypassList);
} }
+bool ProxyConfigDictionary::HasReverseBypass() const { +bool ProxyConfigDictionary::HasReverseBypass() const {
+ const base::Value* value = dict_.FindKey(kProxyReverseBypass); + const base::Value* value = dict_.Find(kProxyReverseBypass);
+ if (!value || !value->is_bool()) { + if (!value || !value->is_bool()) {
+ return false; + return false;
+ } + }
+ return value->GetBool(); + return value->GetBool();
+} +}
+ +
const base::Value& ProxyConfigDictionary::GetDictionary() const { const base::Value::Dict& ProxyConfigDictionary::GetDictionary() const {
return dict_; return dict_;
} }
@@ -85,29 +95,30 @@ const base::Value& ProxyConfigDictionary::GetDictionary() const { @@ -83,13 +93,13 @@ const base::Value::Dict& ProxyConfigDictionary::GetDictionary() const {
// static // static
base::Value ProxyConfigDictionary::CreateDirect() { base::Value::Dict ProxyConfigDictionary::CreateDirect() {
return CreateDictionary(ProxyPrefs::MODE_DIRECT, std::string(), false, return CreateDictionary(ProxyPrefs::MODE_DIRECT, std::string(), false,
- std::string(), std::string()); - std::string(), std::string());
+ std::string(), std::string(), false); + std::string(), std::string(), false);
} }
// static // static
base::Value ProxyConfigDictionary::CreateAutoDetect() { base::Value::Dict ProxyConfigDictionary::CreateAutoDetect() {
return CreateDictionary(ProxyPrefs::MODE_AUTO_DETECT, std::string(), false, return CreateDictionary(ProxyPrefs::MODE_AUTO_DETECT, std::string(), false,
- std::string(), std::string()); - std::string(), std::string());
+ std::string(), std::string(), false); + std::string(), std::string(), false);
} }
// static // static
base::Value ProxyConfigDictionary::CreatePacScript(const std::string& pac_url, @@ -97,16 +107,17 @@ base::Value::Dict ProxyConfigDictionary::CreatePacScript(
bool pac_mandatory) { const std::string& pac_url,
bool pac_mandatory) {
return CreateDictionary(ProxyPrefs::MODE_PAC_SCRIPT, pac_url, pac_mandatory, return CreateDictionary(ProxyPrefs::MODE_PAC_SCRIPT, pac_url, pac_mandatory,
- std::string(), std::string()); - std::string(), std::string());
+ std::string(), std::string(), false); + std::string(), std::string(), false);
} }
// static // static
base::Value ProxyConfigDictionary::CreateFixedServers( base::Value::Dict ProxyConfigDictionary::CreateFixedServers(
const std::string& proxy_server, const std::string& proxy_server,
- const std::string& bypass_list) { - const std::string& bypass_list) {
+ const std::string& bypass_list, + const std::string& bypass_list,
@@ -1237,33 +1244,33 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
} else { } else {
return CreateDirect(); return CreateDirect();
} }
@@ -116,7 +127,7 @@ base::Value ProxyConfigDictionary::CreateFixedServers( @@ -115,7 +126,7 @@ base::Value::Dict ProxyConfigDictionary::CreateFixedServers(
// static // static
base::Value ProxyConfigDictionary::CreateSystem() { base::Value::Dict ProxyConfigDictionary::CreateSystem() {
return CreateDictionary(ProxyPrefs::MODE_SYSTEM, std::string(), false, return CreateDictionary(ProxyPrefs::MODE_SYSTEM, std::string(), false,
- std::string(), std::string()); - std::string(), std::string());
+ std::string(), std::string(), false); + std::string(), std::string(), false);
} }
// static // static
@@ -125,7 +136,8 @@ base::Value ProxyConfigDictionary::CreateDictionary( @@ -124,7 +135,8 @@ base::Value::Dict ProxyConfigDictionary::CreateDictionary(
const std::string& pac_url, const std::string& pac_url,
bool pac_mandatory, bool pac_mandatory,
const std::string& proxy_server, const std::string& proxy_server,
- const std::string& bypass_list) { - const std::string& bypass_list) {
+ const std::string& bypass_list, + const std::string& bypass_list,
+ bool reverse_bypass) { + bool reverse_bypass) {
base::Value dict(base::Value::Type::DICTIONARY); base::Value::Dict dict;
dict.SetKey(kProxyMode, base::Value(ProxyModeToString(mode))); dict.Set(kProxyMode, base::Value(ProxyModeToString(mode)));
if (!pac_url.empty()) { if (!pac_url.empty()) {
@@ -134,8 +146,10 @@ base::Value ProxyConfigDictionary::CreateDictionary( @@ -133,8 +145,10 @@ base::Value::Dict ProxyConfigDictionary::CreateDictionary(
} }
if (!proxy_server.empty()) if (!proxy_server.empty())
dict.SetKey(kProxyServer, base::Value(proxy_server)); dict.Set(kProxyServer, base::Value(proxy_server));
- if (!bypass_list.empty()) - if (!bypass_list.empty())
+ if (!bypass_list.empty()) { + if (!bypass_list.empty()) {
dict.SetKey(kProxyBypassList, base::Value(bypass_list)); dict.Set(kProxyBypassList, base::Value(bypass_list));
+ dict.SetKey(kProxyReverseBypass, base::Value(reverse_bypass)); + dict.Set(kProxyReverseBypass, base::Value(reverse_bypass));
+ } + }
return dict; return dict;
} }
@@ -1277,44 +1284,44 @@ diff --git a/components/proxy_config/proxy_config_dictionary.h b/components/prox
bool HasBypassList() const; bool HasBypassList() const;
+ bool HasReverseBypass() const; + bool HasReverseBypass() const;
const base::Value& GetDictionary() const; const base::Value::Dict& GetDictionary() const;
@@ -50,7 +51,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary { @@ -50,7 +51,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary {
static base::Value CreatePacScript(const std::string& pac_url, static base::Value::Dict CreatePacScript(const std::string& pac_url,
bool pac_mandatory); bool pac_mandatory);
static base::Value CreateFixedServers(const std::string& proxy_server, static base::Value::Dict CreateFixedServers(const std::string& proxy_server,
- const std::string& bypass_list); - const std::string& bypass_list);
+ const std::string& bypass_list, + const std::string& bypass_list,
+ bool reverse_bypass); + bool reverse_bypass);
static base::Value CreateSystem(); static base::Value::Dict CreateSystem();
// Encodes the proxy server as "<url-scheme>=<proxy-scheme>://<proxy>". // Encodes the proxy server as "<url-scheme>=<proxy-scheme>://<proxy>".
@@ -66,7 +68,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary { @@ -66,7 +68,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary {
const std::string& pac_url, const std::string& pac_url,
bool pac_mandatory, bool pac_mandatory,
const std::string& proxy_server, const std::string& proxy_server,
- const std::string& bypass_list); - const std::string& bypass_list);
+ const std::string& bypass_list, + const std::string& bypass_list,
+ bool reverse_bypass); + bool reverse_bypass);
base::Value dict_; base::Value::Dict dict_;
}; };
diff --git a/components/proxy_config/proxy_policy_handler.cc b/components/proxy_config/proxy_policy_handler.cc 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 --- a/components/proxy_config/proxy_policy_handler.cc
+++ b/components/proxy_config/proxy_policy_handler.cc +++ b/components/proxy_config/proxy_policy_handler.cc
@@ -258,7 +258,7 @@ void ProxyPolicyHandler::ApplyPolicySettings(const PolicyMap& policies, @@ -263,7 +263,7 @@ void ProxyPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
ProxyConfigDictionary::CreateFixedServers( set_proxy_pref_value(ProxyConfigDictionary::CreateFixedServers(
server->GetString(), bypass_list && bypass_list->is_string() server->GetString(), bypass_list && bypass_list->is_string()
? bypass_list->GetString() ? bypass_list->GetString()
- : std::string())); - : std::string()));
+ : std::string(), false)); + : std::string(), false));
} }
break; break;
} }
diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_config.cc diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_config.cc
--- a/net/proxy_resolution/proxy_config.cc --- a/net/proxy_resolution/proxy_config.cc
+++ b/net/proxy_resolution/proxy_config.cc +++ b/net/proxy_resolution/proxy_config.cc
@@ -112,7 +112,7 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules) { @@ -109,7 +109,7 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules) {
&single_proxies, &single_proxies,
ProxyServer::SCHEME_HTTP); ProxyServer::SCHEME_HTTP);
type = Type::PROXY_LIST; type = Type::PROXY_LIST;
@@ -1323,7 +1330,7 @@ diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_c
} }
// Trim whitespace off the url scheme. // Trim whitespace off the url scheme.
@@ -143,6 +143,56 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules) { @@ -140,6 +140,56 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules) {
} }
} }
File diff suppressed because it is too large Load Diff
@@ -7,12 +7,14 @@ Reduce permissions needed for bookmarks import/export
Completely remove contacts picker permission from the file dialog Completely remove contacts picker permission from the file dialog
Requires patch: Adds-support-for-writing-URIs.patch Requires patch: Adds-support-for-writing-URIs.patch
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/android/java/AndroidManifest.xml | 1 - chrome/android/java/AndroidManifest.xml | 1 -
.../res/menu/bookmark_action_bar_menu.xml | 14 + .../res/menu/bookmark_action_bar_menu.xml | 14 +
.../browser/TabbedModeTabDelegateFactory.java | 5 +- .../browser/TabbedModeTabDelegateFactory.java | 5 +-
.../app/bookmarks/BookmarkActivity.java | 31 ++
.../browser/bookmarks/BookmarkActionBar.java | 12 + .../browser/bookmarks/BookmarkActionBar.java | 12 +
.../browser/bookmarks/BookmarkActivity.java | 30 ++
.../browser/bookmarks/BookmarkBridge.java | 278 +++++++++++++++++ .../browser/bookmarks/BookmarkBridge.java | 278 +++++++++++++++++
.../browser/bookmarks/BookmarkDelegate.java | 10 + .../browser/bookmarks/BookmarkDelegate.java | 10 +
.../browser/bookmarks/BookmarkManager.java | 22 ++ .../browser/bookmarks/BookmarkManager.java | 22 ++
@@ -20,14 +22,14 @@ Requires patch: Adds-support-for-writing-URIs.patch
.../native_page/NativePageFactory.java | 11 +- .../native_page/NativePageFactory.java | 11 +-
chrome/browser/BUILD.gn | 11 +- chrome/browser/BUILD.gn | 11 +-
chrome/browser/about_flags.cc | 6 + chrome/browser/about_flags.cc | 6 +
.../android/bookmarks/bookmark_bridge.cc | 283 ++++++++++++++++++ .../bookmarks/android/bookmark_bridge.cc | 283 ++++++++++++++++++
.../android/bookmarks/bookmark_bridge.h | 30 +- .../bookmarks/android/bookmark_bridge.h | 30 +-
.../browser/bookmarks/bookmark_html_writer.cc | 8 +- .../browser/bookmarks/bookmark_html_writer.cc | 8 +-
.../dialogs/DownloadLocationCustomView.java | 8 +- .../dialogs/DownloadLocationCustomView.java | 8 +-
.../DownloadLocationDialogCoordinator.java | 8 +- .../DownloadLocationDialogCoordinator.java | 8 +-
chrome/browser/flag_descriptions.cc | 5 + chrome/browser/flag_descriptions.cc | 5 +
chrome/browser/flag_descriptions.h | 3 + chrome/browser/flag_descriptions.h | 3 +
.../flags/android/chrome_feature_list.cc | 5 + .../flags/android/chrome_feature_list.cc | 6 +
.../flags/android/chrome_feature_list.h | 1 + .../flags/android/chrome_feature_list.h | 1 +
.../browser/flags/ChromeFeatureList.java | 1 + .../browser/flags/ChromeFeatureList.java | 1 +
chrome/browser/importer/profile_writer.cc | 12 + chrome/browser/importer/profile_writer.cc | 12 +
@@ -43,12 +45,12 @@ Requires patch: Adds-support-for-writing-URIs.patch
ui/shell_dialogs/select_file_dialog.h | 2 + ui/shell_dialogs/select_file_dialog.h | 2 +
.../select_file_dialog_android.cc | 6 + .../select_file_dialog_android.cc | 6 +
ui/shell_dialogs/select_file_dialog_android.h | 2 + ui/shell_dialogs/select_file_dialog_android.h | 2 +
35 files changed, 846 insertions(+), 29 deletions(-) 35 files changed, 848 insertions(+), 29 deletions(-)
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml --- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml +++ b/chrome/android/java/AndroidManifest.xml
@@ -59,7 +59,6 @@ by a child template that "extends" this file. @@ -61,7 +61,6 @@ by a child template that "extends" this file.
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_SCAN" <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_SCAN"
android:usesPermissionFlags="neverForLocation"/> android:usesPermissionFlags="neverForLocation"/>
@@ -59,7 +61,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
diff --git a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml b/chrome/android/java/res/menu/bookmark_action_bar_menu.xml 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 --- a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml
+++ b/chrome/android/java/res/menu/bookmark_action_bar_menu.xml +++ b/chrome/android/java/res/menu/bookmark_action_bar_menu.xml
@@ -21,6 +21,20 @@ @@ -23,6 +23,20 @@ found in the LICENSE file.
android:visible="false" android:visible="false"
app:showAsAction="ifRoom" app:showAsAction="ifRoom"
app:iconTint="@color/default_icon_color_secondary_tint_list" /> app:iconTint="@color/default_icon_color_secondary_tint_list" />
@@ -91,7 +93,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
import org.chromium.chrome.browser.app.tab_activity_glue.ActivityTabWebContentsDelegateAndroid; import org.chromium.chrome.browser.app.tab_activity_glue.ActivityTabWebContentsDelegateAndroid;
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider; import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
import org.chromium.chrome.browser.compositor.CompositorViewHolder; import org.chromium.chrome.browser.compositor.CompositorViewHolder;
@@ -46,7 +47,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager; @@ -47,7 +48,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
* {@link ChromeTabbedActivity}. * {@link ChromeTabbedActivity}.
*/ */
public class TabbedModeTabDelegateFactory implements TabDelegateFactory { public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
@@ -100,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
private final BrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate; private final BrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate;
private final Supplier<ShareDelegate> mShareDelegateSupplier; private final Supplier<ShareDelegate> mShareDelegateSupplier;
private final Supplier<EphemeralTabCoordinator> mEphemeralTabCoordinatorSupplier; private final Supplier<EphemeralTabCoordinator> mEphemeralTabCoordinatorSupplier;
@@ -72,7 +73,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory { @@ -74,7 +75,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
private NativePageFactory mNativePageFactory; private NativePageFactory mNativePageFactory;
@@ -109,54 +111,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
BrowserControlsVisibilityDelegate appBrowserControlsVisibilityDelegate, BrowserControlsVisibilityDelegate appBrowserControlsVisibilityDelegate,
Supplier<ShareDelegate> shareDelegateSupplier, Supplier<ShareDelegate> shareDelegateSupplier,
Supplier<EphemeralTabCoordinator> ephemeralTabCoordinatorSupplier, Supplier<EphemeralTabCoordinator> ephemeralTabCoordinatorSupplier,
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 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java --- a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java
@@ -86,6 +86,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId> @@ -18,6 +18,11 @@ import org.chromium.chrome.browser.bookmarks.BookmarkManager;
} else if (menuItem.getItemId() == R.id.search_menu_id) { import org.chromium.chrome.browser.bookmarks.BookmarkPage;
mDelegate.openSearchUI();
return true;
+ } else if (menuItem.getItemId() == R.id.import_menu_id) {
+ mDelegate.importBookmarks();
+ return true;
+ } else if (menuItem.getItemId() == R.id.export_menu_id) {
+ mDelegate.exportBookmarks();
+ return true;
}
SelectionDelegate<BookmarkId> selectionDelegate = mDelegate.getSelectionDelegate();
@@ -137,6 +143,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
void showLoadingUi() {
setTitle(null);
setNavigationButton(NAVIGATION_BUTTON_NONE);
+ 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);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -146,6 +154,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
super.showNormalView();
if (mDelegate == null) {
+ 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);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -175,6 +185,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@Override
public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
+ 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);
getMenu().findItem(R.id.edit_menu_id).setVisible(mCurrentFolder.isEditable());
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
@@ -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.bookmarks.BookmarkId;
import org.chromium.components.embedder_support.util.UrlConstants; import org.chromium.components.embedder_support.util.UrlConstants;
+import org.chromium.ui.base.ActivityWindowAndroid; +import org.chromium.ui.base.ActivityWindowAndroid;
@@ -167,15 +126,16 @@ 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} * The activity that displays the bookmark UI on the phone. It keeps a {@link BookmarkManager}
@@ -25,6 +30,7 @@ import org.chromium.components.embedder_support.util.UrlConstants; @@ -29,6 +34,8 @@ public class BookmarkActivity extends SnackbarActivity {
public class BookmarkActivity extends SnackbarActivity { public static final int EDIT_BOOKMARK_REQUEST_CODE = 14;
private BookmarkManager mBookmarkManager;
+ private ActivityWindowAndroid mWindowAndroid;
static final int EDIT_BOOKMARK_REQUEST_CODE = 14;
public static final String INTENT_VISIT_BOOKMARK_ID = "BookmarkEditActivity.VisitBookmarkId"; public static final String INTENT_VISIT_BOOKMARK_ID = "BookmarkEditActivity.VisitBookmarkId";
@@ -42,8 +48,23 @@ public class BookmarkActivity extends SnackbarActivity { + private ActivityWindowAndroid mWindowAndroid;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -43,8 +50,23 @@ public class BookmarkActivity extends SnackbarActivity {
mBookmarkManager.updateForUrl(url); mBookmarkManager.updateForUrl(url);
setContentView(mBookmarkManager.getView()); setContentView(mBookmarkManager.getView());
BackPressHelper.create(this, getOnBackPressedDispatcher(), mBookmarkManager::onBackPressed); BackPressHelper.create(this, getOnBackPressedDispatcher(), mBookmarkManager::onBackPressed);
@@ -199,15 +159,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
@Override @Override
protected void onDestroy() { protected void onDestroy() {
super.onDestroy(); super.onDestroy();
@@ -53,6 +74,7 @@ public class BookmarkActivity extends SnackbarActivity { @@ -54,6 +76,7 @@ public class BookmarkActivity extends SnackbarActivity {
@Override @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) { protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data);
+ mWindowAndroid.getIntentRequestTracker().onActivityResult(requestCode, resultCode, data); + mWindowAndroid.getIntentRequestTracker().onActivityResult(requestCode, resultCode, data);
if (requestCode == EDIT_BOOKMARK_REQUEST_CODE && resultCode == RESULT_OK) { if (requestCode == EDIT_BOOKMARK_REQUEST_CODE && resultCode == RESULT_OK) {
BookmarkId bookmarkId = BookmarkId.getBookmarkIdFromString(data.getStringExtra( BookmarkId bookmarkId = BookmarkId.getBookmarkIdFromString(
INTENT_VISIT_BOOKMARK_ID)); data.getStringExtra(INTENT_VISIT_BOOKMARK_ID));
@@ -60,6 +82,14 @@ public class BookmarkActivity extends SnackbarActivity { @@ -61,6 +84,14 @@ public class BookmarkActivity extends SnackbarActivity {
} }
} }
@@ -222,6 +182,49 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/** /**
* @return The {@link BookmarkManager} for testing purposes. * @return The {@link BookmarkManager} for testing purposes.
*/ */
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
@@ -84,6 +84,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
} else if (menuItem.getItemId() == R.id.search_menu_id) {
mDelegate.openSearchUI();
return true;
+ } else if (menuItem.getItemId() == R.id.import_menu_id) {
+ mDelegate.importBookmarks();
+ return true;
+ } else if (menuItem.getItemId() == R.id.export_menu_id) {
+ mDelegate.exportBookmarks();
+ return true;
}
SelectionDelegate<BookmarkId> selectionDelegate = mDelegate.getSelectionDelegate();
@@ -149,6 +155,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
void showLoadingUi() {
setTitle(null);
setNavigationButton(NAVIGATION_BUTTON_NONE);
+ 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);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -158,6 +166,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
super.showNormalView();
if (mDelegate == null) {
+ 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);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -187,6 +197,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@Override
public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
+ 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);
getMenu().findItem(R.id.edit_menu_id).setVisible(mCurrentFolder.isEditable());
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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
@@ -246,7 +249,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Pair; import android.util.Pair;
@@ -46,6 +59,32 @@ import java.util.HashMap; @@ -40,6 +53,32 @@ import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
@@ -279,7 +282,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/** /**
* Provides the communication channel for Android to fetch and manipulate the * Provides the communication channel for Android to fetch and manipulate the
* bookmark model stored in native. * bookmark model stored in native.
@@ -737,6 +776,209 @@ public class BookmarkBridge { @@ -405,6 +444,209 @@ class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, id.getId(), id.getType()); mNativeBookmarkBridge, BookmarkBridge.this, id.getId(), id.getType());
} }
@@ -489,7 +492,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. * Synchronously gets a list of bookmarks that match the specified search query.
* @param query Keyword used for searching bookmarks. * @param query Keyword used for searching bookmarks.
@@ -1319,6 +1561,39 @@ public class BookmarkBridge { @@ -869,6 +1111,39 @@ class BookmarkBridge {
depthList.add(depth); depthList.add(depth);
} }
@@ -529,7 +532,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) { private static List<Pair<Integer, Integer>> createPairsList(int[] left, int[] right) {
List<Pair<Integer, Integer>> pairList = new ArrayList<Pair<Integer, Integer>>(); List<Pair<Integer, Integer>> pairList = new ArrayList<Pair<Integer, Integer>>();
for (int i = 0; i < left.length; i++) { for (int i = 0; i < left.length; i++) {
@@ -1389,6 +1664,9 @@ public class BookmarkBridge { @@ -901,6 +1176,9 @@ class BookmarkBridge {
int getChildCount(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type); int getChildCount(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type);
void getChildIDs(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type, void getChildIDs(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type,
List<BookmarkId> bookmarksList); List<BookmarkId> bookmarksList);
@@ -542,7 +545,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/BookmarkDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
@@ -67,6 +67,16 @@ interface BookmarkDelegate { @@ -79,6 +79,16 @@ public interface BookmarkDelegate {
*/ */
void openSearchUI(); void openSearchUI();
@@ -562,7 +565,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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
@@ -35,6 +35,8 @@ import org.chromium.components.browser_ui.util.ConversionUtils; @@ -36,6 +36,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.dragreorder.DragStateDelegate;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListLayout; import org.chromium.components.browser_ui.widget.selectable_list.SelectableListLayout;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar.SearchDelegate; import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar.SearchDelegate;
@@ -571,7 +574,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.browser_ui.widget.selectable_list.SelectionDelegate;
import org.chromium.components.favicon.LargeIconBridge; import org.chromium.components.favicon.LargeIconBridge;
import org.chromium.url.GURL; import org.chromium.url.GURL;
@@ -57,6 +59,8 @@ public class BookmarkManager @@ -59,6 +61,8 @@ public class BookmarkManager
private ComponentName mOpenBookmarkComponentName; private ComponentName mOpenBookmarkComponentName;
private ViewGroup mMainView; private ViewGroup mMainView;
private BookmarkModel mBookmarkModel; private BookmarkModel mBookmarkModel;
@@ -580,7 +583,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private BookmarkUndoController mUndoController; private BookmarkUndoController mUndoController;
private final ObserverList<BookmarkUIObserver> mUIObservers = new ObserverList<>(); private final ObserverList<BookmarkUIObserver> mUIObservers = new ObserverList<>();
private BasicNativePage mNativePage; private BasicNativePage mNativePage;
@@ -351,6 +355,14 @@ public class BookmarkManager @@ -344,6 +348,14 @@ public class BookmarkManager
mNativePage = nativePage; mNativePage = nativePage;
} }
@@ -595,7 +598,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 * @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 * yet in this session, on phone return last used state stored in preference; on tablet
@@ -531,6 +543,16 @@ public class BookmarkManager @@ -540,6 +552,16 @@ public class BookmarkManager
} }
} }
@@ -653,7 +656,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
import org.chromium.chrome.browser.app.download.home.DownloadPage; import org.chromium.chrome.browser.app.download.home.DownloadPage;
import org.chromium.chrome.browser.bookmarks.BookmarkPage; import org.chromium.chrome.browser.bookmarks.BookmarkPage;
import org.chromium.chrome.browser.browser_controls.BrowserControlsMarginSupplier; import org.chromium.chrome.browser.browser_controls.BrowserControlsMarginSupplier;
@@ -54,7 +55,7 @@ import org.chromium.ui.util.ColorUtils; @@ -55,7 +56,7 @@ import org.chromium.ui.util.ColorUtils;
* Creates NativePage objects to show chrome-native:// URLs using the native Android view system. * Creates NativePage objects to show chrome-native:// URLs using the native Android view system.
*/ */
public class NativePageFactory { public class NativePageFactory {
@@ -662,7 +665,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
private final BottomSheetController mBottomSheetController; private final BottomSheetController mBottomSheetController;
private final BrowserControlsManager mBrowserControlsManager; private final BrowserControlsManager mBrowserControlsManager;
private final Supplier<Tab> mCurrentTabSupplier; private final Supplier<Tab> mCurrentTabSupplier;
@@ -71,7 +72,7 @@ public class NativePageFactory { @@ -73,7 +74,7 @@ public class NativePageFactory {
private NativePageBuilder mNativePageBuilder; private NativePageBuilder mNativePageBuilder;
@@ -671,7 +674,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
@NonNull BottomSheetController sheetController, @NonNull BottomSheetController sheetController,
@NonNull BrowserControlsManager browserControlsManager, @NonNull BrowserControlsManager browserControlsManager,
@NonNull Supplier<Tab> currentTabSupplier, @NonNull Supplier<Tab> currentTabSupplier,
@@ -119,7 +120,7 @@ public class NativePageFactory { @@ -124,7 +125,7 @@ public class NativePageFactory {
@VisibleForTesting @VisibleForTesting
static class NativePageBuilder { static class NativePageBuilder {
@@ -680,16 +683,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
private final BottomSheetController mBottomSheetController; private final BottomSheetController mBottomSheetController;
private final Supplier<NewTabPageUma> mUma; private final Supplier<NewTabPageUma> mUma;
private final BrowserControlsManager mBrowserControlsManager; private final BrowserControlsManager mBrowserControlsManager;
@@ -132,7 +133,7 @@ public class NativePageFactory { @@ -138,7 +139,7 @@ public class NativePageFactory {
private final JankTracker mJankTracker;
private final Supplier<Toolbar> mToolbarSupplier; private final Supplier<Toolbar> mToolbarSupplier;
private final CrowButtonDelegate mCrowButtonDelegate;
- public NativePageBuilder(Activity activity, Supplier<NewTabPageUma> uma, - public NativePageBuilder(Activity activity, Supplier<NewTabPageUma> uma,
+ public NativePageBuilder(ChromeActivity activity, Supplier<NewTabPageUma> uma, + public NativePageBuilder(ChromeActivity activity, Supplier<NewTabPageUma> uma,
BottomSheetController sheetController, BottomSheetController sheetController,
BrowserControlsManager browserControlsManager, Supplier<Tab> currentTabSupplier, BrowserControlsManager browserControlsManager, Supplier<Tab> currentTabSupplier,
Supplier<SnackbarManager> snackbarManagerSupplier, Supplier<SnackbarManager> snackbarManagerSupplier,
@@ -169,7 +170,7 @@ public class NativePageFactory { @@ -177,7 +178,7 @@ public class NativePageFactory {
protected NativePage buildBookmarksPage(Tab tab) { protected NativePage buildBookmarksPage(Tab tab) {
return new BookmarkPage(mActivity.getComponentName(), mSnackbarManagerSupplier.get(), return new BookmarkPage(mActivity.getComponentName(), mSnackbarManagerSupplier.get(),
mTabModelSelector.isIncognitoSelected(), mTabModelSelector.isIncognitoSelected(),
@@ -701,9 +704,18 @@ 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 diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn
@@ -1845,6 +1845,13 @@ static_library("browser") { @@ -214,6 +214,8 @@ static_library("browser") {
"webid/federated_identity_sharing_permission_context_factory.h", "bluetooth/chrome_bluetooth_delegate_impl_client.h",
] "bookmarks/bookmark_model_factory.cc",
"bookmarks/bookmark_model_factory.h",
+ "bookmarks/bookmark_html_writer.cc",
+ "bookmarks/bookmark_html_writer.h",
"bookmarks/chrome_bookmark_client.cc",
"bookmarks/chrome_bookmark_client.h",
"bookmarks/managed_bookmark_service_factory.cc",
@@ -1877,6 +1879,13 @@ static_library("browser") {
]
}
+ if (is_android) { + if (is_android) {
+ sources += [ + sources += [
@@ -715,28 +727,19 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
configs += [ configs += [
"//build/config/compiler:wexit_time_destructors", "//build/config/compiler:wexit_time_destructors",
"//build/config:precompiled_headers", "//build/config:precompiled_headers",
@@ -3003,6 +3010,8 @@ static_library("browser") { @@ -3551,8 +3560,6 @@ 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",
+ "bookmarks/bookmark_html_writer.cc",
+ "bookmarks/bookmark_html_writer.h",
"browser_process_platform_part_android.cc",
"browser_process_platform_part_android.h",
"chrome_browser_field_trials_mobile.cc",
@@ -3621,8 +3630,6 @@ static_library("browser") {
"badging/badge_manager_factory.h", "badging/badge_manager_factory.h",
"banners/app_banner_manager_desktop.cc", "banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h", "banners/app_banner_manager_desktop.h",
- "bookmarks/bookmark_html_writer.cc", - "bookmarks/bookmark_html_writer.cc",
- "bookmarks/bookmark_html_writer.h", - "bookmarks/bookmark_html_writer.h",
"bookmarks/url_and_id.h",
"cart/cart_db.cc", "cart/cart_db.cc",
"cart/cart_db.h", "cart/cart_db.h",
"cart/cart_discount_fetcher.cc",
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -8246,6 +8246,12 @@ const FeatureEntry kFeatureEntries[] = { @@ -9140,6 +9140,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)}, FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
#endif #endif
@@ -749,10 +752,10 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#if BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(IS_CHROMEOS_ASH)
{"snooping-protection", flag_descriptions::kSnoopingProtectionName, {"snooping-protection", flag_descriptions::kSnoopingProtectionName,
flag_descriptions::kSnoopingProtectionDescription, kOsCrOS, flag_descriptions::kSnoopingProtectionDescription, kOsCrOS,
diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browser/android/bookmarks/bookmark_bridge.cc diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
--- a/chrome/browser/android/bookmarks/bookmark_bridge.cc --- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
+++ b/chrome/browser/android/bookmarks/bookmark_bridge.cc +++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
@@ -56,6 +56,25 @@ @@ -55,6 +55,25 @@
#include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents.h"
@@ -776,11 +779,11 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
+#include "content/public/browser/browser_task_traits.h" +#include "content/public/browser/browser_task_traits.h"
+ +
using base::android::AttachCurrentThread; using base::android::AttachCurrentThread;
using base::android::ConvertUTF8ToJavaString;
using base::android::ConvertUTF16ToJavaString; using base::android::ConvertUTF16ToJavaString;
@@ -72,8 +91,92 @@ using bookmarks::BookmarkNode; using base::android::ConvertUTF8ToJavaString;
using bookmarks::BookmarkType; @@ -72,8 +91,92 @@ using bookmarks::android::JavaBookmarkIdGetType;
using content::BrowserThread; using content::BrowserThread;
using power_bookmarks::PowerBookmarkMeta;
+namespace internal { +namespace internal {
+ +
@@ -871,7 +874,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
class BookmarkTitleComparer { class BookmarkTitleComparer {
public: public:
explicit BookmarkTitleComparer(BookmarkBridge* bookmark_bridge, explicit BookmarkTitleComparer(BookmarkBridge* bookmark_bridge,
@@ -160,6 +263,10 @@ BookmarkBridge::~BookmarkBridge() { @@ -158,6 +261,10 @@ BookmarkBridge::~BookmarkBridge() {
if (partner_bookmarks_shim_) if (partner_bookmarks_shim_)
partner_bookmarks_shim_->RemoveObserver(this); partner_bookmarks_shim_->RemoveObserver(this);
reading_list_manager_->RemoveObserver(this); reading_list_manager_->RemoveObserver(this);
@@ -882,7 +885,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
} }
void BookmarkBridge::Destroy(JNIEnv*, const JavaParamRef<jobject>&) { void BookmarkBridge::Destroy(JNIEnv*, const JavaParamRef<jobject>&) {
@@ -577,6 +684,182 @@ jint BookmarkBridge::GetTotalBookmarkCount( @@ -568,6 +675,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
return count; return count;
} }
@@ -1063,11 +1066,11 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
+} +}
+ +
void BookmarkBridge::SetBookmarkTitle(JNIEnv* env, void BookmarkBridge::SetBookmarkTitle(JNIEnv* env,
const JavaParamRef<jobject>& obj, const JavaParamRef<jobject>& obj,
jlong id, jlong id,
diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser/android/bookmarks/bookmark_bridge.h diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser/bookmarks/android/bookmark_bridge.h
--- a/chrome/browser/android/bookmarks/bookmark_bridge.h --- a/chrome/browser/bookmarks/android/bookmark_bridge.h
+++ b/chrome/browser/android/bookmarks/bookmark_bridge.h +++ b/chrome/browser/bookmarks/android/bookmark_bridge.h
@@ -18,6 +18,7 @@ @@ -18,6 +18,7 @@
#include "base/scoped_observation.h" #include "base/scoped_observation.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
@@ -1076,7 +1079,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_observer.h" #include "chrome/browser/profiles/profile_observer.h"
#include "chrome/browser/reading_list/android/reading_list_manager.h" #include "chrome/browser/reading_list/android/reading_list_manager.h"
@@ -27,6 +28,9 @@ @@ -26,6 +27,9 @@
#include "components/prefs/pref_change_registrar.h" #include "components/prefs/pref_change_registrar.h"
#include "url/android/gurl_android.h" #include "url/android/gurl_android.h"
@@ -1086,7 +1089,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
namespace bookmarks { namespace bookmarks {
class BookmarkModel; class BookmarkModel;
class ManagedBookmarkService; class ManagedBookmarkService;
@@ -42,7 +46,8 @@ class Profile; @@ -40,7 +44,8 @@ class Profile;
class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
public PartnerBookmarksShim::Observer, public PartnerBookmarksShim::Observer,
public ReadingListManager::Observer, public ReadingListManager::Observer,
@@ -1096,7 +1099,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
public: public:
BookmarkBridge(JNIEnv* env, BookmarkBridge(JNIEnv* env,
const base::android::JavaRef<jobject>& obj, const base::android::JavaRef<jobject>& obj,
@@ -62,6 +67,12 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, @@ -60,6 +65,12 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
bool IsDoingExtensiveChanges(JNIEnv* env, bool IsDoingExtensiveChanges(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj); const base::android::JavaParamRef<jobject>& obj);
@@ -1109,7 +1112,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
jboolean IsEditBookmarksEnabled(JNIEnv* env); jboolean IsEditBookmarksEnabled(JNIEnv* env);
void LoadEmptyPartnerBookmarkShimForTesting( void LoadEmptyPartnerBookmarkShimForTesting(
@@ -159,6 +170,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, @@ -157,6 +168,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
jlong id, jlong id,
jint type); jint type);
@@ -1125,7 +1128,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
void SetBookmarkTitle(JNIEnv* env, void SetBookmarkTitle(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj, const base::android::JavaParamRef<jobject>& obj,
jlong id, jlong id,
@@ -381,12 +401,16 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, @@ -348,12 +368,16 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
void DestroyJavaObject(); void DestroyJavaObject();
raw_ptr<Profile> profile_; raw_ptr<Profile> profile_;
@@ -1142,7 +1145,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
// Information about the Partner bookmarks (must check for IsLoaded()). // Information about the Partner bookmarks (must check for IsLoaded()).
// This is owned by profile. // This is owned by profile.
@@ -398,6 +422,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, @@ -365,6 +389,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
// Observes the profile destruction and creation. // Observes the profile destruction and creation.
base::ScopedObservation<Profile, ProfileObserver> profile_observation_{this}; base::ScopedObservation<Profile, ProfileObserver> profile_observation_{this};
@@ -1150,13 +1153,13 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
+ void FileSelectedImplOnUIThread(const base::FilePath& path, + void FileSelectedImplOnUIThread(const base::FilePath& path,
+ const std::string& contents); + const std::string& contents);
+ +
// A means of accessing metadata about bookmarks. // Weak pointers for creating callbacks that won't call into a destroyed
OptimizationGuideKeyedService* opt_guide_; // object.
base::WeakPtrFactory<BookmarkBridge> weak_ptr_factory_;
diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/bookmarks/bookmark_html_writer.cc diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/bookmarks/bookmark_html_writer.cc
--- a/chrome/browser/bookmarks/bookmark_html_writer.cc --- a/chrome/browser/bookmarks/bookmark_html_writer.cc
+++ b/chrome/browser/bookmarks/bookmark_html_writer.cc +++ b/chrome/browser/bookmarks/bookmark_html_writer.cc
@@ -26,6 +26,7 @@ @@ -27,6 +27,7 @@
#include "base/task/thread_pool.h" #include "base/task/thread_pool.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "base/values.h" #include "base/values.h"
@@ -1220,7 +1223,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
--- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java --- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
+++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java +++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
@@ -37,12 +37,12 @@ import java.util.ArrayList; @@ -36,12 +36,12 @@ import java.util.ArrayList;
public class DownloadLocationDialogCoordinator implements ModalDialogProperties.Controller { public class DownloadLocationDialogCoordinator implements ModalDialogProperties.Controller {
@NonNull @NonNull
private DownloadLocationDialogController mController; private DownloadLocationDialogController mController;
@@ -1236,7 +1239,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
private long mTotalBytes; private long mTotalBytes;
private @DownloadLocationDialogType int mDialogType; private @DownloadLocationDialogType int mDialogType;
private String mSuggestedPath; private String mSuggestedPath;
@@ -131,7 +131,7 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties. @@ -130,7 +130,7 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties.
* Called after retrieved the download directory options. * Called after retrieved the download directory options.
* @param dirs An list of available download directories. * @param dirs An list of available download directories.
*/ */
@@ -1248,8 +1251,8 @@ 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 diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc
@@ -5872,6 +5872,11 @@ const char kWebKioskEnableLacrosDescription[] = @@ -6643,6 +6643,11 @@ const char kVcControlsUiDescription[] =
"ChromeOS. When disabled, the Ash-chrome will be used";
#endif // BUILDFLAG(IS_CHROMEOS_ASH) #endif // BUILDFLAG(IS_CHROMEOS_ASH)
+const char kBookmarksExportUseSafName[] = "Use saf for bookmarks export"; +const char kBookmarksExportUseSafName[] = "Use saf for bookmarks export";
@@ -1263,9 +1266,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 diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h
@@ -3404,6 +3404,9 @@ extern const char kWebKioskEnableLacrosName[]; @@ -3851,6 +3851,9 @@ extern const char kDisableLacrosTtsSupportDescription[];
extern const char kWebKioskEnableLacrosDescription[]; extern const char kVcControlsUiName[];
#endif // BUILDFLAG(IS_CHROMEOS_ASH) extern const char kVcControlsUiDescription[];
+extern const char kBookmarksExportUseSafName[]; +extern const char kBookmarksExportUseSafName[];
+extern const char kBookmarksExportUseSafDescription[]; +extern const char kBookmarksExportUseSafDescription[];
@@ -1276,21 +1279,22 @@ 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 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 --- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/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[] = { @@ -186,6 +186,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kBulkTabRestore,
&kCastDeviceFilter, &kCastDeviceFilter,
&kCloseAllTabsModalDialog, &kClearOmniboxFocusAfterNavigation,
+ &kBookmarksExportUseSaf,
&kCloseTabSuggestions, &kCloseTabSuggestions,
+ &kBookmarksExportUseSaf,
&kCriticalPersistedTabData, &kCriticalPersistedTabData,
&kCommerceCoupons,
&kCCTBackgroundTab, &kCCTBackgroundTab,
@@ -854,6 +855,10 @@ const base::Feature kWebApkInstallService{"WebApkInstallService", @@ -1106,6 +1107,11 @@ BASE_FEATURE(kWebApkTrampolineOnInitialIntent,
const base::Feature kWebApkTrampolineOnInitialIntent{ "WebApkTrampolineOnInitialIntent",
"WebApkTrampolineOnInitialIntent", base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT);
+// disabled by default because of an issue on Android 6.0 +// disabled by default because of an issue on Android 6.0
+const base::Feature kBookmarksExportUseSaf{"BookmarksExportUseSaf", +BASE_FEATURE(kBookmarksExportUseSaf,
+ base::FEATURE_DISABLED_BY_DEFAULT}; + "BookmarksExportUseSaf",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ +
static jboolean JNI_ChromeFeatureList_IsEnabled( static jboolean JNI_ChromeFeatureList_IsEnabled(
JNIEnv* env, JNIEnv* env,
@@ -1298,29 +1302,29 @@ 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 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 --- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h +++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -154,6 +154,7 @@ extern const base::Feature kToolbarMicIphAndroid; @@ -158,6 +158,7 @@ BASE_DECLARE_FEATURE(kDiscoverFeedMultiColumn);
extern const base::Feature kToolbarUseHardwareBitmapDraw; BASE_DECLARE_FEATURE(kTabStripRedesign);
extern const base::Feature kTrustedWebActivityLocationDelegation; BASE_DECLARE_FEATURE(kTabSwitcherOnReturn);
extern const base::Feature kTrustedWebActivityNewDisclosure; BASE_DECLARE_FEATURE(kTabToGTSAnimation);
+extern const base::Feature kBookmarksExportUseSaf; +BASE_DECLARE_FEATURE(kBookmarksExportUseSaf);
extern const base::Feature kTrustedWebActivityPostMessage; BASE_DECLARE_FEATURE(kTestDefaultDisabled);
extern const base::Feature kTrustedWebActivityQualityEnforcement; BASE_DECLARE_FEATURE(kTestDefaultEnabled);
extern const base::Feature kTrustedWebActivityQualityEnforcementForced; BASE_DECLARE_FEATURE(kToolbarMicIphAndroid);
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 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 --- 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 +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -557,6 +557,7 @@ public abstract class ChromeFeatureList { @@ -580,6 +580,7 @@ public abstract class ChromeFeatureList {
public static final String WEB_APK_INSTALL_SERVICE = "WebApkInstallService"; public static final String USE_LIBUNWINDSTACK_NATIVE_UNWINDER_ANDROID =
public static final String XSURFACE_METRICS_REPORTING = "XsurfaceMetricsReporting"; "UseLibunwindstackNativeUnwinderAndroid";
public static final String WEB_OTP_CROSS_DEVICE_SIMPLE_STRING = "WebOtpCrossDeviceSimpleString"; public static final String VOICE_SEARCH_AUDIO_CAPTURE_POLICY = "VoiceSearchAudioCapturePolicy";
+ public static final String BOOKMARKS_EXPORT_USESAF = "BookmarksExportUseSaf"; + public static final String BOOKMARKS_EXPORT_USESAF = "BookmarksExportUseSaf";
public static final String VOICE_BUTTON_IN_TOP_TOOLBAR = "VoiceButtonInTopToolbar";
@NativeMethods public static final String VR_BROWSING_FEEDBACK = "VrBrowsingFeedback";
interface Natives { public static final String WEB_FEED = "WebFeed";
diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer/profile_writer.cc diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer/profile_writer.cc
--- a/chrome/browser/importer/profile_writer.cc --- a/chrome/browser/importer/profile_writer.cc
+++ b/chrome/browser/importer/profile_writer.cc +++ b/chrome/browser/importer/profile_writer.cc
@@ -105,12 +105,14 @@ void ProfileWriter::AddHistoryPage(const history::URLRows& page, @@ -106,12 +106,14 @@ void ProfileWriter::AddHistoryPage(const history::URLRows& page,
HistoryServiceFactory::GetForProfile(profile_, HistoryServiceFactory::GetForProfile(profile_,
ServiceAccessType::EXPLICIT_ACCESS) ServiceAccessType::EXPLICIT_ACCESS)
->AddPagesWithDetails(page, visit_source); ->AddPagesWithDetails(page, visit_source);
@@ -1335,7 +1339,7 @@ diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer
} }
void ProfileWriter::AddHomepage(const GURL& home_page) { void ProfileWriter::AddHomepage(const GURL& home_page) {
@@ -131,6 +133,16 @@ void ProfileWriter::AddBookmarks( @@ -132,6 +134,16 @@ void ProfileWriter::AddBookmarks(
return; return;
BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile_); BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile_);
@@ -1378,7 +1382,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 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 --- 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 +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -99,6 +99,8 @@ public final class ChromePreferenceKeys { @@ -113,6 +113,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_URL = "enhanced_bookmark_last_used_url";
public static final String BOOKMARKS_LAST_USED_PARENT = public static final String BOOKMARKS_LAST_USED_PARENT =
"enhanced_bookmark_last_used_parent_folder"; "enhanced_bookmark_last_used_parent_folder";
@@ -1387,14 +1391,14 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/** /**
* Whether Chrome is set as the default browser. * Whether Chrome is set as the default browser.
@@ -1017,6 +1019,7 @@ public final class ChromePreferenceKeys { @@ -1037,6 +1039,7 @@ public final class ChromePreferenceKeys {
ASSISTANT_VOICE_SEARCH_ENABLED, AUTOFILL_ASSISTANT_PROACTIVE_HELP_ENABLED,
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE, APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO, APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
+ BOOKMARKS_LAST_EXPORT_URI, + BOOKMARKS_LAST_EXPORT_URI,
APPLICATION_OVERRIDE_LANGUAGE, APPLICATION_OVERRIDE_LANGUAGE,
BLUETOOTH_NOTIFICATION_IDS,
CHROME_SURVEY_DOWNLOAD_ATTEMPTS.pattern(), CHROME_SURVEY_DOWNLOAD_ATTEMPTS.pattern(),
CHROME_SURVEY_PROMPT_DISPLAYED_TIMESTAMP.pattern(),
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1426,7 +1430,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 diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
--- a/chrome/common/BUILD.gn --- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn +++ b/chrome/common/BUILD.gn
@@ -383,6 +383,9 @@ static_library("common") { @@ -401,6 +401,9 @@ static_library("common_lib") {
sources += [ sources += [
"media/chrome_media_drm_bridge_client.cc", "media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h", "media/chrome_media_drm_bridge_client.h",
@@ -1439,7 +1443,7 @@ diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
--- a/chrome/utility/BUILD.gn --- a/chrome/utility/BUILD.gn
+++ b/chrome/utility/BUILD.gn +++ b/chrome/utility/BUILD.gn
@@ -78,8 +78,6 @@ static_library("utility") { @@ -89,8 +89,6 @@ static_library("utility") {
if (!is_android) { if (!is_android) {
sources += [ sources += [
@@ -1448,7 +1452,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
"importer/bookmarks_file_importer.cc", "importer/bookmarks_file_importer.cc",
"importer/bookmarks_file_importer.h", "importer/bookmarks_file_importer.h",
"importer/external_process_importer_bridge.cc", "importer/external_process_importer_bridge.cc",
@@ -196,6 +194,11 @@ static_library("utility") { @@ -215,6 +213,11 @@ static_library("utility") {
] ]
} }
@@ -1463,7 +1467,7 @@ 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 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 --- a/chrome/utility/importer/bookmark_html_reader.cc
+++ b/chrome/utility/importer/bookmark_html_reader.cc +++ b/chrome/utility/importer/bookmark_html_reader.cc
@@ -16,7 +16,9 @@ @@ -17,7 +17,9 @@
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "chrome/common/importer/imported_bookmark_entry.h" #include "chrome/common/importer/imported_bookmark_entry.h"
@@ -1563,7 +1567,7 @@ diff --git a/chrome/utility/importer/bookmark_html_reader.h b/chrome/utility/imp
diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java 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 --- a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
+++ b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java +++ b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
@@ -39,6 +39,7 @@ import org.chromium.base.task.AsyncTask; @@ -41,6 +41,7 @@ import org.chromium.base.task.AsyncTask;
import org.chromium.base.task.PostTask; import org.chromium.base.task.PostTask;
import org.chromium.base.task.TaskTraits; import org.chromium.base.task.TaskTraits;
import org.chromium.ui.R; import org.chromium.ui.R;
@@ -1571,7 +1575,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
import org.chromium.ui.UiUtils; import org.chromium.ui.UiUtils;
import org.chromium.ui.permissions.PermissionConstants; import org.chromium.ui.permissions.PermissionConstants;
@@ -58,6 +59,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick @@ -64,6 +65,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
private static final String TAG = "SelectFileDialog"; private static final String TAG = "SelectFileDialog";
private static final String IMAGE_TYPE = "image"; private static final String IMAGE_TYPE = "image";
private static final String VIDEO_TYPE = "video"; private static final String VIDEO_TYPE = "video";
@@ -1579,7 +1583,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 AUDIO_TYPE = "audio";
private static final String ALL_TYPES = "*/*"; private static final String ALL_TYPES = "*/*";
@@ -241,6 +243,11 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick @@ -258,6 +260,11 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
mFileTypes = fileTypes; mFileTypes = fileTypes;
} }
@@ -1591,16 +1595,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. * Creates and starts an intent based on the passed fileTypes and capture value.
* @param fileTypes MIME types requested (i.e. "image/*") * @param fileTypes MIME types requested (i.e. "image/*")
@@ -267,7 +274,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick @@ -284,7 +291,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
List<String> missingPermissions = new ArrayList<>(); List<String> missingPermissions = new ArrayList<>();
String storagePermission = Manifest.permission.READ_EXTERNAL_STORAGE; String storagePermission = Manifest.permission.READ_EXTERNAL_STORAGE;
boolean shouldUsePhotoPicker = shouldUsePhotoPicker(); boolean shouldUsePhotoPicker = shouldUsePhotoPicker();
- if (shouldUsePhotoPicker) { - if (shouldUsePhotoPicker) {
+ if (shouldUsePhotoPicker || shouldShowHtmlTypes()) { + if (shouldUsePhotoPicker || shouldShowHtmlTypes()) {
if (BuildInfo.isAtLeastT()) { // The permission scenario for accessing media has evolved a bit over the years:
if (!window.hasPermission(PermissionConstants.READ_MEDIA_IMAGES) // Early on, READ_EXTERNAL_STORAGE was required to access media, but that permission was
&& shouldShowImageTypes()) { // later deprecated. In its place (starting with Android T) READ_MEDIA_IMAGES and
@@ -308,7 +315,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick @@ -333,7 +340,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
} }
// TODO(finnur): Remove once we figure out the cause of crbug.com/950024. // TODO(finnur): Remove once we figure out the cause of crbug.com/950024.
@@ -1609,7 +1613,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
if (permissions.length != requestPermissions.length) { if (permissions.length != requestPermissions.length) {
throw new RuntimeException( throw new RuntimeException(
String.format("Permissions arrays misaligned: %d != %d", String.format("Permissions arrays misaligned: %d != %d",
@@ -322,7 +329,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick @@ -347,7 +354,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
} }
} }
@@ -1618,7 +1622,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
if (permissions[i].equals(storagePermission) if (permissions[i].equals(storagePermission)
|| permissions[i].equals(PermissionConstants.READ_MEDIA_IMAGES) || permissions[i].equals(PermissionConstants.READ_MEDIA_IMAGES)
|| permissions[i].equals( || permissions[i].equals(
@@ -523,6 +530,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick @@ -553,6 +560,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
} }
if (!mimeTypes.contains(mimeType)) mimeTypes.add(mimeType); if (!mimeTypes.contains(mimeType)) mimeTypes.add(mimeType);
} }
@@ -1626,7 +1630,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
return mimeTypes; return mimeTypes;
} }
@@ -828,6 +836,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick @@ -881,6 +889,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
return countAcceptTypesFor(superType) == mFileTypes.size(); return countAcceptTypesFor(superType) == mFileTypes.size();
} }
@@ -1640,9 +1644,9 @@ 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 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 --- a/ui/android/java/strings/android_ui_strings.grd
+++ b/ui/android/java/strings/android_ui_strings.grd +++ b/ui/android/java/strings/android_ui_strings.grd
@@ -178,6 +178,9 @@ @@ -184,6 +184,9 @@
<message name="IDS_OPENING_FILE_ERROR" desc="Toast when the browser is unable to open a file for upload. [CHAR_LIMIT=32]"> <message name="IDS_PERMISSION_DENIED_ERROR" desc="Toast when the browser is unable to open a file for upload due to missing permission. [CHAR_LIMIT=NONE]">
Failed to open selected file Unable to select media due to denied permissions
</message> </message>
+ <message name="IDS_SAVING_FILE_ERROR" desc="Toast when the browser is unable to save a file. [CHAR-LIMIT=32]"> + <message name="IDS_SAVING_FILE_ERROR" desc="Toast when the browser is unable to save a file. [CHAR-LIMIT=32]">
+ Failed to save selected file + Failed to save selected file
@@ -1653,8 +1657,8 @@ diff --git a/ui/android/java/strings/android_ui_strings.grd b/ui/android/java/st
diff --git a/ui/shell_dialogs/select_file_dialog.h b/ui/shell_dialogs/select_file_dialog.h diff --git a/ui/shell_dialogs/select_file_dialog.h b/ui/shell_dialogs/select_file_dialog.h
--- a/ui/shell_dialogs/select_file_dialog.h --- a/ui/shell_dialogs/select_file_dialog.h
+++ b/ui/shell_dialogs/select_file_dialog.h +++ b/ui/shell_dialogs/select_file_dialog.h
@@ -205,6 +205,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog @@ -210,6 +210,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
void* params); const GURL* caller = nullptr);
bool HasMultipleFileTypeChoices(); bool HasMultipleFileTypeChoices();
+ virtual void ShowToast(const std::string& message) = 0; + virtual void ShowToast(const std::string& message) = 0;
@@ -1665,7 +1669,7 @@ diff --git a/ui/shell_dialogs/select_file_dialog.h b/ui/shell_dialogs/select_fil
diff --git a/ui/shell_dialogs/select_file_dialog_android.cc b/ui/shell_dialogs/select_file_dialog_android.cc diff --git a/ui/shell_dialogs/select_file_dialog_android.cc b/ui/shell_dialogs/select_file_dialog_android.cc
--- a/ui/shell_dialogs/select_file_dialog_android.cc --- a/ui/shell_dialogs/select_file_dialog_android.cc
+++ b/ui/shell_dialogs/select_file_dialog_android.cc +++ b/ui/shell_dialogs/select_file_dialog_android.cc
@@ -140,6 +140,12 @@ void SelectFileDialogImpl::SelectFileImpl( @@ -142,6 +142,12 @@ void SelectFileDialogImpl::SelectFileImpl(
owning_window->GetJavaObject()); owning_window->GetJavaObject());
} }
@@ -1681,9 +1685,9 @@ diff --git a/ui/shell_dialogs/select_file_dialog_android.cc b/ui/shell_dialogs/s
diff --git a/ui/shell_dialogs/select_file_dialog_android.h b/ui/shell_dialogs/select_file_dialog_android.h diff --git a/ui/shell_dialogs/select_file_dialog_android.h b/ui/shell_dialogs/select_file_dialog_android.h
--- a/ui/shell_dialogs/select_file_dialog_android.h --- a/ui/shell_dialogs/select_file_dialog_android.h
+++ b/ui/shell_dialogs/select_file_dialog_android.h +++ b/ui/shell_dialogs/select_file_dialog_android.h
@@ -57,6 +57,8 @@ class SelectFileDialogImpl : public SelectFileDialog { @@ -58,6 +58,8 @@ class SelectFileDialogImpl : public SelectFileDialog {
gfx::NativeWindow owning_window, void* params,
void* params) override; const GURL* caller) override;
+ void ShowToast(const std::string& message) override; + void ShowToast(const std::string& message) override;
+ +
@@ -8,6 +8,8 @@ open external links in incognito flag.
Flags are mutually exclusive. Flags are mutually exclusive.
See also: https://github.com/bromite/bromite/issues/1474 See also: https://github.com/bromite/bromite/issues/1474
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../java/res/xml/privacy_preferences.xml | 10 ++++++++ .../java/res/xml/privacy_preferences.xml | 10 ++++++++
.../browser/LaunchIntentDispatcher.java | 22 +++++++++++++++++ .../browser/LaunchIntentDispatcher.java | 22 +++++++++++++++++
@@ -20,7 +22,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 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 --- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -55,6 +55,16 @@ @@ -58,6 +58,16 @@ found in the LICENSE file.
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings" android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
android:key="do_not_track" android:key="do_not_track"
android:title="@string/do_not_track_title"/> android:title="@string/do_not_track_title"/>
@@ -40,7 +42,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java --- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
@@ -44,6 +44,7 @@ import org.chromium.chrome.browser.notifications.NotificationPlatformBridge; @@ -45,6 +45,7 @@ import org.chromium.chrome.browser.notifications.NotificationPlatformBridge;
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations; import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
import org.chromium.chrome.browser.searchwidget.SearchActivity; import org.chromium.chrome.browser.searchwidget.SearchActivity;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
@@ -48,7 +50,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
import org.chromium.chrome.browser.translate.TranslateIntentHandler; import org.chromium.chrome.browser.translate.TranslateIntentHandler;
import org.chromium.chrome.browser.util.AndroidTaskUtils; import org.chromium.chrome.browser.util.AndroidTaskUtils;
import org.chromium.chrome.browser.vr.VrModuleProvider; import org.chromium.chrome.browser.vr.VrModuleProvider;
@@ -57,6 +58,8 @@ import java.lang.annotation.Retention; @@ -58,6 +59,8 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
import java.util.Set; import java.util.Set;
@@ -57,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
/** /**
* Dispatches incoming intents to the appropriate activity based on the current configuration and * Dispatches incoming intents to the appropriate activity based on the current configuration and
* Intent fired. * Intent fired.
@@ -273,6 +276,9 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega @@ -268,6 +271,9 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
*/ */
public static boolean isCustomTabIntent(Intent intent) { public static boolean isCustomTabIntent(Intent intent) {
if (intent == null) return false; if (intent == null) return false;
@@ -67,7 +69,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
if (CustomTabsIntent.shouldAlwaysUseBrowserUI(intent) if (CustomTabsIntent.shouldAlwaysUseBrowserUI(intent)
|| !intent.hasExtra(CustomTabsIntent.EXTRA_SESSION)) { || !intent.hasExtra(CustomTabsIntent.EXTRA_SESSION)) {
return false; return false;
@@ -292,6 +298,10 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega @@ -287,6 +293,10 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
newIntent.setData(uri); newIntent.setData(uri);
newIntent.setClassName(context, CustomTabActivity.class.getName()); newIntent.setClassName(context, CustomTabActivity.class.getName());
@@ -78,7 +80,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
// Since configureIntentForResizableCustomTab() might change the componenet/class // Since configureIntentForResizableCustomTab() might change the componenet/class
// associated with the passed intent, it needs to be called after #setClassName(context, // associated with the passed intent, it needs to be called after #setClassName(context,
// CustomTabActivity.class.getName()); // CustomTabActivity.class.getName());
@@ -411,6 +421,18 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega @@ -438,6 +448,18 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
if (Intent.ACTION_VIEW.equals(newIntent.getAction()) if (Intent.ACTION_VIEW.equals(newIntent.getAction())
&& !IntentHandler.wasIntentSenderChrome(newIntent)) { && !IntentHandler.wasIntentSenderChrome(newIntent)) {
@@ -100,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
@@ -36,6 +36,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable; @@ -35,6 +35,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -110,22 +112,22 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
/** /**
* A model class that parses the incoming intent for incognito Custom Tabs specific customization * A model class that parses the incoming intent for incognito Custom Tabs specific customization
* data. * data.
@@ -109,6 +112,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD @@ -108,6 +111,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
} }
private static boolean isIntentFromThirdPartyAllowed() { private static boolean isIntentFromThirdPartyAllowed() {
+ if (ContextUtils.getAppSharedPreferences() + if (ContextUtils.getAppSharedPreferences()
+ .getBoolean(PrivacySettings.PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, false)) + .getBoolean(PrivacySettings.PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, false))
+ return true; + return true;
return CachedFeatureFlags.isEnabled( return ChromeFeatureList.sCctIncognitoAvailableToThirdParty.isEnabled();
ChromeFeatureList.CCT_INCOGNITO_AVAILABLE_TO_THIRD_PARTY);
} }
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 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 --- 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 +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -83,6 +83,9 @@ public class PrivacySettings @@ -76,6 +76,9 @@ public class PrivacySettings
private ViewGroup mDialogContainer; private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private BottomSheetController mBottomSheetController; private IncognitoLockSettings mIncognitoLockSettings;
+ private ChromeSwitchPreference allowCustomTabIntentsPref; + private ChromeSwitchPreference allowCustomTabIntentsPref;
+ private ChromeSwitchPreference openExternalLinksPref; + private ChromeSwitchPreference openExternalLinksPref;
@@ -133,7 +135,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override @Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
PrivacyPreferencesManagerImpl privacyPrefManager = PrivacyPreferencesManagerImpl privacyPrefManager =
@@ -154,6 +157,9 @@ public class PrivacySettings @@ -135,6 +138,9 @@ public class PrivacySettings
updatePreferences(); updatePreferences();
} }
@@ -143,7 +145,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override @Override
public boolean onPreferenceChange(Preference preference, Object newValue) { public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey(); String key = preference.getKey();
@@ -170,6 +176,14 @@ public class PrivacySettings @@ -151,6 +157,14 @@ public class PrivacySettings
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) { } else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile()) UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue); .setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
@@ -158,7 +160,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
} }
return true; return true;
} }
@@ -192,6 +206,16 @@ public class PrivacySettings @@ -173,6 +187,16 @@ public class PrivacySettings
canMakePaymentPref.setChecked(prefService.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED)); canMakePaymentPref.setChecked(prefService.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
} }
@@ -194,7 +196,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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -4626,6 +4626,21 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p @@ -4783,6 +4783,21 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</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."> <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 Show original
</message> </message>
+11 -9
View File
@@ -3,6 +3,8 @@ Date: Tue, 31 Jan 2017 22:12:27 -0500
Subject: Add exit menu item Subject: Add exit menu item
Corrected Exit functionality Corrected Exit functionality
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/android/java/res/menu/main_menu.xml | 6 ++++++ chrome/android/java/res/menu/main_menu.xml | 6 ++++++
.../org/chromium/chrome/browser/ApplicationLifetime.java | 2 ++ .../org/chromium/chrome/browser/ApplicationLifetime.java | 2 ++
@@ -15,17 +17,17 @@ Corrected Exit functionality
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml 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 --- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml +++ b/chrome/android/java/res/menu/main_menu.xml
@@ -158,6 +158,9 @@ @@ -161,6 +161,9 @@ found in the LICENSE file.
android:icon="@drawable/ic_business" />
<item android:id="@+id/managed_by_menu_id" <item android:id="@+id/managed_by_menu_id"
android:title="@string/managed" /> android:title="@string/managed_browser"
android:icon="@drawable/ic_business" />
+ <item android:id="@+id/exit_id" + <item android:id="@+id/exit_id"
+ android:title="@string/menu_exit" + android:title="@string/menu_exit"
+ android:icon="@drawable/ic_exit_to_app_white_24dp" /> + android:icon="@drawable/ic_exit_to_app_white_24dp" />
</group> </group>
<!-- Items shown only in the tab switcher --> <!-- Items shown only in the tab switcher -->
@@ -184,6 +187,9 @@ @@ -187,6 +190,9 @@ found in the LICENSE file.
<item android:id="@id/preferences_id" <item android:id="@id/preferences_id"
android:title="@string/menu_settings" android:title="@string/menu_settings"
android:icon="@drawable/settings_cog" /> android:icon="@drawable/settings_cog" />
@@ -57,7 +59,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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -215,6 +215,8 @@ import java.util.HashSet; @@ -225,6 +225,8 @@ import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
@@ -66,7 +68,7 @@ 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 * 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. * are accessible via a chrome specific tab switching UI.
@@ -2137,6 +2139,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent @@ -2202,6 +2204,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
} else if (id == R.id.close_tab) { } else if (id == R.id.close_tab) {
getCurrentTabModel().closeTab(currentTab, true, false, true); getCurrentTabModel().closeTab(currentTab, true, false, true);
RecordUserAction.record("MobileTabClosed"); RecordUserAction.record("MobileTabClosed");
@@ -78,7 +80,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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/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; @@ -63,6 +63,7 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider; import org.chromium.chrome.browser.ActivityTabProvider;
import org.chromium.chrome.browser.ActivityUtils; import org.chromium.chrome.browser.ActivityUtils;
import org.chromium.chrome.browser.AppHooks; import org.chromium.chrome.browser.AppHooks;
@@ -86,7 +88,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.ChromeActivitySessionTracker;
import org.chromium.chrome.browser.ChromeApplicationImpl; import org.chromium.chrome.browser.ChromeApplicationImpl;
import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate; import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate;
@@ -2393,6 +2394,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent> @@ -2332,6 +2333,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true; return true;
} }
@@ -117,7 +119,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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3341,6 +3341,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p @@ -3470,6 +3470,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</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]"> <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 Dark theme
</message> </message>
@@ -4,6 +4,8 @@ Subject: Add flag for omnibox autocomplete filtering
Adds a flag that restricts whether search history, clipboard, bookmarks Adds a flag that restricts whether search history, clipboard, bookmarks
and internal chrome:// pages will be used for the autocomplete results. and internal chrome:// pages will be used for the autocomplete results.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/browser/about_flags.cc | 22 ++++++++++++++++++- chrome/browser/about_flags.cc | 22 ++++++++++++++++++-
.../browser/autocomplete_controller.cc | 11 ++++++++++ .../browser/autocomplete_controller.cc | 11 ++++++++++
@@ -15,7 +17,7 @@ and internal chrome:// pages will be used for the autocomplete results.
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -466,6 +466,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = { @@ -539,6 +539,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
#endif // BUILDFLAG(IS_ANDROID) #endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
@@ -38,8 +40,8 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNone[] = { const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNone[] = {
{"mode", "always-none"}}; {"mode", "always-none"}};
const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNewTab[] = { const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNewTab[] = {
@@ -3868,7 +3884,11 @@ const FeatureEntry kFeatureEntries[] = { @@ -4428,7 +4444,11 @@ const FeatureEntry kFeatureEntries[] = {
kOsMac | kOsLinux | kOsLacros | kOsWin, kOsMac | kOsLinux | kOsWin,
FEATURE_VALUE_TYPE(features::kSystemNotifications)}, FEATURE_VALUE_TYPE(features::kSystemNotifications)},
#endif // BUILDFLAG(ENABLE_SYSTEM_NOTIFICATIONS) && !BUILDFLAG(IS_CHROMEOS_ASH) #endif // BUILDFLAG(ENABLE_SYSTEM_NOTIFICATIONS) && !BUILDFLAG(IS_CHROMEOS_ASH)
-#if BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_ANDROID)
@@ -62,11 +64,11 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
+#include "base/command_line.h" +#include "base/command_line.h"
#include "base/feature_list.h" #include "base/feature_list.h"
#include "base/format_macros.h" #include "base/format_macros.h"
#include "base/metrics/histogram.h" #include "base/metrics/histogram_functions.h"
@@ -292,6 +294,15 @@ AutocompleteController::AutocompleteController( @@ -337,6 +339,15 @@ AutocompleteController::AutocompleteController(
is_cros_launcher_(is_cros_launcher),
search_service_worker_signal_sent_(false), search_service_worker_signal_sent_(false),
template_url_service_(provider_client_->GetTemplateURLService()) { template_url_service_(provider_client_->GetTemplateURLService()) {
provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes();
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("omnibox-autocomplete-filtering")) { + if (base::CommandLine::ForCurrentProcess()->HasSwitch("omnibox-autocomplete-filtering")) {
+ const std::string flag_value = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("omnibox-autocomplete-filtering"); + const std::string flag_value = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("omnibox-autocomplete-filtering");
+ provider_types &= AutocompleteProvider::TYPE_KEYWORD | AutocompleteProvider::TYPE_SEARCH | + provider_types &= AutocompleteProvider::TYPE_KEYWORD | AutocompleteProvider::TYPE_SEARCH |
@@ -76,13 +78,13 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
+ if (!base::Contains(flag_value, "chrome")) + if (!base::Contains(flag_value, "chrome"))
+ provider_types &= ~AutocompleteProvider::TYPE_BUILTIN; + provider_types &= ~AutocompleteProvider::TYPE_BUILTIN;
+ } + }
if (provider_types & AutocompleteProvider::TYPE_BOOKMARK) provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes();
providers_.push_back(new BookmarkProvider(provider_client_.get()));
if (provider_types & AutocompleteProvider::TYPE_BUILTIN) if (OmniboxFieldTrial::kAutocompleteStabilityAsyncProvidersFirst.Get()) {
diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omnibox/browser/history_url_provider.cc 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 --- a/components/omnibox/browser/history_url_provider.cc
+++ b/components/omnibox/browser/history_url_provider.cc +++ b/components/omnibox/browser/history_url_provider.cc
@@ -472,6 +472,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input, @@ -475,6 +475,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input,
if (fixed_up_input.type() != metrics::OmniboxInputType::QUERY) if (fixed_up_input.type() != metrics::OmniboxInputType::QUERY)
matches_.push_back(what_you_typed_match); matches_.push_back(what_you_typed_match);
@@ -103,7 +105,7 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/
#include "base/feature_list.h" #include "base/feature_list.h"
#include "base/i18n/break_iterator.h" #include "base/i18n/break_iterator.h"
#include "base/i18n/case_conversion.h" #include "base/i18n/case_conversion.h"
@@ -646,6 +647,9 @@ void SearchProvider::Run(bool query_is_private) { @@ -671,6 +672,9 @@ void SearchProvider::Run(bool query_is_private) {
} }
void SearchProvider::DoHistoryQuery(bool minimal_changes) { void SearchProvider::DoHistoryQuery(bool minimal_changes) {
@@ -116,16 +118,16 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/
diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/url_fixer.cc diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/url_fixer.cc
--- a/components/url_formatter/url_fixer.cc --- a/components/url_formatter/url_fixer.cc
+++ b/components/url_formatter/url_fixer.cc +++ b/components/url_formatter/url_fixer.cc
@@ -9,6 +9,8 @@ @@ -7,6 +7,8 @@
#include <algorithm> #include <stddef.h>
#include "base/check_op.h" #include "base/check_op.h"
+#include "base/containers/contains.h" +#include "base/containers/contains.h"
+#include "base/command_line.h" +#include "base/command_line.h"
#include "base/files/file_path.h" #include "base/files/file_path.h"
#include "base/files/file_util.h" #include "base/files/file_util.h"
#include "base/ranges/algorithm.h" #include "base/i18n/char_iterator.h"
@@ -607,6 +609,8 @@ GURL FixupURL(const std::string& text, const std::string& desired_tld) { @@ -608,6 +610,8 @@ GURL FixupURL(const std::string& text, const std::string& desired_tld) {
FixupHost(trimmed, parts.host, parts.scheme.is_valid(), desired_tld, &url); FixupHost(trimmed, parts.host, parts.scheme.is_valid(), desired_tld, &url);
if (chrome_url && !parts.host.is_valid()) if (chrome_url && !parts.host.is_valid())
@@ -2,19 +2,20 @@ From: Wengling Chen <feiyu2817@gmail.com>
Date: Mon, 1 Feb 2021 19:18:55 +0200 Date: Mon, 1 Feb 2021 19:18:55 +0200
Subject: Add flag for save-data-header Subject: Add flag for save-data-header
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/browser/about_flags.cc | 5 ++++- chrome/browser/about_flags.cc | 5 ++++-
chrome/browser/flag_descriptions.cc | 4 ++++ chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++ chrome/browser/flag_descriptions.h | 3 +++
.../browser/loader/browser_initiated_resource_request.cc | 8 ++++++++ .../browser/loader/browser_initiated_resource_request.cc | 8 ++++++++
services/network/public/cpp/features.cc | 5 +++++ services/network/public/cpp/features.cc | 5 +++++
services/network/public/cpp/features.h | 3 ++- services/network/public/cpp/features.h | 2 +-
6 files changed, 26 insertions(+), 2 deletions(-) 6 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -4443,7 +4443,10 @@ const FeatureEntry kFeatureEntries[] = { @@ -5018,7 +5018,10 @@ const FeatureEntry kFeatureEntries[] = {
{"force-text-direction", flag_descriptions::kForceTextDirectionName, {"force-text-direction", flag_descriptions::kForceTextDirectionName,
flag_descriptions::kForceTextDirectionDescription, kOsAll, flag_descriptions::kForceTextDirectionDescription, kOsAll,
MULTI_VALUE_TYPE(kForceTextDirectionChoices)}, MULTI_VALUE_TYPE(kForceTextDirectionChoices)},
@@ -29,9 +30,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 diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc
@@ -1099,6 +1099,10 @@ const char kDisableKeepaliveFetchDescription[] = @@ -1222,6 +1222,10 @@ const char kDeprecateAltBasedSixPackDescription[] =
"Disable fetch with keepalive set " "Show deprecation notifications and disable functionality for Alt based "
"(https://fetch.spec.whatwg.org/#request-keepalive-flag)."; "six pack deprecations. The Search based versions continue to work.";
+const char kEnableSaveDataHeaderName[] = "Enable save-data header"; +const char kEnableSaveDataHeaderName[] = "Enable save-data header";
+const char kEnableSaveDataHeaderDescription[] = +const char kEnableSaveDataHeaderDescription[] =
@@ -43,9 +44,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 diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h
@@ -583,6 +583,9 @@ extern const char kDeprecateAltBasedSixPackDescription[]; @@ -650,6 +650,9 @@ extern const char kDeprecateAltClickDescription[];
extern const char kDisableKeepaliveFetchName[]; extern const char kDeprecateAltBasedSixPackName[];
extern const char kDisableKeepaliveFetchDescription[]; extern const char kDeprecateAltBasedSixPackDescription[];
+extern const char kEnableSaveDataHeaderName[]; +extern const char kEnableSaveDataHeaderName[];
+extern const char kEnableSaveDataHeaderDescription[]; +extern const char kEnableSaveDataHeaderDescription[];
@@ -83,30 +84,29 @@ 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 diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc --- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc +++ b/services/network/public/cpp/features.cc
@@ -20,6 +20,11 @@ namespace features { @@ -20,6 +20,11 @@ BASE_FEATURE(kExpectCTReporting,
const base::Feature kExpectCTReporting{"ExpectCTReporting", "ExpectCTReporting",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT);
+
+// Enable save-data header separately (without enabled data reduction service). +// Enable save-data header separately (without enabled data reduction service).
+const base::Feature kEnableSaveDataHeader{"EnableSaveDataHeader", +BASE_FEATURE(kEnableSaveDataHeader,
+ base::FEATURE_DISABLED_BY_DEFAULT}; + "EnableSaveDataHeader",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ +
const base::Feature kNetworkErrorLogging{"NetworkErrorLogging", BASE_FEATURE(kNetworkErrorLogging,
base::FEATURE_ENABLED_BY_DEFAULT}; "NetworkErrorLogging",
base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
--- a/services/network/public/cpp/features.h --- a/services/network/public/cpp/features.h
+++ b/services/network/public/cpp/features.h +++ b/services/network/public/cpp/features.h
@@ -47,7 +47,8 @@ COMPONENT_EXPORT(NETWORK_CPP) @@ -50,7 +50,7 @@ extern const base::FeatureParam<TrustTokenOriginTrialSpec>
extern const base::Feature kDisableKeepaliveFetch; kTrustTokenOperationsRequiringOriginTrial;
COMPONENT_EXPORT(NETWORK_CPP) COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kOpaqueResponseBlockingV01; extern const base::FeatureParam<bool> kPlatformProvidedTrustTokenIssuance;
- -
+COMPONENT_EXPORT(NETWORK_CPP) +COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kEnableSaveDataHeader);
+extern const base::Feature kEnableSaveDataHeader;
COMPONENT_EXPORT(NETWORK_CPP) COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kTrustTokens; BASE_DECLARE_FEATURE(kWebSocketReassembleShortMessages);
-- --
2.25.1 2.25.1
@@ -5,6 +5,8 @@ Subject: Add flag to configure maximum connections per host
With the introduction of this flag it is possible to increase the maximum With the introduction of this flag it is possible to increase the maximum
allowed connections per host; this can however be detrimental to devices allowed connections per host; this can however be detrimental to devices
with limited CPU/memory resources and it is disabled by default. with limited CPU/memory resources and it is disabled by default.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/browser/about_flags.cc | 8 ++++++++ chrome/browser/about_flags.cc | 8 ++++++++
chrome/browser/flag_descriptions.cc | 4 ++++ chrome/browser/flag_descriptions.cc | 4 ++++
@@ -19,8 +21,8 @@ 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 diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -882,6 +882,11 @@ const FeatureEntry::FeatureVariation @@ -1097,6 +1097,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
std::size(kIsolatedPrerenderPrefetchLimitFifteen), nullptr}, switches::kForceDisplayColorProfile, "hdr10"},
}; };
+const FeatureEntry::Choice kMaxConnectionsPerHostChoices[] = { +const FeatureEntry::Choice kMaxConnectionsPerHostChoices[] = {
@@ -31,7 +33,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
const FeatureEntry::Choice kMemlogModeChoices[] = { const FeatureEntry::Choice kMemlogModeChoices[] = {
{flags_ui::kGenericExperimentChoiceDisabled, "", ""}, {flags_ui::kGenericExperimentChoiceDisabled, "", ""},
{flag_descriptions::kMemlogModeMinimal, heap_profiling::kMemlogMode, {flag_descriptions::kMemlogModeMinimal, heap_profiling::kMemlogMode,
@@ -4417,6 +4422,9 @@ const FeatureEntry kFeatureEntries[] = { @@ -4917,6 +4922,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kAndroidPictureInPictureAPIName, flag_descriptions::kAndroidPictureInPictureAPIName,
flag_descriptions::kAndroidPictureInPictureAPIDescription, kOsAndroid, flag_descriptions::kAndroidPictureInPictureAPIDescription, kOsAndroid,
FEATURE_VALUE_TYPE(media::kPictureInPictureAPI)}, FEATURE_VALUE_TYPE(media::kPictureInPictureAPI)},
@@ -44,7 +46,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 diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc
@@ -1600,6 +1600,10 @@ const char kUnthrottledNestedTimeoutDescription[] = @@ -1830,6 +1830,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
"websites abusing the API will still eventually have their setTimeouts " "websites abusing the API will still eventually have their setTimeouts "
"clamped."; "clamped.";
@@ -58,7 +60,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 diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h
@@ -903,6 +903,9 @@ extern const char kLogJsConsoleMessagesDescription[]; @@ -1037,6 +1037,9 @@ extern const char kLogJsConsoleMessagesDescription[];
extern const char kUnthrottledNestedTimeoutName[]; extern const char kUnthrottledNestedTimeoutName[];
extern const char kUnthrottledNestedTimeoutDescription[]; extern const char kUnthrottledNestedTimeoutDescription[];
@@ -3,31 +3,33 @@ Date: Thu, 25 Oct 2018 23:13:34 +0200
Subject: Add flag to control video playback resume feature Subject: Add flag to control video playback resume feature
Disable it by default on Android as it is everywhere else Disable it by default on Android as it is everywhere else
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/browser/about_flags.cc | 4 ++++ chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 5 +++++ chrome/browser/flag_descriptions.cc | 5 +++++
chrome/browser/flag_descriptions.h | 3 +++ chrome/browser/flag_descriptions.h | 3 +++
media/base/media_switches.cc | 4 ---- media/base/media_switches.cc | 8 ++------
4 files changed, 12 insertions(+), 4 deletions(-) 4 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -3168,6 +3168,10 @@ const FeatureEntry kFeatureEntries[] = { @@ -3730,6 +3730,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebRtcRemoteEventLogName, SINGLE_VALUE_TYPE(extensions::switches::kExtensionsOnChromeURLs)},
flag_descriptions::kWebRtcRemoteEventLogDescription, kOsDesktop, #endif // ENABLE_EXTENSIONS
FEATURE_VALUE_TYPE(features::kWebRtcRemoteEventLog)}, #if BUILDFLAG(IS_ANDROID)
+ {"resume-background-video", + {"resume-background-video",
+ flag_descriptions::kResumeBackgroundVideoName, + flag_descriptions::kResumeBackgroundVideoName,
+ flag_descriptions::kResumeBackgroundVideoDescription, kOsAll, + flag_descriptions::kResumeBackgroundVideoDescription, kOsAll,
+ FEATURE_VALUE_TYPE(media::kResumeBackgroundVideo)}, + FEATURE_VALUE_TYPE(media::kResumeBackgroundVideo)},
#endif {"osk-resizes-visual-viewport-by-default",
{"enable-webrtc-srtp-aes-gcm", flag_descriptions::kWebrtcSrtpAesGcmName, flag_descriptions::kEnableOskResizesVisualViewportByDefaultName,
flag_descriptions::kWebrtcSrtpAesGcmDescription, kOsAll, flag_descriptions::kEnableOskResizesVisualViewportByDefaultDescription,
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc
@@ -1183,6 +1183,11 @@ const char kEnablePenetratingImageSelectionDescription[] = @@ -1317,6 +1317,11 @@ const char kEnablePenetratingImageSelectionDescription[] =
"Enables image options to be surfaced in the context menu for nodes " "Enables image options to be surfaced in the context menu for nodes "
"covered by transparent overlays."; "covered by transparent overlays.";
@@ -42,7 +44,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 diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h
@@ -646,6 +646,9 @@ extern const char kEnablePortalsDescription[]; @@ -722,6 +722,9 @@ extern const char kEnablePortalsDescription[];
extern const char kEnablePortalsCrossOriginName[]; extern const char kEnablePortalsCrossOriginName[];
extern const char kEnablePortalsCrossOriginDescription[]; extern const char kEnablePortalsCrossOriginDescription[];
@@ -55,17 +57,20 @@ 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 diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc --- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc +++ b/media/base/media_switches.cc
@@ -276,11 +276,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad", @@ -316,12 +316,8 @@ BASE_FEATURE(kPreloadMetadataLazyLoad,
// Let videos be resumed via remote controls (for example, the notification)
// when in background. // when in background.
const base::Feature kResumeBackgroundVideo { BASE_FEATURE(kResumeBackgroundVideo,
"resume-background-video", - "resume-background-video",
-#if BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_ANDROID)
- base::FEATURE_ENABLED_BY_DEFAULT - base::FEATURE_ENABLED_BY_DEFAULT
-#else -#else
base::FEATURE_DISABLED_BY_DEFAULT - base::FEATURE_DISABLED_BY_DEFAULT
-#endif -#endif
}; + "resume-background-video", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
);
// Experimental: Try to avoid destroying the media player when transferring a // When enabled, MediaCapabilities will check with GPU Video Accelerator
-- --
2.25.1 2.25.1
@@ -2,6 +2,7 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 18 Nov 2018 13:06:49 +0100 Date: Sun, 18 Nov 2018 13:06:49 +0100
Subject: Add flag to disable IPv6 probes Subject: Add flag to disable IPv6 probes
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/browser/about_flags.cc | 4 ++++ chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 4 ++++ chrome/browser/flag_descriptions.cc | 4 ++++
@@ -9,14 +10,14 @@ Subject: Add flag to disable IPv6 probes
components/subresource_filter/tools/BUILD.gn | 6 ++++++ components/subresource_filter/tools/BUILD.gn | 6 ++++++
.../url_formatter/spoof_checks/top_domains/BUILD.gn | 3 ++- .../url_formatter/spoof_checks/top_domains/BUILD.gn | 3 ++-
net/dns/host_resolver_manager.cc | 9 ++++++++- net/dns/host_resolver_manager.cc | 9 ++++++++-
services/network/public/cpp/features.cc | 4 ++++ services/network/public/cpp/features.cc | 5 +++++
services/network/public/cpp/features.h | 2 ++ services/network/public/cpp/features.h | 1 +
8 files changed, 33 insertions(+), 2 deletions(-) 8 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -5333,6 +5333,10 @@ const FeatureEntry kFeatureEntries[] = { @@ -6166,6 +6166,10 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-reader-mode-in-cct", flag_descriptions::kReaderModeInCCTName, {"enable-reader-mode-in-cct", flag_descriptions::kReaderModeInCCTName,
flag_descriptions::kReaderModeInCCTDescription, kOsAndroid, flag_descriptions::kReaderModeInCCTDescription, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)}, FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
@@ -26,13 +27,13 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+ FEATURE_VALUE_TYPE(network::features::kIPv6Probing)}, + FEATURE_VALUE_TYPE(network::features::kIPv6Probing)},
#endif // BUILDFLAG(IS_ANDROID) #endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ {"shopping-list", commerce::flag_descriptions::kShoppingListName,
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc
@@ -3017,6 +3017,10 @@ const char kCCTResizableForThirdPartiesName[] = @@ -3517,6 +3517,10 @@ const char kCCTRealTimeEngagementSignalsDescription[] =
const char kCCTResizableForThirdPartiesDescription[] = "Enables sending real-time engagement signals (e.g. scroll) through "
"Enable bottom sheet Custom Tabs for third party apps."; "CustomTabsCallback.";
+const char kIPv6ProbingName[] = "Enable IPv6 probing."; +const char kIPv6ProbingName[] = "Enable IPv6 probing.";
+const char kIPv6ProbingDescription[] = +const char kIPv6ProbingDescription[] =
@@ -44,7 +45,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h
@@ -715,6 +715,9 @@ extern const char kEnableWasmLazyCompilationName[]; @@ -788,6 +788,9 @@ extern const char kEnableWasmLazyCompilationName[];
extern const char kEnableWasmLazyCompilationDescription[]; extern const char kEnableWasmLazyCompilationDescription[];
extern const char kEnableWasmTieringName[]; extern const char kEnableWasmTieringName[];
@@ -108,7 +109,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
#include "net/log/net_log_with_source.h" #include "net/log/net_log_with_source.h"
#include "net/socket/client_socket_factory.h" #include "net/socket/client_socket_factory.h"
#include "net/socket/datagram_client_socket.h" #include "net/socket/datagram_client_socket.h"
@@ -4129,8 +4130,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) { @@ -3758,8 +3759,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
if (last_ipv6_probe_time_.is_null() || if (last_ipv6_probe_time_.is_null() ||
(tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() > (tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
kIPv6ProbePeriodMs) { kIPv6ProbePeriodMs) {
@@ -127,13 +128,14 @@ 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 diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc --- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc +++ b/services/network/public/cpp/features.cc
@@ -36,6 +36,10 @@ const base::Feature kReporting{"Reporting", base::FEATURE_ENABLED_BY_DEFAULT}; @@ -38,6 +38,11 @@ BASE_FEATURE(kThrottleDelayable,
const base::Feature kThrottleDelayable{"ThrottleDelayable", "ThrottleDelayable",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT);
+// Enable IPv6 ping probes to RIPE DNS. +// Enable IPv6 ping probes to RIPE DNS.
+const base::Feature kIPv6Probing{"IPv6Probing", +BASE_FEATURE(kIPv6Probing,
+ base::FEATURE_ENABLED_BY_DEFAULT}; + "IPv6Probing",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+ +
// When kPriorityRequestsDelayableOnSlowConnections is enabled, HTTP // When kPriorityRequestsDelayableOnSlowConnections is enabled, HTTP
// requests fetched from a SPDY/QUIC/H2 proxies can be delayed by the // requests fetched from a SPDY/QUIC/H2 proxies can be delayed by the
@@ -141,14 +143,13 @@ 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 diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
--- a/services/network/public/cpp/features.h --- a/services/network/public/cpp/features.h
+++ b/services/network/public/cpp/features.h +++ b/services/network/public/cpp/features.h
@@ -18,6 +18,8 @@ extern const base::Feature kExpectCTReporting; @@ -17,6 +17,7 @@ COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kExpectCTReporting);
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kNetworkErrorLogging);
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kReporting);
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kThrottleDelayable);
+COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kIPv6Probing);
COMPONENT_EXPORT(NETWORK_CPP) COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kNetworkErrorLogging; BASE_DECLARE_FEATURE(kDelayRequestsOnMultiplexedConnections);
COMPONENT_EXPORT(NETWORK_CPP) COMPONENT_EXPORT(NETWORK_CPP)
+extern const base::Feature kIPv6Probing;
+COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kReporting;
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kThrottleDelayable;
-- --
2.25.1 2.25.1
@@ -2,6 +2,10 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Tue, 25 May 2021 19:46:14 +0200 Date: Tue, 25 May 2021 19:46:14 +0200
Subject: Add flag to disable external intent requests Subject: Add flag to disable external intent requests
Adds a new flag that allows to control the switch with same name;
when flag is disabled no external intent will ever be allowed, for any URL.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/browser/about_flags.cc | 3 +++ chrome/browser/about_flags.cc | 3 +++
chrome/browser/flag_descriptions.cc | 6 ++++++ chrome/browser/flag_descriptions.cc | 6 ++++++
@@ -11,7 +15,7 @@ Subject: Add flag to disable external intent requests
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -3148,6 +3148,9 @@ const FeatureEntry kFeatureEntries[] = { @@ -3692,6 +3692,9 @@ const FeatureEntry kFeatureEntries[] = {
{"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName, {"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName,
flag_descriptions::kUiPartialSwapDescription, kOsAll, flag_descriptions::kUiPartialSwapDescription, kOsAll,
SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)}, SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)},
@@ -24,7 +28,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 diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc
@@ -3391,6 +3391,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support"; @@ -3874,6 +3874,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
const char kPhotoPickerVideoSupportDescription[] = const char kPhotoPickerVideoSupportDescription[] =
"Enables video files to be shown in the Photo Picker dialog"; "Enables video files to be shown in the Photo Picker dialog";
@@ -40,9 +44,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 diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h
@@ -1938,6 +1938,9 @@ extern const char kQueryTilesDescription[]; @@ -2236,6 +2236,9 @@ extern const char kQueryTilesNTPDescription[];
extern const char kQueryTilesNTPName[]; extern const char kQueryTilesOnStartName[];
extern const char kQueryTilesNTPDescription[]; extern const char kQueryTilesOnStartDescription[];
extern const char kQueryTilesSingleTierName[]; extern const char kQueryTilesSingleTierName[];
+extern const char kDisableExternalIntentRequestsName[]; +extern const char kDisableExternalIntentRequestsName[];
+extern const char kDisableExternalIntentRequestsDescription[]; +extern const char kDisableExternalIntentRequestsDescription[];
@@ -2,23 +2,24 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 27 Jun 2021 17:35:39 +0200 Date: Sun, 27 Jun 2021 17:35:39 +0200
Subject: Add flag to disable vibration Subject: Add flag to disable vibration
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/browser/about_flags.cc | 4 ++++ chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 3 +++ chrome/browser/flag_descriptions.cc | 3 +++
chrome/browser/flag_descriptions.h | 2 ++ chrome/browser/flag_descriptions.h | 2 ++
content/child/runtime_features.cc | 1 + content/child/runtime_features.cc | 1 +
content/public/common/content_features.cc | 4 ++++ content/public/common/content_features.cc | 5 +++++
content/public/common/content_features.h | 2 ++ content/public/common/content_features.h | 2 ++
third_party/blink/public/platform/web_runtime_features.h | 1 + third_party/blink/public/platform/web_runtime_features.h | 1 +
.../blink/renderer/modules/vibration/vibration_controller.cc | 3 +++ .../blink/renderer/modules/vibration/vibration_controller.cc | 3 +++
.../blink/renderer/platform/exported/web_runtime_features.cc | 4 ++++ .../blink/renderer/platform/exported/web_runtime_features.cc | 4 ++++
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++++ .../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++++
10 files changed, 28 insertions(+) 10 files changed, 29 insertions(+)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -6670,6 +6670,10 @@ const FeatureEntry kFeatureEntries[] = { @@ -7623,6 +7623,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)}, FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)},
#endif #endif
@@ -32,20 +33,20 @@ 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 diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc
@@ -5608,6 +5608,9 @@ const char kDefaultCalculatorWebAppDescription[] = @@ -6271,6 +6271,9 @@ const char kLacrosScreenCoordinatesEnabledDescription[] =
"chrome app."; "moveBy, moveTo or session restore.";
#endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) #endif // #if BUILDFLAG(IS_CHROMEOS_LACROS)
+const char kEnableVibrationName[] = "Vibration"; +const char kEnableVibrationName[] = "Vibration";
+const char kEnableVibrationDescription[] = "Enable vibration API; an user gesture will still be needed."; +const char kEnableVibrationDescription[] = "Enable vibration API; an user gesture will still be needed.";
+ +
#if BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_CHROMEOS)
const char kDeprecateLowUsageCodecsName[] = "Deprecates low usage media codecs"; const char kAllowDefaultWebAppMigrationForChromeOsManagedUsersName[] =
const char kDeprecateLowUsageCodecsDescription[] = "Allow default web app migration for ChromeOS managed users";
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h
@@ -3406,6 +3406,8 @@ extern const char kWebUITabStripTabDragIntegrationName[]; @@ -3847,6 +3847,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
extern const char kWebUITabStripTabDragIntegrationDescription[]; extern const char kWebUITabStripTabDragIntegrationDescription[];
#endif // BUILDFLAG(ENABLE_WEBUI_TAB_STRIP) && BUILDFLAG(IS_CHROMEOS_ASH) #endif // BUILDFLAG(ENABLE_WEBUI_TAB_STRIP) && BUILDFLAG(IS_CHROMEOS_ASH)
@@ -57,7 +58,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
--- a/content/child/runtime_features.cc --- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc
@@ -100,6 +100,7 @@ void SetRuntimeFeatureDefaultsForPlatform( @@ -102,6 +102,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
if (command_line.HasSwitch(switches::kDisableMediaSessionAPI)) if (command_line.HasSwitch(switches::kDisableMediaSessionAPI))
WebRuntimeFeatures::EnableMediaSession(false); WebRuntimeFeatures::EnableMediaSession(false);
@@ -68,13 +69,14 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc --- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc +++ b/content/public/common/content_features.cc
@@ -121,6 +121,10 @@ const base::Feature kBackForwardCacheMemoryControls { @@ -131,6 +131,11 @@ BASE_FEATURE(kBackForwardCacheMemoryControls,
#endif #endif
}; );
+// Enables vibration; an user gesture will still be required if enabled. +// Enables vibration; an user gesture will still be required if enabled.
+const base::Feature kVibration{"Vibration", +BASE_FEATURE(kVibration,
+ base::FEATURE_DISABLED_BY_DEFAULT}; + "Vibration",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ +
// When this feature is enabled, private network requests initiated from // When this feature is enabled, private network requests initiated from
// non-secure contexts in the `public` address space are blocked. // non-secure contexts in the `public` address space are blocked.
@@ -82,38 +84,38 @@ 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 diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
--- a/content/public/common/content_features.h --- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h +++ b/content/public/common/content_features.h
@@ -318,6 +318,8 @@ CONTENT_EXPORT extern const base::FeatureParam<base::TimeDelta> @@ -322,6 +322,8 @@ CONTENT_EXPORT extern const base::FeatureParam<base::TimeDelta>
kCompositorLockTimeout; kCompositorLockTimeout;
#endif // BUILDFLAG(IS_ANDROID) #endif // BUILDFLAG(IS_ANDROID)
+CONTENT_EXPORT extern const base::Feature kVibration; +CONTENT_EXPORT BASE_DECLARE_FEATURE(kVibration);
+ +
#if BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_MAC)
CONTENT_EXPORT extern const base::Feature kDeviceMonitorMac; CONTENT_EXPORT BASE_DECLARE_FEATURE(kDeviceMonitorMac);
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h 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 --- a/third_party/blink/public/platform/web_runtime_features.h
+++ b/third_party/blink/public/platform/web_runtime_features.h +++ b/third_party/blink/public/platform/web_runtime_features.h
@@ -87,6 +87,7 @@ class WebRuntimeFeatures { @@ -70,6 +70,7 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFeatures : public WebRuntimeFeaturesBase {
BLINK_PLATFORM_EXPORT static void EnableBlockingFocusWithoutUserActivation( static void EnableFingerprintingCanvasMeasureTextNoise(bool);
bool); static void EnableFingerprintingCanvasImageDataNoise(bool);
BLINK_PLATFORM_EXPORT static void EnableCacheInlineScriptCode(bool); static void EnableFluentScrollbars(bool);
+ BLINK_PLATFORM_EXPORT static void EnableVibration(bool); + static void EnableVibration(bool);
BLINK_PLATFORM_EXPORT static void EnableCapabilityDelegationPaymentRequest(
bool enable); WebRuntimeFeatures() = delete;
BLINK_PLATFORM_EXPORT static void EnableClickPointerEvent(bool enable); };
diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.cc b/third_party/blink/renderer/modules/vibration/vibration_controller.cc diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.cc b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
--- a/third_party/blink/renderer/modules/vibration/vibration_controller.cc --- a/third_party/blink/renderer/modules/vibration/vibration_controller.cc
+++ b/third_party/blink/renderer/modules/vibration/vibration_controller.cc +++ b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
@@ -30,6 +30,7 @@ @@ -29,6 +29,7 @@
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/navigator.h" #include "third_party/blink/renderer/core/frame/navigator.h"
#include "third_party/blink/renderer/core/page/page.h" #include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/platform/mojo/mojo_helper.h"
+#include "third_party/blink/renderer/platform/runtime_enabled_features.h" +#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
// Maximum number of entries in a vibration pattern. // Maximum number of entries in a vibration pattern.
const unsigned kVibrationPatternLengthMax = 99; const unsigned kVibrationPatternLengthMax = 99;
@@ -149,6 +150,8 @@ bool VibrationController::vibrate(Navigator& navigator, @@ -152,6 +153,8 @@ bool VibrationController::vibrate(Navigator& navigator,
// reference to |window| or |navigator| was retained in another window. // reference to |window| or |navigator| was retained in another window.
if (!navigator.DomWindow()) if (!navigator.DomWindow())
return false; return false;
@@ -125,21 +127,21 @@ 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 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 --- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc +++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
@@ -164,6 +164,10 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) { @@ -52,6 +52,10 @@ void WebRuntimeFeatures::EnableTestOnlyFeatures(bool enable) {
RuntimeEnabledFeatures::SetScrollTopLeftInteropEnabled(enable); RuntimeEnabledFeatures::SetTestFeaturesEnabled(enable);
} }
+void WebRuntimeFeatures::EnableVibration(bool enable) { +void WebRuntimeFeatures::EnableVibration(bool enable) {
+ RuntimeEnabledFeatures::SetVibrationEnabled(enable); + RuntimeEnabledFeatures::SetVibrationEnabled(enable);
+} +}
+ +
void WebRuntimeFeatures::EnableKeyboardAccessibleTooltip(bool enable) { void WebRuntimeFeatures::EnableOriginTrialControlledFeatures(bool enable) {
RuntimeEnabledFeatures::SetKeyboardAccessibleTooltipEnabled(enable); RuntimeEnabledFeatures::SetOriginTrialControlledFeaturesEnabled(enable);
} }
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 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 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -1668,6 +1668,10 @@ @@ -1903,6 +1903,10 @@
name: "OrientationEvent", name: "OrientationEvent",
status: {"Android": "stable"}, status: {"Android": "stable"},
}, },
@@ -48,6 +48,9 @@ origins and allows to perform operations when all the tabs relating to that orig
deleting the session content settings of `UntilOriginClosed`. deleting the session content settings of `UntilOriginClosed`.
See also: https://github.com/bromite/bromite/issues/1549 See also: https://github.com/bromite/bromite/issues/1549
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../permissions/last_tab_standing_tracker.cc | 33 +++++++- .../permissions/last_tab_standing_tracker.cc | 33 +++++++-
.../permissions/last_tab_standing_tracker.h | 4 +- .../permissions/last_tab_standing_tracker.h | 4 +-
@@ -62,9 +65,6 @@ See also: https://github.com/bromite/bromite/issues/1549
components/content_settings/android/BUILD.gn | 1 + components/content_settings/android/BUILD.gn | 1 +
.../core/browser/content_settings_utils.cc | 29 +++++++ .../core/browser/content_settings_utils.cc | 29 +++++++
.../core/browser/content_settings_utils.h | 6 ++ .../core/browser/content_settings_utils.h | 6 ++
.../core/browser/host_content_settings_map.cc | 2 +-
.../core/common/content_settings.cc | 7 +-
.../core/common/content_settings.h | 4 +-
.../common/content_settings_constraints.h | 11 +++ .../common/content_settings_constraints.h | 11 +++
.../page_info/PageInfoController.java | 4 +- .../page_info/PageInfoController.java | 4 +-
.../PermissionParamsListBuilder.java | 13 ++- .../PermissionParamsListBuilder.java | 13 ++-
@@ -73,21 +73,21 @@ See also: https://github.com/bromite/bromite/issues/1549
components/page_info/page_info.h | 1 + components/page_info/page_info.h | 1 +
.../permissions/PermissionDialogDelegate.java | 13 +++ .../permissions/PermissionDialogDelegate.java | 13 +++
.../permissions/PermissionDialogModel.java | 81 ++++++++++++++++++- .../permissions/PermissionDialogModel.java | 81 ++++++++++++++++++-
.../android/permission_dialog_delegate.cc | 19 +++++ .../permission_dialog_delegate.cc | 19 +++++
.../android/permission_dialog_delegate.h | 1 + .../permission_dialog_delegate.h | 1 +
.../android/permission_prompt_android.cc | 8 ++ .../permission_prompt_android.cc | 8 ++
.../android/permission_prompt_android.h | 2 + .../permission_prompt_android.h | 2 +
.../android/permissions_android_strings.grd | 17 ++++ .../android/permissions_android_strings.grd | 17 ++++
.../geolocation_permission_context_android.cc | 35 ++++++-- .../geolocation_permission_context_android.cc | 35 ++++++--
.../geolocation_permission_context_android.h | 13 ++- .../geolocation_permission_context_android.h | 13 ++-
.../permissions/permission_context_base.cc | 50 ++++++++++-- .../permissions/permission_context_base.cc | 49 ++++++++++-
.../permissions/permission_context_base.h | 24 +++++- .../permissions/permission_context_base.h | 24 +++++-
components/permissions/permission_prompt.h | 3 +- components/permissions/permission_prompt.h | 3 +-
components/permissions/permission_request.cc | 34 +++++++- components/permissions/permission_request.cc | 34 +++++++-
components/permissions/permission_request.h | 17 +++- components/permissions/permission_request.h | 17 +++-
.../permissions/permission_request_manager.cc | 38 ++++++--- .../permissions/permission_request_manager.cc | 37 ++++++---
.../permissions/permission_request_manager.h | 11 ++- .../permissions/permission_request_manager.h | 11 ++-
38 files changed, 481 insertions(+), 62 deletions(-) 35 files changed, 472 insertions(+), 56 deletions(-)
diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/browser/permissions/last_tab_standing_tracker.cc diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/browser/permissions/last_tab_standing_tracker.cc
--- a/chrome/browser/permissions/last_tab_standing_tracker.cc --- a/chrome/browser/permissions/last_tab_standing_tracker.cc
@@ -171,20 +171,18 @@ diff --git a/chrome/browser/permissions/last_tab_standing_tracker.h b/chrome/bro
diff --git a/chrome/browser/permissions/last_tab_standing_tracker_factory.cc b/chrome/browser/permissions/last_tab_standing_tracker_factory.cc diff --git a/chrome/browser/permissions/last_tab_standing_tracker_factory.cc b/chrome/browser/permissions/last_tab_standing_tracker_factory.cc
--- a/chrome/browser/permissions/last_tab_standing_tracker_factory.cc --- a/chrome/browser/permissions/last_tab_standing_tracker_factory.cc
+++ b/chrome/browser/permissions/last_tab_standing_tracker_factory.cc +++ b/chrome/browser/permissions/last_tab_standing_tracker_factory.cc
@@ -33,7 +33,7 @@ bool LastTabStandingTrackerFactory::ServiceIsCreatedWithBrowserContext() const { @@ -31,5 +31,5 @@ bool LastTabStandingTrackerFactory::ServiceIsCreatedWithBrowserContext() const {
KeyedService* LastTabStandingTrackerFactory::BuildServiceInstanceFor( KeyedService* LastTabStandingTrackerFactory::BuildServiceInstanceFor(
content::BrowserContext* context) const { content::BrowserContext* context) const {
- return new LastTabStandingTracker(); - return new LastTabStandingTracker();
+ return new LastTabStandingTracker(context); + return new LastTabStandingTracker(context);
} }
content::BrowserContext* LastTabStandingTrackerFactory::GetBrowserContextToUse(
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -372,10 +372,7 @@ void ChromeBrowserMainExtraPartsProfiles:: @@ -415,10 +415,7 @@ void ChromeBrowserMainExtraPartsProfiles::
InstantServiceFactory::GetInstance(); FirstRunServiceFactory::GetInstance();
#endif #endif
LanguageModelManagerFactory::GetInstance(); LanguageModelManagerFactory::GetInstance();
- if (base::FeatureList::IsEnabled( - if (base::FeatureList::IsEnabled(
@@ -192,15 +190,15 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
- LastTabStandingTrackerFactory::GetInstance(); - LastTabStandingTrackerFactory::GetInstance();
- } - }
+ LastTabStandingTrackerFactory::GetInstance(); + LastTabStandingTrackerFactory::GetInstance();
login_detection::LoginDetectionKeyedServiceFactory::GetInstance();
#if !BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_ANDROID)
LoginUIServiceFactory::GetInstance(); captions::LiveCaptionControllerFactory::GetInstance();
if (base::FeatureList::IsEnabled(media::kLiveTranslate))
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
--- a/chrome/browser/ui/tab_helpers.cc --- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc +++ b/chrome/browser/ui/tab_helpers.cc
@@ -481,6 +481,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { @@ -487,6 +487,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
web_contents); PolicyAuditorBridge::CreateForWebContents(web_contents);
} PluginObserverAndroid::CreateForWebContents(web_contents);
video_tutorials::VideoTutorialTabHelper::CreateForWebContents(web_contents); video_tutorials::VideoTutorialTabHelper::CreateForWebContents(web_contents);
+ LastTabStandingTrackerTabHelper::CreateForWebContents(web_contents); + LastTabStandingTrackerTabHelper::CreateForWebContents(web_contents);
#else #else
@@ -252,16 +250,16 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
@@ -34,6 +34,7 @@ import org.chromium.components.browser_ui.settings.ManagedPreferencesUtils; @@ -35,6 +35,7 @@ import org.chromium.components.browser_ui.settings.SettingsUtils;
import org.chromium.components.browser_ui.settings.SettingsUtils; import org.chromium.components.browser_ui.settings.TextMessagePreference;
import org.chromium.components.content_settings.ContentSettingValues; import org.chromium.components.content_settings.ContentSettingValues;
import org.chromium.components.content_settings.ContentSettingsType; import org.chromium.components.content_settings.ContentSettingsType;
+import org.chromium.components.content_settings.SessionModel; +import org.chromium.components.content_settings.SessionModel;
import org.chromium.components.embedder_support.util.Origin; import org.chromium.components.embedder_support.util.Origin;
import org.chromium.content_public.browser.BrowserContextHandle; import org.chromium.content_public.browser.BrowserContextHandle;
import org.chromium.content_public.browser.ContentFeatureList;
@@ -525,6 +526,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment @@ -539,6 +540,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
return mSite.getPermissionInfo(type) != null && mSite.getPermissionInfo(type).isEmbargoed(); }
} }
+ private boolean isSessionPermission(@ContentSettingsType int type) { + private boolean isSessionPermission(@ContentSettingsType int type) {
@@ -272,7 +270,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
private void setUpClearDataPreference() { private void setUpClearDataPreference() {
ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA); ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA);
long usage = mSite.getTotalUsage(); long usage = mSite.getTotalUsage();
@@ -911,6 +917,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment @@ -970,6 +976,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
if (contentType == mHighlightedPermission) { if (contentType == mHighlightedPermission) {
switchPreference.setBackgroundColor(mHighlightColor); switchPreference.setBackgroundColor(mHighlightColor);
} }
@@ -294,7 +292,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
import org.chromium.components.location.LocationUtils; import org.chromium.components.location.LocationUtils;
import org.chromium.content_public.browser.BrowserContextHandle; import org.chromium.content_public.browser.BrowserContextHandle;
import org.chromium.url.GURL; import org.chromium.url.GURL;
@@ -54,7 +55,8 @@ public class WebsitePreferenceBridge { @@ -55,7 +56,8 @@ public class WebsitePreferenceBridge {
@CalledByNative @CalledByNative
private static void insertPermissionInfoIntoList(@ContentSettingsType int type, private static void insertPermissionInfoIntoList(@ContentSettingsType int type,
@@ -304,7 +302,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (type == ContentSettingsType.MEDIASTREAM_CAMERA if (type == ContentSettingsType.MEDIASTREAM_CAMERA
|| type == ContentSettingsType.MEDIASTREAM_MIC) { || type == ContentSettingsType.MEDIASTREAM_MIC) {
for (PermissionInfo info : list) { for (PermissionInfo info : list) {
@@ -63,7 +65,7 @@ public class WebsitePreferenceBridge { @@ -64,7 +66,7 @@ public class WebsitePreferenceBridge {
} }
} }
} }
@@ -316,7 +314,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/website_preference_bridge.cc b/components/browser_ui/site_settings/android/website_preference_bridge.cc diff --git a/components/browser_ui/site_settings/android/website_preference_bridge.cc b/components/browser_ui/site_settings/android/website_preference_bridge.cc
--- a/components/browser_ui/site_settings/android/website_preference_bridge.cc --- a/components/browser_ui/site_settings/android/website_preference_bridge.cc
+++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc +++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc
@@ -112,7 +112,8 @@ typedef void (*InfoListInsertionFunction)( @@ -122,7 +122,8 @@ typedef void (*InfoListInsertionFunction)(
const base::android::JavaRef<jobject>&, const base::android::JavaRef<jobject>&,
const base::android::JavaRef<jstring>&, const base::android::JavaRef<jstring>&,
const base::android::JavaRef<jstring>&, const base::android::JavaRef<jstring>&,
@@ -326,16 +324,16 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
void GetOrigins(JNIEnv* env, void GetOrigins(JNIEnv* env,
const JavaParamRef<jobject>& jbrowser_context_handle, const JavaParamRef<jobject>& jbrowser_context_handle,
@@ -153,7 +154,7 @@ void GetOrigins(JNIEnv* env, @@ -164,7 +165,7 @@ void GetOrigins(JNIEnv* env,
seen_origins.push_back(origin); seen_origins.push_back(origin);
insertionFunc(env, static_cast<int>(content_type), list, insertionFunc(env, static_cast<int>(content_type), list,
ConvertOriginToJavaString(env, origin), jembedder, ConvertOriginToJavaString(env, origin), jembedder,
- /*is_embargoed=*/false); - /*is_embargoed=*/false);
+ /*is_embargoed=*/false, static_cast<int>(settings_it.session_model)); + /*is_embargoed=*/false, static_cast<int>(settings_it.metadata.session_model));
} }
// Add any origins which have a default content setting value (thus skipped // Add any origins which have a default content setting value (thus skipped
@@ -176,7 +177,7 @@ void GetOrigins(JNIEnv* env, @@ -186,7 +187,7 @@ void GetOrigins(JNIEnv* env,
seen_origins.push_back(origin); seen_origins.push_back(origin);
insertionFunc(env, static_cast<int>(content_type), list, insertionFunc(env, static_cast<int>(content_type), list,
ConvertOriginToJavaString(env, origin), jembedder, ConvertOriginToJavaString(env, origin), jembedder,
@@ -347,7 +345,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd 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 --- a/components/browser_ui/strings/android/browser_ui_strings.grd
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd +++ b/components/browser_ui/strings/android/browser_ui_strings.grd
@@ -590,6 +590,11 @@ @@ -608,6 +608,11 @@
<message name="IDS_PAGE_INFO_URL_TRUNCATED" desc="Accessibility announcement when the URL in PageInfo switches from full to truncated display"> <message name="IDS_PAGE_INFO_URL_TRUNCATED" desc="Accessibility announcement when the URL in PageInfo switches from full to truncated display">
URL truncated URL truncated
</message> </message>
@@ -362,7 +360,7 @@ diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/comp
diff --git a/components/content_settings/android/BUILD.gn b/components/content_settings/android/BUILD.gn diff --git a/components/content_settings/android/BUILD.gn b/components/content_settings/android/BUILD.gn
--- a/components/content_settings/android/BUILD.gn --- a/components/content_settings/android/BUILD.gn
+++ b/components/content_settings/android/BUILD.gn +++ b/components/content_settings/android/BUILD.gn
@@ -57,6 +57,7 @@ java_cpp_enum("content_settings_enums_javagen") { @@ -58,6 +58,7 @@ java_cpp_enum("content_settings_enums_javagen") {
"../core/common/content_settings_types.h", "../core/common/content_settings_types.h",
"../core/common/cookie_controls_enforcement.h", "../core/common/cookie_controls_enforcement.h",
"../core/common/cookie_controls_status.h", "../core/common/cookie_controls_status.h",
@@ -373,7 +371,7 @@ diff --git a/components/content_settings/android/BUILD.gn b/components/content_s
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc 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 --- a/components/content_settings/core/browser/content_settings_utils.cc
+++ b/components/content_settings/core/browser/content_settings_utils.cc +++ b/components/content_settings/core/browser/content_settings_utils.cc
@@ -184,4 +184,33 @@ base::Time GetConstraintExpiration(const base::TimeDelta duration) { @@ -189,6 +189,35 @@ base::Time GetConstraintExpiration(const base::TimeDelta duration) {
return base::Time::Now() + duration; return base::Time::Now() + duration;
} }
@@ -391,13 +389,13 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
+ +
+bool IsConstraintSessionExpiration(const ContentSettingPatternSource& source, +bool IsConstraintSessionExpiration(const ContentSettingPatternSource& source,
+ LifetimeMode lifetime_mode) { + LifetimeMode lifetime_mode) {
+ if (source.session_model != content_settings::SessionModel::UserSession) + if (source.metadata.session_model != content_settings::SessionModel::UserSession)
+ return false; + return false;
+ +
+ LifetimeMode type; + LifetimeMode type;
+ if (source.expiration == base::Time()) { + if (source.metadata.expiration == base::Time()) {
+ type = LifetimeMode::UntilBrowserClosed; + type = LifetimeMode::UntilBrowserClosed;
+ } else if (source.expiration == (base::Time() + base::Hours(1))) { + } else if (source.metadata.expiration == (base::Time() + base::Hours(1))) {
+ type = LifetimeMode::OnlyThisTime; + type = LifetimeMode::OnlyThisTime;
+ } else { + } else {
+ type = LifetimeMode::UntilOriginClosed; + type = LifetimeMode::UntilOriginClosed;
@@ -406,13 +404,15 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
+ return lifetime_mode == type; + return lifetime_mode == type;
+} +}
+ +
} // namespace content_settings bool CanTrackLastVisit(ContentSettingsType type) {
#if BUILDFLAG(IS_ANDROID)
// The notification provider on Android does not support last visit tracking.
diff --git a/components/content_settings/core/browser/content_settings_utils.h b/components/content_settings/core/browser/content_settings_utils.h diff --git a/components/content_settings/core/browser/content_settings_utils.h b/components/content_settings/core/browser/content_settings_utils.h
--- a/components/content_settings/core/browser/content_settings_utils.h --- a/components/content_settings/core/browser/content_settings_utils.h
+++ b/components/content_settings/core/browser/content_settings_utils.h +++ b/components/content_settings/core/browser/content_settings_utils.h
@@ -73,6 +73,12 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints); @@ -76,6 +76,12 @@ base::Time GetConstraintExpiration(const base::TimeDelta duration);
// Returns the expiration time for a supplied |duration|. // Returns whether the given type supports tracking last_visit timestamps.
base::Time GetConstraintExpiration(const base::TimeDelta duration); bool CanTrackLastVisit(ContentSettingsType type);
+ContentSettingConstraints GetConstraintSessionExpiration(LifetimeMode lifetime_mode); +ContentSettingConstraints GetConstraintSessionExpiration(LifetimeMode lifetime_mode);
+ +
@@ -420,71 +420,9 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.h b
+ const ContentSettingPatternSource& source, + const ContentSettingPatternSource& source,
+ LifetimeMode lifetime_mode); + LifetimeMode lifetime_mode);
+ +
} // namespace content_settings // Get a timestamp with week-precision.
base::Time GetCoarseTime(base::Time time);
#endif // COMPONENTS_CONTENT_SETTINGS_CORE_BROWSER_CONTENT_SETTINGS_UTILS_H_
diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc
--- a/components/content_settings/core/browser/host_content_settings_map.cc
+++ b/components/content_settings/core/browser/host_content_settings_map.cc
@@ -824,7 +824,7 @@ void HostContentSettingsMap::AddSettingsForOneType(
settings->emplace_back(rule.primary_pattern, rule.secondary_pattern,
std::move(value),
kProviderNamesSourceMap[provider_type].provider_name,
- incognito, rule.expiration);
+ incognito, rule.expiration, rule.session_model);
}
}
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
@@ -156,13 +156,15 @@ ContentSettingPatternSource::ContentSettingPatternSource(
base::Value setting_value,
const std::string& source,
bool incognito,
- base::Time expiration)
+ base::Time expiration,
+ content_settings::SessionModel session_model)
: primary_pattern(primary_pattern),
secondary_pattern(secondary_pattern),
setting_value(std::move(setting_value)),
expiration(expiration),
source(source),
- incognito(incognito) {}
+ incognito(incognito),
+ session_model(session_model) {}
ContentSettingPatternSource::ContentSettingPatternSource() : incognito(false) {}
@@ -179,6 +181,7 @@ ContentSettingPatternSource& ContentSettingPatternSource::operator=(
expiration = other.expiration;
source = other.source;
incognito = other.incognito;
+ session_model = other.session_model;
return *this;
}
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
@@ -49,7 +49,8 @@ struct ContentSettingPatternSource {
base::Value setting_value,
const std::string& source,
bool incognito,
- base::Time expiration = base::Time());
+ base::Time expiration = base::Time(),
+ content_settings::SessionModel session_model = content_settings::SessionModel::Durable);
ContentSettingPatternSource(const ContentSettingPatternSource& other);
ContentSettingPatternSource();
ContentSettingPatternSource& operator=(
@@ -64,6 +65,7 @@ struct ContentSettingPatternSource {
base::Time expiration;
std::string source;
bool incognito;
+ content_settings::SessionModel session_model;
};
typedef std::vector<ContentSettingPatternSource> ContentSettingsForOneType;
diff --git a/components/content_settings/core/common/content_settings_constraints.h b/components/content_settings/core/common/content_settings_constraints.h diff --git a/components/content_settings/core/common/content_settings_constraints.h b/components/content_settings/core/common/content_settings_constraints.h
--- a/components/content_settings/core/common/content_settings_constraints.h --- a/components/content_settings/core/common/content_settings_constraints.h
+++ b/components/content_settings/core/common/content_settings_constraints.h +++ b/components/content_settings/core/common/content_settings_constraints.h
@@ -516,7 +454,7 @@ diff --git a/components/content_settings/core/common/content_settings_constraint
diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
--- a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java --- a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
+++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java +++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
@@ -383,9 +383,9 @@ public class PageInfoController implements PageInfoMainController, ModalDialogPr @@ -344,9 +344,9 @@ public class PageInfoController implements PageInfoMainController, ModalDialogPr
*/ */
@CalledByNative @CalledByNative
private void addPermissionSection(String name, String nameMidSentence, int type, private void addPermissionSection(String name, String nameMidSentence, int type,
@@ -554,7 +492,7 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_
} }
} }
@@ -123,13 +128,15 @@ public class PermissionParamsListBuilder { @@ -124,13 +129,15 @@ public class PermissionParamsListBuilder {
public final String nameMidSentence; public final String nameMidSentence;
public final int type; public final int type;
public final @ContentSettingValues int setting; public final @ContentSettingValues int setting;
@@ -574,7 +512,7 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_
diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc
--- a/components/page_info/android/page_info_controller_android.cc --- a/components/page_info/android/page_info_controller_android.cc
+++ b/components/page_info/android/page_info_controller_android.cc +++ b/components/page_info/android/page_info_controller_android.cc
@@ -158,6 +158,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( @@ -171,6 +171,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
std::map<ContentSettingsType, ContentSetting> std::map<ContentSettingsType, ContentSetting>
user_specified_settings_to_display; user_specified_settings_to_display;
@@ -583,7 +521,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
for (const auto& permission : permission_info_list) { for (const auto& permission : permission_info_list) {
if (base::Contains(permissions_to_display, permission.type)) { if (base::Contains(permissions_to_display, permission.type)) {
@@ -166,6 +168,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( @@ -179,6 +181,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
if (setting_to_display) { if (setting_to_display) {
user_specified_settings_to_display[permission.type] = user_specified_settings_to_display[permission.type] =
*setting_to_display; *setting_to_display;
@@ -592,7 +530,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
} }
} }
} }
@@ -182,7 +186,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( @@ -195,7 +199,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
ConvertUTF16ToJavaString(env, setting_title), ConvertUTF16ToJavaString(env, setting_title),
ConvertUTF16ToJavaString(env, setting_title_mid_sentence), ConvertUTF16ToJavaString(env, setting_title_mid_sentence),
static_cast<jint>(permission), static_cast<jint>(permission),
@@ -602,10 +540,10 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
} }
} }
@@ -195,7 +200,8 @@ void PageInfoControllerAndroid::SetPermissionInfo( @@ -208,7 +213,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
env, controller_jobject_, ConvertUTF16ToJavaString(env, object_title), env, controller_jobject_, ConvertUTF16ToJavaString(env, object_title),
ConvertUTF16ToJavaString(env, object_title), ConvertUTF16ToJavaString(env, object_title),
static_cast<jint>(chosen_object->ui_info.content_settings_type), static_cast<jint>(chosen_object->ui_info->content_settings_type),
- static_cast<jint>(CONTENT_SETTING_ALLOW)); - static_cast<jint>(CONTENT_SETTING_ALLOW));
+ static_cast<jint>(CONTENT_SETTING_ALLOW), + static_cast<jint>(CONTENT_SETTING_ALLOW),
+ /* is_user_session */ false); + /* is_user_session */ false);
@@ -615,19 +553,19 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
--- a/components/page_info/page_info.cc --- a/components/page_info/page_info.cc
+++ b/components/page_info/page_info.cc +++ b/components/page_info/page_info.cc
@@ -982,6 +982,8 @@ void PageInfo::PresentSitePermissions() { @@ -1189,6 +1189,8 @@ void PageInfo::PresentSitePermissions() {
permission_info.source = info.source; permission_info.source = info.source;
permission_info.is_one_time = permission_info.is_one_time = (info.metadata.session_model ==
(info.session_model == content_settings::SessionModel::OneTime); content_settings::SessionModel::OneTime);
+ permission_info.is_user_session = + permission_info.is_user_session =
+ (info.session_model == content_settings::SessionModel::UserSession); + (info.metadata.session_model == content_settings::SessionModel::UserSession);
if (info.primary_pattern == ContentSettingsPattern::Wildcard() && if (info.primary_pattern == ContentSettingsPattern::Wildcard() &&
info.secondary_pattern == ContentSettingsPattern::Wildcard()) { info.secondary_pattern == ContentSettingsPattern::Wildcard()) {
diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h
--- a/components/page_info/page_info.h --- a/components/page_info/page_info.h
+++ b/components/page_info/page_info.h +++ b/components/page_info/page_info.h
@@ -174,6 +174,7 @@ class PageInfo { @@ -181,6 +181,7 @@ class PageInfo : private content_settings::CookieControlsView {
content_settings::SettingSource source = content_settings::SettingSource source =
content_settings::SETTING_SOURCE_NONE; content_settings::SETTING_SOURCE_NONE;
bool is_one_time = false; bool is_one_time = false;
@@ -777,9 +715,9 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
} }
private static View loadDialogView(Context context) { private static View loadDialogView(Context context) {
diff --git a/components/permissions/android/permission_dialog_delegate.cc b/components/permissions/android/permission_dialog_delegate.cc diff --git a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
--- a/components/permissions/android/permission_dialog_delegate.cc --- a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
+++ b/components/permissions/android/permission_dialog_delegate.cc +++ b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
@@ -67,6 +67,11 @@ void PermissionDialogJavaDelegate::DismissDialog() { @@ -67,6 +67,11 @@ void PermissionDialogJavaDelegate::DismissDialog() {
Java_PermissionDialogDelegate_dismissFromNative(env, j_delegate_); Java_PermissionDialogDelegate_dismissFromNative(env, j_delegate_);
} }
@@ -819,9 +757,9 @@ diff --git a/components/permissions/android/permission_dialog_delegate.cc b/comp
permission_prompt_->Deny(); permission_prompt_->Deny();
} }
diff --git a/components/permissions/android/permission_dialog_delegate.h b/components/permissions/android/permission_dialog_delegate.h diff --git a/components/permissions/android/permission_prompt/permission_dialog_delegate.h b/components/permissions/android/permission_prompt/permission_dialog_delegate.h
--- a/components/permissions/android/permission_dialog_delegate.h --- a/components/permissions/android/permission_prompt/permission_dialog_delegate.h
+++ b/components/permissions/android/permission_dialog_delegate.h +++ b/components/permissions/android/permission_prompt/permission_dialog_delegate.h
@@ -35,6 +35,7 @@ class PermissionDialogJavaDelegate { @@ -35,6 +35,7 @@ class PermissionDialogJavaDelegate {
PermissionDialogDelegate* owner); PermissionDialogDelegate* owner);
virtual void CreateDialog(); virtual void CreateDialog();
@@ -830,10 +768,10 @@ diff --git a/components/permissions/android/permission_dialog_delegate.h b/compo
private: private:
base::android::ScopedJavaGlobalRef<jobject> j_delegate_; base::android::ScopedJavaGlobalRef<jobject> j_delegate_;
diff --git a/components/permissions/android/permission_prompt_android.cc b/components/permissions/android/permission_prompt_android.cc diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.cc b/components/permissions/android/permission_prompt/permission_prompt_android.cc
--- a/components/permissions/android/permission_prompt_android.cc --- a/components/permissions/android/permission_prompt/permission_prompt_android.cc
+++ b/components/permissions/android/permission_prompt_android.cc +++ b/components/permissions/android/permission_prompt/permission_prompt_android.cc
@@ -83,6 +83,14 @@ void PermissionPromptAndroid::Accept() { @@ -41,6 +41,14 @@ void PermissionPromptAndroid::Accept() {
delegate_->Accept(); delegate_->Accept();
} }
@@ -848,10 +786,10 @@ diff --git a/components/permissions/android/permission_prompt_android.cc b/compo
void PermissionPromptAndroid::Deny() { void PermissionPromptAndroid::Deny() {
delegate_->Deny(); delegate_->Deny();
} }
diff --git a/components/permissions/android/permission_prompt_android.h b/components/permissions/android/permission_prompt_android.h diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.h b/components/permissions/android/permission_prompt/permission_prompt_android.h
--- a/components/permissions/android/permission_prompt_android.h --- a/components/permissions/android/permission_prompt/permission_prompt_android.h
+++ b/components/permissions/android/permission_prompt_android.h +++ b/components/permissions/android/permission_prompt/permission_prompt_android.h
@@ -50,7 +50,9 @@ class PermissionPromptAndroid : public permissions::PermissionPrompt, @@ -43,7 +43,9 @@ class PermissionPromptAndroid : public PermissionPrompt {
void Closing(); void Closing();
void Accept(); void Accept();
@@ -921,7 +859,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
LogLocationSettingsMetric( LogLocationSettingsMetric(
kLocationSettingsSuppressMetricBase, is_default_search, kLocationSettingsSuppressMetricBase, is_default_search,
LocationSettingsBackOffLevel(is_default_search)); LocationSettingsBackOffLevel(is_default_search));
@@ -194,7 +208,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet( @@ -193,7 +207,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
!location_settings_dialog_callback_.is_null()) { !location_settings_dialog_callback_.is_null()) {
FinishNotifyPermissionSet(id, requesting_origin, embedding_origin, FinishNotifyPermissionSet(id, requesting_origin, embedding_origin,
std::move(callback), false /* persist */, std::move(callback), false /* persist */,
@@ -931,7 +869,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
// This case should be very rare, so just pretend it was a denied prompt // This case should be very rare, so just pretend it was a denied prompt
// for metrics purposes. // for metrics purposes.
LogLocationSettingsMetric( LogLocationSettingsMetric(
@@ -211,12 +226,13 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet( @@ -210,12 +225,13 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
base::BindOnce( base::BindOnce(
&GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown, &GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown,
weak_factory_.GetWeakPtr(), requesting_origin, embedding_origin, weak_factory_.GetWeakPtr(), requesting_origin, embedding_origin,
@@ -947,7 +885,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
} }
PermissionResult PermissionResult
@@ -383,6 +399,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown( @@ -382,6 +398,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
const GURL& embedding_origin, const GURL& embedding_origin,
bool persist, bool persist,
ContentSetting content_setting, ContentSetting content_setting,
@@ -955,7 +893,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
LocationSettingsDialogOutcome prompt_outcome) { LocationSettingsDialogOutcome prompt_outcome) {
bool is_default_search = IsRequestingOriginDSE(requesting_origin); bool is_default_search = IsRequestingOriginDSE(requesting_origin);
if (prompt_outcome == GRANTED) { if (prompt_outcome == GRANTED) {
@@ -410,7 +427,8 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown( @@ -405,7 +422,8 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
FinishNotifyPermissionSet( FinishNotifyPermissionSet(
location_settings_dialog_request_id_, requesting_origin, embedding_origin, location_settings_dialog_request_id_, requesting_origin, embedding_origin,
@@ -964,8 +902,8 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
+ is_one_time, lifetime_option); + is_one_time, lifetime_option);
location_settings_dialog_request_id_ = location_settings_dialog_request_id_ =
PermissionRequestID(0, 0, PermissionRequestID::RequestLocalId()); PermissionRequestID(content::GlobalRenderFrameHostId(0, 0),
@@ -422,10 +440,11 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet( @@ -418,10 +436,11 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
const GURL& embedding_origin, const GURL& embedding_origin,
BrowserPermissionCallback callback, BrowserPermissionCallback callback,
bool persist, bool persist,
@@ -983,7 +921,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
diff --git a/components/permissions/contexts/geolocation_permission_context_android.h b/components/permissions/contexts/geolocation_permission_context_android.h diff --git a/components/permissions/contexts/geolocation_permission_context_android.h b/components/permissions/contexts/geolocation_permission_context_android.h
--- a/components/permissions/contexts/geolocation_permission_context_android.h --- a/components/permissions/contexts/geolocation_permission_context_android.h
+++ b/components/permissions/contexts/geolocation_permission_context_android.h +++ b/components/permissions/contexts/geolocation_permission_context_android.h
@@ -88,6 +88,14 @@ class GeolocationPermissionContextAndroid @@ -87,6 +87,14 @@ class GeolocationPermissionContextAndroid
bool persist, bool persist,
ContentSetting content_setting, ContentSetting content_setting,
bool is_one_time) override; bool is_one_time) override;
@@ -998,7 +936,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
PermissionResult UpdatePermissionStatusWithDeviceStatus( PermissionResult UpdatePermissionStatusWithDeviceStatus(
PermissionResult result, PermissionResult result,
const GURL& requesting_origin, const GURL& requesting_origin,
@@ -130,6 +138,7 @@ class GeolocationPermissionContextAndroid @@ -129,6 +137,7 @@ class GeolocationPermissionContextAndroid
const GURL& embedding_origin, const GURL& embedding_origin,
bool persist, bool persist,
ContentSetting content_setting, ContentSetting content_setting,
@@ -1006,7 +944,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
LocationSettingsDialogOutcome prompt_outcome); LocationSettingsDialogOutcome prompt_outcome);
void FinishNotifyPermissionSet(const PermissionRequestID& id, void FinishNotifyPermissionSet(const PermissionRequestID& id,
@@ -137,7 +146,9 @@ class GeolocationPermissionContextAndroid @@ -136,7 +145,9 @@ class GeolocationPermissionContextAndroid
const GURL& embedding_origin, const GURL& embedding_origin,
BrowserPermissionCallback callback, BrowserPermissionCallback callback,
bool persist, bool persist,
@@ -1020,7 +958,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
diff --git a/components/permissions/permission_context_base.cc b/components/permissions/permission_context_base.cc diff --git a/components/permissions/permission_context_base.cc b/components/permissions/permission_context_base.cc
--- a/components/permissions/permission_context_base.cc --- a/components/permissions/permission_context_base.cc
+++ b/components/permissions/permission_context_base.cc +++ b/components/permissions/permission_context_base.cc
@@ -244,6 +244,20 @@ PermissionContextBase::CreatePermissionRequest( @@ -226,6 +226,20 @@ PermissionContextBase::CreatePermissionRequest(
std::move(delete_callback)); std::move(delete_callback));
} }
@@ -1041,7 +979,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
PermissionResult PermissionContextBase::GetPermissionStatus( PermissionResult PermissionContextBase::GetPermissionStatus(
content::RenderFrameHost* render_frame_host, content::RenderFrameHost* render_frame_host,
const GURL& requesting_origin, const GURL& requesting_origin,
@@ -436,7 +450,8 @@ void PermissionContextBase::PermissionDecided( @@ -405,7 +419,8 @@ void PermissionContextBase::PermissionDecided(
const GURL& embedding_origin, const GURL& embedding_origin,
BrowserPermissionCallback callback, BrowserPermissionCallback callback,
ContentSetting content_setting, ContentSetting content_setting,
@@ -1051,7 +989,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
DCHECK(content_setting == CONTENT_SETTING_ALLOW || DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
content_setting == CONTENT_SETTING_BLOCK || content_setting == CONTENT_SETTING_BLOCK ||
content_setting == CONTENT_SETTING_DEFAULT); content_setting == CONTENT_SETTING_DEFAULT);
@@ -444,9 +459,9 @@ void PermissionContextBase::PermissionDecided( @@ -413,9 +428,9 @@ void PermissionContextBase::PermissionDecided(
content_setting); content_setting);
bool persist = content_setting != CONTENT_SETTING_DEFAULT; bool persist = content_setting != CONTENT_SETTING_DEFAULT;
@@ -1063,7 +1001,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
} }
content::BrowserContext* PermissionContextBase::browser_context() const { content::BrowserContext* PermissionContextBase::browser_context() const {
@@ -496,11 +511,26 @@ void PermissionContextBase::NotifyPermissionSet( @@ -465,11 +480,26 @@ void PermissionContextBase::NotifyPermissionSet(
bool persist, bool persist,
ContentSetting content_setting, ContentSetting content_setting,
bool is_one_time) { bool is_one_time) {
@@ -1091,7 +1029,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
} }
UpdateTabContext(id, requesting_origin, UpdateTabContext(id, requesting_origin,
@@ -521,6 +551,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin, @@ -490,6 +520,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
const GURL& embedding_origin, const GURL& embedding_origin,
ContentSetting content_setting, ContentSetting content_setting,
bool is_one_time) { bool is_one_time) {
@@ -1107,20 +1045,19 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
DCHECK_EQ(requesting_origin, requesting_origin.DeprecatedGetOriginAsURL()); DCHECK_EQ(requesting_origin, requesting_origin.DeprecatedGetOriginAsURL());
DCHECK_EQ(embedding_origin, embedding_origin.DeprecatedGetOriginAsURL()); DCHECK_EQ(embedding_origin, embedding_origin.DeprecatedGetOriginAsURL());
DCHECK(content_setting == CONTENT_SETTING_ALLOW || DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
@@ -532,8 +571,7 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin, @@ -498,6 +537,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
->SetContentSettingDefaultScope( content_settings::ContentSettingConstraints constraints = {
requesting_origin, embedding_origin, content_settings_type_, base::Time(), is_one_time ? content_settings::SessionModel::OneTime
content_setting, : content_settings::SessionModel::Durable};
- is_one_time ? Constraints{base::Time(), + if (is_one_time)
- content_settings::SessionModel::OneTime} + constraints = content_settings::GetConstraintSessionExpiration(lifetime_option);
+ is_one_time ? content_settings::GetConstraintSessionExpiration(lifetime_option)
: Constraints());
}
#if !BUILDFLAG(IS_ANDROID)
if (base::FeatureList::IsEnabled(
diff --git a/components/permissions/permission_context_base.h b/components/permissions/permission_context_base.h diff --git a/components/permissions/permission_context_base.h b/components/permissions/permission_context_base.h
--- a/components/permissions/permission_context_base.h --- a/components/permissions/permission_context_base.h
+++ b/components/permissions/permission_context_base.h +++ b/components/permissions/permission_context_base.h
@@ -143,6 +143,14 @@ class PermissionContextBase : public KeyedService, @@ -138,6 +138,14 @@ class PermissionContextBase : public content_settings::Observer {
// Updates stored content setting if persist is set, updates tab indicators // Updates stored content setting if persist is set, updates tab indicators
// and runs the callback to finish the request. // and runs the callback to finish the request.
@@ -1135,7 +1072,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
virtual void NotifyPermissionSet(const PermissionRequestID& id, virtual void NotifyPermissionSet(const PermissionRequestID& id,
const GURL& requesting_origin, const GURL& requesting_origin,
const GURL& embedding_origin, const GURL& embedding_origin,
@@ -163,6 +171,11 @@ class PermissionContextBase : public KeyedService, @@ -158,6 +166,11 @@ class PermissionContextBase : public content_settings::Observer {
// Store the decided permission as a content setting. // Store the decided permission as a content setting.
// virtual since the permission might be stored with different restrictions // virtual since the permission might be stored with different restrictions
// (for example for desktop notifications). // (for example for desktop notifications).
@@ -1147,7 +1084,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
virtual void UpdateContentSetting(const GURL& requesting_origin, virtual void UpdateContentSetting(const GURL& requesting_origin,
const GURL& embedding_origin, const GURL& embedding_origin,
ContentSetting content_setting, ContentSetting content_setting,
@@ -195,6 +208,14 @@ class PermissionContextBase : public KeyedService, @@ -190,6 +203,14 @@ class PermissionContextBase : public content_settings::Observer {
PermissionRequest::PermissionDecidedCallback permission_decided_callback, PermissionRequest::PermissionDecidedCallback permission_decided_callback,
base::OnceClosure delete_callback) const; base::OnceClosure delete_callback) const;
@@ -1162,7 +1099,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
ContentSettingsType content_settings_type() const { ContentSettingsType content_settings_type() const {
return content_settings_type_; return content_settings_type_;
} }
@@ -221,7 +242,8 @@ class PermissionContextBase : public KeyedService, @@ -216,7 +237,8 @@ class PermissionContextBase : public content_settings::Observer {
const GURL& embedding_origin, const GURL& embedding_origin,
BrowserPermissionCallback callback, BrowserPermissionCallback callback,
ContentSetting content_setting, ContentSetting content_setting,
@@ -1189,7 +1126,7 @@ diff --git a/components/permissions/permission_prompt.h b/components/permissions
diff --git a/components/permissions/permission_request.cc b/components/permissions/permission_request.cc diff --git a/components/permissions/permission_request.cc b/components/permissions/permission_request.cc
--- a/components/permissions/permission_request.cc --- a/components/permissions/permission_request.cc
+++ b/components/permissions/permission_request.cc +++ b/components/permissions/permission_request.cc
@@ -30,6 +30,18 @@ PermissionRequest::PermissionRequest( @@ -31,6 +31,18 @@ PermissionRequest::PermissionRequest(
permission_decided_callback_(std::move(permission_decided_callback)), permission_decided_callback_(std::move(permission_decided_callback)),
delete_callback_(std::move(delete_callback)) {} delete_callback_(std::move(delete_callback)) {}
@@ -1208,7 +1145,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
PermissionRequest::~PermissionRequest() { PermissionRequest::~PermissionRequest() {
DCHECK(delete_callback_.is_null()); DCHECK(delete_callback_.is_null());
} }
@@ -237,17 +249,35 @@ std::u16string PermissionRequest::GetMessageTextFragment() const { @@ -235,17 +247,35 @@ std::u16string PermissionRequest::GetMessageTextFragment() const {
} }
#endif #endif
@@ -1273,7 +1210,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
PermissionRequest(const PermissionRequest&) = delete; PermissionRequest(const PermissionRequest&) = delete;
PermissionRequest& operator=(const PermissionRequest&) = delete; PermissionRequest& operator=(const PermissionRequest&) = delete;
@@ -97,10 +107,10 @@ class PermissionRequest { @@ -106,10 +116,10 @@ class PermissionRequest {
// If |is_one_time| is true the permission will last until all tabs of // If |is_one_time| is true the permission will last until all tabs of
// |origin| are closed or navigated away from, and then the permission will // |origin| are closed or navigated away from, and then the permission will
// automatically expire after 1 day. // automatically expire after 1 day.
@@ -1286,7 +1223,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
// Called when the user has cancelled the permission request. This // Called when the user has cancelled the permission request. This
// corresponds to a denial, but is segregated in case the context needs to // corresponds to a denial, but is segregated in case the context needs to
@@ -138,6 +148,9 @@ class PermissionRequest { @@ -147,6 +157,9 @@ class PermissionRequest {
// Called once a decision is made about the permission. // Called once a decision is made about the permission.
PermissionDecidedCallback permission_decided_callback_; PermissionDecidedCallback permission_decided_callback_;
@@ -1299,7 +1236,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
diff --git a/components/permissions/permission_request_manager.cc b/components/permissions/permission_request_manager.cc diff --git a/components/permissions/permission_request_manager.cc b/components/permissions/permission_request_manager.cc
--- a/components/permissions/permission_request_manager.cc --- a/components/permissions/permission_request_manager.cc
+++ b/components/permissions/permission_request_manager.cc +++ b/components/permissions/permission_request_manager.cc
@@ -162,7 +162,7 @@ void PermissionRequestManager::AddRequest( @@ -148,7 +148,7 @@ void PermissionRequestManager::AddRequest(
if (base::CommandLine::ForCurrentProcess()->HasSwitch( if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDenyPermissionPrompts)) { switches::kDenyPermissionPrompts)) {
@@ -1308,7 +1245,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
request->RequestFinished(); request->RequestFinished();
return; return;
} }
@@ -238,7 +238,7 @@ void PermissionRequestManager::AddRequest( @@ -224,7 +224,7 @@ void PermissionRequestManager::AddRequest(
if (auto_approval_origin) { if (auto_approval_origin) {
if (url::Origin::Create(request->requesting_origin()) == if (url::Origin::Create(request->requesting_origin()) ==
auto_approval_origin.value()) { auto_approval_origin.value()) {
@@ -1317,14 +1254,16 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
} }
request->RequestFinished(); request->RequestFinished();
return; return;
@@ -498,12 +498,13 @@ void PermissionRequestManager::Accept() { @@ -541,14 +541,15 @@ void PermissionRequestManager::Accept() {
for (requests_iter = requests_.begin(); requests_iter != requests_.end(); (*requests_iter)->request_type(),
requests_iter++) { PermissionAction::GRANTED);
PermissionGrantedIncludingDuplicates(*requests_iter, PermissionGrantedIncludingDuplicates(*requests_iter,
- /*is_one_time=*/false); - /*is_one_time=*/false);
+ /*is_one_time=*/false, + /*is_one_time=*/false,
+ content_settings::LifetimeMode::Always); + content_settings::LifetimeMode::Always);
} }
NotifyRequestDecided(PermissionAction::GRANTED);
FinalizeCurrentRequests(PermissionAction::GRANTED); FinalizeCurrentRequests(PermissionAction::GRANTED);
} }
@@ -1333,15 +1272,17 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_) if (ignore_callbacks_from_prompt_)
return; return;
DCHECK(view_); DCHECK(view_);
@@ -511,12 +512,22 @@ void PermissionRequestManager::AcceptThisTime() { @@ -559,7 +560,8 @@ void PermissionRequestManager::AcceptThisTime() {
for (requests_iter = requests_.begin(); requests_iter != requests_.end(); (*requests_iter)->request_type(),
requests_iter++) { PermissionAction::GRANTED_ONCE);
PermissionGrantedIncludingDuplicates(*requests_iter, PermissionGrantedIncludingDuplicates(*requests_iter,
- /*is_one_time=*/true); - /*is_one_time=*/true);
+ /*is_one_time=*/true, + /*is_one_time=*/true,
+ mode); + mode);
} }
FinalizeCurrentRequests(PermissionAction::GRANTED_ONCE);
NotifyRequestDecided(PermissionAction::GRANTED_ONCE);
@@ -567,6 +569,15 @@ void PermissionRequestManager::AcceptThisTime() {
} }
void PermissionRequestManager::Deny() { void PermissionRequestManager::Deny() {
@@ -1357,24 +1298,24 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_) if (ignore_callbacks_from_prompt_)
return; return;
DCHECK(view_); DCHECK(view_);
@@ -538,7 +549,7 @@ void PermissionRequestManager::Deny() { @@ -589,7 +600,7 @@ void PermissionRequestManager::Deny() {
std::vector<PermissionRequest*>::iterator requests_iter; StorePermissionActionForUMA((*requests_iter)->requesting_origin(),
for (requests_iter = requests_.begin(); requests_iter != requests_.end(); (*requests_iter)->request_type(),
requests_iter++) { PermissionAction::DENIED);
- PermissionDeniedIncludingDuplicates(*requests_iter); - PermissionDeniedIncludingDuplicates(*requests_iter);
+ PermissionDeniedIncludingDuplicates(*requests_iter, is_one_time, lifetime_option); + PermissionDeniedIncludingDuplicates(*requests_iter, is_one_time, lifetime_option);
} }
FinalizeCurrentRequests(PermissionAction::DENIED);
} NotifyRequestDecided(PermissionAction::DENIED);
@@ -890,25 +901,26 @@ PermissionRequest* PermissionRequestManager::GetExistingRequest( @@ -971,25 +982,25 @@ PermissionRequest* PermissionRequestManager::GetExistingRequest(
void PermissionRequestManager::PermissionGrantedIncludingDuplicates( void PermissionRequestManager::PermissionGrantedIncludingDuplicates(
PermissionRequest* request, PermissionRequest* request,
- bool is_one_time) { - bool is_one_time) {
+ bool is_one_time, content_settings::LifetimeMode lifetime_option) { + bool is_one_time, content_settings::LifetimeMode lifetime_option) {
DCHECK_EQ(1, base::STLCount(requests_, request) + DCHECK_EQ(1ul, base::ranges::count(requests_, request) +
base::STLCount(queued_requests_, request)) pending_permission_requests_.Count(request))
<< "Only requests in [queued_[frame_]]requests_ can have duplicates"; << "Only requests in [pending_permission_]requests_ can have duplicates";
- request->PermissionGranted(is_one_time); - request->PermissionGranted(is_one_time);
+ request->PermissionGranted(is_one_time, lifetime_option); + request->PermissionGranted(is_one_time, lifetime_option);
auto range = duplicate_requests_.equal_range(request); auto range = duplicate_requests_.equal_range(request);
@@ -1385,11 +1326,10 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
void PermissionRequestManager::PermissionDeniedIncludingDuplicates( void PermissionRequestManager::PermissionDeniedIncludingDuplicates(
- PermissionRequest* request) { - PermissionRequest* request) {
+ PermissionRequest* request, bool is_one_time, + PermissionRequest* request, bool is_one_time, content_settings::LifetimeMode lifetime_option) {
+ content_settings::LifetimeMode lifetime_option) { DCHECK_EQ(1ul, base::ranges::count(requests_, request) +
DCHECK_EQ(1, base::STLCount(requests_, request) + pending_permission_requests_.Count(request))
base::STLCount(queued_requests_, request)) << "Only requests in [pending_permission_]requests_ can have duplicates";
<< "Only requests in [queued_]requests_ can have duplicates";
- request->PermissionDenied(); - request->PermissionDenied();
+ request->PermissionDenied(is_one_time, lifetime_option); + request->PermissionDenied(is_one_time, lifetime_option);
auto range = duplicate_requests_.equal_range(request); auto range = duplicate_requests_.equal_range(request);
@@ -1399,7 +1339,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
} }
void PermissionRequestManager::CancelledIncludingDuplicates( void PermissionRequestManager::CancelledIncludingDuplicates(
@@ -1084,7 +1096,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) { @@ -1215,7 +1226,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
void PermissionRequestManager::DoAutoResponseForTesting() { void PermissionRequestManager::DoAutoResponseForTesting() {
switch (auto_response_for_test_) { switch (auto_response_for_test_) {
case ACCEPT_ONCE: case ACCEPT_ONCE:
@@ -1411,7 +1351,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
diff --git a/components/permissions/permission_request_manager.h b/components/permissions/permission_request_manager.h diff --git a/components/permissions/permission_request_manager.h b/components/permissions/permission_request_manager.h
--- a/components/permissions/permission_request_manager.h --- a/components/permissions/permission_request_manager.h
+++ b/components/permissions/permission_request_manager.h +++ b/components/permissions/permission_request_manager.h
@@ -136,8 +136,10 @@ class PermissionRequestManager @@ -155,8 +155,10 @@ class PermissionRequestManager
GURL GetRequestingOrigin() const override; GURL GetRequestingOrigin() const override;
GURL GetEmbeddingOrigin() const override; GURL GetEmbeddingOrigin() const override;
void Accept() override; void Accept() override;
@@ -1423,7 +1363,7 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe
void Dismiss() override; void Dismiss() override;
void Ignore() override; void Ignore() override;
bool WasCurrentRequestAlreadyDisplayed() override; bool WasCurrentRequestAlreadyDisplayed() override;
@@ -272,9 +274,12 @@ class PermissionRequestManager @@ -317,9 +319,12 @@ class PermissionRequestManager
// Calls PermissionGranted on a request and all its duplicates. // Calls PermissionGranted on a request and all its duplicates.
void PermissionGrantedIncludingDuplicates(PermissionRequest* request, void PermissionGrantedIncludingDuplicates(PermissionRequest* request,
@@ -2,13 +2,14 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 18 Feb 2021 21:22:52 +0100 Date: Thu, 18 Feb 2021 21:22:52 +0100
Subject: Add menu item to bookmark all tabs Subject: Add menu item to bookmark all tabs
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/android/java/res/menu/main_menu.xml | 7 +++ chrome/android/java/res/menu/main_menu.xml | 7 +++
.../chrome/browser/ChromeTabbedActivity.java | 26 ++++++++ .../chrome/browser/ChromeTabbedActivity.java | 24 ++++++++
.../browser/bookmarks/BookmarkBridge.java | 60 +++++++++++++++++++ .../browser/bookmarks/BookmarkBridge.java | 61 +++++++++++++++++++
.../browser/bookmarks/BookmarkUtils.java | 4 ++ .../browser/bookmarks/BookmarkUtils.java | 4 ++
.../android/bookmarks/bookmark_bridge.cc | 17 ++++++ .../bookmarks/android/bookmark_bridge.cc | 17 ++++++
.../android/bookmarks/bookmark_bridge.h | 4 ++ .../bookmarks/android/bookmark_bridge.h | 4 ++
.../browser/bookmarks/bookmark_html_writer.cc | 8 ++- .../browser/bookmarks/bookmark_html_writer.cc | 8 ++-
.../bookmarks/chrome_bookmark_client.cc | 2 + .../bookmarks/chrome_bookmark_client.cc | 2 +
.../dialogs/DownloadLocationCustomView.java | 4 +- .../dialogs/DownloadLocationCustomView.java | 4 +-
@@ -24,12 +25,12 @@ Subject: Add menu item to bookmark all tabs
components/bookmarks/browser/bookmark_node.h | 5 ++ components/bookmarks/browser/bookmark_node.h | 5 ++
components/bookmarks/browser/model_loader.cc | 3 +- components/bookmarks/browser/model_loader.cc | 3 +-
.../bookmark_specifics_conversions.cc | 1 + .../bookmark_specifics_conversions.cc | 1 +
21 files changed, 202 insertions(+), 10 deletions(-) 21 files changed, 201 insertions(+), 10 deletions(-)
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml 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 --- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml +++ b/chrome/android/java/res/menu/main_menu.xml
@@ -64,6 +64,10 @@ @@ -66,6 +66,10 @@ found in the LICENSE file.
<item android:id="@+id/all_bookmarks_menu_id" <item android:id="@+id/all_bookmarks_menu_id"
android:title="@string/menu_bookmarks" android:title="@string/menu_bookmarks"
android:icon="@drawable/btn_star_filled" /> android:icon="@drawable/btn_star_filled" />
@@ -40,29 +41,28 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
<item android:id="@+id/recent_tabs_menu_id" <item android:id="@+id/recent_tabs_menu_id"
android:title="@string/menu_recent_tabs" android:title="@string/menu_recent_tabs"
android:icon="@drawable/devices_black_24dp" /> android:icon="@drawable/devices_black_24dp" />
@@ -181,6 +185,9 @@ @@ -184,6 +188,9 @@ found in the LICENSE file.
<item android:id="@+id/menu_group_tabs" <item android:id="@+id/menu_group_tabs"
android:title="@string/menu_group_tabs" android:title="@string/menu_group_tabs"
android:icon="@drawable/ic_widgets" /> android:icon="@drawable/ic_widgets" />
+ <item android:id="@+id/bookmark_all_tabs_menu_id" + <item android:id="@+id/bookmark_all_tabs_menu_id"
+ android:title="@string/menu_bookmark_all_tabs" + android:title="@string/menu_bookmark_all_tabs"
+ android:icon="@drawable/ic_folder_blue_24dp" /> + android:icon="@drawable/ic_folder_blue_24dp" />
<item android:id="@+id/track_prices_row_menu_id" <item android:id="@+id/menu_select_tabs"
android:title="@string/menu_track_prices" android:title="@string/menu_select_tabs"
android:icon="@drawable/ic_trending_down_black" /> android:icon="@drawable/ic_select_tabs" />
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -69,6 +69,8 @@ import org.chromium.chrome.browser.app.tabmodel.ChromeNextTabPolicySupplier; @@ -77,6 +77,7 @@ import org.chromium.chrome.browser.back_press.MinimizeAppAndCloseTabBackPressHan
import org.chromium.chrome.browser.app.tabmodel.TabModelOrchestrator;
import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
import org.chromium.chrome.browser.app.tabmodel.TabbedModeTabModelOrchestrator;
+import org.chromium.chrome.browser.bookmarks.BookmarkBridge;
+import org.chromium.chrome.browser.bookmarks.BookmarkModel;
import org.chromium.chrome.browser.bookmarks.BookmarkUtils; import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
import org.chromium.chrome.browser.browserservices.intents.WebappConstants; import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
import org.chromium.chrome.browser.compositor.CompositorViewHolder; import org.chromium.chrome.browser.compositor.CompositorViewHolder;
@@ -2150,6 +2152,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent +import org.chromium.chrome.browser.bookmarks.BookmarkModel;
import org.chromium.chrome.browser.compositor.layouts.Layout;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone;
@@ -2217,6 +2218,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(), CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
() -> getTabModelSelector().closeAllTabs(), /*isIncognito=*/false); () -> getTabModelSelector().closeAllTabs(), /*isIncognito=*/false);
RecordUserAction.record("MobileMenuCloseAllTabs"); RecordUserAction.record("MobileMenuCloseAllTabs");
@@ -71,7 +71,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
} else if (id == R.id.close_all_incognito_tabs_menu_id) { } else if (id == R.id.close_all_incognito_tabs_menu_id) {
// Close only incognito tabs // Close only incognito tabs
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(), CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
@@ -2202,6 +2206,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent @@ -2269,6 +2272,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
mTabModalHandler.onOmniboxFocusChanged(hasFocus); mTabModalHandler.onOmniboxFocusChanged(hasFocus);
} }
@@ -83,17 +83,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
+ return; + return;
+ } + }
+ +
+ final BookmarkBridge bridge = mBookmarkBridgeSupplier.get(); + final BookmarkModel bookmarkModel = mBookmarkModelSupplier.get();
+ final BookmarkModel bookmarkModel = new BookmarkModel();
+ bookmarkModel.finishLoadingBookmarkModel(() -> { + bookmarkModel.finishLoadingBookmarkModel(() -> {
+ for (int i = 0; i < tabModel.getCount(); i++) { + for (int i = 0; i < tabModel.getCount(); i++) {
+ Tab tab = tabModel.getTabAt(i); + Tab tab = tabModel.getTabAt(i);
+ if (tab.isNativePage()) { + if (tab.isNativePage()) {
+ continue; + continue;
+ } + }
+ bridge.addToTabsCollection(this, tab); + bookmarkModel.addToTabsCollection(this, tab);
+ } + }
+ bridge.finishedAddingToTabsCollection(this, getSnackbarManager()); + bookmarkModel.finishedAddingToTabsCollection(this, getSnackbarManager());
+ }); + });
+ } + }
+ +
@@ -111,26 +110,27 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.base.ObserverList; import org.chromium.base.ObserverList;
import org.chromium.base.ThreadUtils; import org.chromium.base.ThreadUtils;
import org.chromium.base.annotations.CalledByNative; import org.chromium.base.annotations.CalledByNative;
@@ -46,6 +47,10 @@ import org.chromium.chrome.browser.subscriptions.CommerceSubscription; @@ -40,6 +41,10 @@ import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory; import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.subscriptions.SubscriptionsManager; import org.chromium.chrome.browser.read_later.ReadingListUtils;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
+import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; +import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; +import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarController; +import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarController;
+import org.chromium.chrome.R; +import org.chromium.chrome.R;
import org.chromium.components.bookmarks.BookmarkId; import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.bookmarks.BookmarkItem;
import org.chromium.components.bookmarks.BookmarkType; import org.chromium.components.bookmarks.BookmarkType;
import org.chromium.components.commerce.PriceTracking.ProductPrice; @@ -84,6 +89,8 @@ import java.io.File;
@@ -90,6 +95,7 @@ import java.io.File;
* bookmark model stored in native. * bookmark model stored in native.
*/ */
public class BookmarkBridge { class BookmarkBridge {
+ private static final String TAG = "BookmarkBridge"; + private static final String TAG = "BookmarkBridge";
+
private final Profile mProfile; private final Profile mProfile;
private boolean mIsDestroyed; private boolean mIsDestroyed;
private boolean mIsDoingExtensiveChanges; private boolean mIsDoingExtensiveChanges;
@@ -633,6 +639,16 @@ public class BookmarkBridge { @@ -356,6 +363,16 @@ class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this); 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. * @return Id representing the special "other" folder from bookmark model.
*/ */
@@ -1358,6 +1374,49 @@ public class BookmarkBridge { @@ -957,6 +974,49 @@ class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, title, url); mNativeBookmarkBridge, BookmarkBridge.this, title, url);
} }
@@ -164,7 +164,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+ } + }
+ } + }
+ BookmarkId bookmarkId = + BookmarkId bookmarkId =
+ addBookmark(parent, getChildCount(parent), tab.getTitle(), tab.getUrl().getSpec()); + addBookmark(parent, getChildCount(parent), tab.getTitle(), tab.getUrl());
+ +
+ if (bookmarkId == null) { + if (bookmarkId == null) {
+ Log.e(TAG, + Log.e(TAG,
@@ -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. * @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. * @return The reading list item with the URL, or null if no such reading list item.
@@ -1655,6 +1714,7 @@ public class BookmarkBridge { @@ -1167,6 +1227,7 @@ class BookmarkBridge {
void getAllFoldersWithDepths(long nativeBookmarkBridge, BookmarkBridge caller, void getAllFoldersWithDepths(long nativeBookmarkBridge, BookmarkBridge caller,
List<BookmarkId> folderList, List<Integer> depthList); List<BookmarkId> folderList, List<Integer> depthList);
BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller); 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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
@@ -633,6 +633,7 @@ public class BookmarkUtils { @@ -648,6 +648,7 @@ public class BookmarkUtils {
List<BookmarkId> topLevelFolders = new ArrayList<>(); List<BookmarkId> topLevelFolders = new ArrayList<>();
BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId(); BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId();
BookmarkId mobileNodeId = bookmarkModel.getMobileFolderId(); 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(); BookmarkId othersNodeId = bookmarkModel.getOtherFolderId();
List<BookmarkId> specialFoldersIds = List<BookmarkId> specialFoldersIds =
@@ -658,6 +659,9 @@ public class BookmarkUtils { @@ -673,6 +674,9 @@ public class BookmarkUtils {
if (bookmarkModel.isFolderVisible(mobileNodeId)) { if (bookmarkModel.isFolderVisible(mobileNodeId)) {
topLevelFolders.add(mobileNodeId); topLevelFolders.add(mobileNodeId);
} }
@@ -226,10 +226,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
if (bookmarkModel.isFolderVisible(desktopNodeId)) { if (bookmarkModel.isFolderVisible(desktopNodeId)) {
topLevelFolders.add(desktopNodeId); topLevelFolders.add(desktopNodeId);
} }
diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browser/android/bookmarks/bookmark_bridge.cc diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
--- a/chrome/browser/android/bookmarks/bookmark_bridge.cc --- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
+++ b/chrome/browser/android/bookmarks/bookmark_bridge.cc +++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
@@ -434,6 +434,11 @@ void BookmarkBridge::GetTopLevelFolderIDs( @@ -431,6 +431,11 @@ void BookmarkBridge::GetTopLevelFolderIDs(
top_level_folders.push_back(node.get()); 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()) { for (const auto& node : bookmark_model_->bookmark_bar_node()->children()) {
if (node->is_folder()) if (node->is_folder())
top_level_folders.push_back(node.get()); top_level_folders.push_back(node.get());
@@ -482,6 +487,7 @@ void BookmarkBridge::GetAllFoldersWithDepths( @@ -478,6 +483,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
// Vector to temporarily contain all child bookmarks at same level for sorting // Vector to temporarily contain all child bookmarks at same level for sorting
std::vector<const BookmarkNode*> bookmarks = { std::vector<const BookmarkNode*> bookmarks = {
bookmark_model_->mobile_node(), 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_->bookmark_bar_node(),
bookmark_model_->other_node(), bookmark_model_->other_node(),
}; };
@@ -536,6 +542,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId( @@ -530,6 +536,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId(
return folder_id_obj; return folder_id_obj;
} }
@@ -267,10 +267,10 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
ScopedJavaLocalRef<jobject> BookmarkBridge::GetOtherFolderId( ScopedJavaLocalRef<jobject> BookmarkBridge::GetOtherFolderId(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jobject>& obj) { const JavaParamRef<jobject>& obj) {
diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser/android/bookmarks/bookmark_bridge.h diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser/bookmarks/android/bookmark_bridge.h
--- a/chrome/browser/android/bookmarks/bookmark_bridge.h --- a/chrome/browser/bookmarks/android/bookmark_bridge.h
+++ b/chrome/browser/android/bookmarks/bookmark_bridge.h +++ b/chrome/browser/bookmarks/android/bookmark_bridge.h
@@ -121,6 +121,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver, @@ -119,6 +119,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
JNIEnv* env, JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj); const base::android::JavaParamRef<jobject>& obj);
@@ -316,7 +316,7 @@ diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/b
diff --git a/chrome/browser/bookmarks/chrome_bookmark_client.cc b/chrome/browser/bookmarks/chrome_bookmark_client.cc diff --git a/chrome/browser/bookmarks/chrome_bookmark_client.cc b/chrome/browser/bookmarks/chrome_bookmark_client.cc
--- a/chrome/browser/bookmarks/chrome_bookmark_client.cc --- a/chrome/browser/bookmarks/chrome_bookmark_client.cc
+++ b/chrome/browser/bookmarks/chrome_bookmark_client.cc +++ b/chrome/browser/bookmarks/chrome_bookmark_client.cc
@@ -117,6 +117,8 @@ bool ChromeBookmarkClient::IsPermanentNodeVisibleWhenEmpty( @@ -144,6 +144,8 @@ bool ChromeBookmarkClient::IsPermanentNodeVisibleWhenEmpty(
return !is_mobile; return !is_mobile;
case bookmarks::BookmarkNode::MOBILE: case bookmarks::BookmarkNode::MOBILE:
return is_mobile; return is_mobile;
@@ -349,9 +349,9 @@ 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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3414,6 +3414,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p @@ -3603,6 +3603,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_TRACK_PRICES" desc="Menu item for tracking prices on tabs. [CHAR_LIMIT=27]"> <message name="IDS_MENU_SELECT_TABS" desc="Menu item for bulk editing tabs. [CHAR_LIMIT=27]">
Track prices Select tabs
</message> </message>
+ <message name="IDS_MENU_BOOKMARK_ALL_TABS" desc="Menu item to bookmark all tabs. [CHAR-LIMIT=27]"> + <message name="IDS_MENU_BOOKMARK_ALL_TABS" desc="Menu item to bookmark all tabs. [CHAR-LIMIT=27]">
+ Bookmark all tabs + Bookmark all tabs
@@ -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 diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmarks/browser/bookmark_codec.cc
--- a/components/bookmarks/browser/bookmark_codec.cc --- a/components/bookmarks/browser/bookmark_codec.cc
+++ b/components/bookmarks/browser/bookmark_codec.cc +++ b/components/bookmarks/browser/bookmark_codec.cc
@@ -34,6 +34,7 @@ const char BookmarkCodec::kBookmarkBarFolderNameKey[] = "bookmark_bar"; @@ -35,6 +35,7 @@ const char BookmarkCodec::kBookmarkBarFolderNameKey[] = "bookmark_bar";
const char BookmarkCodec::kOtherBookmarkFolderNameKey[] = "other"; const char BookmarkCodec::kOtherBookmarkFolderNameKey[] = "other";
// The value is left as 'synced' for historical reasons. // The value is left as 'synced' for historical reasons.
const char BookmarkCodec::kMobileBookmarkFolderNameKey[] = "synced"; 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::kVersionKey[] = "version";
const char BookmarkCodec::kChecksumKey[] = "checksum"; const char BookmarkCodec::kChecksumKey[] = "checksum";
const char BookmarkCodec::kIdKey[] = "id"; const char BookmarkCodec::kIdKey[] = "id";
@@ -75,7 +76,8 @@ BookmarkCodec::~BookmarkCodec() = default; @@ -78,7 +79,8 @@ BookmarkCodec::~BookmarkCodec() = default;
base::Value BookmarkCodec::Encode(BookmarkModel* model, base::Value BookmarkCodec::Encode(BookmarkModel* model,
std::string sync_metadata_str) { std::string sync_metadata_str) {
return Encode(model->bookmark_bar_node(), model->other_node(), return Encode(model->bookmark_bar_node(), model->other_node(),
- model->mobile_node(), model->root_node()->GetMetaInfoMap(), - model->mobile_node(), model->root_node()->GetMetaInfoMap(),
+ model->mobile_node(), model->tabs_collection_node(), + model->mobile_node(), model->tabs_collection_node(),
+ model->root_node()->GetMetaInfoMap(), + model->root_node()->GetMetaInfoMap(),
model->root_node()->GetUnsyncedMetaInfoMap(),
std::move(sync_metadata_str)); std::move(sync_metadata_str));
} }
@@ -87,6 +89,7 @@ base::Value BookmarkCodec::Encode(
@@ -83,6 +85,7 @@ base::Value BookmarkCodec::Encode(
const BookmarkNode* bookmark_bar_node, const BookmarkNode* bookmark_bar_node,
const BookmarkNode* other_folder_node, const BookmarkNode* other_folder_node,
const BookmarkNode* mobile_folder_node, const BookmarkNode* mobile_folder_node,
+ const BookmarkNode* tabs_folder_node, + const BookmarkNode* tabs_folder_node,
const BookmarkNode::MetaInfoMap* model_meta_info_map, const BookmarkNode::MetaInfoMap* model_meta_info_map,
const BookmarkNode::MetaInfoMap* model_unsynced_meta_info_map,
std::string sync_metadata_str) { std::string sync_metadata_str) {
ids_reassigned_ = false; @@ -109,6 +112,7 @@ base::Value BookmarkCodec::Encode(
@@ -104,6 +107,7 @@ base::Value BookmarkCodec::Encode(
roots.SetKey(kBookmarkBarFolderNameKey, EncodeNode(bookmark_bar_node)); roots.SetKey(kBookmarkBarFolderNameKey, EncodeNode(bookmark_bar_node));
roots.SetKey(kOtherBookmarkFolderNameKey, EncodeNode(other_folder_node)); roots.SetKey(kOtherBookmarkFolderNameKey, EncodeNode(other_folder_node));
roots.SetKey(kMobileBookmarkFolderNameKey, EncodeNode(mobile_folder_node)); roots.SetKey(kMobileBookmarkFolderNameKey, EncodeNode(mobile_folder_node));
+ roots.SetKey(kTabsBookmarkFolderNameKey, EncodeNode(tabs_folder_node)); + roots.SetKey(kTabsBookmarkFolderNameKey, EncodeNode(tabs_folder_node));
if (model_meta_info_map) if (model_meta_info_map)
roots.SetKey(kMetaInfo, EncodeMetaInfo(*model_meta_info_map)); roots.SetKey(kMetaInfo, EncodeMetaInfo(*model_meta_info_map));
FinalizeChecksum(); if (model_unsynced_meta_info_map) {
@@ -120,6 +124,7 @@ bool BookmarkCodec::Decode(const base::Value& value, @@ -130,6 +134,7 @@ bool BookmarkCodec::Decode(const base::Value& value,
BookmarkNode* bb_node, BookmarkNode* bb_node,
BookmarkNode* other_folder_node, BookmarkNode* other_folder_node,
BookmarkNode* mobile_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, int64_t* max_id,
std::string* sync_metadata_str) { std::string* sync_metadata_str) {
ids_.clear(); ids_.clear();
@@ -127,7 +132,8 @@ bool BookmarkCodec::Decode(const base::Value& value, @@ -137,7 +142,8 @@ bool BookmarkCodec::Decode(const base::Value& value,
base::GUID::ParseLowercase(BookmarkNode::kBookmarkBarNodeGuid), base::GUID::ParseLowercase(BookmarkNode::kBookmarkBarNodeGuid),
base::GUID::ParseLowercase(BookmarkNode::kOtherBookmarksNodeGuid), base::GUID::ParseLowercase(BookmarkNode::kOtherBookmarksNodeGuid),
base::GUID::ParseLowercase(BookmarkNode::kMobileBookmarksNodeGuid), base::GUID::ParseLowercase(BookmarkNode::kMobileBookmarksNodeGuid),
@@ -437,7 +437,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
ids_reassigned_ = false; ids_reassigned_ = false;
guids_reassigned_ = false; guids_reassigned_ = false;
ids_valid_ = true; ids_valid_ = true;
@@ -135,12 +141,13 @@ bool BookmarkCodec::Decode(const base::Value& value, @@ -145,12 +151,13 @@ bool BookmarkCodec::Decode(const base::Value& value,
stored_checksum_.clear(); stored_checksum_.clear();
InitializeChecksum(); InitializeChecksum();
bool success = DecodeHelper(bb_node, other_folder_node, mobile_folder_node, 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; *max_id = maximum_id_ + 1;
return success; return success;
} }
@@ -190,6 +197,7 @@ base::Value BookmarkCodec::EncodeMetaInfo( @@ -207,6 +214,7 @@ base::Value BookmarkCodec::EncodeMetaInfo(
bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node, bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
BookmarkNode* other_folder_node, BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node, BookmarkNode* mobile_folder_node,
@@ -460,7 +460,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
const base::Value& value, const base::Value& value,
std::string* sync_metadata_str) { std::string* sync_metadata_str) {
if (!value.is_dict()) if (!value.is_dict())
@@ -221,6 +229,12 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node, @@ -238,6 +246,12 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
return false; return false;
DecodeNode(*bb_value, nullptr, bb_node); DecodeNode(*bb_value, nullptr, bb_node);
@@ -473,7 +473,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
DecodeNode(*other_folder_value, nullptr, other_folder_node); DecodeNode(*other_folder_value, nullptr, other_folder_node);
DecodeNode(*mobile_folder_value, nullptr, mobile_folder_node); DecodeNode(*mobile_folder_value, nullptr, mobile_folder_node);
@@ -456,11 +470,13 @@ void BookmarkCodec::DecodeMetaInfoHelper( @@ -508,11 +522,13 @@ void BookmarkCodec::DecodeMetaInfoHelper(
void BookmarkCodec::ReassignIDs(BookmarkNode* bb_node, void BookmarkCodec::ReassignIDs(BookmarkNode* bb_node,
BookmarkNode* other_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 diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmarks/browser/bookmark_codec.h
--- a/components/bookmarks/browser/bookmark_codec.h --- a/components/bookmarks/browser/bookmark_codec.h
+++ b/components/bookmarks/browser/bookmark_codec.h +++ b/components/bookmarks/browser/bookmark_codec.h
@@ -48,6 +48,7 @@ class BookmarkCodec { @@ -49,6 +49,7 @@ class BookmarkCodec {
base::Value Encode(const BookmarkNode* bookmark_bar_node, const BookmarkNode* bookmark_bar_node,
const BookmarkNode* other_folder_node, const BookmarkNode* other_folder_node,
const BookmarkNode* mobile_folder_node, const BookmarkNode* mobile_folder_node,
+ const BookmarkNode* tabs_folder_node, + const BookmarkNode* tabs_folder_node,
const BookmarkNode::MetaInfoMap* model_meta_info_map, const BookmarkNode::MetaInfoMap* model_meta_info_map,
std::string sync_metadata_str); const BookmarkNode::MetaInfoMap* model_unsynced_meta_info_map,
std::string sync_metadata_str);
@@ -60,6 +61,7 @@ class BookmarkCodec { @@ -62,6 +63,7 @@ class BookmarkCodec {
BookmarkNode* bb_node, BookmarkNode* bb_node,
BookmarkNode* other_folder_node, BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node, BookmarkNode* mobile_folder_node,
@@ -507,15 +507,15 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
int64_t* max_node_id, int64_t* max_node_id,
std::string* sync_metadata_str); std::string* sync_metadata_str);
@@ -105,6 +107,7 @@ class BookmarkCodec { @@ -113,6 +115,7 @@ class BookmarkCodec {
// Allows the BookmarkClient to read and a write a string blob from the JSON // Allows the BookmarkClient to read and a write a string blob from the JSON
// file. That string captures the bookmarks sync metadata. // file. That string captures the bookmarks sync metadata.
static const char kSyncMetadata[]; static const char kSyncMetadata[];
+ static const char kTabsBookmarkFolderNameKey[]; + static const char kTabsBookmarkFolderNameKey[];
static const char kDateLastUsed[];
// Possible values for kTypeKey. // Possible values for kTypeKey.
static const char kTypeURL[]; @@ -130,6 +133,7 @@ class BookmarkCodec {
@@ -121,6 +124,7 @@ class BookmarkCodec {
bool DecodeHelper(BookmarkNode* bb_node, bool DecodeHelper(BookmarkNode* bb_node,
BookmarkNode* other_folder_node, BookmarkNode* other_folder_node,
BookmarkNode* mobile_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, const base::Value& value,
std::string* sync_metadata_str); std::string* sync_metadata_str);
@@ -132,7 +136,8 @@ class BookmarkCodec { @@ -141,7 +145,8 @@ class BookmarkCodec {
// Reassigns bookmark IDs for all nodes. // Reassigns bookmark IDs for all nodes.
void ReassignIDs(BookmarkNode* bb_node, void ReassignIDs(BookmarkNode* bb_node,
BookmarkNode* other_node, BookmarkNode* other_node,
@@ -536,7 +536,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/bookmarks/browser/bookmark_load_details.cc diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/bookmarks/browser/bookmark_load_details.cc
--- a/components/bookmarks/browser/bookmark_load_details.cc --- a/components/bookmarks/browser/bookmark_load_details.cc
+++ b/components/bookmarks/browser/bookmark_load_details.cc +++ b/components/bookmarks/browser/bookmark_load_details.cc
@@ -36,6 +36,10 @@ BookmarkLoadDetails::BookmarkLoadDetails(BookmarkClient* client) @@ -37,6 +37,10 @@ BookmarkLoadDetails::BookmarkLoadDetails(BookmarkClient* client)
root_node_->Add(BookmarkPermanentNode::CreateMobileBookmarks( root_node_->Add(BookmarkPermanentNode::CreateMobileBookmarks(
max_id_++, max_id_++,
client->IsPermanentNodeVisibleWhenEmpty(BookmarkNode::MOBILE)))); client->IsPermanentNodeVisibleWhenEmpty(BookmarkNode::MOBILE))));
@@ -550,7 +550,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/
diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/bookmarks/browser/bookmark_load_details.h diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/bookmarks/browser/bookmark_load_details.h
--- a/components/bookmarks/browser/bookmark_load_details.h --- a/components/bookmarks/browser/bookmark_load_details.h
+++ b/components/bookmarks/browser/bookmark_load_details.h +++ b/components/bookmarks/browser/bookmark_load_details.h
@@ -43,6 +43,7 @@ class BookmarkLoadDetails { @@ -47,6 +47,7 @@ class BookmarkLoadDetails {
BookmarkPermanentNode* bb_node() { return bb_node_; } BookmarkPermanentNode* bb_node() { return bb_node_; }
BookmarkPermanentNode* mobile_folder_node() { return mobile_folder_node_; } BookmarkPermanentNode* mobile_folder_node() { return mobile_folder_node_; }
BookmarkPermanentNode* other_folder_node() { return other_folder_node_; } BookmarkPermanentNode* other_folder_node() { return other_folder_node_; }
@@ -558,10 +558,10 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
TitledUrlIndex* index() { return index_.get(); } TitledUrlIndex* index() { return index_.get(); }
std::unique_ptr<TitledUrlIndex> owned_index() { return std::move(index_); } std::unique_ptr<TitledUrlIndex> owned_index() { return std::move(index_); }
@@ -97,6 +98,7 @@ class BookmarkLoadDetails { @@ -112,6 +113,7 @@ class BookmarkLoadDetails {
raw_ptr<BookmarkPermanentNode> bb_node_ = nullptr; nullptr;
raw_ptr<BookmarkPermanentNode> other_folder_node_ = nullptr; raw_ptr<BookmarkPermanentNode, DanglingUntriaged> mobile_folder_node_ =
raw_ptr<BookmarkPermanentNode> mobile_folder_node_ = nullptr; nullptr;
+ BookmarkPermanentNode* tabs_collection_folder_node_ = nullptr; + BookmarkPermanentNode* tabs_collection_folder_node_ = nullptr;
LoadManagedNodeCallback load_managed_node_callback_; LoadManagedNodeCallback load_managed_node_callback_;
std::unique_ptr<TitledUrlIndex> index_; std::unique_ptr<TitledUrlIndex> index_;
@@ -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 diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
--- a/components/bookmarks/browser/bookmark_model.cc --- a/components/bookmarks/browser/bookmark_model.cc
+++ b/components/bookmarks/browser/bookmark_model.cc +++ b/components/bookmarks/browser/bookmark_model.cc
@@ -565,7 +565,7 @@ bool BookmarkModel::HasBookmarks() { @@ -670,7 +670,7 @@ bool BookmarkModel::HasBookmarks() {
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() { bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return bookmark_bar_node_->children().empty() && 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) { bool BookmarkModel::IsBookmarked(const GURL& url) {
@@ -807,6 +807,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) { @@ -926,6 +926,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
bookmark_bar_node_ = details->bb_node(); bookmark_bar_node_ = details->bb_node();
other_node_ = details->other_folder_node(); other_node_ = details->other_folder_node();
mobile_node_ = details->mobile_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 diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmarks/browser/bookmark_model.h
--- a/components/bookmarks/browser/bookmark_model.h --- a/components/bookmarks/browser/bookmark_model.h
+++ b/components/bookmarks/browser/bookmark_model.h +++ b/components/bookmarks/browser/bookmark_model.h
@@ -121,6 +121,12 @@ class BookmarkModel : public BookmarkUndoProvider, @@ -122,6 +122,12 @@ class BookmarkModel : public BookmarkUndoProvider,
return mobile_node_; return mobile_node_;
} }
@@ -602,10 +602,10 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark
bool is_root_node(const BookmarkNode* node) const { bool is_root_node(const BookmarkNode* node) const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return node == root_; return node == root_;
@@ -396,6 +402,7 @@ class BookmarkModel : public BookmarkUndoProvider, @@ -446,6 +452,7 @@ class BookmarkModel : public BookmarkUndoProvider,
raw_ptr<BookmarkPermanentNode> bookmark_bar_node_ = nullptr; nullptr;
raw_ptr<BookmarkPermanentNode> other_node_ = nullptr; raw_ptr<BookmarkPermanentNode, DanglingUntriaged> other_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> mobile_node_ = nullptr; raw_ptr<BookmarkPermanentNode, DanglingUntriaged> mobile_node_ = nullptr;
+ raw_ptr<BookmarkPermanentNode> tabs_collection_node_ = nullptr; + raw_ptr<BookmarkPermanentNode> tabs_collection_node_ = nullptr;
// The maximum ID assigned to the bookmark nodes in the model. // The maximum ID assigned to the bookmark nodes in the model.
@@ -624,7 +624,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.cc b/components/bookmark
// static // static
const char BookmarkNode::kManagedNodeGuid[] = const char BookmarkNode::kManagedNodeGuid[] =
"323123f4-9381-5aee-80e6-ea5fca2f7672"; "323123f4-9381-5aee-80e6-ea5fca2f7672";
@@ -225,6 +229,17 @@ BookmarkPermanentNode::CreateMobileBookmarks(int64_t id, @@ -275,6 +279,17 @@ BookmarkPermanentNode::CreateMobileBookmarks(int64_t id,
visible_when_empty)); visible_when_empty));
} }
@@ -661,7 +661,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
static const char kManagedNodeGuid[]; static const char kManagedNodeGuid[];
// A bug in sync caused some problematic GUIDs to be produced. // A bug in sync caused some problematic GUIDs to be produced.
@@ -250,6 +252,9 @@ class BookmarkPermanentNode : public BookmarkNode { @@ -270,6 +272,9 @@ class BookmarkPermanentNode : public BookmarkNode {
static std::unique_ptr<BookmarkPermanentNode> CreateMobileBookmarks( static std::unique_ptr<BookmarkPermanentNode> CreateMobileBookmarks(
int64_t id, int64_t id,
bool visible_when_empty); bool visible_when_empty);
@@ -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 diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks/browser/model_loader.cc
--- a/components/bookmarks/browser/model_loader.cc --- a/components/bookmarks/browser/model_loader.cc
+++ b/components/bookmarks/browser/model_loader.cc +++ b/components/bookmarks/browser/model_loader.cc
@@ -54,7 +54,8 @@ void LoadBookmarks(const base::FilePath& path, @@ -58,7 +58,8 @@ void LoadBookmarks(const base::FilePath& path,
std::string sync_metadata_str; std::string sync_metadata_str;
BookmarkCodec codec; BookmarkCodec codec;
codec.Decode(*root, details->bb_node(), details->other_folder_node(), 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 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 --- a/components/sync_bookmarks/bookmark_specifics_conversions.cc
+++ b/components/sync_bookmarks/bookmark_specifics_conversions.cc +++ b/components/sync_bookmarks/bookmark_specifics_conversions.cc
@@ -419,6 +419,7 @@ sync_pb::BookmarkSpecifics::Type GetProtoTypeFromBookmarkNode( @@ -446,6 +446,7 @@ sync_pb::BookmarkSpecifics::Type GetProtoTypeFromBookmarkNode(
case bookmarks::BookmarkNode::BOOKMARK_BAR: case bookmarks::BookmarkNode::BOOKMARK_BAR:
case bookmarks::BookmarkNode::OTHER_NODE: case bookmarks::BookmarkNode::OTHER_NODE:
case bookmarks::BookmarkNode::MOBILE: case bookmarks::BookmarkNode::MOBILE:
@@ -2,20 +2,21 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon, 13 Jul 2020 00:37:06 +0200 Date: Mon, 13 Jul 2020 00:37:06 +0200
Subject: Add menu item to view source Subject: Add menu item to view source
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/android/java/res/menu/custom_tabs_menu.xml | 3 +++ .../android/java/res/menu/custom_tabs_menu.xml | 3 +++
chrome/android/java/res/menu/main_menu.xml | 3 +++ chrome/android/java/res/menu/main_menu.xml | 3 +++
.../chrome/browser/ChromeTabbedActivity.java | 2 ++ .../chrome/browser/ChromeTabbedActivity.java | 2 ++
.../chrome/browser/app/ChromeActivity.java | 5 +++++ .../chrome/browser/app/ChromeActivity.java | 5 +++++
.../app/appmenu/AppMenuPropertiesDelegateImpl.java | 14 ++++++++++++++ .../appmenu/AppMenuPropertiesDelegateImpl.java | 18 ++++++++++++++++++
.../CustomTabAppMenuPropertiesDelegate.java | 1 + .../CustomTabAppMenuPropertiesDelegate.java | 1 +
.../ui/android/strings/android_chrome_strings.grd | 4 ++++ .../android/strings/android_chrome_strings.grd | 4 ++++
7 files changed, 32 insertions(+) 7 files changed, 36 insertions(+)
diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
--- a/chrome/android/java/res/menu/custom_tabs_menu.xml --- a/chrome/android/java/res/menu/custom_tabs_menu.xml
+++ b/chrome/android/java/res/menu/custom_tabs_menu.xml +++ b/chrome/android/java/res/menu/custom_tabs_menu.xml
@@ -46,6 +46,9 @@ @@ -51,6 +51,9 @@ found in the LICENSE file.
<item android:id="@+id/add_to_homescreen_id" <item android:id="@+id/add_to_homescreen_id"
android:title="@string/menu_add_to_homescreen" android:title="@string/menu_add_to_homescreen"
android:orderInCategory="2" /> android:orderInCategory="2" />
@@ -28,7 +29,7 @@ diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml 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 --- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml +++ b/chrome/android/java/res/menu/main_menu.xml
@@ -106,6 +106,9 @@ @@ -108,6 +108,9 @@ found in the LICENSE file.
<item android:id="@+id/add_to_homescreen_id" <item android:id="@+id/add_to_homescreen_id"
android:title="@string/menu_add_to_homescreen" android:title="@string/menu_add_to_homescreen"
android:icon="@drawable/ic_add_to_home_screen" /> android:icon="@drawable/ic_add_to_home_screen" />
@@ -41,7 +42,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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -2176,6 +2176,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent @@ -2243,6 +2243,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER); NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
} }
RecordUserAction.record("MobileMenuDownloadManager"); RecordUserAction.record("MobileMenuDownloadManager");
@@ -53,7 +54,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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -2518,6 +2518,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent> @@ -2488,6 +2488,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true; return true;
} }
@@ -68,7 +69,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 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 --- 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 +++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
@@ -507,6 +507,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate @@ -550,6 +550,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
isChromeScheme, isFileScheme, isContentScheme, isIncognito, url)); isChromeScheme, isFileScheme, isContentScheme, isIncognito, url));
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isChromeScheme); updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isChromeScheme);
@@ -76,8 +77,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
updateAutoDarkMenuItem(menu, currentTab, isChromeScheme); updateAutoDarkMenuItem(menu, currentTab, isChromeScheme);
@@ -1153,6 +1154,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate @@ -1244,6 +1245,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
stopPriceTrackingMenuItem.setVisible(priceTrackingEnabled); stopPriceTrackingMenuItem.setVisible(false);
} }
+ /** + /**
@@ -89,8 +90,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
+ protected void updateViewSourceMenuItem( + protected void updateViewSourceMenuItem(
+ Menu menu, Tab currentTab) { + Menu menu, Tab currentTab) {
+ MenuItem viewSourceMenuItem = menu.findItem(R.id.view_source_id); + MenuItem viewSourceMenuItem = menu.findItem(R.id.view_source_id);
+ String url = currentTab.getUrl().getSpec(); + boolean visible = false;
+ viewSourceMenuItem.setVisible(!url.isEmpty() && !url.startsWith("view-source:")); + if (currentTab != null) {
+ String url = currentTab.getUrl().getSpec();
+ visible = !url.isEmpty() && !url.startsWith("view-source:");
+ }
+ viewSourceMenuItem.setVisible(visible);
+ } + }
+ +
/** /**
@@ -99,7 +104,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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
@@ -216,6 +216,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat @@ -228,6 +228,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
updateRequestDesktopSiteMenuItem( updateRequestDesktopSiteMenuItem(
menu, currentTab, requestDesktopSiteVisible, isChromeScheme); menu, currentTab, requestDesktopSiteVisible, isChromeScheme);
@@ -110,16 +115,16 @@ 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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -306,6 +306,10 @@ CHAR_LIMIT guidelines: @@ -312,6 +312,10 @@ CHAR_LIMIT guidelines:
Chrome tips USB
</message> </message>
+ <message name="IDS_VIEW_SOURCE" desc="Title for the menu command to view the source of the current page. [CHAR-LIMIT=40]"> + <message name="IDS_VIEW_SOURCE" desc="Title for the menu command to view the source of the current page. [CHAR-LIMIT=40]">
+ View source + View source
+ </message> + </message>
+ +
<message name="IDS_UNSUPPORTED" desc="Message displayed to the user when an attempted action is not supported."> <!-- Sign-in, sync and personalization preferences -->
Unsupported <message name="IDS_PREFS_SECTION_ACCOUNT_AND_GOOGLE_SERVICES" desc="Title for the group of account-related entries and google services in Settings. [CHAR_LIMIT=32]">
</message> You and Google
-- --
2.25.1 2.25.1
@@ -2,23 +2,55 @@ From: Wengling Chen <feiyu2817@gmail.com>
Date: Mon, 1 Feb 2021 19:18:55 +0200 Date: Mon, 1 Feb 2021 19:18:55 +0200
Subject: Add option to force tablet UI Subject: Add option to force tablet UI
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../preferences/ChromePreferenceKeys.java | 1 + .../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++++++++
.../preferences/LegacyChromePreferenceKeys.java | 1 + .../preferences/ChromePreferenceKeys.java | 1 +
.../browser/omnibox/LocationBarCoordinator.java | 2 +- .../LegacyChromePreferenceKeys.java | 1 +
.../android/strings/android_chrome_strings.grd | 6 ++++++ .../omnibox/LocationBarCoordinator.java | 2 +-
.../toolbar/top/ToolbarControlContainer.java | 16 ---------------- .../strings/android_chrome_strings.grd | 6 ++++++
components/BUILD.gn | 6 +++--- .../toolbar/top/ToolbarControlContainer.java | 16 ----------------
.../java/res/xml/accessibility_preferences.xml | 5 +++++ components/BUILD.gn | 6 +++---
.../accessibility/AccessibilitySettings.java | 10 ++++++++++ .../res/xml/accessibility_preferences.xml | 5 +++++
ui/android/BUILD.gn | 2 ++ .../accessibility/AccessibilitySettings.java | 10 ++++++++++
.../org/chromium/ui/base/DeviceFormFactor.java | 5 +++++ .../AccessibilitySettingsDelegate.java | 2 ++
10 files changed, 34 insertions(+), 20 deletions(-) ui/android/BUILD.gn | 2 ++
.../chromium/ui/base/DeviceFormFactor.java | 5 +++++
12 files changed, 55 insertions(+), 20 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
@@ -68,6 +68,25 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
return new ReaderForAccessibilityDelegate();
}
+ private static class ForceTabletUIDelegate implements BooleanPreferenceDelegate {
+ @Override
+ public boolean isEnabled() {
+ return SharedPreferencesManager.getInstance().readBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false);
+ }
+
+ @Override
+ public void setEnabled(boolean value) {
+ SharedPreferencesManager.getInstance().writeBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, value);
+ }
+ }
+
+ @Override
+ public BooleanPreferenceDelegate getForceTabletUIDelegate() {
+ return new ForceTabletUIDelegate();
+ }
+
@Override
public void addExtraPreferences(PreferenceFragmentCompat fragment) {
if (ImageDescriptionsController.getInstance().shouldShowImageDescriptionsMenuItem()) {
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 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 --- 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 +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -441,6 +441,7 @@ public final class ChromePreferenceKeys { @@ -418,6 +418,7 @@ public final class ChromePreferenceKeys {
AccessibilityConstants.FONT_USER_SET_FORCE_ENABLE_ZOOM; AccessibilityConstants.FONT_USER_SET_FORCE_ENABLE_ZOOM;
public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info"; public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info";
@@ -29,7 +61,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 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 --- 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 +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
@@ -85,6 +85,7 @@ public class LegacyChromePreferenceKeys { @@ -67,6 +67,7 @@ public class LegacyChromePreferenceKeys {
ChromePreferenceKeys.FLAGS_CACHED_SWAP_PIXEL_FORMAT_TO_FIX_CONVERT_FROM_TRANSLUCENT, ChromePreferenceKeys.FLAGS_CACHED_SWAP_PIXEL_FORMAT_TO_FIX_CONVERT_FROM_TRANSLUCENT,
ChromePreferenceKeys.FLAGS_CACHED_TAB_GROUPS_ANDROID_ENABLED, ChromePreferenceKeys.FLAGS_CACHED_TAB_GROUPS_ANDROID_ENABLED,
ChromePreferenceKeys.FONT_USER_FONT_SCALE_FACTOR, ChromePreferenceKeys.FONT_USER_FONT_SCALE_FACTOR,
@@ -40,7 +72,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 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 --- 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 +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
@@ -365,7 +365,7 @@ public final class LocationBarCoordinator implements LocationBar, NativeInitObse @@ -376,7 +376,7 @@ public class LocationBarCoordinator implements LocationBar, NativeInitObserver,
// OmniboxSuggestionsDropdownEmbedder implementation // OmniboxSuggestionsDropdownEmbedder implementation
@Override @Override
public boolean isTablet() { public boolean isTablet() {
@@ -52,8 +84,8 @@ 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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1359,6 +1359,12 @@ Your Google account may have other forms of browsing history like searches and a @@ -1439,6 +1439,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."> <message name="IDS_PRIVACY_GUIDE_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 youre signed in, to protect you across Google apps Temporarily links this data to your Google Account when youre signed in, to protect you across Google apps
</message> </message>
+ <message name="IDS_FORCE_TABLET_UI_SUMMARY" desc="Summary of the preference that allows the user to force chromium to use tablet UI."> + <message name="IDS_FORCE_TABLET_UI_SUMMARY" desc="Summary of the preference that allows the user to force chromium to use tablet UI.">
@@ -68,10 +100,10 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
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 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 --- 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 +++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
@@ -106,22 +106,6 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con @@ -138,22 +138,6 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
public void setToolbar(Toolbar toolbar, boolean isIncognito) { mToolbarContainer.setPostInitializationDependencies(mToolbar, constraintsSupplier,
mToolbar = toolbar; tabSupplier, compositorInMotionSupplier,
mToolbarContainer.setToolbar(mToolbar); browserStateBrowserControlsVisibilityDelegate, isVisible);
- -
- View toolbarView = findViewById(R.id.toolbar); - View toolbarView = findViewById(R.id.toolbar);
- assert toolbarView != null; - assert toolbarView != null;
@@ -94,7 +126,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
diff --git a/components/BUILD.gn b/components/BUILD.gn diff --git a/components/BUILD.gn b/components/BUILD.gn
--- a/components/BUILD.gn --- a/components/BUILD.gn
+++ b/components/BUILD.gn +++ b/components/BUILD.gn
@@ -44,7 +44,7 @@ if (is_ios) { @@ -45,7 +45,7 @@ if (is_ios) {
# Omit Lacros because it allows //components to depend on //chrome, which in # Omit Lacros because it allows //components to depend on //chrome, which in
# turn depends on //extensions. # turn depends on //extensions.
@@ -103,7 +135,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
disallowed_extension_deps_ = [ disallowed_extension_deps_ = [
# Components should largely not depend on //extensions. Since // extensions # Components should largely not depend on //extensions. Since // extensions
# is not a component target and is linked with //chrome, depending on most # is not a component target and is linked with //chrome, depending on most
@@ -630,7 +630,7 @@ test("components_unittests") { @@ -686,7 +686,7 @@ test("components_unittests") {
# On other platforms, no components should depend on Chrome. # On other platforms, no components should depend on Chrome.
# Since //chrome depends on //extensions, we also only assert_no_deps on # Since //chrome depends on //extensions, we also only assert_no_deps on
# extensions targets for non-lacros builds. # extensions targets for non-lacros builds.
@@ -112,7 +144,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
assert_no_deps = [ "//chrome/*" ] assert_no_deps = [ "//chrome/*" ]
assert_no_deps += disallowed_extension_deps_ assert_no_deps += disallowed_extension_deps_
} }
@@ -910,7 +910,7 @@ if (!is_ios) { @@ -966,7 +966,7 @@ if (!is_ios) {
# dependency. On other platforms, no components should depend on Chrome. # dependency. On other platforms, no components should depend on Chrome.
# Since //chrome depends on //extensions, we also only assert_no_deps on # Since //chrome depends on //extensions, we also only assert_no_deps on
# extensions targets for non-lacros builds. # extensions targets for non-lacros builds.
@@ -124,7 +156,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
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 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 --- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
+++ b/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 @@ @@ -36,6 +36,11 @@ found in the LICENSE file.
android:summary="@string/accessibility_tab_switcher_summary" android:summary="@string/accessibility_tab_switcher_summary"
android:title="@string/accessibility_tab_switcher_title" /> android:title="@string/accessibility_tab_switcher_title" />
@@ -139,53 +171,65 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
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 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 --- 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 +++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
@@ -27,6 +27,7 @@ public class AccessibilitySettings @@ -30,6 +30,8 @@ public class AccessibilitySettings
public static final String PREF_READER_FOR_ACCESSIBILITY = "reader_for_accessibility"; public static final String PREF_READER_FOR_ACCESSIBILITY = "reader_for_accessibility";
public static final String PREF_CAPTIONS = "captions"; public static final String PREF_CAPTIONS = "captions";
+ private BooleanPreferenceDelegate mForceTabletUIDelegate;
+ static final String PREF_FORCE_TABLET_UI = "force_tablet_ui"; + static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
private TextScalePreference mTextScalePref; private TextScalePreference mTextScalePref;
private ChromeBaseCheckBoxPreference mForceEnableZoomPref; private PageZoomPreference mPageZoomDefaultZoomPref;
private boolean mRecordFontSizeChangeOnStop; private ChromeSwitchPreference mPageZoomAlwaysShowPref;
@@ -85,6 +86,12 @@ public class AccessibilitySettings @@ -106,6 +108,12 @@ public class AccessibilitySettings
getPreferenceScreen().removePreference(readerForAccessibilityPref); getPreferenceScreen().removePreference(readerForAccessibilityPref);
} }
+ ChromeBaseCheckBoxPreference forceTabletUiPref = + ChromeBaseCheckBoxPreference forceTabletUiPref =
+ (ChromeBaseCheckBoxPreference) findPreference(PREF_FORCE_TABLET_UI); + (ChromeBaseCheckBoxPreference) findPreference(PREF_FORCE_TABLET_UI);
+ forceTabletUiPref.setChecked(SharedPreferencesManager.getInstance().readBoolean( + mForceTabletUIDelegate = mDelegate.getForceTabletUIDelegate();
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false)); + forceTabletUiPref.setChecked(mForceTabletUIDelegate.isEnabled());
+ forceTabletUiPref.setOnPreferenceChangeListener(this); + forceTabletUiPref.setOnPreferenceChangeListener(this);
+ +
ChromeBaseCheckBoxPreference accessibilityTabSwitcherPref = ChromeBaseCheckBoxPreference accessibilityTabSwitcherPref =
(ChromeBaseCheckBoxPreference) findPreference( (ChromeBaseCheckBoxPreference) findPreference(
AccessibilityConstants.ACCESSIBILITY_TAB_SWITCHER); AccessibilityConstants.ACCESSIBILITY_TAB_SWITCHER);
@@ -133,6 +140,9 @@ public class AccessibilitySettings @@ -162,6 +170,8 @@ public class AccessibilitySettings
mFontSizePrefs.setUserFontScaleFactor((Float) newValue); mFontSizePrefs.setUserFontScaleFactor((Float) newValue);
} else if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) { } else if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
mFontSizePrefs.setForceEnableZoomFromUser((Boolean) newValue); mFontSizePrefs.setForceEnableZoomFromUser((Boolean) newValue);
+ } else if (PREF_FORCE_TABLET_UI.equals(preference.getKey())) { + } else if (PREF_FORCE_TABLET_UI.equals(preference.getKey())) {
+ SharedPreferencesManager.getInstance().writeBoolean( + mForceTabletUIDelegate.setEnabled((Boolean) newValue);
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, (Boolean) newValue);
} else if (PREF_READER_FOR_ACCESSIBILITY.equals(preference.getKey())) { } else if (PREF_READER_FOR_ACCESSIBILITY.equals(preference.getKey())) {
if (mReaderForAccessibilityDelegate != null) { if (mReaderForAccessibilityDelegate != null) {
mReaderForAccessibilityDelegate.setEnabled((Boolean) newValue); mReaderForAccessibilityDelegate.setEnabled((Boolean) newValue);
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
@@ -44,6 +44,8 @@ public interface AccessibilitySettingsDelegate {
*/
BooleanPreferenceDelegate getReaderForAccessibilityDelegate();
+ BooleanPreferenceDelegate getForceTabletUIDelegate();
+
/**
* Allows the embedder to add more preferences to the preference screen.
*
diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn
--- a/ui/android/BUILD.gn --- a/ui/android/BUILD.gn
+++ b/ui/android/BUILD.gn +++ b/ui/android/BUILD.gn
@@ -362,6 +362,8 @@ android_library("ui_no_recycler_view_java") { @@ -373,6 +373,8 @@ android_library("ui_no_recycler_view_java") {
deps = [
":ui_java_resources", ":ui_java_resources",
":ui_utils_java", ":ui_utils_java",
"//base:base_java",
+ # dependency for ui_no_recycler_view_java + # dependency for ui_no_recycler_view_java
+ "//chrome/browser/preferences:java", + "//chrome/browser/preferences:java",
"//components/url_formatter/android:url_formatter_java", "//base:base_java",
"//third_party/androidx:androidx_annotation_annotation_java", "//base:jni_java",
"//third_party/androidx:androidx_appcompat_appcompat_java", "//build/android:build_java",
diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
--- a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java --- a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
+++ b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java +++ b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
@@ -11,6 +11,8 @@ import androidx.annotation.UiThread; @@ -12,6 +12,8 @@ import androidx.annotation.VisibleForTesting;
import org.chromium.base.ContextUtils; import org.chromium.base.ContextUtils;
import org.chromium.base.ThreadUtils; import org.chromium.base.ThreadUtils;
import org.chromium.base.annotations.CalledByNative; import org.chromium.base.annotations.CalledByNative;
@@ -194,7 +238,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
import org.chromium.ui.R; import org.chromium.ui.R;
import org.chromium.ui.display.DisplayAndroid; import org.chromium.ui.display.DisplayAndroid;
import org.chromium.ui.display.DisplayUtil; import org.chromium.ui.display.DisplayUtil;
@@ -60,6 +62,9 @@ public class DeviceFormFactor { @@ -62,6 +64,9 @@ public class DeviceFormFactor {
* E.g. http://developer.samsung.com/samsung-dex/testing * E.g. http://developer.samsung.com/samsung-dex/testing
*/ */
public static boolean isNonMultiDisplayContextOnTablet(Context context) { public static boolean isNonMultiDisplayContextOnTablet(Context context) {
@@ -2,17 +2,18 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 7 Sep 2019 15:07:42 +0200 Date: Sat, 7 Sep 2019 15:07:42 +0200
Subject: Add option to not persist tabs across sessions Subject: Add option to not persist tabs across sessions
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../android/java/res/xml/privacy_preferences.xml | 5 +++++ .../android/java/res/xml/privacy_preferences.xml | 5 +++++
.../chrome/browser/ChromeTabbedActivity.java | 4 +++- .../chrome/browser/ChromeTabbedActivity.java | 5 ++++-
.../privacy/settings/PrivacySettings.java | 16 +++++++++++++++- .../privacy/settings/PrivacySettings.java | 16 +++++++++++++++-
.../android/strings/android_chrome_strings.grd | 6 ++++++ .../android/strings/android_chrome_strings.grd | 6 ++++++
4 files changed, 29 insertions(+), 2 deletions(-) 4 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml 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 --- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -42,6 +42,11 @@ @@ -45,6 +45,11 @@ found in the LICENSE file.
android:title="@string/incognito_settings_title" android:title="@string/incognito_settings_title"
android:summary="@string/incognito_settings_summary" android:summary="@string/incognito_settings_summary"
android:fragment="org.chromium.chrome.browser.privacy.settings.IncognitoSettings"/> android:fragment="org.chromium.chrome.browser.privacy.settings.IncognitoSettings"/>
@@ -27,7 +28,15 @@ 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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -1263,8 +1263,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent @@ -40,6 +40,7 @@ import androidx.lifecycle.LifecycleRegistry;
import org.chromium.base.BuildInfo;
import org.chromium.base.CallbackController;
import org.chromium.base.CommandLine;
+import org.chromium.base.ContextUtils;
import org.chromium.base.IntentUtils;
import org.chromium.base.Log;
import org.chromium.base.MemoryPressureListener;
@@ -1322,8 +1323,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
boolean hadCipherData = boolean hadCipherData =
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState()); CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
@@ -50,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import android.os.Bundle; import android.os.Bundle;
import android.text.SpannableString; import android.text.SpannableString;
import android.view.Menu; import android.view.Menu;
@@ -16,6 +17,8 @@ import androidx.preference.Preference; @@ -15,6 +16,8 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceFragmentCompat;
import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat; import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
@@ -59,16 +68,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.chrome.R; import org.chromium.chrome.R;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl; import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -59,6 +62,8 @@ public class PrivacySettings @@ -67,6 +70,8 @@ public class PrivacySettings
private static final String PREF_INCOGNITO_LOCK = "incognito_lock"; SharedPreferencesManager.getInstance();
private static final String PREF_PHONE_AS_A_SECURITY_KEY = "phone_as_a_security_key"; private final PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit"; + private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
+ +
private ManagedPreferenceDelegate mManagedPreferenceDelegate; private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings; private IncognitoLockSettings mIncognitoLockSettings;
private ViewGroup mDialogContainer;
@@ -134,7 +139,11 @@ public class PrivacySettings @@ -132,7 +137,11 @@ public class PrivacySettings
@Override @Override
public boolean onPreferenceChange(Preference preference, Object newValue) { public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey(); String key = preference.getKey();
@@ -81,7 +90,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
UserPrefs.get(Profile.getLastUsedRegularProfile()) UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue); .setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) { } else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
@@ -175,6 +184,11 @@ public class PrivacySettings @@ -176,6 +185,11 @@ public class PrivacySettings
PreloadPagesSettingsFragment.getPreloadPagesSummaryString(getContext())); PreloadPagesSettingsFragment.getPreloadPagesSummaryString(getContext()));
} }
@@ -96,7 +105,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 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -4314,6 +4314,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p @@ -4415,6 +4415,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</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."> <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 IMAGE
</message> </message>
@@ -3,6 +3,8 @@ Date: Sat, 20 Nov 2021 15:36:54 +0000
Subject: Add option to use home page as NTP Subject: Add option to use home page as NTP
And allow use about:blank as default homepage And allow use about:blank as default homepage
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../java/res/xml/homepage_preferences.xml | 5 +++++ .../java/res/xml/homepage_preferences.xml | 5 +++++
.../chrome/browser/homepage/HomepageManager.java | 16 ++++++++++++++++ .../chrome/browser/homepage/HomepageManager.java | 16 ++++++++++++++++
@@ -20,7 +22,7 @@ And allow use about:blank as default homepage
diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/android/java/res/xml/homepage_preferences.xml diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/android/java/res/xml/homepage_preferences.xml
--- a/chrome/android/java/res/xml/homepage_preferences.xml --- a/chrome/android/java/res/xml/homepage_preferences.xml
+++ b/chrome/android/java/res/xml/homepage_preferences.xml +++ b/chrome/android/java/res/xml/homepage_preferences.xml
@@ -12,6 +12,11 @@ @@ -14,6 +14,11 @@ found in the LICENSE file.
android:summaryOn="@string/text_on" android:summaryOn="@string/text_on"
android:summaryOff="@string/text_off" /> android:summaryOff="@string/text_off" />
@@ -35,7 +37,7 @@ diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/andro
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
@@ -214,6 +214,22 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat @@ -223,6 +223,22 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat
notifyHomepageUpdated(); notifyHomepageUpdated();
} }
@@ -108,15 +110,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchM
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
@@ -20,6 +20,7 @@ import org.chromium.chrome.browser.ServiceTabLauncher; @@ -19,6 +19,7 @@ import org.chromium.chrome.browser.ServiceTabLauncher;
import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingDelegateFactory; import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingDelegateFactory;
import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingTask; import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingTask;
import org.chromium.chrome.browser.compositor.CompositorViewHolder; import org.chromium.chrome.browser.compositor.CompositorViewHolder;
+import org.chromium.chrome.browser.homepage.HomepageManager; +import org.chromium.chrome.browser.homepage.HomepageManager;
import org.chromium.chrome.browser.init.StartupTabPreloader;
import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin; import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin;
import org.chromium.chrome.browser.ntp.NewTabPageUtils; import org.chromium.chrome.browser.ntp.NewTabPageUtils;
@@ -321,6 +322,12 @@ public class ChromeTabCreator extends TabCreator { import org.chromium.chrome.browser.tab.RedirectHandlerTabHelper;
@@ -311,6 +312,12 @@ public class ChromeTabCreator extends TabCreator {
* @return the created tab. * @return the created tab.
*/ */
public Tab launchUrl(String url, @TabLaunchType int type, Intent intent, long intentTimestamp) { public Tab launchUrl(String url, @TabLaunchType int type, Intent intent, long intentTimestamp) {
@@ -132,29 +134,29 @@ 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 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 --- 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 +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -449,6 +449,7 @@ public final class ChromePreferenceKeys { @@ -429,6 +429,7 @@ public final class ChromePreferenceKeys {
public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled"; public static final String HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_GURL =
public static final String HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_URI = "Chrome.Homepage.PartnerCustomizedDefaultGurl";
"Chrome.Homepage.PartnerCustomizedDefaultUri";
+ public static final String HOMEPAGE_NTP_IS_HOMEPAGE = "newtabpage_is_homepage";
+ public static final String HOMEPAGE_NTP_IS_HOMEPAGE = "newtabpage_is_homepage";
/** /**
* Key used to save homepage location set by enterprise policy * Key used to save homepage location set by enterprise policy
*/
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 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 --- 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 +++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
@@ -90,6 +90,7 @@ public class LegacyChromePreferenceKeys { @@ -72,6 +72,7 @@ public class LegacyChromePreferenceKeys {
ChromePreferenceKeys.HOMEPAGE_CUSTOM_URI, ChromePreferenceKeys.HOMEPAGE_CUSTOM_URI,
ChromePreferenceKeys.HOMEPAGE_ENABLED, ChromePreferenceKeys.HOMEPAGE_ENABLED,
ChromePreferenceKeys.HOMEPAGE_USE_DEFAULT_URI, ChromePreferenceKeys.HOMEPAGE_USE_DEFAULT_URI,
+ ChromePreferenceKeys.HOMEPAGE_NTP_IS_HOMEPAGE, + ChromePreferenceKeys.HOMEPAGE_NTP_IS_HOMEPAGE,
ChromePreferenceKeys.INCOGNITO_SHORTCUT_ADDED, ChromePreferenceKeys.INCOGNITO_SHORTCUT_ADDED,
ChromePreferenceKeys.LATEST_UNSUPPORTED_VERSION, ChromePreferenceKeys.LATEST_UNSUPPORTED_VERSION,
ChromePreferenceKeys.LOCALE_MANAGER_AUTO_SWITCH, ChromePreferenceKeys.LEGACY_FIRST_RUN_AND_BACKUP_SIGNIN_COMPLETE,
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1174,6 +1174,9 @@ Your Google account may have other forms of browsing history like searches and a @@ -1254,6 +1254,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."> <message name="IDS_CLEAR_BROWSING_DATA_TAB_PERIOD_HOUR" desc="The option to delete browsing data from the last hour.">
Last hour Last hour
</message> </message>
@@ -179,7 +181,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 diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
--- a/chrome/common/pref_names.cc --- a/chrome/common/pref_names.cc
+++ b/chrome/common/pref_names.cc +++ b/chrome/common/pref_names.cc
@@ -60,6 +60,10 @@ const char kForceEphemeralProfiles[] = "profile.ephemeral_mode"; @@ -61,6 +61,10 @@ const char kForceEphemeralProfiles[] = "profile.ephemeral_mode";
// A boolean specifying whether the New Tab page is the home page or not. // A boolean specifying whether the New Tab page is the home page or not.
const char kHomePageIsNewTabPage[] = "homepage_is_newtabpage"; const char kHomePageIsNewTabPage[] = "homepage_is_newtabpage";
@@ -193,7 +195,7 @@ diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h --- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h
@@ -368,6 +368,7 @@ extern const char kSettingsShowOSBanner[]; @@ -389,6 +389,7 @@ extern const char kRestrictedManagedGuestSessionExtensionCleanupExemptList[];
extern const char kUsedPolicyCertificates[]; extern const char kUsedPolicyCertificates[];
#endif // BUILDFLAG(IS_CHROMEOS) #endif // BUILDFLAG(IS_CHROMEOS)
extern const char kShowHomeButton[]; extern const char kShowHomeButton[];
+19 -16
View File
@@ -3,6 +3,9 @@ Date: Mon, 2 May 2022 11:48:03 +0000
Subject: Add site engagement flag Subject: Add site engagement flag
Enabled by default. Enabled by default.
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/browser/about_flags.cc | 6 ++++ chrome/browser/about_flags.cc | 6 ++++
chrome/browser/flag_descriptions.cc | 5 +++ chrome/browser/flag_descriptions.cc | 5 +++
@@ -18,17 +21,17 @@ Enabled by default.
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -132,6 +132,7 @@ @@ -144,6 +144,7 @@
#include "components/security_state/core/security_state.h" #include "components/segmentation_platform/public/features.h"
#include "components/send_tab_to_self/features.h" #include "components/send_tab_to_self/features.h"
#include "components/services/heap_profiling/public/cpp/switches.h" #include "components/services/heap_profiling/public/cpp/switches.h"
+#include "components/site_engagement/core/features.h" +#include "components/site_engagement/core/features.h"
#include "components/shared_highlighting/core/common/shared_highlighting_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/core/browser/dice_account_reconcilor_delegate.h"
#include "components/signin/public/base/signin_buildflags.h" #include "components/signin/public/base/signin_buildflags.h"
@@ -8495,6 +8496,11 @@ const FeatureEntry kFeatureEntries[] = { @@ -9283,6 +9284,11 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kReduceUserAgentMinorVersionDescription, kOsAll, flag_descriptions::kSearchReadyOmniboxDescription, kOsAndroid,
FEATURE_VALUE_TYPE(blink::features::kReduceUserAgentMinorVersion)}, FEATURE_VALUE_TYPE(chrome::android::kSearchReadyOmniboxFeature)},
+ {"site-engagement", + {"site-engagement",
+ flag_descriptions::kSiteEngagementName, + flag_descriptions::kSiteEngagementName,
@@ -36,14 +39,14 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+ FEATURE_VALUE_TYPE(site_engagement::features::kSiteEngagement)}, + FEATURE_VALUE_TYPE(site_engagement::features::kSiteEngagement)},
+ +
#if BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(IS_CHROMEOS_ASH)
{"enable-variable-refresh-rate", {"use-multiple-overlays", flag_descriptions::kUseMultipleOverlaysName,
flag_descriptions::kEnableVariableRefreshRateName, flag_descriptions::kUseMultipleOverlaysDescription, kOsCrOS,
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc
@@ -2953,6 +2953,11 @@ const char kReduceUserAgentMinorVersionDescription[] = @@ -3407,6 +3407,11 @@ const char kSkipServiceWorkerFetchHandlerDescription[] =
"The Chrome version in the User-Agent string will be reported as " "Skips starting the service worker and run the fetch handler if the fetch "
"Chrome/<major_version>.0.0.0."; "handler is recognized as skippable.";
+const char kSiteEngagementName[] = +const char kSiteEngagementName[] =
+ "Enable site engagement feature"; + "Enable site engagement feature";
@@ -56,9 +59,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 diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h
@@ -1680,6 +1680,9 @@ extern const char kDurableClientHintsCacheDescription[]; @@ -1957,6 +1957,9 @@ extern const char kReduceUserAgentPlatformOsCpuDescription[];
extern const char kReduceUserAgentMinorVersionName[]; extern const char kSkipServiceWorkerFetchHandlerName[];
extern const char kReduceUserAgentMinorVersionDescription[]; extern const char kSkipServiceWorkerFetchHandlerDescription[];
+extern const char kSiteEngagementName[]; +extern const char kSiteEngagementName[];
+extern const char kSiteEngagementDescription[]; +extern const char kSiteEngagementDescription[];
@@ -77,8 +80,8 @@ diff --git a/components/site_engagement/content/site_engagement_score.cc b/compo
#include "components/site_engagement/content/engagement_type.h" #include "components/site_engagement/content/engagement_type.h"
#include "components/site_engagement/content/site_engagement_metrics.h" #include "components/site_engagement/content/site_engagement_metrics.h"
#include "components/variations/variations_associated_data.h" #include "components/variations/variations_associated_data.h"
@@ -277,6 +278,10 @@ void SiteEngagementScore::Commit() { @@ -275,6 +276,10 @@ void SiteEngagementScore::Commit() {
if (!UpdateScoreDict(score_dict_.get())) if (!UpdateScoreDict(*score_dict_))
return; return;
+ if (!base::FeatureList::IsEnabled(features::kSiteEngagement)) { + if (!base::FeatureList::IsEnabled(features::kSiteEngagement)) {
@@ -87,7 +90,7 @@ diff --git a/components/site_engagement/content/site_engagement_score.cc b/compo
+ } + }
settings_map_->SetWebsiteSettingDefaultScope( settings_map_->SetWebsiteSettingDefaultScope(
origin_, GURL(), ContentSettingsType::SITE_ENGAGEMENT, origin_, GURL(), ContentSettingsType::SITE_ENGAGEMENT,
base::Value::FromUniquePtrValue(std::move(score_dict_))); base::Value(std::move(*score_dict_)));
diff --git a/components/site_engagement/core/BUILD.gn b/components/site_engagement/core/BUILD.gn diff --git a/components/site_engagement/core/BUILD.gn b/components/site_engagement/core/BUILD.gn
--- a/components/site_engagement/core/BUILD.gn --- a/components/site_engagement/core/BUILD.gn
+++ b/components/site_engagement/core/BUILD.gn +++ b/components/site_engagement/core/BUILD.gn
@@ -2,6 +2,8 @@ From: uazo <uazo@users.noreply.github.com>
Date: Mon, 17 May 2021 12:30:12 +0000 Date: Mon, 17 May 2021 12:30:12 +0000
Subject: Add support for ISupportHelpAndFeedback Subject: Add support for ISupportHelpAndFeedback
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../chrome/browser/settings/SettingsActivity.java | 11 ++++++++--- .../chrome/browser/settings/SettingsActivity.java | 11 ++++++++---
.../components/browser_ui/settings/SettingsUtils.java | 4 ++++ .../components/browser_ui/settings/SettingsUtils.java | 4 ++++
@@ -10,15 +12,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 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
@@ -69,6 +69,7 @@ import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; @@ -66,6 +66,7 @@ import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFacto
import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory; import org.chromium.components.browser_ui.modaldialog.AppModalPresenter;
import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher; import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher;
import org.chromium.components.browser_ui.settings.SettingsLauncher; import org.chromium.components.browser_ui.settings.SettingsLauncher;
+import org.chromium.components.browser_ui.settings.SettingsUtils; +import org.chromium.components.browser_ui.settings.SettingsUtils;
import org.chromium.components.browser_ui.site_settings.SiteSettingsPreferenceFragment; import org.chromium.components.browser_ui.site_settings.SiteSettingsPreferenceFragment;
import org.chromium.components.browser_ui.widget.displaystyle.UiConfig; import org.chromium.components.browser_ui.widget.displaystyle.UiConfig;
import org.chromium.components.browser_ui.widget.displaystyle.ViewResizer; import org.chromium.components.browser_ui.widget.displaystyle.ViewResizer;
@@ -333,9 +334,13 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity @@ -328,9 +329,13 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
finish(); finish();
return true; return true;
} else if (item.getItemId() == R.id.menu_id_general_help) { } else if (item.getItemId() == R.id.menu_id_general_help) {
@@ -3,6 +3,9 @@ Date: Tue, 12 Apr 2022 15:58:01 +0000
Subject: Add support for writing URIs Subject: Add support for writing URIs
Allows native-side URI file writing Allows native-side URI file writing
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
base/android/content_uri_utils.cc | 10 ++++++ base/android/content_uri_utils.cc | 10 ++++++
base/android/content_uri_utils.h | 4 +++ base/android/content_uri_utils.h | 4 +++
+36 -25
View File
@@ -5,6 +5,9 @@ Subject: Add webGL site setting
Do not provide any device information when serving context creation errors. Do not provide any device information when serving context creation errors.
Requires patch: Content-settings-infrastructure.patch Requires patch: Content-settings-infrastructure.patch
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../browser_ui/site_settings/android/BUILD.gn | 3 + .../browser_ui/site_settings/android/BUILD.gn | 3 +
.../BromiteCustomContentSettingImpl.java | 1 + .../BromiteCustomContentSettingImpl.java | 1 +
@@ -15,7 +18,7 @@ Requires patch: Content-settings-infrastructure.patch
components/components_strings.grd | 1 + components/components_strings.grd | 1 +
.../core/browser/content_settings_registry.cc | 14 +++ .../core/browser/content_settings_registry.cc | 14 +++
.../core/browser/content_settings_utils.cc | 2 + .../core/browser/content_settings_utils.cc | 2 +
.../core/common/content_settings.cc | 3 +- .../core/common/content_settings.cc | 4 +-
.../core/common/content_settings.h | 1 + .../core/common/content_settings.h | 1 +
.../core/common/content_settings.mojom | 1 + .../core/common/content_settings.mojom | 1 +
.../common/content_settings_mojom_traits.cc | 3 +- .../common/content_settings_mojom_traits.cc | 3 +-
@@ -28,14 +31,14 @@ Requires patch: Content-settings-infrastructure.patch
.../execution_context/execution_context.h | 5 ++ .../execution_context/execution_context.h | 5 ++
.../webgl/webgl_rendering_context_base.cc | 32 +++---- .../webgl/webgl_rendering_context_base.cc | 32 +++----
.../webgl/webgl_rendering_context_base.h | 2 + .../webgl/webgl_rendering_context_base.h | 2 +
22 files changed, 196 insertions(+), 23 deletions(-) 22 files changed, 197 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/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteWebGLContentSetting.java
create mode 100644 components/browser_ui/strings/android/webgl.grdp 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 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 --- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn +++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -72,6 +72,9 @@ android_library("java") { @@ -92,6 +92,9 @@ android_library("java") {
"java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java", "java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java",
"java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java", "java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java",
] ]
@@ -180,7 +183,7 @@ diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/comp
<part file="site_settings.grdp" /> <part file="site_settings.grdp" />
+ <part file="webgl.grdp" /> + <part file="webgl.grdp" />
<message name="IDS_GOT_IT" desc="Button for the user to accept a disclosure/message"> <message name="IDS_GOT_IT" desc="Button for the user to accept a disclosure/message" formatter_data="android_java">
Got it Got it
diff --git a/components/browser_ui/strings/android/webgl.grdp b/components/browser_ui/strings/android/webgl.grdp diff --git a/components/browser_ui/strings/android/webgl.grdp b/components/browser_ui/strings/android/webgl.grdp
new file mode 100644 new file mode 100644
@@ -208,18 +211,18 @@ new file mode 100644
diff --git a/components/components_strings.grd b/components/components_strings.grd diff --git a/components/components_strings.grd b/components/components_strings.grd
--- a/components/components_strings.grd --- a/components/components_strings.grd
+++ b/components/components_strings.grd +++ b/components/components_strings.grd
@@ -336,6 +336,7 @@ @@ -338,6 +338,7 @@
<part file="version_ui_strings.grdp" /> <part file="version_ui_strings.grdp" />
<part file="webapps_strings.grdp" /> <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/webgl.grdp" />
<if expr="not is_ios"> <if expr="not is_ios">
<part file="management_strings.grdp" /> <part file="history_clusters_strings.grdp" />
</if>
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc 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 --- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -677,6 +677,20 @@ void ContentSettingsRegistry::Init() { @@ -633,6 +633,20 @@ void ContentSettingsRegistry::Init() {
ContentSettingsInfo::INHERIT_IN_INCOGNITO, ContentSettingsInfo::INHERIT_IN_INCOGNITO,
ContentSettingsInfo::PERSISTENT, ContentSettingsInfo::PERSISTENT,
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY); ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
@@ -229,7 +232,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
+ AllowlistedSchemes(), + AllowlistedSchemes(),
+ ValidSettings(CONTENT_SETTING_ALLOW, + ValidSettings(CONTENT_SETTING_ALLOW,
+ CONTENT_SETTING_BLOCK), + CONTENT_SETTING_BLOCK),
+ WebsiteSettingsInfo::SINGLE_ORIGIN_WITH_EMBEDDED_EXCEPTIONS_SCOPE, + WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
+ WebsiteSettingsRegistry::PLATFORM_ANDROID, + WebsiteSettingsRegistry::PLATFORM_ANDROID,
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO, + ContentSettingsInfo::INHERIT_IN_INCOGNITO,
+ ContentSettingsInfo::PERSISTENT, + ContentSettingsInfo::PERSISTENT,
@@ -243,7 +246,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc 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 --- a/components/content_settings/core/browser/content_settings_utils.cc
+++ b/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, @@ -156,6 +156,8 @@ void GetRendererContentSettingRules(const HostContentSettingsMap* map,
std::string timezone; std::string timezone;
map->GetTimezoneOverrideValue(timezone); map->GetTimezoneOverrideValue(timezone);
rules->timezone_override_value = timezone; rules->timezone_override_value = timezone;
@@ -255,7 +258,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc 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 --- a/components/content_settings/core/common/content_settings.cc
+++ b/components/content_settings/core/common/content_settings.cc +++ b/components/content_settings/core/common/content_settings.cc
@@ -204,7 +204,8 @@ bool RendererContentSettingRules::IsRendererContentSetting( @@ -208,7 +208,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
content_type == ContentSettingsType::AUTOPLAY || content_type == ContentSettingsType::AUTOPLAY ||
content_type == ContentSettingsType::MIXEDSCRIPT || content_type == ContentSettingsType::MIXEDSCRIPT ||
content_type == ContentSettingsType::AUTO_DARK_WEB_CONTENT || content_type == ContentSettingsType::AUTO_DARK_WEB_CONTENT ||
@@ -265,10 +268,18 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
} }
void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL( void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
@@ -220,6 +221,7 @@ void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
FilterRulesForType(auto_dark_content_rules, outermost_main_frame_url);
FilterRulesForType(timezone_override_rules, outermost_main_frame_url);
FilterRulesForType(autoplay_rules, outermost_main_frame_url);
+ FilterRulesForType(webgl_rules, outermost_main_frame_url);
}
RendererContentSettingRules::RendererContentSettingRules() = default;
diff --git a/components/content_settings/core/common/content_settings.h b/components/content_settings/core/common/content_settings.h 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 --- a/components/content_settings/core/common/content_settings.h
+++ b/components/content_settings/core/common/content_settings.h +++ b/components/content_settings/core/common/content_settings.h
@@ -97,6 +97,7 @@ struct RendererContentSettingRules { @@ -96,6 +96,7 @@ struct RendererContentSettingRules {
ContentSettingsForOneType auto_dark_content_rules; ContentSettingsForOneType auto_dark_content_rules;
ContentSettingsForOneType timezone_override_rules; ContentSettingsForOneType timezone_override_rules;
std::string timezone_override_value; std::string timezone_override_value;
@@ -288,7 +299,7 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co
diff --git a/components/content_settings/core/common/content_settings_mojom_traits.cc b/components/content_settings/core/common/content_settings_mojom_traits.cc 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 --- a/components/content_settings/core/common/content_settings_mojom_traits.cc
+++ b/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, @@ -105,7 +105,8 @@ bool StructTraits<content_settings::mojom::RendererContentSettingRulesDataView,
data.ReadMixedContentRules(&out->mixed_content_rules) && data.ReadMixedContentRules(&out->mixed_content_rules) &&
data.ReadAutoDarkContentRules(&out->auto_dark_content_rules) && data.ReadAutoDarkContentRules(&out->auto_dark_content_rules) &&
data.ReadTimezoneOverrideRules(&out->timezone_override_rules) && data.ReadTimezoneOverrideRules(&out->timezone_override_rules) &&
@@ -316,7 +327,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
diff --git a/components/content_settings/core/common/content_settings_types.h b/components/content_settings/core/common/content_settings_types.h 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 --- a/components/content_settings/core/common/content_settings_types.h
+++ b/components/content_settings/core/common/content_settings_types.h +++ b/components/content_settings/core/common/content_settings_types.h
@@ -287,6 +287,8 @@ enum class ContentSettingsType : int32_t { @@ -277,6 +277,8 @@ enum class ContentSettingsType : int32_t {
// site instead of the mobile one. // site instead of the mobile one.
REQUEST_DESKTOP_SITE, REQUEST_DESKTOP_SITE,
@@ -328,7 +339,7 @@ diff --git a/components/content_settings/core/common/content_settings_types.h b/
diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc 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 --- a/components/content_settings/renderer/content_settings_agent_impl.cc
+++ b/components/content_settings/renderer/content_settings_agent_impl.cc +++ b/components/content_settings/renderer/content_settings_agent_impl.cc
@@ -455,6 +455,15 @@ void ContentSettingsAgentImpl::ClearBlockedContentSettings() { @@ -449,6 +449,15 @@ void ContentSettingsAgentImpl::ClearBlockedContentSettings() {
cached_script_permissions_.clear(); cached_script_permissions_.clear();
} }
@@ -347,7 +358,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc
diff --git a/components/content_settings/renderer/content_settings_agent_impl.h b/components/content_settings/renderer/content_settings_agent_impl.h 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 --- a/components/content_settings/renderer/content_settings_agent_impl.h
+++ b/components/content_settings/renderer/content_settings_agent_impl.h +++ b/components/content_settings/renderer/content_settings_agent_impl.h
@@ -94,6 +94,7 @@ class ContentSettingsAgentImpl @@ -99,6 +99,7 @@ class ContentSettingsAgentImpl
bool AllowAutoplay(bool default_value) override; bool AllowAutoplay(bool default_value) override;
bool AllowPopupsAndRedirects(bool default_value) override; bool AllowPopupsAndRedirects(bool default_value) override;
bool ShouldAutoupgradeMixedContent() override; bool ShouldAutoupgradeMixedContent() override;
@@ -370,7 +381,7 @@ diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/t
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc 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 --- a/third_party/blink/renderer/core/execution_context/execution_context.cc
+++ b/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 @@ @@ -67,6 +67,29 @@
namespace blink { namespace blink {
@@ -403,7 +414,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h 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 --- a/third_party/blink/renderer/core/execution_context/execution_context.h
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h +++ b/third_party/blink/renderer/core/execution_context/execution_context.h
@@ -97,6 +97,7 @@ class SecurityOrigin; @@ -101,6 +101,7 @@ class SecurityOrigin;
class ScriptState; class ScriptState;
class ScriptWrappable; class ScriptWrappable;
class TrustedTypePolicyFactory; class TrustedTypePolicyFactory;
@@ -411,7 +422,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
enum ReasonForCallingCanExecuteScripts { enum ReasonForCallingCanExecuteScripts {
kAboutToExecuteScript, kAboutToExecuteScript,
@@ -105,6 +106,10 @@ enum ReasonForCallingCanExecuteScripts { @@ -109,6 +110,10 @@ enum ReasonForCallingCanExecuteScripts {
enum ReferrerPolicySource { kPolicySourceHttpHeader, kPolicySourceMetaTag }; enum ReferrerPolicySource { kPolicySourceHttpHeader, kPolicySourceMetaTag };
@@ -425,7 +436,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
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 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 --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
@@ -242,6 +242,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits( @@ -246,6 +246,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
} }
} }
@@ -437,9 +448,9 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
+} +}
+ +
unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() { unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() {
MutexLocker locker(WebGLContextLimitMutex()); base::AutoLock locker(WebGLContextLimitLock());
DCHECK(webgl_context_limits_initialized_); DCHECK(webgl_context_limits_initialized_);
@@ -488,25 +495,6 @@ static String ExtractWebGLContextCreationError( @@ -492,25 +499,6 @@ static String ExtractWebGLContextCreationError(
const Platform::GraphicsInfo& info) { const Platform::GraphicsInfo& info) {
StringBuilder builder; StringBuilder builder;
builder.Append("Could not create a WebGL context"); builder.Append("Could not create a WebGL context");
@@ -465,7 +476,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(), FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(),
builder); builder);
builder.Append('.'); builder.Append('.');
@@ -574,6 +562,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider( @@ -579,6 +567,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
const CanvasContextCreationAttributesCore& attributes, const CanvasContextCreationAttributesCore& attributes,
Platform::ContextType context_type, Platform::ContextType context_type,
Platform::GraphicsInfo* graphics_info) { Platform::GraphicsInfo* graphics_info) {
@@ -481,7 +492,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
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 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 --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
@@ -1771,6 +1771,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext, @@ -1920,6 +1920,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
DOMArrayBufferView* pixels, DOMArrayBufferView* pixels,
int64_t offset); int64_t offset);
+38 -19
View File
@@ -3,6 +3,9 @@ Date: Fri, 6 May 2022 14:27:17 +0000
Subject: Add webRTC site settings Subject: Add webRTC site settings
Requires patch: Content-settings-infrastructure.patch Requires patch: Content-settings-infrastructure.patch
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../browser_ui/site_settings/android/BUILD.gn | 3 + .../browser_ui/site_settings/android/BUILD.gn | 3 +
.../BromiteCustomContentSettingImpl.java | 1 + .../BromiteCustomContentSettingImpl.java | 1 +
@@ -13,7 +16,7 @@ Requires patch: Content-settings-infrastructure.patch
components/components_strings.grd | 1 + components/components_strings.grd | 1 +
.../core/browser/content_settings_registry.cc | 14 +++ .../core/browser/content_settings_registry.cc | 14 +++
.../core/browser/content_settings_utils.cc | 2 + .../core/browser/content_settings_utils.cc | 2 +
.../core/common/content_settings.cc | 3 +- .../core/common/content_settings.cc | 4 +-
.../core/common/content_settings.h | 1 + .../core/common/content_settings.h | 1 +
.../core/common/content_settings.mojom | 1 + .../core/common/content_settings.mojom | 1 +
.../common/content_settings_mojom_traits.cc | 3 +- .../common/content_settings_mojom_traits.cc | 3 +-
@@ -22,15 +25,15 @@ Requires patch: Content-settings-infrastructure.patch
.../renderer/content_settings_agent_impl.cc | 9 ++ .../renderer/content_settings_agent_impl.cc | 9 ++
.../renderer/content_settings_agent_impl.h | 1 + .../renderer/content_settings_agent_impl.h | 1 +
.../platform/web_content_settings_client.h | 2 + .../platform/web_content_settings_client.h | 2 +
.../peer_connection_dependency_factory.cc | 5 ++ .../peer_connection_dependency_factory.cc | 6 ++
19 files changed, 159 insertions(+), 4 deletions(-) 19 files changed, 161 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/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteWebRTCContentSetting.java
create mode 100644 components/browser_ui/strings/android/webrtc.grdp 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 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 --- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn +++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -75,6 +75,9 @@ android_library("java") { @@ -95,6 +95,9 @@ android_library("java") {
sources += [ sources += [
"java/src/org/chromium/components/browser_ui/site_settings/BromiteWebGLContentSetting.java", "java/src/org/chromium/components/browser_ui/site_settings/BromiteWebGLContentSetting.java",
] ]
@@ -176,7 +179,7 @@ diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/comp
<part file="webgl.grdp" /> <part file="webgl.grdp" />
+ <part file="webrtc.grdp" /> + <part file="webrtc.grdp" />
<message name="IDS_GOT_IT" desc="Button for the user to accept a disclosure/message"> <message name="IDS_GOT_IT" desc="Button for the user to accept a disclosure/message" formatter_data="android_java">
Got it Got it
diff --git a/components/browser_ui/strings/android/webrtc.grdp b/components/browser_ui/strings/android/webrtc.grdp diff --git a/components/browser_ui/strings/android/webrtc.grdp b/components/browser_ui/strings/android/webrtc.grdp
new file mode 100644 new file mode 100644
@@ -204,18 +207,18 @@ new file mode 100644
diff --git a/components/components_strings.grd b/components/components_strings.grd diff --git a/components/components_strings.grd b/components/components_strings.grd
--- a/components/components_strings.grd --- a/components/components_strings.grd
+++ b/components/components_strings.grd +++ b/components/components_strings.grd
@@ -337,6 +337,7 @@ @@ -339,6 +339,7 @@
<part file="webapps_strings.grdp" /> <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/webgl.grdp" />
+ <part file="browser_ui/strings/android/webrtc.grdp" /> + <part file="browser_ui/strings/android/webrtc.grdp" />
<if expr="not is_ios"> <if expr="not is_ios">
<part file="management_strings.grdp" /> <part file="history_clusters_strings.grdp" />
</if>
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc 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 --- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc +++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -691,6 +691,20 @@ void ContentSettingsRegistry::Init() { @@ -647,6 +647,20 @@ void ContentSettingsRegistry::Init() {
/*show_into_info_page*/ true, /*show_into_info_page*/ true,
/*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_WEBGL, /*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_WEBGL,
/*permission_type_ui_mid_sentence*/ IDS_SITE_SETTINGS_TYPE_WEBGL_MID_SENTENCE); /*permission_type_ui_mid_sentence*/ IDS_SITE_SETTINGS_TYPE_WEBGL_MID_SENTENCE);
@@ -225,7 +228,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
+ AllowlistedSchemes(), + AllowlistedSchemes(),
+ ValidSettings(CONTENT_SETTING_ALLOW, + ValidSettings(CONTENT_SETTING_ALLOW,
+ CONTENT_SETTING_BLOCK), + CONTENT_SETTING_BLOCK),
+ WebsiteSettingsInfo::SINGLE_ORIGIN_WITH_EMBEDDED_EXCEPTIONS_SCOPE, + WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
+ WebsiteSettingsRegistry::PLATFORM_ANDROID, + WebsiteSettingsRegistry::PLATFORM_ANDROID,
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO, + ContentSettingsInfo::INHERIT_IN_INCOGNITO,
+ ContentSettingsInfo::PERSISTENT, + ContentSettingsInfo::PERSISTENT,
@@ -239,7 +242,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc 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 --- a/components/content_settings/core/browser/content_settings_utils.cc
+++ b/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, @@ -158,6 +158,8 @@ void GetRendererContentSettingRules(const HostContentSettingsMap* map,
rules->timezone_override_value = timezone; rules->timezone_override_value = timezone;
map->GetSettingsForOneType(ContentSettingsType::WEBGL, map->GetSettingsForOneType(ContentSettingsType::WEBGL,
&(rules->webgl_rules)); &(rules->webgl_rules));
@@ -251,7 +254,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc 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 --- a/components/content_settings/core/common/content_settings.cc
+++ b/components/content_settings/core/common/content_settings.cc +++ b/components/content_settings/core/common/content_settings.cc
@@ -205,7 +205,8 @@ bool RendererContentSettingRules::IsRendererContentSetting( @@ -209,7 +209,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
content_type == ContentSettingsType::MIXEDSCRIPT || content_type == ContentSettingsType::MIXEDSCRIPT ||
content_type == ContentSettingsType::AUTO_DARK_WEB_CONTENT || content_type == ContentSettingsType::AUTO_DARK_WEB_CONTENT ||
content_type == ContentSettingsType::TIMEZONE_OVERRIDE || content_type == ContentSettingsType::TIMEZONE_OVERRIDE ||
@@ -261,10 +264,18 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
} }
void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL( void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
@@ -222,6 +223,7 @@ void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
FilterRulesForType(timezone_override_rules, outermost_main_frame_url);
FilterRulesForType(autoplay_rules, outermost_main_frame_url);
FilterRulesForType(webgl_rules, outermost_main_frame_url);
+ FilterRulesForType(webrtc_rules, outermost_main_frame_url);
}
RendererContentSettingRules::RendererContentSettingRules() = default;
diff --git a/components/content_settings/core/common/content_settings.h b/components/content_settings/core/common/content_settings.h 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 --- a/components/content_settings/core/common/content_settings.h
+++ b/components/content_settings/core/common/content_settings.h +++ b/components/content_settings/core/common/content_settings.h
@@ -98,6 +98,7 @@ struct RendererContentSettingRules { @@ -97,6 +97,7 @@ struct RendererContentSettingRules {
ContentSettingsForOneType timezone_override_rules; ContentSettingsForOneType timezone_override_rules;
std::string timezone_override_value; std::string timezone_override_value;
ContentSettingsForOneType webgl_rules; ContentSettingsForOneType webgl_rules;
@@ -284,7 +295,7 @@ diff --git a/components/content_settings/core/common/content_settings.mojom b/co
diff --git a/components/content_settings/core/common/content_settings_mojom_traits.cc b/components/content_settings/core/common/content_settings_mojom_traits.cc 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 --- a/components/content_settings/core/common/content_settings_mojom_traits.cc
+++ b/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, @@ -106,7 +106,8 @@ bool StructTraits<content_settings::mojom::RendererContentSettingRulesDataView,
data.ReadAutoDarkContentRules(&out->auto_dark_content_rules) && data.ReadAutoDarkContentRules(&out->auto_dark_content_rules) &&
data.ReadTimezoneOverrideRules(&out->timezone_override_rules) && data.ReadTimezoneOverrideRules(&out->timezone_override_rules) &&
data.ReadTimezoneOverrideValue(&out->timezone_override_value) && data.ReadTimezoneOverrideValue(&out->timezone_override_value) &&
@@ -312,7 +323,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
diff --git a/components/content_settings/core/common/content_settings_types.h b/components/content_settings/core/common/content_settings_types.h 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 --- a/components/content_settings/core/common/content_settings_types.h
+++ b/components/content_settings/core/common/content_settings_types.h +++ b/components/content_settings/core/common/content_settings_types.h
@@ -289,6 +289,8 @@ enum class ContentSettingsType : int32_t { @@ -279,6 +279,8 @@ enum class ContentSettingsType : int32_t {
WEBGL, WEBGL,
@@ -324,7 +335,7 @@ diff --git a/components/content_settings/core/common/content_settings_types.h b/
diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc 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 --- a/components/content_settings/renderer/content_settings_agent_impl.cc
+++ b/components/content_settings/renderer/content_settings_agent_impl.cc +++ b/components/content_settings/renderer/content_settings_agent_impl.cc
@@ -464,6 +464,15 @@ bool ContentSettingsAgentImpl::AllowWebgl(bool enabled_per_settings) { @@ -458,6 +458,15 @@ bool ContentSettingsAgentImpl::AllowWebgl(bool enabled_per_settings) {
url::Origin(frame->GetDocument().GetSecurityOrigin()).GetURL()); url::Origin(frame->GetDocument().GetSecurityOrigin()).GetURL());
} }
@@ -343,7 +354,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc
diff --git a/components/content_settings/renderer/content_settings_agent_impl.h b/components/content_settings/renderer/content_settings_agent_impl.h 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 --- a/components/content_settings/renderer/content_settings_agent_impl.h
+++ b/components/content_settings/renderer/content_settings_agent_impl.h +++ b/components/content_settings/renderer/content_settings_agent_impl.h
@@ -95,6 +95,7 @@ class ContentSettingsAgentImpl @@ -100,6 +100,7 @@ class ContentSettingsAgentImpl
bool AllowPopupsAndRedirects(bool default_value) override; bool AllowPopupsAndRedirects(bool default_value) override;
bool ShouldAutoupgradeMixedContent() override; bool ShouldAutoupgradeMixedContent() override;
bool AllowWebgl(bool enabled_per_settings) override; bool AllowWebgl(bool enabled_per_settings) override;
@@ -366,7 +377,15 @@ diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/t
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 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 --- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc +++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
@@ -762,6 +762,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator( @@ -33,6 +33,7 @@
#include "third_party/blink/public/common/peerconnection/webrtc_ip_handling_policy.h"
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
#include "third_party/blink/public/platform/platform.h"
+#include "third_party/blink/public/platform/web_content_settings_client.h"
#include "third_party/blink/public/platform/web_url.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_video_source.h"
#include "third_party/blink/public/web/web_document.h"
@@ -804,6 +805,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
// origin. // origin.
WebRTCIPHandlingPolicy policy = WebRTCIPHandlingPolicy policy =
GetWebRTCIPHandlingPolicy(webrtc_ip_handling_policy); GetWebRTCIPHandlingPolicy(webrtc_ip_handling_policy);
@@ -2,12 +2,13 @@ From: Zoraver Kang <Zoraver@users.noreply.github.com>
Date: Fri, 22 May 2020 22:43:27 -0400 Date: Fri, 22 May 2020 22:43:27 -0400
Subject: Allow building without enable_reporting Subject: Allow building without enable_reporting
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../browser/devtools/protocol/network_handler.cc | 2 ++ .../browser/devtools/protocol/network_handler.cc | 2 ++
.../net/cross_origin_embedder_policy_reporter.cc | 4 +++- .../cross_origin_embedder_policy_reporter.cc | 7 +++++--
.../net/cross_origin_opener_policy_reporter.cc | 16 +++++++--------- .../cross_origin_opener_policy_reporter.cc | 16 +++++++---------
content/browser/net/reporting_service_proxy.cc | 3 +++ .../browser/network/reporting_service_proxy.cc | 3 +++
.../renderer_host/render_frame_host_impl.cc | 2 ++ .../renderer_host/render_frame_host_impl.cc | 6 ------
.../web_package/signed_exchange_reporter.cc | 2 ++ .../web_package/signed_exchange_reporter.cc | 2 ++
...content_switch_dependent_feature_overrides.cc | 1 + ...content_switch_dependent_feature_overrides.cc | 1 +
net/reporting/reporting_service.cc | 6 ++++++ net/reporting/reporting_service.cc | 6 ++++++
@@ -18,12 +19,12 @@ Subject: Allow building without enable_reporting
.../blink/renderer/core/frame/local_frame.h | 6 +++--- .../blink/renderer/core/frame/local_frame.h | 6 +++---
.../renderer/core/frame/reporting_context.cc | 9 +++++++++ .../renderer/core/frame/reporting_context.cc | 9 +++++++++
.../renderer/core/frame/reporting_context.h | 7 +++++-- .../renderer/core/frame/reporting_context.h | 7 +++++--
15 files changed, 50 insertions(+), 18 deletions(-) 15 files changed, 50 insertions(+), 25 deletions(-)
diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc 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 --- a/content/browser/devtools/protocol/network_handler.cc
+++ b/content/browser/devtools/protocol/network_handler.cc +++ b/content/browser/devtools/protocol/network_handler.cc
@@ -1289,6 +1289,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) { @@ -1291,6 +1291,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) {
} }
} }
@@ -31,7 +32,7 @@ diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/brow
std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) { std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
std::vector<GURL> urls; std::vector<GURL> urls;
base::queue<FrameTreeNode*> queue; base::queue<FrameTreeNode*> queue;
@@ -1306,6 +1307,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) { @@ -1308,6 +1309,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
} }
return urls; return urls;
} }
@@ -39,38 +40,48 @@ diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/brow
} // namespace } // namespace
diff --git a/content/browser/net/cross_origin_embedder_policy_reporter.cc b/content/browser/net/cross_origin_embedder_policy_reporter.cc diff --git a/content/browser/network/cross_origin_embedder_policy_reporter.cc b/content/browser/network/cross_origin_embedder_policy_reporter.cc
--- a/content/browser/net/cross_origin_embedder_policy_reporter.cc --- a/content/browser/network/cross_origin_embedder_policy_reporter.cc
+++ b/content/browser/net/cross_origin_embedder_policy_reporter.cc +++ b/content/browser/network/cross_origin_embedder_policy_reporter.cc
@@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
#include "content/browser/net/cross_origin_embedder_policy_reporter.h" #include "content/browser/network/cross_origin_embedder_policy_reporter.h"
+#include "net/base/features.h" +#include "net/base/features.h"
#include "base/strings/string_piece.h" #include "base/strings/string_piece.h"
#include "base/values.h" #include "base/values.h"
#include "content/public/browser/storage_partition.h" #include "content/public/browser/storage_partition.h"
@@ -112,6 +113,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify( @@ -95,8 +96,6 @@ void CrossOriginEmbedderPolicyReporter::Clone(
void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
std::initializer_list<std::pair<base::StringPiece, base::StringPiece>> body,
bool report_only) {
- const absl::optional<std::string>& endpoint =
- report_only ? report_only_endpoint_ : endpoint_;
const char* const disposition = report_only ? "reporting" : "enforce";
if (observer_) {
std::vector<blink::mojom::ReportBodyElementPtr> list;
@@ -111,6 +110,9 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
observer_->Notify(blink::mojom::Report::New(
kType, context_url_, blink::mojom::ReportBody::New(std::move(list)))); kType, context_url_, blink::mojom::ReportBody::New(std::move(list))));
} }
if (endpoint) {
+#if BUILDFLAG(ENABLE_REPORTING) +#if BUILDFLAG(ENABLE_REPORTING)
base::DictionaryValue body_to_pass; + const absl::optional<std::string>& endpoint =
+ report_only ? report_only_endpoint_ : endpoint_;
if (endpoint) {
base::Value::Dict body_to_pass;
for (const auto& pair : body) { for (const auto& pair : body) {
body_to_pass.SetString(pair.first, pair.second); @@ -125,6 +127,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)); /*user_agent=*/absl::nullopt, std::move(body_to_pass));
- } }
+#endif
} }
+#endif
} }
diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/content/browser/net/cross_origin_opener_policy_reporter.cc } // namespace content
--- a/content/browser/net/cross_origin_opener_policy_reporter.cc diff --git a/content/browser/network/cross_origin_opener_policy_reporter.cc b/content/browser/network/cross_origin_opener_policy_reporter.cc
+++ b/content/browser/net/cross_origin_opener_policy_reporter.cc --- a/content/browser/network/cross_origin_opener_policy_reporter.cc
@@ -17,25 +17,17 @@ +++ b/content/browser/network/cross_origin_opener_policy_reporter.cc
@@ -18,25 +18,17 @@
#include "services/network/public/mojom/network_context.mojom.h" #include "services/network/public/mojom/network_context.mojom.h"
#include "services/network/public/mojom/source_location.mojom.h" #include "services/network/public/mojom/source_location.mojom.h"
#include "url/origin.h" #include "url/origin.h"
@@ -97,7 +108,7 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
constexpr char kType[] = "type"; constexpr char kType[] = "type";
// Report attribute values: // Report attribute values:
@@ -44,6 +36,7 @@ constexpr char kDispositionReporting[] = "reporting"; @@ -45,6 +37,7 @@ constexpr char kDispositionReporting[] = "reporting";
constexpr char kTypeFromResponse[] = "navigation-from-response"; constexpr char kTypeFromResponse[] = "navigation-from-response";
constexpr char kTypeToResponse[] = "navigation-to-response"; constexpr char kTypeToResponse[] = "navigation-to-response";
@@ -105,15 +116,15 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) { std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
switch (coop_value) { switch (coop_value) {
case network::mojom::CrossOriginOpenerPolicyValue::kUnsafeNone: case network::mojom::CrossOriginOpenerPolicyValue::kUnsafeNone:
@@ -59,6 +52,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) { @@ -62,6 +55,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
return "same-origin-allow-popups-plus-coep"; return "restrict-properties-plus-coep";
} }
} }
+#endif +#endif
FrameTreeNode* TopLevelOpener(FrameTreeNode* frame) { FrameTreeNode* TopLevelOpener(FrameTreeNode* frame) {
FrameTreeNode* opener = frame->original_opener(); FrameTreeNode* opener =
@@ -229,6 +223,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport( @@ -233,6 +227,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
network::mojom::SourceLocationPtr source_location, network::mojom::SourceLocationPtr source_location,
const std::string& reported_window_url, const std::string& reported_window_url,
const std::string& initial_popup_url) const { const std::string& initial_popup_url) const {
@@ -121,32 +132,32 @@ 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 // Cross-Origin-Opener-Policy-Report-Only is not required to provide
// endpoints. // endpoints.
if (!coop_.report_only_reporting_endpoint) if (!coop_.report_only_reporting_endpoint)
@@ -277,12 +272,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport( @@ -280,12 +275,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
storage_partition_->GetNetworkContext()->QueueReport( storage_partition_->GetNetworkContext()->QueueReport(
"coop", endpoint, context_url_, reporting_source_, network_isolation_key_, "coop", endpoint, context_url_, reporting_source_,
absl::nullopt, std::move(body)); network_anonymization_key_, absl::nullopt, std::move(body));
+#endif +#endif
} }
void CrossOriginOpenerPolicyReporter::QueueNavigationReport( void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
base::DictionaryValue body, base::Value::Dict body,
const std::string& endpoint, const std::string& endpoint,
bool is_report_only) { bool is_report_only) {
+#if BUILDFLAG(ENABLE_REPORTING) +#if BUILDFLAG(ENABLE_REPORTING)
body.SetString(kDisposition, body.Set(kDisposition,
is_report_only ? kDispositionReporting : kDispositionEnforce); is_report_only ? kDispositionReporting : kDispositionEnforce);
body.SetString( body.Set(kEffectivePolicy,
@@ -291,6 +288,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport( @@ -294,6 +291,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
storage_partition_->GetNetworkContext()->QueueReport( "coop", endpoint, context_url_, reporting_source_,
"coop", endpoint, context_url_, reporting_source_, network_isolation_key_, network_anonymization_key_,
/*user_agent=*/absl::nullopt, std::move(body)); /*user_agent=*/absl::nullopt, std::move(body));
+#endif +#endif
} }
} // namespace content } // namespace content
diff --git a/content/browser/net/reporting_service_proxy.cc b/content/browser/net/reporting_service_proxy.cc diff --git a/content/browser/network/reporting_service_proxy.cc b/content/browser/network/reporting_service_proxy.cc
--- a/content/browser/net/reporting_service_proxy.cc --- a/content/browser/network/reporting_service_proxy.cc
+++ b/content/browser/net/reporting_service_proxy.cc +++ b/content/browser/network/reporting_service_proxy.cc
@@ -11,6 +11,7 @@ @@ -11,6 +11,7 @@
#include "base/memory/ref_counted.h" #include "base/memory/ref_counted.h"
#include "base/unguessable_token.h" #include "base/unguessable_token.h"
@@ -155,18 +166,17 @@ diff --git a/content/browser/net/reporting_service_proxy.cc b/content/browser/ne
#include "content/browser/service_worker/service_worker_host.h" #include "content/browser/service_worker/service_worker_host.h"
#include "content/browser/worker_host/dedicated_worker_host.h" #include "content/browser/worker_host/dedicated_worker_host.h"
#include "content/browser/worker_host/shared_worker_host.h" #include "content/browser/worker_host/shared_worker_host.h"
@@ -173,6 +174,7 @@ class ReportingServiceProxyImpl : public blink::mojom::ReportingServiceProxy { @@ -174,12 +175,14 @@ class ReportingServiceProxyImpl : public blink::mojom::ReportingServiceProxy {
const std::string& group, const std::string& group,
const std::string& type, const std::string& type,
std::unique_ptr<base::Value> body) { base::Value::Dict body) {
+#if BUILDFLAG(ENABLE_REPORTING) +#if BUILDFLAG(ENABLE_REPORTING)
auto* rph = RenderProcessHost::FromID(render_process_id_); auto* rph = RenderProcessHost::FromID(render_process_id_);
if (!rph) if (!rph)
return; return;
@@ -180,6 +182,7 @@ class ReportingServiceProxyImpl : public blink::mojom::ReportingServiceProxy { rph->GetStoragePartition()->GetNetworkContext()->QueueReport(
type, group, url, reporting_source_, network_isolation_key_, type, group, url, reporting_source_, network_anonymization_key_,
/*user_agent=*/absl::nullopt, /*user_agent=*/absl::nullopt, std::move(body));
base::Value::FromUniquePtrValue(std::move(body)));
+#endif +#endif
} }
@@ -174,37 +184,34 @@ diff --git a/content/browser/net/reporting_service_proxy.cc b/content/browser/ne
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc 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 --- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -11437,6 +11437,7 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed( @@ -11993,12 +11993,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
void RenderFrameHostImpl::MaybeGenerateCrashReport( base::Value::Dict body;
base::TerminationStatus status, if (!reason.empty())
int exit_code) { body.Set("reason", reason);
+#if BUILDFLAG(ENABLE_REPORTING) -
if (!last_committed_url_.SchemeIsHTTPOrHTTPS()) - // Send the crash report to the Reporting API.
return; - GetProcess()->GetStoragePartition()->GetNetworkContext()->QueueReport(
- /*type=*/"crash", /*group=*/"default", last_committed_url_,
@@ -11486,6 +11487,7 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport( - GetReportingSource(), isolation_info_.network_anonymization_key(),
/*type=*/"crash", /*group=*/"default", last_committed_url_, - absl::nullopt /* user_agent */, std::move(body));
GetReportingSource(), isolation_info_.network_isolation_key(),
absl::nullopt /* user_agent */, std::move(body));
+#endif
} }
void RenderFrameHostImpl::SendCommitNavigation( void RenderFrameHostImpl::SendCommitNavigation(
diff --git a/content/browser/web_package/signed_exchange_reporter.cc b/content/browser/web_package/signed_exchange_reporter.cc 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 --- a/content/browser/web_package/signed_exchange_reporter.cc
+++ b/content/browser/web_package/signed_exchange_reporter.cc +++ b/content/browser/web_package/signed_exchange_reporter.cc
@@ -127,6 +127,7 @@ bool ShouldDowngradeReport(const char* result_string, @@ -128,6 +128,7 @@ void ReportResult(
void ReportResult(int frame_tree_node_id, int frame_tree_node_id,
network::mojom::SignedExchangeReportPtr report, network::mojom::SignedExchangeReportPtr report,
const net::NetworkIsolationKey& network_isolation_key) { const net::NetworkAnonymizationKey& network_anonymization_key) {
+#if BUILDFLAG(ENABLE_REPORTING) +#if BUILDFLAG(ENABLE_REPORTING)
FrameTreeNode* frame_tree_node = FrameTreeNode* frame_tree_node =
FrameTreeNode::GloballyFindByID(frame_tree_node_id); FrameTreeNode::GloballyFindByID(frame_tree_node_id);
if (!frame_tree_node) if (!frame_tree_node)
@@ -141,6 +142,7 @@ void ReportResult(int frame_tree_node_id, @@ -142,6 +143,7 @@ void ReportResult(
DCHECK(partition); DCHECK(partition);
partition->GetNetworkContext()->QueueSignedExchangeReport( partition->GetNetworkContext()->QueueSignedExchangeReport(
std::move(report), network_isolation_key); std::move(report), network_anonymization_key);
+#endif +#endif
} }
@@ -212,7 +219,7 @@ diff --git a/content/browser/web_package/signed_exchange_reporter.cc b/content/b
diff --git a/content/public/common/content_switch_dependent_feature_overrides.cc b/content/public/common/content_switch_dependent_feature_overrides.cc diff --git a/content/public/common/content_switch_dependent_feature_overrides.cc b/content/public/common/content_switch_dependent_feature_overrides.cc
--- a/content/public/common/content_switch_dependent_feature_overrides.cc --- a/content/public/common/content_switch_dependent_feature_overrides.cc
+++ b/content/public/common/content_switch_dependent_feature_overrides.cc +++ b/content/public/common/content_switch_dependent_feature_overrides.cc
@@ -7,6 +7,7 @@ @@ -8,6 +8,7 @@
#include "content/public/common/content_features.h" #include "content/public/common/content_features.h"
#include "content/public/common/content_switches.h" #include "content/public/common/content_switches.h"
#include "net/base/features.h" #include "net/base/features.h"
@@ -223,8 +230,8 @@ diff --git a/content/public/common/content_switch_dependent_feature_overrides.cc
diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_service.cc diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_service.cc
--- a/net/reporting/reporting_service.cc --- a/net/reporting/reporting_service.cc
+++ b/net/reporting/reporting_service.cc +++ b/net/reporting/reporting_service.cc
@@ -212,6 +212,12 @@ class ReportingServiceImpl : public ReportingService { @@ -211,6 +211,12 @@ class ReportingServiceImpl : public ReportingService {
std::unique_ptr<const base::Value> body, base::Value::Dict body,
int depth, int depth,
base::TimeTicks queued_ticks) { base::TimeTicks queued_ticks) {
+#if BUILDFLAG(ENABLE_REPORTING) +#if BUILDFLAG(ENABLE_REPORTING)
@@ -235,27 +242,27 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic
+#endif +#endif
DCHECK(initialized_); DCHECK(initialized_);
context_->cache()->AddReport( context_->cache()->AddReport(
reporting_source, network_isolation_key, sanitized_url, user_agent, reporting_source, network_anonymization_key, sanitized_url, user_agent,
diff --git a/services/network/network_context.h b/services/network/network_context.h diff --git a/services/network/network_context.h b/services/network/network_context.h
--- a/services/network/network_context.h --- a/services/network/network_context.h
+++ b/services/network/network_context.h +++ b/services/network/network_context.h
@@ -459,10 +459,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext @@ -465,10 +465,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
const absl::optional<base::UnguessableToken>& reporting_source, const absl::optional<base::UnguessableToken>& reporting_source,
const net::NetworkIsolationKey& network_isolation_key, const net::NetworkAnonymizationKey& network_anonymization_key,
const absl::optional<std::string>& user_agent, const absl::optional<std::string>& user_agent,
- base::Value body) override; - base::Value::Dict body) override;
+ base::Value body); + base::Value::Dict body);
void QueueSignedExchangeReport( void QueueSignedExchangeReport(
mojom::SignedExchangeReportPtr report, mojom::SignedExchangeReportPtr report,
- const net::NetworkIsolationKey& network_isolation_key) override; - const net::NetworkAnonymizationKey& network_anonymization_key) override;
+ const net::NetworkIsolationKey& network_isolation_key); + const net::NetworkAnonymizationKey& network_anonymization_key);
void AddDomainReliabilityContextForTesting( void AddDomainReliabilityContextForTesting(
const GURL& origin, const url::Origin& origin,
const GURL& upload_url, const GURL& upload_url,
diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn
--- a/services/network/public/mojom/BUILD.gn --- a/services/network/public/mojom/BUILD.gn
+++ b/services/network/public/mojom/BUILD.gn +++ b/services/network/public/mojom/BUILD.gn
@@ -963,7 +963,6 @@ mojom("mojom") { @@ -1168,7 +1168,6 @@ mojom("mojom") {
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1" export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/blink/public/platform/web_common.h" export_header_blink = "third_party/blink/public/platform/web_common.h"
if (enable_reporting) { if (enable_reporting) {
@@ -266,7 +273,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 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 --- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom
@@ -1043,6 +1043,7 @@ interface NetworkContext { @@ -1072,6 +1072,7 @@ interface NetworkContext {
// provided |network_isolation_key|. // provided |network_isolation_key|.
// //
// Spec: https://w3c.github.io/reporting/#concept-reports // Spec: https://w3c.github.io/reporting/#concept-reports
@@ -274,13 +281,13 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
QueueReport(string type, QueueReport(string type,
string group, string group,
url.mojom.Url url, url.mojom.Url url,
@@ -1056,6 +1057,7 @@ interface NetworkContext { @@ -1085,6 +1086,7 @@ interface NetworkContext {
// Note that this queued report will never be delivered if no reporting // Note that this queued report will never be delivered if no reporting
// endpoint matching is registered for with the provided // endpoint matching is registered for with the provided
// |network_isolation_key|. // |network_isolation_key|.
+ [EnableIf=enable_reporting] + [EnableIf=enable_reporting]
QueueSignedExchangeReport(SignedExchangeReport report, QueueSignedExchangeReport(SignedExchangeReport report,
NetworkIsolationKey network_isolation_key); NetworkAnonymizationKey network_anonymization_key);
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc 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 --- a/third_party/blink/renderer/core/frame/local_frame.cc
@@ -293,7 +300,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
#include "services/data_decoder/public/mojom/resource_snapshot_for_web_bundle.mojom-blink.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/cpp/features.h"
#include "services/network/public/mojom/content_security_policy.mojom-blink.h" #include "services/network/public/mojom/content_security_policy.mojom-blink.h"
@@ -2334,9 +2335,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const { @@ -2328,9 +2329,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
return base::UnguessableToken::Null(); return base::UnguessableToken::Null();
} }
@@ -319,7 +326,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/device/public/mojom/device_posture_provider.mojom-blink-forward.h"
#include "services/network/public/mojom/fetch_api.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" #include "third_party/blink/public/common/frame/frame_ad_evidence.h"
@@ -561,9 +561,9 @@ class CORE_EXPORT LocalFrame final @@ -596,9 +596,9 @@ class CORE_EXPORT LocalFrame final
} }
SmoothScrollSequencer& GetSmoothScrollSequencer(); SmoothScrollSequencer& GetSmoothScrollSequencer();
@@ -2,15 +2,15 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon, 21 Feb 2022 01:24:11 +0100 Date: Mon, 21 Feb 2022 01:24:11 +0100
Subject: Allow building without supervised users Subject: Allow building without supervised users
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../browser/childaccounts/ChildAccountService.java | 11 ----------- .../browser/supervised_user/ChildAccountService.java | 11 -----------
chrome/browser/startup_data.cc | 3 ---
.../child_accounts/child_account_service_android.cc | 9 --------- .../child_accounts/child_account_service_android.cc | 9 ---------
3 files changed, 23 deletions(-) 2 files changed, 20 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 diff --git a/chrome/android/java/src/org/chromium/chrome/browser/supervised_user/ChildAccountService.java b/chrome/android/java/src/org/chromium/chrome/browser/supervised_user/ChildAccountService.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/childaccounts/ChildAccountService.java --- a/chrome/android/java/src/org/chromium/chrome/browser/supervised_user/ChildAccountService.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/childaccounts/ChildAccountService.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/supervised_user/ChildAccountService.java
@@ -31,21 +31,10 @@ public class ChildAccountService { @@ -31,21 +31,10 @@ public class ChildAccountService {
ThreadUtils.assertOnUiThread(); ThreadUtils.assertOnUiThread();
final Activity activity = windowAndroid.getActivity().get(); final Activity activity = windowAndroid.getActivity().get();
@@ -33,19 +33,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/childaccounts/C
- void onReauthenticationFailed(long onFailureCallbackPtr); - void onReauthenticationFailed(long onFailureCallbackPtr);
- } - }
} }
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
@@ -32,9 +32,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"
-#include "chrome/browser/supervised_user/supervised_user_pref_store.h"
-#include "chrome/browser/supervised_user/supervised_user_settings_service.h"
-#include "chrome/browser/supervised_user/supervised_user_settings_service_factory.h"
#include "chrome/common/chrome_constants.h"
#include "chrome/common/chrome_paths.h"
#include "components/keyed_service/content/browser_context_dependency_manager.h"
diff --git a/chrome/browser/supervised_user/child_accounts/child_account_service_android.cc b/chrome/browser/supervised_user/child_accounts/child_account_service_android.cc diff --git a/chrome/browser/supervised_user/child_accounts/child_account_service_android.cc b/chrome/browser/supervised_user/child_accounts/child_account_service_android.cc
--- a/chrome/browser/supervised_user/child_accounts/child_account_service_android.cc --- a/chrome/browser/supervised_user/child_accounts/child_account_service_android.cc
+++ b/chrome/browser/supervised_user/child_accounts/child_account_service_android.cc +++ b/chrome/browser/supervised_user/child_accounts/child_account_service_android.cc
@@ -2,15 +2,16 @@ From: AlexeyBarabash <alexey@brave.com>
Date: Thu, 2 Nov 2017 18:21:16 +0200 Date: Thu, 2 Nov 2017 18:21:16 +0200
Subject: Allow playing audio in background Subject: Allow playing audio in background
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../renderer/platform/media/web_media_player_impl.cc | 12 +++++++++++- .../renderer/platform/media/web_media_player_impl.cc | 11 ++++++++++-
.../renderer/platform/media/web_media_player_impl.h | 3 +++ .../renderer/platform/media/web_media_player_impl.h | 3 +++
2 files changed, 14 insertions(+), 1 deletion(-) 2 files changed, 13 insertions(+), 1 deletion(-)
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 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 --- a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.cc +++ b/third_party/blink/renderer/platform/media/web_media_player_impl.cc
@@ -1214,6 +1214,12 @@ bool WebMediaPlayerImpl::HasAudio() const { @@ -1237,6 +1237,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
return pipeline_metadata_.has_audio; return pipeline_metadata_.has_audio;
} }
@@ -23,23 +24,22 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
void WebMediaPlayerImpl::EnabledAudioTracksChanged( void WebMediaPlayerImpl::EnabledAudioTracksChanged(
const WebVector<WebMediaPlayer::TrackId>& enabledTrackIds) { const WebVector<WebMediaPlayer::TrackId>& enabledTrackIds) {
DCHECK(main_task_runner_->BelongsToCurrentThread()); DCHECK(main_task_runner_->BelongsToCurrentThread());
@@ -3586,7 +3592,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const { @@ -3662,7 +3668,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
: HasAudio();
// Audio only stream is allowed to play when in background. // Audio only stream is allowed to play when in background.
// TODO: We should check IsBackgroundOptimizationCandidate here. But we need - if (!HasVideo() && preserve_audio)
// to move the logic of checking video frames out of that function.
- if (!HasVideo())
+
+ //pipeline_metadata_.has_video is true for MediaPlayerRenderer, + //pipeline_metadata_.has_video is true for MediaPlayerRenderer,
+ //see media/base/pipeline_metadata.h. This is a workaround to allow audio + //see media/base/pipeline_metadata.h. This is a workaround to allow audio
+ //streams be played in background. + //streams be played in background.
+ if (!HasVideoNonEmptySize()) + if (!HasVideoNonEmptySize() && preserve_audio)
return false; return false;
if (using_media_player_renderer_ && // MediaPlayer always signals audio and video, so use an empty natural size to
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 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 --- a/third_party/blink/renderer/platform/media/web_media_player_impl.h
+++ b/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 @@ -197,6 +197,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl
bool HasVideo() const override; bool HasVideo() const override;
bool HasAudio() const override; bool HasAudio() const override;
@@ -1,23 +0,0 @@
From: xsmile <xsmile@users.noreply.github.com>
Date: Thu, 11 Oct 2018 21:29:35 +0200
Subject: Allow website sign-in without account sign-in
Disable prefs::kSigninAllowedOnNextStartup by default. The setting can be found in chrome://settings
---
chrome/browser/signin/account_consistency_mode_manager.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
@@ -112,7 +112,7 @@ AccountConsistencyModeManager::~AccountConsistencyModeManager() {}
// static
void AccountConsistencyModeManager::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
- registry->RegisterBooleanPref(prefs::kSigninAllowedOnNextStartup, true);
+ registry->RegisterBooleanPref(prefs::kSigninAllowedOnNextStartup, false);
}
// static
--
2.25.1
@@ -3,22 +3,25 @@ Date: Wed, 27 Jun 2018 11:02:38 +0200
Subject: Always use new tab page for default home page Subject: Always use new tab page for default home page
Ignore any partner-provided home page. Ignore any partner-provided home page.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../org/chromium/chrome/browser/homepage/HomepageManager.java | 3 --- .../org/chromium/chrome/browser/homepage/HomepageManager.java | 4 ----
1 file changed, 3 deletions(-) 1 file changed, 4 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java --- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
@@ -146,9 +146,6 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat @@ -147,10 +147,6 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat
* if the homepage button is force enabled via flag. * if the homepage button is force enabled via flag.
*/ */
public static String getDefaultHomepageUri() { public static String getDefaultHomepageUri() {
- if (PartnerBrowserCustomizations.getInstance().isHomepageProviderAvailableAndEnabled()) { - if (PartnerBrowserCustomizations.getInstance().isHomepageProviderAvailableAndEnabled()) {
- return PartnerBrowserCustomizations.getInstance().getHomePageUrl(); - return PartnerBrowserCustomizations.getInstance().getHomePageUrl().getSpec();
- } - }
-
String homepagePartnerDefaultUri = SharedPreferencesManager.getInstance().readString( String homepagePartnerDefaultUri;
ChromePreferenceKeys.HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_URI, ""); String homepagePartnerDefaultGurlSerialized =
SharedPreferencesManager.getInstance().readString(
-- --
2.25.1 2.25.1
@@ -1,24 +0,0 @@
From: uazo <uazo@users.noreply.github.com>
Date: Sat, 20 Nov 2021 17:42:41 +0000
Subject: Ask user before closing all tabs
---
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
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
@@ -454,8 +454,8 @@ const base::Feature kConditionalTabStripAndroid{
const base::Feature kCastDeviceFilter{"CastDeviceFilter",
base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kCloseAllTabsModalDialog{"CloseAllTabsModalDialog",
- base::FEATURE_ENABLED_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
@@ -3,6 +3,8 @@ Date: Sun, 25 Mar 2018 21:49:37 +0200
Subject: AudioBuffer, AnalyserNode: fp mitigations Subject: AudioBuffer, AnalyserNode: fp mitigations
Truncate base latency precision to two digits Truncate base latency precision to two digits
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../blink/renderer/modules/webaudio/analyser_node.idl | 8 ++++---- .../blink/renderer/modules/webaudio/analyser_node.idl | 8 ++++----
.../blink/renderer/modules/webaudio/audio_buffer.idl | 6 ------ .../blink/renderer/modules/webaudio/audio_buffer.idl | 6 ------
@@ -46,7 +48,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 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 --- a/third_party/blink/renderer/modules/webaudio/audio_context.cc
+++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc +++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc
@@ -492,7 +492,9 @@ double AudioContext::baseLatency() const { @@ -508,7 +508,9 @@ double AudioContext::baseLatency() const {
DCHECK(IsMainThread()); DCHECK(IsMainThread());
DCHECK(destination()); DCHECK(destination());
File diff suppressed because one or more lines are too long
@@ -3,6 +3,8 @@ Date: Thu, 22 Mar 2018 22:11:57 +0100
Subject: Battery API: return nothing Subject: Battery API: return nothing
Include @thestinger's fix for correct charging/unknown values Include @thestinger's fix for correct charging/unknown values
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../modules/battery/battery_manager.cc | 26 +++---------------- .../modules/battery/battery_manager.cc | 26 +++----------------
1 file changed, 4 insertions(+), 22 deletions(-) 1 file changed, 4 insertions(+), 22 deletions(-)
@@ -10,7 +12,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 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 --- a/third_party/blink/renderer/modules/battery/battery_manager.cc
+++ b/third_party/blink/renderer/modules/battery/battery_manager.cc +++ b/third_party/blink/renderer/modules/battery/battery_manager.cc
@@ -84,46 +84,28 @@ ScriptPromise BatteryManager::StartRequest(ScriptState* script_state) { @@ -77,46 +77,28 @@ ScriptPromise BatteryManager::StartRequest(ScriptState* script_state) {
} }
bool BatteryManager::charging() { bool BatteryManager::charging() {
@@ -4,6 +4,8 @@ Subject: Block gateway attacks via websockets
This approach is not comprehensive, see also: This approach is not comprehensive, see also:
* https://bugs.chromium.org/p/chromium/issues/detail?id=590714 * https://bugs.chromium.org/p/chromium/issues/detail?id=590714
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../execution_context/execution_context.cc | 16 ++++++++++ .../execution_context/execution_context.cc | 16 ++++++++++
.../execution_context/execution_context.h | 1 + .../execution_context/execution_context.h | 1 +
@@ -21,8 +23,8 @@ This approach is not comprehensive, see also:
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc 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 --- a/third_party/blink/renderer/core/execution_context/execution_context.cc
+++ b/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 { @@ -720,4 +720,20 @@ void ExecutionContext::WriteIntoTrace(
RuntimeEnabledFeatures::TrustedDOMTypesEnabled(this); proto->set_type(GetContextType(*this));
} }
+String ExecutionContext::addressSpaceForBindings() const { +String ExecutionContext::addressSpaceForBindings() const {
@@ -45,18 +47,18 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h 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 --- a/third_party/blink/renderer/core/execution_context/execution_context.h
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h +++ b/third_party/blink/renderer/core/execution_context/execution_context.h
@@ -374,6 +374,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>, @@ -401,6 +401,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); void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space);
HeapObserverSet<ContextLifecycleObserver>& ContextLifecycleObserverSet();
+ String addressSpaceForBindings() const;
unsigned ContextLifecycleStateObserverCountForTesting() const;
// Implementation of WindowOrWorkerGlobalScope.crossOriginIsolated.
diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third_party/blink/renderer/core/loader/base_fetch_context.h 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 --- a/third_party/blink/renderer/core/loader/base_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/base_fetch_context.h +++ b/third_party/blink/renderer/core/loader/base_fetch_context.h
@@ -83,6 +83,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext { @@ -84,6 +84,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext {
virtual SubresourceFilter* GetSubresourceFilter() const = 0; virtual SubresourceFilter* GetSubresourceFilter() const = 0;
virtual bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const = 0; virtual bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const = 0;
@@ -67,7 +69,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 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 --- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
@@ -546,6 +546,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const { @@ -578,6 +578,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
return should_block_request; return should_block_request;
} }
@@ -97,18 +99,18 @@ 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 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 --- a/third_party/blink/renderer/core/loader/frame_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h +++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h
@@ -171,6 +171,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext, @@ -168,6 +168,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override; bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override;
std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle() std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle()
override; override;
+ bool ShouldBlockGateWayAttacks(network::mojom::IPAddressSpace requestor_space, const KURL&) const override; + bool ShouldBlockGateWayAttacks(network::mojom::IPAddressSpace requestor_space, const KURL&) const override;
bool ShouldBlockFetchByMixedContentCheck( bool ShouldBlockFetchByMixedContentCheck(
mojom::blink::RequestContextType request_context, mojom::blink::RequestContextType request_context,
const absl::optional<ResourceRequest::RedirectInfo>& redirect_info, network::mojom::blink::IPAddressSpace target_address_space,
diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/third_party/blink/renderer/core/loader/worker_fetch_context.cc diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/third_party/blink/renderer/core/loader/worker_fetch_context.cc
--- a/third_party/blink/renderer/core/loader/worker_fetch_context.cc --- a/third_party/blink/renderer/core/loader/worker_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/worker_fetch_context.cc +++ b/third_party/blink/renderer/core/loader/worker_fetch_context.cc
@@ -24,6 +24,7 @@ @@ -25,6 +25,7 @@
#include "third_party/blink/renderer/platform/loader/fetch/resource_timing_info.h" #include "third_party/blink/renderer/platform/loader/fetch/resource_timing_info.h"
#include "third_party/blink/renderer/platform/loader/fetch/worker_resource_timing_notifier.h" #include "third_party/blink/renderer/platform/loader/fetch/worker_resource_timing_notifier.h"
#include "third_party/blink/renderer/platform/network/network_state_notifier.h" #include "third_party/blink/renderer/platform/network/network_state_notifier.h"
@@ -116,7 +118,7 @@ diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/th
#include "third_party/blink/renderer/platform/runtime_enabled_features.h" #include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/supplementable.h" #include "third_party/blink/renderer/platform/supplementable.h"
#include "third_party/blink/renderer/platform/weborigin/security_policy.h" #include "third_party/blink/renderer/platform/weborigin/security_policy.h"
@@ -90,6 +91,26 @@ bool WorkerFetchContext::ShouldBlockRequestByInspector(const KURL& url) const { @@ -91,6 +92,26 @@ bool WorkerFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
return should_block_request; return should_block_request;
} }
@@ -153,11 +155,11 @@ diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.h b/thi
+ bool ShouldBlockGateWayAttacks(network::mojom::IPAddressSpace requestor_space, const KURL&) const override; + bool ShouldBlockGateWayAttacks(network::mojom::IPAddressSpace requestor_space, const KURL&) const override;
bool ShouldBlockFetchByMixedContentCheck( bool ShouldBlockFetchByMixedContentCheck(
mojom::blink::RequestContextType request_context, mojom::blink::RequestContextType request_context,
const absl::optional<ResourceRequest::RedirectInfo>& redirect_info, network::mojom::blink::IPAddressSpace target_address_space,
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 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 --- a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
+++ b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc +++ b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
@@ -101,6 +101,30 @@ bool ShouldBlockDanglingMarkup(const KURL& request_url) { @@ -102,6 +102,30 @@ bool ShouldBlockDanglingMarkup(const KURL& request_url) {
request_url.ProtocolIsInHTTPFamily(); request_url.ProtocolIsInHTTPFamily();
} }
@@ -188,7 +190,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc
scoped_refptr<BlobDataHandle> ExtractBlobHandle( scoped_refptr<BlobDataHandle> ExtractBlobHandle(
Request* request, Request* request,
ExceptionState& exception_state) { ExceptionState& exception_state) {
@@ -222,6 +246,13 @@ ScriptPromise BackgroundFetchManager::fetch( @@ -221,6 +245,13 @@ ScriptPromise BackgroundFetchManager::fetch(
exception_state); exception_state);
} }
@@ -205,7 +207,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc
diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc 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 --- a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
+++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc +++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
@@ -274,6 +274,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) { @@ -276,6 +276,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) {
return false; return false;
} }
@@ -220,7 +222,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 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 --- a/third_party/blink/renderer/modules/websockets/websocket_common.cc
+++ b/third_party/blink/renderer/modules/websockets/websocket_common.cc +++ b/third_party/blink/renderer/modules/websockets/websocket_common.cc
@@ -124,9 +124,38 @@ WebSocketCommon::ConnectResult WebSocketCommon::Connect( @@ -125,9 +125,38 @@ WebSocketCommon::ConnectResult WebSocketCommon::Connect(
return ConnectResult::kException; return ConnectResult::kException;
} }
@@ -4,6 +4,8 @@ Subject: Block 'qjz9zk' or 'trk:' requests
An info bar is displayed unless the --disable-trkbar command-line flag or the chrome://flag option is used. An info bar is displayed unless the --disable-trkbar command-line flag or the chrome://flag option is used.
This patch is based on Iridium's 'net: add "trk:" scheme and help identify URLs being retrieved' This patch is based on Iridium's 'net: add "trk:" scheme and help identify URLs being retrieved'
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../chrome_autocomplete_scheme_classifier.cc | 1 + .../chrome_autocomplete_scheme_classifier.cc | 1 +
chrome/browser/history/history_utils.cc | 1 + chrome/browser/history/history_utils.cc | 1 +
@@ -29,17 +31,17 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.c
@@ -58,6 +58,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForScheme( @@ -58,6 +58,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForScheme(
if (base::IsStringASCII(scheme) && if (base::IsStringASCII(scheme) &&
(ProfileIOData::IsHandledProtocol(scheme) || (ProfileIOData::IsHandledProtocol(scheme) ||
base::LowerCaseEqualsASCII(scheme, content::kViewSourceScheme) || base::EqualsCaseInsensitiveASCII(scheme, content::kViewSourceScheme) ||
+ base::LowerCaseEqualsASCII(scheme, url::kTraceScheme) || + base::EqualsCaseInsensitiveASCII(scheme, url::kTraceScheme) ||
base::LowerCaseEqualsASCII(scheme, url::kJavaScriptScheme) || base::EqualsCaseInsensitiveASCII(scheme, url::kJavaScriptScheme) ||
base::LowerCaseEqualsASCII(scheme, url::kDataScheme))) { base::EqualsCaseInsensitiveASCII(scheme, url::kDataScheme))) {
return metrics::OmniboxInputType::URL; return metrics::OmniboxInputType::URL;
diff --git a/chrome/browser/history/history_utils.cc b/chrome/browser/history/history_utils.cc diff --git a/chrome/browser/history/history_utils.cc b/chrome/browser/history/history_utils.cc
--- a/chrome/browser/history/history_utils.cc --- a/chrome/browser/history/history_utils.cc
+++ b/chrome/browser/history/history_utils.cc +++ b/chrome/browser/history/history_utils.cc
@@ -21,6 +21,7 @@ bool CanAddURLToHistory(const GURL& url) { @@ -22,6 +22,7 @@ bool CanAddURLToHistory(const GURL& url) {
url.SchemeIs(content::kChromeDevToolsScheme) ||
url.SchemeIs(content::kChromeUIScheme) || url.SchemeIs(content::kChromeUIScheme) ||
url.SchemeIs(content::kChromeUIUntrustedScheme) ||
url.SchemeIs(content::kViewSourceScheme) || url.SchemeIs(content::kViewSourceScheme) ||
+ url.SchemeIs(url::kTraceScheme) || + url.SchemeIs(url::kTraceScheme) ||
url.SchemeIs(chrome::kChromeNativeScheme) || url.SchemeIs(chrome::kChromeNativeScheme) ||
@@ -48,7 +50,7 @@ diff --git a/chrome/browser/history/history_utils.cc b/chrome/browser/history/hi
diff --git a/chrome/browser/ui/singleton_tabs.cc b/chrome/browser/ui/singleton_tabs.cc diff --git a/chrome/browser/ui/singleton_tabs.cc b/chrome/browser/ui/singleton_tabs.cc
--- a/chrome/browser/ui/singleton_tabs.cc --- a/chrome/browser/ui/singleton_tabs.cc
+++ b/chrome/browser/ui/singleton_tabs.cc +++ b/chrome/browser/ui/singleton_tabs.cc
@@ -106,6 +106,11 @@ int GetIndexOfExistingTab(Browser* browser, const NavigateParams& params) { @@ -101,6 +101,11 @@ int GetIndexOfExistingTab(Browser* browser, const NavigateParams& params) {
continue; continue;
} }
@@ -79,20 +81,20 @@ diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnib
return url::FindAndCompareScheme(utf8_input, scheme, nullptr); return url::FindAndCompareScheme(utf8_input, scheme, nullptr);
} }
@@ -560,7 +565,8 @@ void AutocompleteInput::ParseForEmphasizeComponents( @@ -573,7 +578,8 @@ void AutocompleteInput::ParseForEmphasizeComponents(
// For the view-source and blob schemes, we should emphasize the host of the // For the view-source and blob schemes, we should emphasize the host of the
// URL qualified by the view-source or blob prefix. // URL qualified by the view-source or blob prefix.
if ((base::LowerCaseEqualsASCII(scheme_str, kViewSourceScheme) || if ((base::EqualsCaseInsensitiveASCII(scheme_str, kViewSourceScheme) ||
- base::LowerCaseEqualsASCII(scheme_str, url::kBlobScheme)) && - base::EqualsCaseInsensitiveASCII(scheme_str, url::kBlobScheme)) &&
+ base::LowerCaseEqualsASCII(scheme_str, url::kBlobScheme) || + base::EqualsCaseInsensitiveASCII(scheme_str, url::kBlobScheme) ||
+ base::LowerCaseEqualsASCII(scheme_str, url::kTraceScheme)) && + base::EqualsCaseInsensitiveASCII(scheme_str, url::kTraceScheme)) &&
(static_cast<int>(text.length()) > after_scheme_and_colon)) { (static_cast<int>(text.length()) > after_scheme_and_colon)) {
// Obtain the URL prefixed by view-source or blob and parse it. // Obtain the URL prefixed by view-source or blob and parse it.
std::u16string real_url(text.substr(after_scheme_and_colon)); std::u16string real_url(text.substr(after_scheme_and_colon));
diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/url_fixer.cc diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/url_fixer.cc
--- a/components/url_formatter/url_fixer.cc --- a/components/url_formatter/url_fixer.cc
+++ b/components/url_formatter/url_fixer.cc +++ b/components/url_formatter/url_fixer.cc
@@ -562,6 +562,10 @@ GURL FixupURL(const std::string& text, const std::string& desired_tld) { @@ -563,6 +563,10 @@ GURL FixupURL(const std::string& text, const std::string& desired_tld) {
} }
} }
@@ -106,7 +108,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 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 --- a/content/browser/child_process_security_policy_impl.cc
+++ b/content/browser/child_process_security_policy_impl.cc +++ b/content/browser/child_process_security_policy_impl.cc
@@ -747,6 +747,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl() @@ -756,6 +756,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
RegisterPseudoScheme(url::kJavaScriptScheme); RegisterPseudoScheme(url::kJavaScriptScheme);
RegisterPseudoScheme(kViewSourceScheme); RegisterPseudoScheme(kViewSourceScheme);
RegisterPseudoScheme(kGoogleChromeScheme); RegisterPseudoScheme(kGoogleChromeScheme);
@@ -117,7 +119,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 diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn --- a/net/BUILD.gn
+++ b/net/BUILD.gn +++ b/net/BUILD.gn
@@ -1033,6 +1033,8 @@ component("net") { @@ -1032,6 +1032,8 @@ component("net") {
"url_request/url_request_http_job.cc", "url_request/url_request_http_job.cc",
"url_request/url_request_http_job.h", "url_request/url_request_http_job.h",
"url_request/url_request_interceptor.cc", "url_request/url_request_interceptor.cc",
@@ -208,9 +210,9 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
#include "url/origin.h" #include "url/origin.h"
+#include "url/url_constants.h" +#include "url/url_constants.h"
using base::Time; namespace net {
using std::string;
@@ -609,6 +611,12 @@ URLRequest::URLRequest(const GURL& url, @@ -593,6 +595,12 @@ URLRequest::URLRequest(const GURL& url,
// Sanity check out environment. // Sanity check out environment.
DCHECK(base::ThreadTaskRunnerHandle::IsSet()); DCHECK(base::ThreadTaskRunnerHandle::IsSet());
@@ -226,15 +228,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 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 --- a/net/url_request/url_request_context_builder.cc
+++ b/net/url_request/url_request_context_builder.cc +++ b/net/url_request/url_request_context_builder.cc
@@ -47,6 +47,7 @@ @@ -48,6 +48,7 @@
#include "net/socket/network_binding_client_socket_factory.h" #include "net/socket/network_binding_client_socket_factory.h"
#include "net/ssl/ssl_config_service_defaults.h" #include "net/ssl/ssl_config_service_defaults.h"
#include "net/url_request/static_http_user_agent_settings.h" #include "net/url_request/static_http_user_agent_settings.h"
+#include "net/url_request/trk_protocol_handler.h" +#include "net/url_request/trk_protocol_handler.h"
#include "net/url_request/url_request_context.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" #include "net/url_request/url_request_job_factory.h"
@@ -626,6 +627,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() { #include "net/url_request/url_request_throttler_manager.h"
@@ -571,6 +572,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
job_factory->SetProtocolHandler(scheme_handler.first, job_factory->SetProtocolHandler(scheme_handler.first,
std::move(scheme_handler.second)); std::move(scheme_handler.second));
} }
@@ -242,7 +244,7 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur
+ std::make_unique<TrkProtocolHandler>()); + std::make_unique<TrkProtocolHandler>());
protocol_handlers_.clear(); protocol_handlers_.clear();
storage->set_job_factory(std::move(job_factory)); context->set_job_factory(std::move(job_factory));
diff --git a/url/url_constants.cc b/url/url_constants.cc diff --git a/url/url_constants.cc b/url/url_constants.cc
--- a/url/url_constants.cc --- a/url/url_constants.cc
+++ b/url/url_constants.cc +++ b/url/url_constants.cc
@@ -268,7 +270,7 @@ diff --git a/url/url_constants.h b/url/url_constants.h
diff --git a/url/url_util.cc b/url/url_util.cc diff --git a/url/url_util.cc b/url/url_util.cc
--- a/url/url_util.cc --- a/url/url_util.cc
+++ b/url/url_util.cc +++ b/url/url_util.cc
@@ -35,6 +35,7 @@ struct SchemeRegistry { @@ -46,6 +46,7 @@ struct SchemeRegistry {
std::vector<SchemeWithType> standard_schemes = { std::vector<SchemeWithType> standard_schemes = {
{kHttpsScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION}, {kHttpsScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION},
{kHttpScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION}, {kHttpScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION},
@@ -276,7 +278,7 @@ diff --git a/url/url_util.cc b/url/url_util.cc
// Yes, file URLs can have a hostname, so file URLs should be handled as // Yes, file URLs can have a hostname, so file URLs should be handled as
// "standard". File URLs never have a port as specified by the SchemeType // "standard". File URLs never have a port as specified by the SchemeType
// field. Unlike other SCHEME_WITH_HOST schemes, the 'host' in a file // field. Unlike other SCHEME_WITH_HOST schemes, the 'host' in a file
@@ -78,6 +79,7 @@ struct SchemeRegistry { @@ -89,6 +90,7 @@ struct SchemeRegistry {
kAboutScheme, kAboutScheme,
kJavaScriptScheme, kJavaScriptScheme,
kDataScheme, kDataScheme,
@@ -2,6 +2,7 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 9 Apr 2022 23:01:55 +0200 Date: Sat, 9 Apr 2022 23:01:55 +0200
Subject: Bookmarks select all menu entry Subject: Bookmarks select all menu entry
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../java/res/menu/bookmark_action_bar_menu.xml | 7 +++++++ .../java/res/menu/bookmark_action_bar_menu.xml | 7 +++++++
.../browser/bookmarks/BookmarkActionBar.java | 15 +++++++++++++++ .../browser/bookmarks/BookmarkActionBar.java | 15 +++++++++++++++
@@ -11,7 +12,7 @@ Subject: Bookmarks select all menu entry
diff --git a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml b/chrome/android/java/res/menu/bookmark_action_bar_menu.xml 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 --- a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml
+++ b/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 @@ @@ -23,6 +23,13 @@ found in the LICENSE file.
android:visible="false" android:visible="false"
app:showAsAction="ifRoom" app:showAsAction="ifRoom"
app:iconTint="@color/default_icon_color_secondary_tint_list" /> app:iconTint="@color/default_icon_color_secondary_tint_list" />
@@ -28,16 +29,16 @@ diff --git a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml b/chrome/
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java 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 --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
+++ b/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; @@ -27,6 +27,7 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectableListT
import org.chromium.url.GURL; import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
import java.util.List; import java.util.List;
+import java.util.HashSet; +import java.util.HashSet;
/** /**
* Main action bar of bookmark UI. It is responsible for displaying title and buttons * Main action bar of bookmark UI. It is responsible for displaying title and buttons
@@ -134,6 +135,17 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId> @@ -146,6 +147,17 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
new TabDelegate(true), mDelegate.getModel()); }
selectionDelegate.clearSelection(); selectionDelegate.clearSelection();
return true; return true;
+ } else if (menuItem.getItemId() == R.id.select_all_menu_id) { + } else if (menuItem.getItemId() == R.id.select_all_menu_id) {
@@ -54,7 +55,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
} }
assert false : "Unhandled menu click."; assert false : "Unhandled menu click.";
@@ -143,6 +155,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId> @@ -155,6 +167,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
void showLoadingUi() { void showLoadingUi() {
setTitle(null); setTitle(null);
setNavigationButton(NAVIGATION_BUTTON_NONE); setNavigationButton(NAVIGATION_BUTTON_NONE);
@@ -62,7 +63,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.import_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.export_menu_id).setVisible(false);
getMenu().findItem(R.id.search_menu_id).setVisible(false); getMenu().findItem(R.id.search_menu_id).setVisible(false);
@@ -154,6 +167,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId> @@ -166,6 +179,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
super.showNormalView(); super.showNormalView();
if (mDelegate == null) { if (mDelegate == null) {
@@ -70,7 +71,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.import_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.export_menu_id).setVisible(false);
getMenu().findItem(R.id.search_menu_id).setVisible(false); getMenu().findItem(R.id.search_menu_id).setVisible(false);
@@ -185,6 +199,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId> @@ -197,6 +211,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@Override @Override
public void onFolderStateSet(BookmarkId folder) { public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder); mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
+313 -321
View File
@@ -2,7 +2,11 @@ From: uazo <uazo@users.noreply.github.com>
Date: Thu, 7 Oct 2021 14:27:12 +0000 Date: Thu, 7 Oct 2021 14:27:12 +0000
Subject: Bromite auto updater Subject: Bromite auto updater
Enable checking for new versions, with notifications and proxy support Enable checking for new versions, with notifications and proxy support.
Restore InlineUpdateFlow feature.
Some parts authored by csagan5.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../java/templates/BuildConfig.template | 2 + .../java/templates/BuildConfig.template | 2 +
build/config/android/rules.gni | 3 + build/config/android/rules.gni | 3 +
@@ -18,15 +22,16 @@ Enable checking for new versions, with notifications and proxy support
.../omaha/inline/InlineUpdateController.java | 51 ++++ .../omaha/inline/InlineUpdateController.java | 51 ++++
.../inline/InlineUpdateControllerFactory.java | 21 ++ .../inline/InlineUpdateControllerFactory.java | 21 ++
chrome/browser/endpoint_fetcher/BUILD.gn | 2 + chrome/browser/endpoint_fetcher/BUILD.gn | 2 +
.../endpoint_fetcher/endpoint_fetcher.cc | 158 +++++++++++- .../endpoint_fetcher_android.cc | 52 +++-
.../endpoint_fetcher/endpoint_fetcher.h | 22 +-
.../endpoint_fetcher/EndpointFetcher.java | 22 +- .../endpoint_fetcher/EndpointFetcher.java | 22 +-
.../EndpointHeaderResponse.java | 31 +++ .../EndpointHeaderResponse.java | 31 +++
.../flags/android/chrome_feature_list.cc | 4 + .../flags/android/chrome_feature_list.cc | 5 +
.../flags/android/chrome_feature_list.h | 1 + .../flags/android/chrome_feature_list.h | 1 +
.../browser/flags/ChromeFeatureList.java | 1 + .../browser/flags/ChromeFeatureList.java | 1 +
.../strings/android_chrome_strings.grd | 23 +- .../strings/android_chrome_strings.grd | 23 +-
22 files changed, 898 insertions(+), 55 deletions(-) .../endpoint_fetcher/endpoint_fetcher.cc | 102 +++++++-
.../endpoint_fetcher/endpoint_fetcher.h | 22 +-
23 files changed, 897 insertions(+), 53 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
@@ -35,9 +40,9 @@ Enable checking for new versions, with notifications and proxy support
diff --git a/build/android/java/templates/BuildConfig.template b/build/android/java/templates/BuildConfig.template diff --git a/build/android/java/templates/BuildConfig.template b/build/android/java/templates/BuildConfig.template
--- a/build/android/java/templates/BuildConfig.template --- a/build/android/java/templates/BuildConfig.template
+++ b/build/android/java/templates/BuildConfig.template +++ b/build/android/java/templates/BuildConfig.template
@@ -86,4 +86,6 @@ public class BuildConfig { @@ -92,4 +92,6 @@ public class BuildConfig {
#else #else
public static MAYBE_FINAL boolean ISOLATED_SPLITS_ENABLED MAYBE_FALSE; public static MAYBE_FINAL boolean IS_FOR_TEST MAYBE_FALSE;
#endif #endif
+ +
+ public static MAYBE_FINAL String BUILD_TARGET_CPU = _BUILD_TARGET_CPU; + public static MAYBE_FINAL String BUILD_TARGET_CPU = _BUILD_TARGET_CPU;
@@ -45,9 +50,9 @@ diff --git a/build/android/java/templates/BuildConfig.template b/build/android/j
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
--- a/build/config/android/rules.gni --- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni +++ b/build/config/android/rules.gni
@@ -2018,6 +2018,9 @@ if (enable_java_templates) { @@ -2285,6 +2285,9 @@ if (enable_java_templates && is_android) {
] if (defined(testonly) && testonly) {
} defines += [ "_IS_FOR_TEST" ]
} }
+ +
+ # add arch to org.chromium.build.BuildConfig + # add arch to org.chromium.build.BuildConfig
@@ -58,7 +63,7 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni
@@ -807,6 +807,9 @@ chrome_java_sources = [ @@ -805,6 +805,9 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java", "java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java",
"java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java", "java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java",
"java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java", "java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java",
@@ -71,7 +76,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
diff --git a/chrome/android/java/res/xml/about_chrome_preferences.xml b/chrome/android/java/res/xml/about_chrome_preferences.xml diff --git a/chrome/android/java/res/xml/about_chrome_preferences.xml b/chrome/android/java/res/xml/about_chrome_preferences.xml
--- a/chrome/android/java/res/xml/about_chrome_preferences.xml --- a/chrome/android/java/res/xml/about_chrome_preferences.xml
+++ b/chrome/android/java/res/xml/about_chrome_preferences.xml +++ b/chrome/android/java/res/xml/about_chrome_preferences.xml
@@ -7,6 +7,11 @@ @@ -9,6 +9,11 @@ found in the LICENSE file.
<Preference <Preference
android:key="application_version" android:key="application_version"
android:title="@string/application_version_title" /> android:title="@string/application_version_title" />
@@ -724,7 +729,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java --- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java
@@ -42,7 +42,8 @@ public class VersionNumberGetter { @@ -48,7 +48,8 @@ public class VersionNumberGetter {
private static VersionNumberGetter sInstanceForTests; private static VersionNumberGetter sInstanceForTests;
/** If false, OmahaClient will never report that a newer version is available. */ /** If false, OmahaClient will never report that a newer version is available. */
@@ -1067,7 +1072,7 @@ new file mode 100644
diff --git a/chrome/browser/endpoint_fetcher/BUILD.gn b/chrome/browser/endpoint_fetcher/BUILD.gn diff --git a/chrome/browser/endpoint_fetcher/BUILD.gn b/chrome/browser/endpoint_fetcher/BUILD.gn
--- a/chrome/browser/endpoint_fetcher/BUILD.gn --- a/chrome/browser/endpoint_fetcher/BUILD.gn
+++ b/chrome/browser/endpoint_fetcher/BUILD.gn +++ b/chrome/browser/endpoint_fetcher/BUILD.gn
@@ -15,6 +15,7 @@ android_library("java") { @@ -17,6 +17,7 @@ android_library("java") {
sources = [ sources = [
"java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java", "java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java",
"java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointResponse.java", "java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointResponse.java",
@@ -1075,223 +1080,25 @@ diff --git a/chrome/browser/endpoint_fetcher/BUILD.gn b/chrome/browser/endpoint_
] ]
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ] annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
} }
@@ -23,5 +24,6 @@ generate_jni("jni_headers") { @@ -25,5 +26,6 @@ generate_jni("jni_headers") {
sources = [ sources = [
"java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java", "java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java",
"java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointResponse.java", "java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointResponse.java",
+ "java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointHeaderResponse.java", + "java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointHeaderResponse.java",
] ]
} }
diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc b/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc
--- a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc --- a/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc
+++ b/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc +++ b/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc
@@ -26,10 +26,15 @@ @@ -9,6 +9,7 @@
#include "base/android/jni_string.h" #include "base/android/jni_string.h"
#include "chrome/browser/endpoint_fetcher/jni_headers/EndpointFetcher_jni.h" #include "chrome/browser/endpoint_fetcher/jni_headers/EndpointFetcher_jni.h"
#include "chrome/browser/endpoint_fetcher/jni_headers/EndpointResponse_jni.h" #include "chrome/browser/endpoint_fetcher/jni_headers/EndpointResponse_jni.h"
+#include "chrome/browser/endpoint_fetcher/jni_headers/EndpointHeaderResponse_jni.h" +#include "chrome/browser/endpoint_fetcher/jni_headers/EndpointHeaderResponse_jni.h"
#include "chrome/browser/profiles/profile_android.h" #include "chrome/browser/profiles/profile_android.h"
#include "chrome/browser/signin/identity_manager_factory.h"
#endif // BUILDFLAG(IS_ANDROID) #include "chrome/common/channel_info.h"
@@ -30,6 +31,24 @@ static void OnEndpointFetcherComplete(
+#include "net/base/load_flags.h"
+#include "net/http/http_status_code.h"
+#include "services/network/public/cpp/resource_request.h"
+
namespace {
const char kContentTypeKey[] = "Content-Type";
const char kDeveloperKey[] = "X-Developer-Key";
@@ -73,6 +78,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
+ intercept_redirect_(false),
post_data_(post_data),
headers_(headers),
annotation_tag_(annotation_tag),
@@ -90,6 +96,7 @@ EndpointFetcher::EndpointFetcher(
http_method_("GET"),
content_type_(std::string()),
timeout_ms_(0),
+ intercept_redirect_(false),
post_data_(std::string()),
annotation_tag_(annotation_tag),
url_loader_factory_(profile->GetDefaultStoragePartition()
@@ -114,6 +121,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
+ intercept_redirect_(false),
post_data_(post_data),
annotation_tag_(annotation_tag),
url_loader_factory_(url_loader_factory),
@@ -140,6 +148,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
+ intercept_redirect_(false),
post_data_(post_data),
headers_(headers),
cors_exempt_headers_(cors_exempt_headers),
@@ -151,10 +160,29 @@ EndpointFetcher::EndpointFetcher(
EndpointFetcher::EndpointFetcher(
const net::NetworkTrafficAnnotationTag& annotation_tag)
: timeout_ms_(kDefaultTimeOutMs),
+ intercept_redirect_(false),
annotation_tag_(annotation_tag),
identity_manager_(nullptr),
sanitize_response_(true) {}
+// constructor used by Bromite
+EndpointFetcher::EndpointFetcher(
+ Profile* const profile,
+ const GURL& url,
+ const std::string& http_method,
+ int64_t timeout_ms,
+ const bool intercept_redirect,
+ const net::NetworkTrafficAnnotationTag& annotation_tag)
+ : url_(url),
+ http_method_(http_method),
+ timeout_ms_(timeout_ms),
+ intercept_redirect_(intercept_redirect),
+ annotation_tag_(annotation_tag),
+ url_loader_factory_(profile->GetDefaultStoragePartition()
+ ->GetURLLoaderFactoryForBrowserProcess()),
+ identity_manager_(nullptr),
+ sanitize_response_(false) {}
+
EndpointFetcher::~EndpointFetcher() = default;
void EndpointFetcher::Fetch(EndpointFetcherCallback endpoint_fetcher_callback) {
@@ -207,6 +235,8 @@ void EndpointFetcher::PerformRequest(
resource_request->method = http_method_;
resource_request->url = url_;
resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit;
+ resource_request->load_flags = net::LOAD_BYPASS_CACHE | net::LOAD_DISABLE_CACHE
+ | net::LOAD_DO_NOT_SAVE_COOKIES;
if (base::EqualsCaseInsensitiveASCII(http_method_, "POST")) {
resource_request->headers.SetHeader(kContentTypeKey, content_type_);
}
@@ -239,31 +269,59 @@ void EndpointFetcher::PerformRequest(
default:
break;
}
+
+ if (intercept_redirect_ == true) {
+ // will need manual mode to capture the landing page URL
+ resource_request->redirect_mode = network::mojom::RedirectMode::kManual; // default is kFollow
+ }
+
// TODO(crbug.com/997018) Make simple_url_loader_ local variable passed to
// callback
simple_url_loader_ = network::SimpleURLLoader::Create(
std::move(resource_request), annotation_tag_);
+ simple_url_loader_->SetTimeoutDuration(base::Milliseconds(timeout_ms_));
+ simple_url_loader_->SetAllowHttpErrorResults(true);
+
+ if (!response_) {
+ //RFC: what is this for?
+ response_ = std::make_unique<EndpointResponse>();
+ }
+ if (intercept_redirect_ == true) {
+ // use a callback to capture landing page URL
+ simple_url_loader_->SetOnRedirectCallback(base::BindRepeating(
+ &EndpointFetcher::OnSimpleLoaderRedirect, base::Unretained(this)));
+ }
if (base::EqualsCaseInsensitiveASCII(http_method_, "POST")) {
simple_url_loader_->AttachStringForUpload(post_data_, content_type_);
}
simple_url_loader_->SetRetryOptions(kNumRetries,
network::SimpleURLLoader::RETRY_ON_5XX);
- simple_url_loader_->SetTimeoutDuration(base::Milliseconds(timeout_ms_));
- simple_url_loader_->SetAllowHttpErrorResults(true);
- network::SimpleURLLoader::BodyAsStringCallback body_as_string_callback =
- base::BindOnce(&EndpointFetcher::OnResponseFetched,
+
+ LOG(INFO) << "performing " << http_method_ << " request to " << url_;
+ if (base::EqualsCaseInsensitiveASCII(http_method_, "HEAD")) {
+ endpoint_fetcher_callback_ = std::move(endpoint_fetcher_callback);
+
+ simple_url_loader_->DownloadHeadersOnly(
+ url_loader_factory_.get(),
+ base::BindOnce(&EndpointFetcher::OnURLLoadComplete,
+ base::Unretained(this)));
+ } else {
+ network::SimpleURLLoader::BodyAsStringCallback body_as_string_callback =
+ base::BindOnce(&EndpointFetcher::OnResponseFetched,
weak_ptr_factory_.GetWeakPtr(),
std::move(endpoint_fetcher_callback));
- simple_url_loader_->DownloadToString(
- url_loader_factory_.get(), std::move(body_as_string_callback),
- network::SimpleURLLoader::kMaxBoundedStringDownloadSize);
+ simple_url_loader_->DownloadToString(
+ url_loader_factory_.get(), std::move(body_as_string_callback),
+ network::SimpleURLLoader::kMaxBoundedStringDownloadSize);
+ }
}
void EndpointFetcher::OnResponseFetched(
EndpointFetcherCallback endpoint_fetcher_callback,
std::unique_ptr<std::string> response_body) {
if (response_body) {
+ simple_url_loader_.reset();
if (sanitize_response_) {
data_decoder::JsonSanitizer::Sanitize(
std::move(*response_body),
@@ -281,9 +339,9 @@ void EndpointFetcher::OnResponseFetched(
std::string net_error = net::ErrorToString(simple_url_loader_->NetError());
VLOG(1) << __func__ << " with response error: " << net_error;
response->response = "There was a response error";
+ simple_url_loader_.reset();
std::move(endpoint_fetcher_callback).Run(std::move(response));
}
- simple_url_loader_.reset();
}
void EndpointFetcher::OnSanitizationResult(
@@ -304,6 +362,40 @@ std::string EndpointFetcher::GetUrlForTesting() {
return url_.spec();
}
+void EndpointFetcher::OnSimpleLoaderRedirect(
+ const net::RedirectInfo& redirect_info,
+ const network::mojom::URLResponseHead& response_head,
+ std::vector<std::string>* removed_headers) {
+ url_ = redirect_info.new_url;
+ if (response_->redirect_url.empty()) {
+ response_->redirect_url = url_.spec();
+ response_->response = std::to_string(redirect_info.status_code);
+ } else {
+ LOG(INFO) << "BromiteUpdater: redirect URL is not empty, status code is " << redirect_info.status_code;
+ }
+
+ std::move(endpoint_fetcher_callback_).Run(std::move(response_));
+}
+
+void EndpointFetcher::OnURLLoadComplete(
+ scoped_refptr<net::HttpResponseHeaders> headers) {
+ if (!endpoint_fetcher_callback_)
+ return;
+
+ if (headers) {
+ if (response_->redirect_url.empty()) {
+ std::string location;
+ if (simple_url_loader_->ResponseInfo()->headers->IsRedirect(&location)) {
+ response_->redirect_url = location;
+ }
+ }
+ }
+
+ std::string net_error = net::ErrorToString(simple_url_loader_->NetError());
+ response_->response = net_error;
+ std::move(endpoint_fetcher_callback_).Run(std::move(response_));
+}
+
#if BUILDFLAG(IS_ANDROID)
namespace {
static void OnEndpointFetcherComplete(
@@ -320,6 +412,25 @@ static void OnEndpointFetcherComplete(
base::android::AttachCurrentThread(), base::android::AttachCurrentThread(),
std::move(endpoint_response->response)))); std::move(endpoint_response->response))));
} }
@@ -1313,11 +1120,10 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browse
+ base::android::AttachCurrentThread(), + base::android::AttachCurrentThread(),
+ std::move(endpoint_response->redirect_url)))); + std::move(endpoint_response->redirect_url))));
+} +}
+
} // namespace } // namespace
// TODO(crbug.com/1077537) Create a KeyProvider so // TODO(crbug.com/1077537) Create a KeyProvider so
@@ -392,13 +503,15 @@ static void JNI_EndpointFetcher_NativeFetchWithNoAuth( @@ -109,15 +128,17 @@ static void JNI_EndpointFetcher_NativeFetchWithNoAuth(
JNIEnv* env, JNIEnv* env,
const base::android::JavaParamRef<jobject>& jprofile, const base::android::JavaParamRef<jobject>& jprofile,
const base::android::JavaParamRef<jstring>& jurl, const base::android::JavaParamRef<jstring>& jurl,
@@ -1325,7 +1131,9 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browse
+ jlong jtimeout, jboolean intercept_redirect, + jlong jtimeout, jboolean intercept_redirect,
const base::android::JavaParamRef<jobject>& jcallback) { const base::android::JavaParamRef<jobject>& jcallback) {
auto endpoint_fetcher = std::make_unique<EndpointFetcher>( auto endpoint_fetcher = std::make_unique<EndpointFetcher>(
ProfileAndroid::FromProfileAndroid(jprofile), ProfileAndroid::FromProfileAndroid(jprofile)
->GetDefaultStoragePartition()
->GetURLLoaderFactoryForBrowserProcess(),
GURL(base::android::ConvertJavaStringToUTF8(env, jurl)), GURL(base::android::ConvertJavaStringToUTF8(env, jurl)),
- net::NetworkTrafficAnnotationTag::FromJavaAnnotation( - net::NetworkTrafficAnnotationTag::FromJavaAnnotation(
- jannotation_hash_code)); - jannotation_hash_code));
@@ -1336,10 +1144,11 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browse
auto* const endpoint_fetcher_ptr = endpoint_fetcher.get(); auto* const endpoint_fetcher_ptr = endpoint_fetcher.get();
endpoint_fetcher_ptr->PerformRequest( endpoint_fetcher_ptr->PerformRequest(
base::BindOnce(&OnEndpointFetcherComplete, base::BindOnce(&OnEndpointFetcherComplete,
@@ -409,4 +522,27 @@ static void JNI_EndpointFetcher_NativeFetchWithNoAuth( @@ -127,3 +148,28 @@ static void JNI_EndpointFetcher_NativeFetchWithNoAuth(
std::move(endpoint_fetcher)),
nullptr); nullptr);
} }
+
+static void JNI_EndpointFetcher_NativeHeadWithNoAuth( +static void JNI_EndpointFetcher_NativeHeadWithNoAuth(
+ JNIEnv* env, + JNIEnv* env,
+ const base::android::JavaParamRef<jobject>& jprofile, + const base::android::JavaParamRef<jobject>& jprofile,
@@ -1347,7 +1156,9 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browse
+ jlong jtimeout, jboolean intercept_redirect, + jlong jtimeout, jboolean intercept_redirect,
+ const base::android::JavaParamRef<jobject>& jcallback) { + const base::android::JavaParamRef<jobject>& jcallback) {
+ auto endpoint_fetcher = std::make_unique<EndpointFetcher>( + auto endpoint_fetcher = std::make_unique<EndpointFetcher>(
+ ProfileAndroid::FromProfileAndroid(jprofile), + ProfileAndroid::FromProfileAndroid(jprofile)
+ ->GetDefaultStoragePartition()
+ ->GetURLLoaderFactoryForBrowserProcess(),
+ GURL(base::android::ConvertJavaStringToUTF8(env, jurl)), + GURL(base::android::ConvertJavaStringToUTF8(env, jurl)),
+ "HEAD", + "HEAD",
+ jtimeout, + jtimeout,
@@ -1362,78 +1173,6 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browse
+ std::move(endpoint_fetcher)), + std::move(endpoint_fetcher)),
+ nullptr); + nullptr);
+} +}
+
#endif // BUILDFLAG(IS_ANDROID)
diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.h b/chrome/browser/endpoint_fetcher/endpoint_fetcher.h
--- a/chrome/browser/endpoint_fetcher/endpoint_fetcher.h
+++ b/chrome/browser/endpoint_fetcher/endpoint_fetcher.h
@@ -15,6 +15,8 @@
#include "components/signin/public/identity_manager/scope_set.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
#include "services/data_decoder/public/cpp/json_sanitizer.h"
+#include "services/network/public/cpp/resource_request.h"
+#include "services/network/public/mojom/url_response_head.mojom.h"
namespace network {
struct ResourceRequest;
@@ -32,6 +34,8 @@ class Profile;
struct EndpointResponse {
std::string response;
+ long last_modified;
+ std::string redirect_url;
// TODO(crbug.com/993393) Add more detailed error messaging
};
@@ -78,6 +82,14 @@ class EndpointFetcher {
const GURL& url,
const net::NetworkTrafficAnnotationTag& annotation_tag);
+ // Constructor if no authentication is needed, with timeout
+ EndpointFetcher(Profile* const profile,
+ const GURL& url,
+ const std::string& http_method,
+ int64_t timeout_ms,
+ const bool intercept_redirect,
+ const net::NetworkTrafficAnnotationTag& annotation_tag);
+
// Used for tests. Can be used if caller constructs their own
// url_loader_factory and identity_manager.
EndpointFetcher(
@@ -131,6 +143,10 @@ class EndpointFetcher {
std::unique_ptr<std::string> response_body);
void OnSanitizationResult(EndpointFetcherCallback endpoint_fetcher_callback,
data_decoder::JsonSanitizer::Result result);
+ void OnURLLoadComplete(scoped_refptr<net::HttpResponseHeaders> headers);
+ void OnSimpleLoaderRedirect(const net::RedirectInfo& redirect_info,
+ const network::mojom::URLResponseHead& response_head,
+ std::vector<std::string>* removed_headers);
enum AuthType { CHROME_API_KEY, OAUTH, NO_AUTH };
AuthType auth_type_;
@@ -138,10 +154,11 @@ class EndpointFetcher {
// Members set in constructor to be passed to network::ResourceRequest or
// network::SimpleURLLoader.
const std::string oauth_consumer_name_;
- const GURL url_;
+ GURL url_;
const std::string http_method_;
const std::string content_type_;
int64_t timeout_ms_;
+ const bool intercept_redirect_;
const std::string post_data_;
const std::vector<std::string> headers_;
const std::vector<std::string> cors_exempt_headers_;
@@ -158,6 +175,9 @@ class EndpointFetcher {
access_token_fetcher_;
std::unique_ptr<network::SimpleURLLoader> simple_url_loader_;
+ EndpointFetcherCallback endpoint_fetcher_callback_;
+ std::unique_ptr<EndpointResponse> response_;
+
base::WeakPtrFactory<EndpointFetcher> weak_ptr_factory_{this};
};
diff --git a/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java b/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java diff --git a/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java b/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java
--- a/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java --- a/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java
+++ b/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java +++ b/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java
@@ -1512,42 +1251,43 @@ new file mode 100644
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc 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 --- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -249,6 +249,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { @@ -255,6 +255,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kNewWindowAppMenu, &kNewWindowAppMenu,
&kNotificationPermissionVariant, &kNotificationPermissionVariant,
&kPageAnnotationsService, &kPageAnnotationsService,
+ &kInlineUpdateFlow, + &kInlineUpdateFlow,
&kBookmarksImprovedSaveFlow, &kBookmarksImprovedSaveFlow,
&kBookmarksRefresh, &kBookmarksRefresh,
&kProbabilisticCryptidRenderer, &kBackGestureRefactorAndroid,
@@ -660,6 +661,9 @@ const base::Feature kIncognitoReauthenticationForAndroid{ @@ -698,6 +699,10 @@ BASE_FEATURE(kContextMenuTranslateWithGoogleLens,
const base::Feature kIncognitoScreenshot{"IncognitoScreenshot", "ContextMenuTranslateWithGoogleLens",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT);
+const base::Feature kInlineUpdateFlow{"InlineUpdateFlow", +BASE_FEATURE(kInlineUpdateFlow,
+ base::FEATURE_ENABLED_BY_DEFAULT}; + "InlineUpdateFlow",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+ +
const base::Feature kInstantStart{"InstantStart", BASE_FEATURE(kLensCameraAssistedSearch,
base::FEATURE_DISABLED_BY_DEFAULT}; "LensCameraAssistedSearch",
base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h 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 --- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h +++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -101,6 +101,7 @@ extern const base::Feature kImmersiveUiMode; @@ -92,6 +92,7 @@ BASE_DECLARE_FEATURE(kGridTabSwitcherForTablets);
extern const base::Feature kIncognitoReauthenticationForAndroid; BASE_DECLARE_FEATURE(kHandleMediaIntents);
extern const base::Feature kIncognitoScreenshot; BASE_DECLARE_FEATURE(kImmersiveUiMode);
extern const base::Feature kImprovedA2HS; BASE_DECLARE_FEATURE(kIncognitoReauthenticationForAndroid);
+extern const base::Feature kInlineUpdateFlow; +BASE_DECLARE_FEATURE(kInlineUpdateFlow);
extern const base::Feature kImproveReaderModePrompt; BASE_DECLARE_FEATURE(kIncognitoScreenshot);
extern const base::Feature kInstanceSwitcher; BASE_DECLARE_FEATURE(kInfobarScrollOptimization);
extern const base::Feature kInstantStart; BASE_DECLARE_FEATURE(kImprovedA2HS);
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 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 --- 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 +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -363,6 +363,7 @@ public abstract class ChromeFeatureList { @@ -349,6 +349,7 @@ public abstract class ChromeFeatureList {
public static final String INCOGNITO_REAUTHENTICATION_FOR_ANDROID =
"IncognitoReauthenticationForAndroid"; "IncognitoReauthenticationForAndroid";
public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot"; public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot";
public static final String INFOBAR_SCROLL_OPTIMIZATION = "InfobarScrollOptimization";
+ public static final String INLINE_UPDATE_FLOW = "InlineUpdateFlow"; + public static final String INLINE_UPDATE_FLOW = "InlineUpdateFlow";
public static final String INSTALLABLE_AMBIENT_BADGE_INFOBAR = "InstallableAmbientBadgeInfoBar"; public static final String INSTALLABLE_AMBIENT_BADGE_INFOBAR = "InstallableAmbientBadgeInfoBar";
public static final String INSTALLABLE_AMBIENT_BADGE_MESSAGE = "InstallableAmbientBadgeMessage"; public static final String INSTALLABLE_AMBIENT_BADGE_MESSAGE = "InstallableAmbientBadgeMessage";
@@ -1555,7 +1295,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1840,6 +1840,12 @@ Your Google account may have other forms of browsing history like searches and a @@ -1837,6 +1837,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_DEPRECATION_WARNING" desc="Warning about Chrome updates no longer being supported"> <message name="IDS_DEPRECATION_WARNING" desc="Warning about Chrome updates no longer being supported">
Chrome updates are no longer supported for this version of Android Chrome updates are no longer supported for this version of Android
</message> </message>
@@ -1568,7 +1308,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Account management UI strings. --> <!-- Account management UI strings. -->
<message name="IDS_ACCOUNT_MANAGEMENT_TITLE" desc="Header title for the account management screen. [CHAR_LIMIT=32]"> <message name="IDS_ACCOUNT_MANAGEMENT_TITLE" desc="Header title for the account management screen. [CHAR_LIMIT=32]">
@@ -3333,7 +3339,10 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p @@ -3453,7 +3459,10 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<!-- Main menu items --> <!-- Main menu items -->
<message name="IDS_MENU_UPDATE" desc="Menu item for updating chrome. [CHAR_LIMIT=24]"> <message name="IDS_MENU_UPDATE" desc="Menu item for updating chrome. [CHAR_LIMIT=24]">
@@ -1580,7 +1320,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
</message> </message>
<message name="IDS_MENU_UPDATE_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that a newer version of Chrome is available. [CHAR_LIMIT=30]"> <message name="IDS_MENU_UPDATE_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that a newer version of Chrome is available. [CHAR_LIMIT=30]">
Newer version is available Newer version is available
@@ -3344,6 +3353,18 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p @@ -3464,6 +3473,18 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_UPDATE_UNSUPPORTED_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that the Android version on the device is unsupported. [CHAR_LIMIT=30]"> <message name="IDS_MENU_UPDATE_UNSUPPORTED_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that the Android version on the device is unsupported. [CHAR_LIMIT=30]">
Android version is unsupported Android version is unsupported
</message> </message>
@@ -1599,5 +1339,257 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_MENU_NEW_WINDOW" desc="Menu item for opening a new window. [CHAR_LIMIT=27]"> <message name="IDS_MENU_NEW_WINDOW" desc="Menu item for opening a new window. [CHAR_LIMIT=27]">
New window New window
</message> </message>
diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoint_fetcher/endpoint_fetcher.cc
--- a/components/endpoint_fetcher/endpoint_fetcher.cc
+++ b/components/endpoint_fetcher/endpoint_fetcher.cc
@@ -17,6 +17,11 @@
#include "services/network/public/cpp/simple_url_loader.h"
#include "services/network/public/mojom/url_response_head.mojom.h"
+// used for the Bromite customization
+#include "net/base/load_flags.h"
+#include "net/http/http_status_code.h"
+#include "services/network/public/cpp/resource_request.h"
+
namespace {
const char kContentTypeKey[] = "Content-Type";
const char kDeveloperKey[] = "X-Developer-Key";
@@ -61,6 +66,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
+ intercept_redirect_(false),
post_data_(post_data),
headers_(headers),
annotation_tag_(annotation_tag),
@@ -78,6 +84,7 @@ EndpointFetcher::EndpointFetcher(
http_method_("GET"),
content_type_(std::string()),
timeout_ms_(0),
+ intercept_redirect_(false),
post_data_(std::string()),
annotation_tag_(annotation_tag),
url_loader_factory_(url_loader_factory),
@@ -101,6 +108,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
+ intercept_redirect_(false),
post_data_(post_data),
annotation_tag_(annotation_tag),
url_loader_factory_(url_loader_factory),
@@ -127,6 +135,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
+ intercept_redirect_(false),
post_data_(post_data),
headers_(headers),
cors_exempt_headers_(cors_exempt_headers),
@@ -138,10 +147,28 @@ EndpointFetcher::EndpointFetcher(
EndpointFetcher::EndpointFetcher(
const net::NetworkTrafficAnnotationTag& annotation_tag)
: timeout_ms_(kDefaultTimeOutMs),
+ intercept_redirect_(false),
annotation_tag_(annotation_tag),
identity_manager_(nullptr),
sanitize_response_(true) {}
+// constructor used by Bromite
+EndpointFetcher::EndpointFetcher(
+ const scoped_refptr<network::SharedURLLoaderFactory>& url_loader_factory,
+ const GURL& url,
+ const std::string& http_method,
+ int64_t timeout_ms,
+ const bool intercept_redirect,
+ const net::NetworkTrafficAnnotationTag& annotation_tag)
+ : url_(url),
+ http_method_(http_method),
+ timeout_ms_(timeout_ms),
+ intercept_redirect_(intercept_redirect),
+ annotation_tag_(annotation_tag),
+ url_loader_factory_(url_loader_factory),
+ identity_manager_(nullptr),
+ sanitize_response_(false) {}
+
EndpointFetcher::~EndpointFetcher() = default;
void EndpointFetcher::Fetch(EndpointFetcherCallback endpoint_fetcher_callback) {
@@ -198,6 +225,8 @@ void EndpointFetcher::PerformRequest(
resource_request->method = http_method_;
resource_request->url = url_;
resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit;
+ resource_request->load_flags = net::LOAD_BYPASS_CACHE | net::LOAD_DISABLE_CACHE
+ | net::LOAD_DO_NOT_SAVE_COOKIES;
if (base::EqualsCaseInsensitiveASCII(http_method_, "POST")) {
resource_request->headers.SetHeader(kContentTypeKey, content_type_);
}
@@ -228,25 +257,52 @@ void EndpointFetcher::PerformRequest(
default:
break;
}
+
+ if (intercept_redirect_ == true) {
+ // will need manual mode to capture the landing page URL
+ resource_request->redirect_mode = network::mojom::RedirectMode::kManual; // default is kFollow
+ }
+
// TODO(crbug.com/997018) Make simple_url_loader_ local variable passed to
// callback
simple_url_loader_ = network::SimpleURLLoader::Create(
std::move(resource_request), annotation_tag_);
+ simple_url_loader_->SetTimeoutDuration(base::Milliseconds(timeout_ms_));
+ simple_url_loader_->SetAllowHttpErrorResults(true);
+
+ if (!response_) {
+ //RFC: what is this for?
+ response_ = std::make_unique<EndpointResponse>();
+ }
+ if (intercept_redirect_ == true) {
+ // use a callback to capture landing page URL
+ simple_url_loader_->SetOnRedirectCallback(base::BindRepeating(
+ &EndpointFetcher::OnSimpleLoaderRedirect, base::Unretained(this)));
+ }
if (base::EqualsCaseInsensitiveASCII(http_method_, "POST")) {
simple_url_loader_->AttachStringForUpload(post_data_, content_type_);
}
simple_url_loader_->SetRetryOptions(kNumRetries,
network::SimpleURLLoader::RETRY_ON_5XX);
- simple_url_loader_->SetTimeoutDuration(base::Milliseconds(timeout_ms_));
- simple_url_loader_->SetAllowHttpErrorResults(true);
- network::SimpleURLLoader::BodyAsStringCallback body_as_string_callback =
+
+ LOG(INFO) << "performing " << http_method_ << " request to " << url_;
+ if (base::EqualsCaseInsensitiveASCII(http_method_, "HEAD")) {
+ endpoint_fetcher_callback_ = std::move(endpoint_fetcher_callback);
+
+ simple_url_loader_->DownloadHeadersOnly(
+ url_loader_factory_.get(),
+ base::BindOnce(&EndpointFetcher::OnURLLoadComplete,
+ base::Unretained(this)));
+ } else {
+ network::SimpleURLLoader::BodyAsStringCallback body_as_string_callback =
base::BindOnce(&EndpointFetcher::OnResponseFetched,
weak_ptr_factory_.GetWeakPtr(),
std::move(endpoint_fetcher_callback));
- simple_url_loader_->DownloadToString(
- url_loader_factory_.get(), std::move(body_as_string_callback),
- network::SimpleURLLoader::kMaxBoundedStringDownloadSize);
+ simple_url_loader_->DownloadToString(
+ url_loader_factory_.get(), std::move(body_as_string_callback),
+ network::SimpleURLLoader::kMaxBoundedStringDownloadSize);
+ }
}
void EndpointFetcher::OnResponseFetched(
@@ -315,3 +371,37 @@ void EndpointFetcher::OnSanitizationResult(
std::string EndpointFetcher::GetUrlForTesting() {
return url_.spec();
}
+
+void EndpointFetcher::OnSimpleLoaderRedirect(
+ const net::RedirectInfo& redirect_info,
+ const network::mojom::URLResponseHead& response_head,
+ std::vector<std::string>* removed_headers) {
+ url_ = redirect_info.new_url;
+ if (response_->redirect_url.empty()) {
+ response_->redirect_url = url_.spec();
+ response_->response = std::to_string(redirect_info.status_code);
+ } else {
+ LOG(INFO) << "BromiteUpdater: redirect URL is not empty, status code is " << redirect_info.status_code;
+ }
+
+ std::move(endpoint_fetcher_callback_).Run(std::move(response_));
+}
+
+void EndpointFetcher::OnURLLoadComplete(
+ scoped_refptr<net::HttpResponseHeaders> headers) {
+ if (!endpoint_fetcher_callback_)
+ return;
+
+ if (headers) {
+ if (response_->redirect_url.empty()) {
+ std::string location;
+ if (simple_url_loader_->ResponseInfo()->headers->IsRedirect(&location)) {
+ response_->redirect_url = location;
+ }
+ }
+ }
+
+ std::string net_error = net::ErrorToString(simple_url_loader_->NetError());
+ response_->response = net_error;
+ std::move(endpoint_fetcher_callback_).Run(std::move(response_));
+}
diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoint_fetcher/endpoint_fetcher.h
--- a/components/endpoint_fetcher/endpoint_fetcher.h
+++ b/components/endpoint_fetcher/endpoint_fetcher.h
@@ -16,6 +16,8 @@
#include "net/traffic_annotation/network_traffic_annotation.h"
#include "services/data_decoder/public/cpp/json_sanitizer.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
+#include "services/network/public/cpp/resource_request.h"
+#include "services/network/public/mojom/url_response_head.mojom.h"
namespace network {
struct ResourceRequest;
@@ -38,6 +40,8 @@ enum class FetchErrorType {
struct EndpointResponse {
std::string response;
+ long last_modified;
+ std::string redirect_url;
int http_status_code{-1};
absl::optional<FetchErrorType> error_type;
};
@@ -90,6 +94,14 @@ class EndpointFetcher {
const GURL& url,
const net::NetworkTrafficAnnotationTag& annotation_tag);
+ // Constructor if no authentication is needed, with timeout
+ EndpointFetcher(const scoped_refptr<network::SharedURLLoaderFactory>& url_loader_factory,
+ const GURL& url,
+ const std::string& http_method,
+ int64_t timeout_ms,
+ const bool intercept_redirect,
+ const net::NetworkTrafficAnnotationTag& annotation_tag);
+
// Used for tests. Can be used if caller constructs their own
// url_loader_factory and identity_manager.
EndpointFetcher(
@@ -144,6 +156,10 @@ class EndpointFetcher {
void OnSanitizationResult(std::unique_ptr<EndpointResponse> response,
EndpointFetcherCallback endpoint_fetcher_callback,
data_decoder::JsonSanitizer::Result result);
+ void OnURLLoadComplete(scoped_refptr<net::HttpResponseHeaders> headers);
+ void OnSimpleLoaderRedirect(const net::RedirectInfo& redirect_info,
+ const network::mojom::URLResponseHead& response_head,
+ std::vector<std::string>* removed_headers);
enum AuthType { CHROME_API_KEY, OAUTH, NO_AUTH };
AuthType auth_type_;
@@ -151,10 +167,11 @@ class EndpointFetcher {
// Members set in constructor to be passed to network::ResourceRequest or
// network::SimpleURLLoader.
const std::string oauth_consumer_name_;
- const GURL url_;
+ GURL url_;
const std::string http_method_;
const std::string content_type_;
int64_t timeout_ms_;
+ const bool intercept_redirect_;
const std::string post_data_;
const std::vector<std::string> headers_;
const std::vector<std::string> cors_exempt_headers_;
@@ -172,6 +189,9 @@ class EndpointFetcher {
access_token_fetcher_;
std::unique_ptr<network::SimpleURLLoader> simple_url_loader_;
+ EndpointFetcherCallback endpoint_fetcher_callback_;
+ std::unique_ptr<EndpointResponse> response_;
+
base::WeakPtrFactory<EndpointFetcher> weak_ptr_factory_{this};
};
-- --
2.25.1 2.25.1
+9 -8
View File
@@ -2,6 +2,7 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 8 Jan 2022 19:42:34 +0100 Date: Sat, 8 Jan 2022 19:42:34 +0100
Subject: Bromite package name Subject: Bromite package name
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/android/BUILD.gn | 2 +- chrome/android/BUILD.gn | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
@@ -9,14 +10,14 @@ Subject: Bromite package name
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn
@@ -44,7 +44,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) { @@ -47,7 +47,7 @@ chrome_jni_registration_header =
assert(current_toolchain != android_secondary_abi_toolchain) chrome_jni_for_test_registration_header = "$root_build_dir/gen/chrome/browser/android/chrome_jni_for_test_registration.h"
}
-_default_package = "org.chromium.chrome" if (current_toolchain == default_toolchain) {
+_default_package = "org.bromite.bromite" - _default_package = "org.chromium.chrome"
if (android_channel != "default" && android_channel != "stable") { + _default_package = "org.bromite.bromite"
# android-binary-size trybot may checks if an internal Chrome variant's if (use_stable_package_name_for_trichrome) {
# AndroidManifest is as expected by ensuring the differences between its _default_package += ".stable"
} else if (android_channel != "default" && android_channel != "stable") {
-- --
2.25.1 2.25.1
@@ -1,6 +1,6 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com> From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 14 Sep 2019 10:20:08 +0200 Date: Sat, 14 Sep 2019 10:20:08 +0200
Subject: Bromite AdBlockUpdaterService Subject: Bromite subresource adblocker
Add option to configure the ad blocker filters URL Add option to configure the ad blocker filters URL
Disable look-alike, metrics, ablation and navigation throttles Disable look-alike, metrics, ablation and navigation throttles
@@ -8,7 +8,11 @@ Do not use experiments to enable/disable presets
Always enable ad filtering Always enable ad filtering
Download filters by checking Last-Modified header first Download filters by checking Last-Modified header first
Fix RestoreForeignSessionTab by recreating the tab (issue #681) Fix RestoreForeignSessionTab by recreating the tab (issue #681)
Enable AutomaticLazyFrameLoadingToAds and AutomaticLazyFrameLoadingToEmbeds features
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/android/BUILD.gn | 1 +
chrome/android/chrome_java_resources.gni | 2 + chrome/android/chrome_java_resources.gni | 2 +
chrome/android/chrome_java_sources.gni | 2 + chrome/android/chrome_java_sources.gni | 2 +
.../java/res/layout/adblock_editor.xml | 67 +++++ .../java/res/layout/adblock_editor.xml | 67 +++++
@@ -20,7 +24,7 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
.../browser/settings/AdBlockPreferences.java | 61 ++++ .../browser/settings/AdBlockPreferences.java | 61 ++++
.../chrome/browser/tabmodel/TabModelImpl.java | 2 +- .../chrome/browser/tabmodel/TabModelImpl.java | 2 +-
chrome/app/generated_resources.grd | 10 + chrome/app/generated_resources.grd | 10 +
chrome/browser/after_startup_task_utils.cc | 5 + chrome/browser/after_startup_task_utils.cc | 4 +
chrome/browser/browser_process.h | 6 + chrome/browser/browser_process.h | 6 +
chrome/browser/browser_process_impl.cc | 20 ++ chrome/browser/browser_process_impl.cc | 20 ++
chrome/browser/browser_process_impl.h | 2 + chrome/browser/browser_process_impl.h | 2 +
@@ -43,10 +47,11 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
.../content/browser/ruleset_service.h | 7 +- .../content/browser/ruleset_service.h | 7 +-
.../content/browser/ruleset_version.h | 4 + .../content/browser/ruleset_version.h | 4 +
.../browser/verified_ruleset_dealer.cc | 4 + .../browser/verified_ruleset_dealer.cc | 4 +
.../browser/subresource_filter_features.cc | 113 +------- .../browser/subresource_filter_features.cc | 116 +-------
.../core/common/indexed_ruleset.cc | 5 +- .../core/common/indexed_ruleset.cc | 5 +-
.../navigation_throttle_runner.cc | 5 - .../navigation_throttle_runner.cc | 5 -
37 files changed, 1160 insertions(+), 126 deletions(-) third_party/blink/common/features.cc | 12 +-
39 files changed, 1166 insertions(+), 135 deletions(-)
create mode 100644 chrome/android/java/res/layout/adblock_editor.xml 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/res/xml/adblock_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
@@ -56,18 +61,29 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
create mode 100644 components/component_updater/download_filters_task.cc create mode 100644 components/component_updater/download_filters_task.cc
create mode 100644 components/component_updater/download_filters_task.h create mode 100644 components/component_updater/download_filters_task.h
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -382,6 +382,7 @@ if (current_toolchain == default_toolchain) {
"//chrome/android/modules/image_editor/provider:java",
"//chrome/android/modules/stack_unwinder/provider:java",
"//chrome/android/webapk/libs/client:client_java",
+ "//chrome/browser/endpoint_fetcher:java",
"//chrome/android/webapk/libs/common:common_java",
"//chrome/android/webapk/libs/common:splash_java",
"//chrome/android/webapk/libs/runtime_library:webapk_service_aidl_java",
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni --- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni +++ b/chrome/android/chrome_java_resources.gni
@@ -473,6 +473,7 @@ chrome_java_resources = [ @@ -447,6 +447,7 @@ chrome_java_resources = [
"java/res/layout/account_chooser_dialog_title.xml", "java/res/layout/account_chooser_dialog_title.xml",
"java/res/layout/account_divider_preference.xml", "java/res/layout/account_divider_preference.xml",
"java/res/layout/account_management_account_row.xml", "java/res/layout/account_management_account_row.xml",
+ "java/res/layout/adblock_editor.xml", + "java/res/layout/adblock_editor.xml",
"java/res/layout/auto_sign_in_first_run_dialog.xml", "java/res/layout/auto_sign_in_first_run_dialog.xml",
"java/res/layout/autofill_billing_address_dropdown.xml", "java/res/layout/autofill_billing_address_dropdown.xml",
"java/res/layout/autofill_card_unmask_prompt.xml", "java/res/layout/autofill_card_unmask_prompt.xml",
@@ -667,6 +668,7 @@ chrome_java_resources = [ @@ -639,6 +640,7 @@ chrome_java_resources = [
"java/res/values/values.xml", "java/res/values/values.xml",
"java/res/xml/about_chrome_preferences.xml", "java/res/xml/about_chrome_preferences.xml",
"java/res/xml/account_management_preferences.xml", "java/res/xml/account_management_preferences.xml",
@@ -78,15 +94,15 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni --- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni +++ b/chrome/android/chrome_java_sources.gni
@@ -904,6 +904,8 @@ chrome_java_sources = [ @@ -900,6 +900,8 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/permissions/PermissionSettingsBridge.java", "java/src/org/chromium/chrome/browser/permissions/PermissionSettingsBridge.java",
"java/src/org/chromium/chrome/browser/permissions/PermissionUpdateRequester.java", "java/src/org/chromium/chrome/browser/permissions/PermissionUpdateRequester.java",
"java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceImpl.java", "java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceImpl.java",
+ "java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java", + "java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java",
+ "java/src/org/chromium/chrome/browser/settings/AdBlockPreferences.java", + "java/src/org/chromium/chrome/browser/settings/AdBlockPreferences.java",
"java/src/org/chromium/chrome/browser/policy/PolicyAuditor.java", "java/src/org/chromium/chrome/browser/policy/PolicyAuditor.java",
"java/src/org/chromium/chrome/browser/policy/PolicyAuditorBridge.java",
"java/src/org/chromium/chrome/browser/prerender/ChromePrerenderServiceImpl.java", "java/src/org/chromium/chrome/browser/prerender/ChromePrerenderServiceImpl.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 diff --git a/chrome/android/java/res/layout/adblock_editor.xml b/chrome/android/java/res/layout/adblock_editor.xml
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
@@ -162,7 +178,7 @@ new file mode 100644
diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res/values/styles.xml 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 --- a/chrome/android/java/res/values/styles.xml
+++ b/chrome/android/java/res/values/styles.xml +++ b/chrome/android/java/res/values/styles.xml
@@ -194,6 +194,24 @@ @@ -180,6 +180,24 @@ found in the LICENSE file.
</item> </item>
</style> </style>
@@ -190,7 +206,7 @@ diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res
diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
--- a/chrome/android/java/res/values/values.xml --- a/chrome/android/java/res/values/values.xml
+++ b/chrome/android/java/res/values/values.xml +++ b/chrome/android/java/res/values/values.xml
@@ -25,6 +25,8 @@ @@ -27,6 +27,8 @@ found in the LICENSE file.
<!-- Compositor Tab Title Text --> <!-- Compositor Tab Title Text -->
<bool name="compositor_tab_title_fake_bold_text">true</bool> <bool name="compositor_tab_title_fake_bold_text">true</bool>
@@ -232,7 +248,7 @@ new file mode 100644
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
--- a/chrome/android/java/res/xml/main_preferences.xml --- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml +++ b/chrome/android/java/res/xml/main_preferences.xml
@@ -42,6 +42,11 @@ @@ -44,6 +44,11 @@ found in the LICENSE file.
android:key="privacy" android:key="privacy"
android:order="10" android:order="10"
android:title="@string/prefs_privacy_security"/> android:title="@string/prefs_privacy_security"/>
@@ -409,7 +425,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
@@ -670,7 +670,7 @@ public class TabModelImpl extends TabModelJniBridge { @@ -705,7 +705,7 @@ public class TabModelImpl extends TabModelJniBridge {
protected boolean createTabWithWebContents( protected boolean createTabWithWebContents(
Tab parent, Profile profile, WebContents webContents) { Tab parent, Profile profile, WebContents webContents) {
return getTabCreator(profile.isOffTheRecord()) return getTabCreator(profile.isOffTheRecord())
@@ -421,7 +437,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 diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
--- a/chrome/app/generated_resources.grd --- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd
@@ -11873,6 +11873,16 @@ Please help our engineers fix this problem. Tell us what happened right before y @@ -12565,6 +12565,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
Never show this again. Never show this again.
</message> </message>
@@ -441,8 +457,8 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_startup_task_utils.cc diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_startup_task_utils.cc
--- a/chrome/browser/after_startup_task_utils.cc --- a/chrome/browser/after_startup_task_utils.cc
+++ b/chrome/browser/after_startup_task_utils.cc +++ b/chrome/browser/after_startup_task_utils.cc
@@ -33,6 +33,8 @@ @@ -28,6 +28,8 @@
#include "chromeos/lacros/lacros_service.h" #include "chromeos/startup/browser_params_proxy.h"
#endif // BUILDFLAG(IS_CHROMEOS_LACROS) #endif // BUILDFLAG(IS_CHROMEOS_LACROS)
+#include "chrome/browser/browser_process.h" +#include "chrome/browser/browser_process.h"
@@ -450,16 +466,15 @@ diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_s
using content::BrowserThread; using content::BrowserThread;
namespace { namespace {
@@ -128,6 +130,9 @@ void SetBrowserStartupIsComplete() { @@ -123,6 +125,8 @@ void SetBrowserStartupIsComplete() {
ScheduleTask(base::WrapUnique(queued_task));
g_after_startup_tasks.Get().clear(); g_after_startup_tasks.Get().clear();
g_after_startup_tasks.Get().shrink_to_fit(); g_after_startup_tasks.Get().shrink_to_fit();
+ // initialize AdBlock engine scheduled updates + // initialize AdBlock engine scheduled updates
+ g_browser_process->adblock_updater()->Start(); + g_browser_process->adblock_updater()->Start();
+ }
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete. // Observes the first visible page load and sets the startup complete
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
--- a/chrome/browser/browser_process.h --- a/chrome/browser/browser_process.h
+++ b/chrome/browser/browser_process.h +++ b/chrome/browser/browser_process.h
@@ -493,7 +508,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 diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
--- a/chrome/browser/browser_process_impl.cc --- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc
@@ -1068,6 +1068,26 @@ BrowserProcessImpl::component_updater() { @@ -1071,6 +1071,26 @@ BrowserProcessImpl::component_updater() {
return component_updater_.get(); return component_updater_.get();
} }
@@ -523,7 +538,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 diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h
--- a/chrome/browser/browser_process_impl.h --- a/chrome/browser/browser_process_impl.h
+++ b/chrome/browser/browser_process_impl.h +++ b/chrome/browser/browser_process_impl.h
@@ -200,6 +200,7 @@ class BrowserProcessImpl : public BrowserProcess, @@ -192,6 +192,7 @@ class BrowserProcessImpl : public BrowserProcess,
#endif #endif
component_updater::ComponentUpdateService* component_updater() override; component_updater::ComponentUpdateService* component_updater() override;
@@ -531,7 +546,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
MediaFileSystemRegistry* media_file_system_registry() override; MediaFileSystemRegistry* media_file_system_registry() override;
WebRtcLogUploader* webrtc_log_uploader() override; WebRtcLogUploader* webrtc_log_uploader() override;
network_time::NetworkTimeTracker* network_time_tracker() override; network_time::NetworkTimeTracker* network_time_tracker() override;
@@ -378,6 +379,7 @@ class BrowserProcessImpl : public BrowserProcess, @@ -375,6 +376,7 @@ class BrowserProcessImpl : public BrowserProcess,
// to concerns over integrity of data shared between profiles, // to concerns over integrity of data shared between profiles,
// but some users of component updater only install per-user. // but some users of component updater only install per-user.
std::unique_ptr<component_updater::ComponentUpdateService> component_updater_; std::unique_ptr<component_updater::ComponentUpdateService> component_updater_;
@@ -542,16 +557,16 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
--- a/chrome/browser/chrome_browser_main.cc --- a/chrome/browser/chrome_browser_main.cc
+++ b/chrome/browser/chrome_browser_main.cc +++ b/chrome/browser/chrome_browser_main.cc
@@ -1730,6 +1730,9 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { @@ -416,6 +416,9 @@ StartupProfileInfo CreateInitialProfile(
// will be initialized when the app enters foreground mode. // missing code in the above test.
variations_service->set_policy_pref_service(profile->GetPrefs()); CHECK(profile_info.profile) << "Cannot get default profile.";
+ // force AdBlock updater initialisation + // force AdBlock updater initialisation
+ g_browser_process->adblock_updater(); + g_browser_process->adblock_updater();
+ +
#else #else
// We are in regular browser boot sequence. Open initial tabs and enter the #if BUILDFLAG(IS_CHROMEOS_LACROS)
// main message loop. // Lacros has a special "primary" profile that is tied to the active ChromeOS
diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/browser/flags/android/cached_feature_flags.cc 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 --- a/chrome/browser/flags/android/cached_feature_flags.cc
+++ b/chrome/browser/flags/android/cached_feature_flags.cc +++ b/chrome/browser/flags/android/cached_feature_flags.cc
@@ -565,7 +580,7 @@ diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/brows
#include "content/public/common/content_features.h" #include "content/public/common/content_features.h"
#include "content/public/common/network_service_util.h" #include "content/public/common/network_service_util.h"
@@ -41,3 +44,11 @@ static jboolean JNI_CachedFeatureFlags_IsNetworkServiceWarmUpEnabled( @@ -42,3 +45,11 @@ static jboolean JNI_CachedFeatureFlags_IsNetworkServiceWarmUpEnabled(
return content::IsOutOfProcessNetworkService() && return content::IsOutOfProcessNetworkService() &&
base::FeatureList::IsEnabled(features::kWarmUpNetworkProcess); base::FeatureList::IsEnabled(features::kWarmUpNetworkProcess);
} }
@@ -580,7 +595,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 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 --- 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 +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
@@ -270,6 +270,14 @@ public class CachedFeatureFlags { @@ -190,6 +190,14 @@ public class CachedFeatureFlags {
ChromeFeatureList.isEnabled(ChromeFeatureList.BACKGROUND_THREAD_POOL)); ChromeFeatureList.isEnabled(ChromeFeatureList.BACKGROUND_THREAD_POOL));
} }
@@ -595,7 +610,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. * Caches flags that must take effect on startup but are set via native code.
*/ */
@@ -487,5 +495,7 @@ public class CachedFeatureFlags { @@ -427,5 +435,7 @@ public class CachedFeatureFlags {
@NativeMethods @NativeMethods
interface Natives { interface Natives {
boolean isNetworkServiceWarmUpEnabled(); boolean isNetworkServiceWarmUpEnabled();
@@ -606,7 +621,7 @@ 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 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 --- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc +++ b/chrome/browser/net/system_network_context_manager.cc
@@ -436,6 +436,8 @@ SystemNetworkContextManager::SystemNetworkContextManager( @@ -422,6 +422,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
ssl_config_service_manager_(local_state_), ssl_config_service_manager_(local_state_),
proxy_config_monitor_(local_state_), proxy_config_monitor_(local_state_),
stub_resolver_config_reader_(local_state_) { stub_resolver_config_reader_(local_state_) {
@@ -615,7 +630,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
#if !BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_ANDROID)
// QuicAllowed was not part of Android policy. // QuicAllowed was not part of Android policy.
const base::Value* value = const base::Value* value =
@@ -516,6 +518,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() { @@ -500,6 +502,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) { void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
StubResolverConfigReader::RegisterPrefs(registry); StubResolverConfigReader::RegisterPrefs(registry);
@@ -665,7 +680,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 diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
--- a/chrome/common/pref_names.cc --- a/chrome/common/pref_names.cc
+++ b/chrome/common/pref_names.cc +++ b/chrome/common/pref_names.cc
@@ -2318,6 +2318,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; @@ -2390,6 +2390,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
// capture devices without prompt. // capture devices without prompt.
const char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls"; const char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls";
@@ -678,7 +693,7 @@ diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h --- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h
@@ -32,6 +32,7 @@ extern const char kDownloadBubbleEnabled[]; @@ -33,6 +33,7 @@ extern const char kDownloadBubbleEnabled[];
extern const char kForceEphemeralProfiles[]; extern const char kForceEphemeralProfiles[];
extern const char kHomePageIsNewTabPage[]; extern const char kHomePageIsNewTabPage[];
extern const char kHomePage[]; extern const char kHomePage[];
@@ -689,7 +704,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp
--- a/components/browser_ui/strings/android/site_settings.grdp --- a/components/browser_ui/strings/android/site_settings.grdp
+++ b/components/browser_ui/strings/android/site_settings.grdp +++ b/components/browser_ui/strings/android/site_settings.grdp
@@ -247,8 +247,8 @@ @@ -303,8 +303,8 @@
<message name="IDS_INTRUSIVE_ADS_INFORMATION" desc="The extra information at the top of the Site Details page when the site tends to show intrusive ads"> <message name="IDS_INTRUSIVE_ADS_INFORMATION" desc="The extra information at the top of the Site Details page when the site tends to show intrusive ads">
This site shows intrusive or misleading ads This site shows intrusive or misleading ads
</message> </message>
@@ -716,7 +731,7 @@ diff --git a/components/component_updater/BUILD.gn b/components/component_update
"component_updater_service.cc", "component_updater_service.cc",
"component_updater_service.h", "component_updater_service.h",
"component_updater_service_internal.h", "component_updater_service_internal.h",
@@ -37,6 +43,7 @@ static_library("component_updater") { @@ -39,6 +45,7 @@ static_library("component_updater") {
"//components/prefs", "//components/prefs",
"//components/update_client", "//components/update_client",
"//components/version_info", "//components/version_info",
@@ -1472,7 +1487,7 @@ new file mode 100644
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
--- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc --- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
+++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc +++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
@@ -666,6 +666,17 @@ ContentSubresourceFilterThrottleManager:: @@ -667,6 +667,17 @@ ContentSubresourceFilterThrottleManager::
throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(), throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
ad_tagging_state); ad_tagging_state);
} }
@@ -1667,7 +1682,7 @@ diff --git a/components/subresource_filter/content/browser/verified_ruleset_deal
diff --git a/components/subresource_filter/core/browser/subresource_filter_features.cc b/components/subresource_filter/core/browser/subresource_filter_features.cc diff --git a/components/subresource_filter/core/browser/subresource_filter_features.cc b/components/subresource_filter/core/browser/subresource_filter_features.cc
--- a/components/subresource_filter/core/browser/subresource_filter_features.cc --- a/components/subresource_filter/core/browser/subresource_filter_features.cc
+++ b/components/subresource_filter/core/browser/subresource_filter_features.cc +++ b/components/subresource_filter/core/browser/subresource_filter_features.cc
@@ -55,69 +55,7 @@ class CommaSeparatedStrings { @@ -54,72 +54,7 @@ class CommaSeparatedStrings {
const std::vector<base::StringPiece> pieces_; const std::vector<base::StringPiece> pieces_;
}; };
@@ -1684,18 +1699,21 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
- -
-mojom::ActivationLevel ParseActivationLevel( -mojom::ActivationLevel ParseActivationLevel(
- const base::StringPiece activation_level) { - const base::StringPiece activation_level) {
- if (base::LowerCaseEqualsASCII(activation_level, kActivationLevelEnabled)) - if (base::EqualsCaseInsensitiveASCII(activation_level,
- kActivationLevelEnabled))
- return mojom::ActivationLevel::kEnabled; - return mojom::ActivationLevel::kEnabled;
- else if (base::LowerCaseEqualsASCII(activation_level, kActivationLevelDryRun)) - else if (base::EqualsCaseInsensitiveASCII(activation_level,
- kActivationLevelDryRun))
- return mojom::ActivationLevel::kDryRun; - return mojom::ActivationLevel::kDryRun;
- return mojom::ActivationLevel::kDisabled; - return mojom::ActivationLevel::kDisabled;
-} -}
- -
-ActivationScope ParseActivationScope(const base::StringPiece activation_scope) { -ActivationScope ParseActivationScope(const base::StringPiece activation_scope) {
- if (base::LowerCaseEqualsASCII(activation_scope, kActivationScopeAllSites)) - if (base::EqualsCaseInsensitiveASCII(activation_scope,
- kActivationScopeAllSites))
- return ActivationScope::ALL_SITES; - return ActivationScope::ALL_SITES;
- else if (base::LowerCaseEqualsASCII(activation_scope, - else if (base::EqualsCaseInsensitiveASCII(activation_scope,
- kActivationScopeActivationList)) - kActivationScopeActivationList))
- return ActivationScope::ACTIVATION_LIST; - return ActivationScope::ACTIVATION_LIST;
- return ActivationScope::NO_SITES; - return ActivationScope::NO_SITES;
-} -}
@@ -1738,7 +1756,7 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
// If ad tagging is enabled, turn on the dryrun automatically. // If ad tagging is enabled, turn on the dryrun automatically.
bool ad_tagging_enabled = base::FeatureList::IsEnabled(kAdTagging); bool ad_tagging_enabled = base::FeatureList::IsEnabled(kAdTagging);
const struct { const struct {
@@ -125,23 +63,16 @@ std::vector<Configuration> FillEnabledPresetConfigurations( @@ -127,23 +62,16 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
bool enabled_by_default; bool enabled_by_default;
Configuration (*factory_method)(); Configuration (*factory_method)();
} kAvailablePresetConfigurations[] = { } kAvailablePresetConfigurations[] = {
@@ -1764,7 +1782,7 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
enabled_configurations.push_back(available_preset.factory_method()); enabled_configurations.push_back(available_preset.factory_method());
} }
} }
@@ -149,46 +80,10 @@ std::vector<Configuration> FillEnabledPresetConfigurations( @@ -151,46 +79,10 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
return enabled_configurations; return enabled_configurations;
} }
@@ -1838,10 +1856,10 @@ 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 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 --- a/content/browser/renderer_host/navigation_throttle_runner.cc
+++ b/content/browser/renderer_host/navigation_throttle_runner.cc +++ b/content/browser/renderer_host/navigation_throttle_runner.cc
@@ -180,11 +180,6 @@ void NavigationThrottleRunner::RegisterNavigationThrottles() { @@ -190,11 +190,6 @@ void NavigationThrottleRunner::RegisterNavigationThrottles() {
// than other throttles that might care about those navigations, e.g. // wait for the JS task that starts the navigation to finish, so add it close
// throttles handling pages with 407 errors that require extra authentication. // to the end to not delay running other throttles.
AddThrottle(HttpErrorNavigationThrottle::MaybeCreateThrottleFor(*request)); AddThrottle(RendererCancellationThrottle::MaybeCreateThrottleFor(request));
- -
- // Insert all testing NavigationThrottles last. - // Insert all testing NavigationThrottles last.
- throttles_.insert(throttles_.end(), - throttles_.insert(throttles_.end(),
@@ -1850,5 +1868,41 @@ diff --git a/content/browser/renderer_host/navigation_throttle_runner.cc b/conte
} }
NavigationThrottle* NavigationThrottleRunner::GetDeferringThrottle() const { NavigationThrottle* NavigationThrottleRunner::GetDeferringThrottle() const {
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
@@ -34,8 +34,8 @@ BASE_FEATURE(kAttributionReportingCrossAppWeb,
// Apply lazy-loading to ad frames which have embeds likely impacting Core Web
// Vitals.
BASE_FEATURE(kAutomaticLazyFrameLoadingToAds,
- "AutomaticLazyFrameLoadingToAds",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "AutomaticLazyFrameLoadingToAds", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
// The timeout value that forces loading iframes that are lazy loaded by
// LazyAds. After this timeout, the frame loading is triggered even when the
@@ -55,8 +55,8 @@ const base::FeatureParam<int> kSkipFrameCountForLazyAds(
// Apply lazy-loading to frames which have embeds likely impacting Core Web
// Vitals.
BASE_FEATURE(kAutomaticLazyFrameLoadingToEmbeds,
- "AutomaticLazyFrameLoadingToEmbeds",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "AutomaticLazyFrameLoadingToEmbeds", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
// The timeout value that forces loading iframes that are lazy loaded by
// LazyEmbeds. After this timeout, the frame loading is triggered even when the
@@ -78,8 +78,8 @@ const base::FeatureParam<int> kSkipFrameCountForLazyEmbeds(
// to gather Blink.AutomaticLazyLoadFrame.LazyEmbedFrameCount UKM data even when
// kAutomaticLazyFrameLoadingToEmbeds is disabled.
BASE_FEATURE(kAutomaticLazyFrameLoadingToEmbedUrls,
- "AutomaticLazyFrameLoadingToEmbedUrls",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "AutomaticLazyFrameLoadingToEmbedUrls", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Define the strategy for LazyEmbeds to decide which frames we apply
// lazy-loading or not. If the loading strategy is kAllowList, the detection
-- --
2.25.1 2.25.1
+9 -8
View File
@@ -2,6 +2,7 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 8 Jan 2022 19:42:34 +0100 Date: Sat, 8 Jan 2022 19:42:34 +0100
Subject: Chromium package name Subject: Chromium package name
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/android/BUILD.gn | 2 +- chrome/android/BUILD.gn | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
@@ -9,14 +10,14 @@ Subject: Chromium package name
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn --- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn +++ b/chrome/android/BUILD.gn
@@ -44,7 +44,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) { @@ -51,7 +51,7 @@ chrome_jni_registration_header =
assert(current_toolchain != android_secondary_abi_toolchain) chrome_jni_for_test_registration_header = "$root_build_dir/gen/chrome/browser/android/chrome_jni_for_test_registration.h"
}
-_default_package = "org.chromium.chrome" if (current_toolchain == default_toolchain) {
+_default_package = "org.bromite.chromium" - _default_package = "org.chromium.chrome"
if (android_channel != "default" && android_channel != "stable") { + _default_package = "org.bromite.chromium"
# android-binary-size trybot may checks if an internal Chrome variant's if (use_stable_package_name_for_trichrome) {
# AndroidManifest is as expected by ensuring the differences between its _default_package += ".stable"
} else if (android_channel != "default" && android_channel != "stable") {
-- --
2.25.1 2.25.1
@@ -0,0 +1,40 @@
From: uazo <uazo@users.noreply.github.com>
Date: Mon, 3 Oct 2022 09:39:07 +0000
Subject: Clamp time resolution in requestAnimationFrame
Aligns requestAnimationFrame's WebWorker callback to the W3C specification
See https://bugs.chromium.org/p/chromium/issues/detail?id=1236113
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../animation_frame/worker_animation_frame_provider.cc | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/third_party/blink/renderer/core/animation_frame/worker_animation_frame_provider.cc b/third_party/blink/renderer/core/animation_frame/worker_animation_frame_provider.cc
--- a/third_party/blink/renderer/core/animation_frame/worker_animation_frame_provider.cc
+++ b/third_party/blink/renderer/core/animation_frame/worker_animation_frame_provider.cc
@@ -7,6 +7,8 @@
#include "base/trace_event/trace_event.h"
#include "third_party/blink/renderer/core/execution_context/agent.h"
#include "third_party/blink/renderer/core/offscreencanvas/offscreen_canvas.h"
+#include "third_party/blink/renderer/core/workers/worker_global_scope.h"
+#include "third_party/blink/renderer/platform/wtf/casting.h"
#include "third_party/blink/renderer/core/timing/worker_global_scope_performance.h"
#include "third_party/blink/renderer/platform/scheduler/public/event_loop.h"
#include "third_party/blink/renderer/platform/wtf/cross_thread_functional.h"
@@ -63,7 +65,11 @@ void WorkerAnimationFrameProvider::BeginFrame(const viz::BeginFrameArgs& args) {
}
}
- double time = (args.frame_time - base::TimeTicks()).InMillisecondsF();
+ auto* global_scope = DynamicTo<WorkerGlobalScope>(provider->context_.Get());
+ DCHECK(global_scope);
+ double time = Performance::ClampTimeResolution(
+ args.frame_time - global_scope->TimeOrigin(),
+ provider->context_->CrossOriginIsolatedCapability());
provider->callback_collection_.ExecuteFrameCallbacks(time, time);
}
provider->begin_frame_provider_->FinishBeginFrame(args);
--
2.25.1
+35 -89
View File
@@ -3,38 +3,24 @@ Date: Thu, 22 Jul 2021 23:10:52 +0200
Subject: Client hints overrides Subject: Client hints overrides
Disable critical client hints Disable critical client hints
Hard-code model to SAMSUNG SM-G960U Use Google Chrome branding for client hints
use Google Chrome branding for client hints
--- License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/prefs/browser_prefs.cc | 2 +- ---
components/embedder_support/user_agent_utils.cc | 4 +--- components/embedder_support/user_agent_utils.cc | 4 +---
content/browser/client_hints/client_hints.cc | 3 ++- content/browser/client_hints/client_hints.cc | 3 ++-
content/browser/loader/navigation_url_loader_impl.cc | 5 +++++ content/browser/loader/navigation_url_loader_impl.cc | 5 +++++
content/common/user_agent.cc | 9 +-------- content/public/common/content_features.cc | 4 ++--
content/public/common/content_features.cc | 2 +- services/network/public/cpp/client_hints.cc | 1 +
services/network/public/cpp/client_hints.cc | 1 + services/network/public/cpp/features.cc | 2 +-
services/network/public/cpp/features.cc | 4 ++-- third_party/blink/common/client_hints/client_hints.cc | 1 +
third_party/blink/common/client_hints/client_hints.cc | 1 + .../blink/common/client_hints/enabled_client_hints.cc | 4 +++-
.../blink/common/client_hints/enabled_client_hints.cc | 4 +++- 8 files changed, 16 insertions(+), 8 deletions(-)
third_party/blink/common/features.cc | 4 ++--
11 files changed, 20 insertions(+), 19 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
@@ -765,7 +765,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 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 --- a/components/embedder_support/user_agent_utils.cc
+++ b/components/embedder_support/user_agent_utils.cc +++ b/components/embedder_support/user_agent_utils.cc
@@ -226,9 +226,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList( @@ -265,9 +265,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList(
bool parse_result = base::StringToInt(major_version, &major_version_number); bool parse_result = base::StringToInt(major_version, &major_version_number);
DCHECK(parse_result); DCHECK(parse_result);
absl::optional<std::string> brand; absl::optional<std::string> brand;
@@ -48,8 +34,8 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/client_hints/client_hints.cc 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 --- a/content/browser/client_hints/client_hints.cc
+++ b/content/browser/client_hints/client_hints.cc +++ b/content/browser/client_hints/client_hints.cc
@@ -433,7 +433,8 @@ void AddPrefersColorSchemeHeader(net::HttpRequestHeaders* headers, @@ -478,7 +478,8 @@ void AddPrefersReducedMotionHeader(net::HttpRequestHeaders* headers,
is_dark_mode ? "dark" : "light"); : network::kPrefersReducedMotionNoPreference);
} }
-bool IsValidURLForClientHints(const url::Origin& origin) { -bool IsValidURLForClientHints(const url::Origin& origin) {
@@ -61,7 +47,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie
diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/browser/loader/navigation_url_loader_impl.cc diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/browser/loader/navigation_url_loader_impl.cc
--- a/content/browser/loader/navigation_url_loader_impl.cc --- a/content/browser/loader/navigation_url_loader_impl.cc
+++ b/content/browser/loader/navigation_url_loader_impl.cc +++ b/content/browser/loader/navigation_url_loader_impl.cc
@@ -988,6 +988,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived( @@ -1024,6 +1024,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
return; return;
} }
@@ -73,41 +59,24 @@ diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/brow
LogAcceptCHFrameStatus(AcceptCHFrameRestart::kFramePresent); LogAcceptCHFrameStatus(AcceptCHFrameRestart::kFramePresent);
// Given that this is happening in the middle of navigation, there should // Given that this is happening in the middle of navigation, there should
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
@@ -300,14 +300,7 @@ std::string BuildUserAgentFromProduct(const std::string& product) {
}
std::string BuildModelInfo() {
- 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
- 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 diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc --- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc +++ b/content/public/common/content_features.cc
@@ -240,7 +240,7 @@ const base::Feature kCrashReporting{"CrashReporting", @@ -257,8 +257,8 @@ BASE_FEATURE(kCrashReporting,
// Enables support for the `Critical-CH` response header. // Enables support for the `Critical-CH` response header.
// https://github.com/WICG/client-hints-infrastructure/blob/master/reliability.md#critical-ch // https://github.com/WICG/client-hints-infrastructure/blob/master/reliability.md#critical-ch
const base::Feature kCriticalClientHint{"CriticalClientHint", BASE_FEATURE(kCriticalClientHint,
- base::FEATURE_ENABLED_BY_DEFAULT}; - "CriticalClientHint",
+ base::FEATURE_DISABLED_BY_DEFAULT}; - base::FEATURE_ENABLED_BY_DEFAULT);
+ "CriticalClientHint", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Enable debugging the issue crbug.com/1201355 // Enable debugging the issue crbug.com/1201355
const base::Feature kDebugHistoryInterventionNoUserActivation{ BASE_FEATURE(kDebugHistoryInterventionNoUserActivation,
diff --git a/services/network/public/cpp/client_hints.cc b/services/network/public/cpp/client_hints.cc 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 --- a/services/network/public/cpp/client_hints.cc
+++ b/services/network/public/cpp/client_hints.cc +++ b/services/network/public/cpp/client_hints.cc
@@ -98,6 +98,7 @@ const DecodeMap& GetDecodeMap() { @@ -113,6 +113,7 @@ const DecodeMap& GetDecodeMap() {
absl::optional<std::vector<network::mojom::WebClientHintsType>> absl::optional<std::vector<network::mojom::WebClientHintsType>>
ParseClientHintsHeader(const std::string& header) { ParseClientHintsHeader(const std::string& header) {
@@ -118,22 +87,20 @@ diff --git a/services/network/public/cpp/client_hints.cc b/services/network/publ
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc --- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc +++ b/services/network/public/cpp/features.cc
@@ -184,8 +184,8 @@ const base::Feature kWebSocketReassembleShortMessages{ @@ -198,7 +198,7 @@ BASE_FEATURE(kWebSocketReassembleShortMessages,
// Enable support for ACCEPT_CH H2/3 frame as part of Client Hint Reliability. // Enable support for ACCEPT_CH H2/3 frame as part of Client Hint Reliability.
// See: // See:
// https://tools.ietf.org/html/draft-davidben-http-client-hint-reliability-02#section-4.3 // https://tools.ietf.org/html/draft-davidben-http-client-hint-reliability-02#section-4.3
-const base::Feature kAcceptCHFrame{"AcceptCHFrame", -BASE_FEATURE(kAcceptCHFrame, "AcceptCHFrame", base::FEATURE_ENABLED_BY_DEFAULT);
- base::FEATURE_ENABLED_BY_DEFAULT}; +BASE_FEATURE(kAcceptCHFrame, "AcceptCHFrame", base::FEATURE_DISABLED_BY_DEFAULT); // disabled by default in Bromite
+const base::Feature kAcceptCHFrame{"AcceptCHFrame", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
const base::Feature kSCTAuditingRetryReports{"SCTAuditingRetryReports", BASE_FEATURE(kSCTAuditingRetryReports,
base::FEATURE_ENABLED_BY_DEFAULT}; "SCTAuditingRetryReports",
diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party/blink/common/client_hints/client_hints.cc 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 --- a/third_party/blink/common/client_hints/client_hints.cc
+++ b/third_party/blink/common/client_hints/client_hints.cc +++ b/third_party/blink/common/client_hints/client_hints.cc
@@ -118,6 +118,7 @@ const size_t kWebEffectiveConnectionTypeMappingCount = @@ -105,6 +105,7 @@ const PolicyFeatureToClientHintMap& GetPolicyFeatureToClientHintMap() {
std::size(kWebEffectiveConnectionTypeMapping); }
bool IsClientHintSentByDefault(network::mojom::WebClientHintsType type) { bool IsClientHintSentByDefault(network::mojom::WebClientHintsType type) {
+ if ((true)) return false; + if ((true)) return false;
@@ -143,7 +110,7 @@ diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party
diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/third_party/blink/common/client_hints/enabled_client_hints.cc 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 --- a/third_party/blink/common/client_hints/enabled_client_hints.cc
+++ b/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 { @@ -21,6 +21,7 @@ namespace {
using ::network::mojom::WebClientHintsType; using ::network::mojom::WebClientHintsType;
bool IsDisabledByFeature(const WebClientHintsType type) { bool IsDisabledByFeature(const WebClientHintsType type) {
@@ -151,7 +118,7 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi
switch (type) { switch (type) {
case WebClientHintsType::kUA: case WebClientHintsType::kUA:
case WebClientHintsType::kUAArch: case WebClientHintsType::kUAArch:
@@ -136,7 +137,7 @@ bool IsOriginTrialEnabled(const GURL& url, @@ -138,7 +139,7 @@ bool IsOriginTrialEnabled(const GURL& url,
} // namespace } // namespace
bool EnabledClientHints::IsEnabled(const WebClientHintsType type) const { bool EnabledClientHints::IsEnabled(const WebClientHintsType type) const {
@@ -160,7 +127,7 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi
} }
void EnabledClientHints::SetIsEnabled(const WebClientHintsType type, void EnabledClientHints::SetIsEnabled(const WebClientHintsType type,
@@ -169,6 +170,7 @@ void EnabledClientHints::SetIsEnabled( @@ -167,6 +168,7 @@ void EnabledClientHints::SetIsEnabled(
std::vector<WebClientHintsType> EnabledClientHints::GetEnabledHints() const { std::vector<WebClientHintsType> EnabledClientHints::GetEnabledHints() const {
std::vector<WebClientHintsType> hints; std::vector<WebClientHintsType> hints;
@@ -168,26 +135,5 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi
for (const auto& elem : network::GetClientHintToNameMap()) { for (const auto& elem : network::GetClientHintToNameMap()) {
const auto& type = elem.first; const auto& type = elem.first;
if (IsEnabled(type)) 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
@@ -156,7 +156,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{
@@ -767,7 +767,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 2.25.1
@@ -6,13 +6,16 @@ This patch is used by other patches to provide the UI for Bromite-specific
site settings. site settings.
See BromiteCustomContentSetting_README.md for more information. See BromiteCustomContentSetting_README.md for more information.
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../browser_ui/site_settings/android/BUILD.gn | 4 + .../browser_ui/site_settings/android/BUILD.gn | 4 +
.../BromiteCustomContentSetting.java | 125 ++++++++ .../BromiteCustomContentSetting.java | 125 ++++++++
.../BromiteCustomContentSettingImpl.java | 269 ++++++++++++++++++ .../BromiteCustomContentSettingImpl.java | 270 ++++++++++++++++++
.../BromiteCustomContentSetting_README.md | 151 ++++++++++ .../BromiteCustomContentSetting_README.md | 151 ++++++++++
.../ContentSettingsResources.java | 13 +- .../ContentSettingsResources.java | 13 +-
.../site_settings/SingleCategorySettings.java | 28 +- .../site_settings/SingleCategorySettings.java | 30 +-
.../site_settings/SingleWebsiteSettings.java | 24 +- .../site_settings/SingleWebsiteSettings.java | 24 +-
.../site_settings/SiteSettings.java | 3 +- .../site_settings/SiteSettings.java | 3 +-
.../site_settings/SiteSettingsCategory.java | 9 +- .../site_settings/SiteSettingsCategory.java | 9 +-
@@ -30,7 +33,7 @@ See BromiteCustomContentSetting_README.md for more information.
.../android/page_info_controller_android.cc | 18 ++ .../android/page_info_controller_android.cc | 18 ++
components/page_info/page_info.cc | 23 +- components/page_info/page_info.cc | 23 +-
components/page_info/page_info_ui.cc | 18 ++ components/page_info/page_info_ui.cc | 18 ++
23 files changed, 730 insertions(+), 28 deletions(-) 23 files changed, 733 insertions(+), 28 deletions(-)
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting_README.md create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting_README.md
@@ -38,8 +41,8 @@ See BromiteCustomContentSetting_README.md for more information.
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn 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 --- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn +++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -68,6 +68,10 @@ android_library("java") { @@ -88,6 +88,10 @@ android_library("java") {
"java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java", "java/src/org/chromium/components/browser_ui/site_settings/WebsiteRowPreference.java",
"java/src/org/chromium/components/browser_ui/site_settings/TimezoneOverrideSiteSettingsPreference.java" "java/src/org/chromium/components/browser_ui/site_settings/TimezoneOverrideSiteSettingsPreference.java"
] ]
+ sources += [ + sources += [
@@ -183,7 +186,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/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
@@ -0,0 +1,269 @@ @@ -0,0 +1,270 @@
+/* +/*
+ This file is part of Bromite. + This file is part of Bromite.
+ +
@@ -304,7 +307,7 @@ new file mode 100644
+ BrowserContextHandle browserContextHandle, + BrowserContextHandle browserContextHandle,
+ Preference preference, Object newValue) { + Preference preference, Object newValue) {
+ for (BromiteCustomContentSetting cs : mItemList) { + for (BromiteCustomContentSetting cs : mItemList) {
+ if (!category.showSites(cs.getSiteSettingsCategory())) { + if (category.getType() != cs.getSiteSettingsCategory()) {
+ continue; + continue;
+ } + }
+ +
@@ -337,7 +340,7 @@ new file mode 100644
+ +
+ public static @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSettingValues int value) { + public static @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSettingValues int value) {
+ for (BromiteCustomContentSetting cs : mItemList) { + for (BromiteCustomContentSetting cs : mItemList) {
+ if (category.showSites(cs.getSiteSettingsCategory())) { + if (category.getType() == cs.getSiteSettingsCategory()) {
+ return cs.considerException(category, value); + return cs.considerException(category, value);
+ } + }
+ } + }
@@ -346,7 +349,7 @@ new file mode 100644
+ +
+ public static int getAddExceptionDialogMessage(SiteSettingsCategory category) { + public static int getAddExceptionDialogMessage(SiteSettingsCategory category) {
+ for (BromiteCustomContentSetting cs : mItemList) { + for (BromiteCustomContentSetting cs : mItemList) {
+ if (category.showSites(cs.getSiteSettingsCategory())) { + if (category.getType() == cs.getSiteSettingsCategory()) {
+ return cs.getAddExceptionDialogMessage(); + return cs.getAddExceptionDialogMessage();
+ } + }
+ } + }
@@ -355,7 +358,7 @@ new file mode 100644
+ +
+ public static @Nullable Boolean allowSpecifyingExceptions(SiteSettingsCategory category) { + public static @Nullable Boolean allowSpecifyingExceptions(SiteSettingsCategory category) {
+ for (BromiteCustomContentSetting cs : mItemList) { + for (BromiteCustomContentSetting cs : mItemList) {
+ if (category.showSites(cs.getSiteSettingsCategory())) { + if (category.getType() == cs.getSiteSettingsCategory()) {
+ return cs.isExceptionAllowed(); + return cs.isExceptionAllowed();
+ } + }
+ } + }
@@ -402,7 +405,8 @@ new file mode 100644
+ ContentSettingException exception = cs.createCustomException(type, value, websiteAddress); + ContentSettingException exception = cs.createCustomException(type, value, websiteAddress);
+ if (exception == null) { + if (exception == null) {
+ exception = new ContentSettingException( + exception = new ContentSettingException(
+ cs.getContentSetting(), websiteAddress.getHost(), value, ""); + cs.getContentSetting(), websiteAddress.getHost(), value, "",
+ /*isEmbargoed=*/false);
+ } + }
+ return exception; + return exception;
+ } + }
@@ -651,7 +655,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
} }
/** /**
@@ -564,6 +567,8 @@ public class ContentSettingsResources { @@ -570,6 +573,8 @@ public class ContentSettingsResources {
* Blocked states, in that order. * Blocked states, in that order.
*/ */
public static int[] getTriStateSettingDescriptionIDs(int contentType) { public static int[] getTriStateSettingDescriptionIDs(int contentType) {
@@ -663,24 +667,26 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
@@ -227,6 +227,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment @@ -247,6 +247,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
else @ContentSettingValues
return ContentSettingValues.BLOCK == contentSetting; Integer contentSetting = website.site().getContentSetting(
} browserContextHandle, mCategory.getContentSettingsType());
+ if (BromiteCustomContentSettingImpl.processOnBlockList(contentSetting, contentSetting)) + if (contentSetting != null &&
+ return BromiteCustomContentSettingImpl.isOnBlockList(contentSetting, website, contentSetting); + BromiteCustomContentSettingImpl.processOnBlockList(contentSetting, contentSetting)) {
} + return BromiteCustomContentSettingImpl.isOnBlockList(contentSetting, website, contentSetting);
return false; + }
} if (contentSetting != null) {
@@ -376,6 +378,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment if (mCategory.getContentSettingsType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
return ContentSettingValues.ALLOW != contentSetting;
@@ -402,6 +406,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS)) ? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS))
: null; : null;
+ BromiteCustomContentSettingImpl.onActivityCreated(this); + BromiteCustomContentSettingImpl.onActivityCreated(this);
configureGlobalToggles(); configureGlobalToggles();
if (mCategory.getType() == SiteSettingsCategory.Type.REQUEST_DESKTOP_SITE) {
setHasOptionsMenu(true); RecordUserAction.record("DesktopSiteContentSetting.SettingsPage.Entered");
@@ -475,6 +478,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment @@ -509,6 +514,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
BrowserContextHandle browserContextHandle = BrowserContextHandle browserContextHandle =
getSiteSettingsDelegate().getBrowserContextHandle(); getSiteSettingsDelegate().getBrowserContextHandle();
PrefService prefService = UserPrefs.get(browserContextHandle); PrefService prefService = UserPrefs.get(browserContextHandle);
@@ -692,8 +698,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (BINARY_TOGGLE_KEY.equals(preference.getKey())) { if (BINARY_TOGGLE_KEY.equals(preference.getKey())) {
assert !mCategory.isManaged(); assert !mCategory.isManaged();
@@ -620,6 +628,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment @@ -673,6 +683,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
} else if (mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE)) { } else if (mCategory.getType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
resource = R.string.website_settings_category_timezone_override_allowed; resource = R.string.website_settings_category_timezone_override_allowed;
} }
+ if (resource == 0) + if (resource == 0)
@@ -701,9 +707,9 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
assert resource > 0; assert resource > 0;
return getString(resource); return getString(resource);
} }
@@ -730,6 +740,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment @@ -791,6 +803,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
allowSpecifyingExceptions = true; allowSpecifyingExceptions = true;
} else if (mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE)) { } else if (mCategory.getType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
allowSpecifyingExceptions = true; allowSpecifyingExceptions = true;
+ } else { + } else {
+ Boolean allow = BromiteCustomContentSettingImpl.allowSpecifyingExceptions(mCategory); + Boolean allow = BromiteCustomContentSettingImpl.allowSpecifyingExceptions(mCategory);
@@ -711,7 +717,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
} }
if (allowSpecifyingExceptions) { if (allowSpecifyingExceptions) {
getPreferenceScreen().addPreference(new AddExceptionPreference(getStyledContext(), getPreferenceScreen().addPreference(new AddExceptionPreference(getStyledContext(),
@@ -901,6 +914,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment @@ -962,6 +977,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
TriStateSiteSettingsPreference triStateToggle = TriStateSiteSettingsPreference triStateToggle =
(TriStateSiteSettingsPreference) getPreferenceScreen().findPreference( (TriStateSiteSettingsPreference) getPreferenceScreen().findPreference(
TRI_STATE_TOGGLE_KEY); TRI_STATE_TOGGLE_KEY);
@@ -722,15 +728,15 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (triStateToggle != null) if (triStateToggle != null)
return (triStateToggle.getCheckedSetting() == ContentSettingValues.BLOCK); return (triStateToggle.getCheckedSetting() == ContentSettingValues.BLOCK);
@@ -977,6 +994,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment @@ -1040,6 +1059,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
if (!(mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE))) { if (mCategory.getType() != SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
screen.removePreference(screen.findPreference(TIMEOVERRIDE_INFO_TEXT)); screen.removePreference(screen.findPreference(TIMEOVERRIDE_INFO_TEXT));
} }
+ BromiteCustomContentSettingImpl.configureGlobalToggles(mCategory, screen); + BromiteCustomContentSettingImpl.configureGlobalToggles(mCategory, screen);
if (permissionBlockedByOs) { if (permissionBlockedByOs) {
maybeShowOsWarning(screen); maybeShowOsWarning(screen);
@@ -1089,7 +1107,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment @@ -1171,7 +1191,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
getSiteSettingsDelegate().getBrowserContextHandle(), contentType); getSiteSettingsDelegate().getBrowserContextHandle(), contentType);
int[] descriptionIds = int[] descriptionIds =
ContentSettingsResources.getTriStateSettingDescriptionIDs(contentType); ContentSettingsResources.getTriStateSettingDescriptionIDs(contentType);
@@ -739,7 +745,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
} }
private void configureTimeOverrideStateToggle( private void configureTimeOverrideStateToggle(
@@ -1182,6 +1200,14 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment @@ -1282,6 +1302,14 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@ContentSettingValues @ContentSettingValues
Integer value = site.getContentSetting(browserContextHandle, contentSettingsType); Integer value = site.getContentSetting(browserContextHandle, contentSettingsType);
@@ -752,12 +758,12 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
+ } + }
+ +
CharSequence[] descriptions = new String[2]; CharSequence[] descriptions = new String[2];
descriptions[0] = descriptions[0] = getString(ContentSettingsResources.getSiteSummary(
getString(ContentSettingsResources.getSiteSummary(contentSettingsType, ContentSettingValues.ALLOW, contentSettingsType));
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
@@ -41,6 +41,7 @@ import org.chromium.content_public.browser.BrowserContextHandle; @@ -42,6 +42,7 @@ import org.chromium.content_public.browser.ContentFeatureList;
import java.util.Collection; import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@@ -765,7 +771,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
/** /**
* Shows the permissions and other settings for a particular website. * Shows the permissions and other settings for a particular website.
@@ -166,7 +167,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment @@ -171,7 +172,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
case ContentSettingsType.CLIPBOARD_READ_WRITE: case ContentSettingsType.CLIPBOARD_READ_WRITE:
return "clipboard_permission_list"; return "clipboard_permission_list";
default: default:
@@ -774,7 +780,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
} }
} }
@@ -491,7 +492,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment @@ -504,7 +505,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private void setupContentSettingsPreferences() { private void setupContentSettingsPreferences() {
mMaxPermissionOrder = findPreference(PREF_PERMISSIONS_HEADER).getOrder(); mMaxPermissionOrder = findPreference(PREF_PERMISSIONS_HEADER).getOrder();
@@ -784,7 +790,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
Preference preference = new ChromeSwitchPreference(getStyledContext()); Preference preference = new ChromeSwitchPreference(getStyledContext());
preference.setKey(getPreferenceKey(type)); preference.setKey(getPreferenceKey(type));
@@ -901,16 +903,22 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment @@ -952,16 +954,22 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private void setupContentSettingsPreference(Preference preference, private void setupContentSettingsPreference(Preference preference,
@ContentSettingValues @Nullable Integer value, boolean isEmbargoed) { @ContentSettingValues @Nullable Integer value, boolean isEmbargoed) {
@@ -812,7 +818,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
switchPreference.setOnPreferenceChangeListener(this); switchPreference.setOnPreferenceChangeListener(this);
@ContentSettingsType @ContentSettingsType
int contentType = getContentSettingsTypeFromPreferenceKey(preference.getKey()); int contentType = getContentSettingsTypeFromPreferenceKey(preference.getKey());
@@ -1159,7 +1167,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment @@ -1213,7 +1221,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
} }
mSite.setContentSetting(browserContextHandle, type, permission); mSite.setContentSetting(browserContextHandle, type, permission);
@@ -923,8 +929,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
@@ -259,6 +259,10 @@ public final class Website implements Serializable { @@ -277,6 +277,10 @@ public final class Website implements WebsiteEntry {
ContentSettingsType.TIMEZONE_OVERRIDE, getAddress().getHost(), value, ""); /*isEmbargoed=*/false);
setContentSettingException(type, exception); setContentSettingException(type, exception);
} }
+ } else if (exception == null) { + } else if (exception == null) {
@@ -937,7 +943,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
@@ -89,7 +89,7 @@ public class WebsitePermissionsFetcher { @@ -92,7 +92,7 @@ public class WebsitePermissionsFetcher {
case ContentSettingsType.USB_GUARD: case ContentSettingsType.USB_GUARD:
return WebsitePermissionsType.CHOSEN_OBJECT_INFO; return WebsitePermissionsType.CHOSEN_OBJECT_INFO;
default: default:
@@ -949,7 +955,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java --- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java +++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
@@ -226,7 +226,7 @@ public class WebsitePreferenceBridge { @@ -246,7 +246,7 @@ public class WebsitePreferenceBridge {
case ContentSettingsType.TIMEZONE_OVERRIDE: case ContentSettingsType.TIMEZONE_OVERRIDE:
return true; return true;
default: default:
@@ -970,7 +976,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
#include "media/base/android/media_drm_bridge.h" #include "media/base/android/media_drm_bridge.h"
@@ -688,7 +690,10 @@ void ContentSettingsRegistry::Register( @@ -644,7 +646,10 @@ void ContentSettingsRegistry::Register(
Platforms platforms, Platforms platforms,
ContentSettingsInfo::IncognitoBehavior incognito_behavior, ContentSettingsInfo::IncognitoBehavior incognito_behavior,
ContentSettingsInfo::StorageBehavior storage_behavior, ContentSettingsInfo::StorageBehavior storage_behavior,
@@ -982,7 +988,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
// Ensure that nothing has been registered yet for the given type. // Ensure that nothing has been registered yet for the given type.
DCHECK(!website_settings_registry_->Get(type)); DCHECK(!website_settings_registry_->Get(type));
@@ -697,7 +702,9 @@ void ContentSettingsRegistry::Register( @@ -653,7 +658,9 @@ void ContentSettingsRegistry::Register(
website_settings_registry_->Register( website_settings_registry_->Register(
type, name, std::move(default_value), sync_status, type, name, std::move(default_value), sync_status,
WebsiteSettingsInfo::NOT_LOSSY, scoping_type, platforms, WebsiteSettingsInfo::NOT_LOSSY, scoping_type, platforms,
@@ -1038,7 +1044,7 @@ diff --git a/components/content_settings/core/browser/website_settings_info.cc b
diff --git a/components/content_settings/core/browser/website_settings_info.h b/components/content_settings/core/browser/website_settings_info.h diff --git a/components/content_settings/core/browser/website_settings_info.h b/components/content_settings/core/browser/website_settings_info.h
--- a/components/content_settings/core/browser/website_settings_info.h --- a/components/content_settings/core/browser/website_settings_info.h
+++ b/components/content_settings/core/browser/website_settings_info.h +++ b/components/content_settings/core/browser/website_settings_info.h
@@ -69,7 +69,10 @@ class WebsiteSettingsInfo { @@ -88,7 +88,10 @@ class WebsiteSettingsInfo {
SyncStatus sync_status, SyncStatus sync_status,
LossyStatus lossy_status, LossyStatus lossy_status,
ScopingType scoping_type, ScopingType scoping_type,
@@ -1050,7 +1056,7 @@ diff --git a/components/content_settings/core/browser/website_settings_info.h b/
WebsiteSettingsInfo(const WebsiteSettingsInfo&) = delete; WebsiteSettingsInfo(const WebsiteSettingsInfo&) = delete;
WebsiteSettingsInfo& operator=(const WebsiteSettingsInfo&) = delete; WebsiteSettingsInfo& operator=(const WebsiteSettingsInfo&) = delete;
@@ -94,6 +97,10 @@ class WebsiteSettingsInfo { @@ -113,6 +116,10 @@ class WebsiteSettingsInfo {
ScopingType scoping_type() const { return scoping_type_; } ScopingType scoping_type() const { return scoping_type_; }
IncognitoBehavior incognito_behavior() const { return incognito_behavior_; } IncognitoBehavior incognito_behavior() const { return incognito_behavior_; }
@@ -1061,7 +1067,7 @@ diff --git a/components/content_settings/core/browser/website_settings_info.h b/
private: private:
const ContentSettingsType type_; const ContentSettingsType type_;
const std::string name_; const std::string name_;
@@ -105,6 +112,9 @@ class WebsiteSettingsInfo { @@ -124,6 +131,9 @@ class WebsiteSettingsInfo {
const LossyStatus lossy_status_; const LossyStatus lossy_status_;
const ScopingType scoping_type_; const ScopingType scoping_type_;
const IncognitoBehavior incognito_behavior_; const IncognitoBehavior incognito_behavior_;
@@ -1114,7 +1120,7 @@ diff --git a/components/content_settings/core/browser/website_settings_registry.
diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java b/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java b/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java
--- a/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java --- a/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java
+++ b/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java +++ b/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java
@@ -109,6 +109,7 @@ public class PermissionParamsListBuilder { @@ -104,6 +104,7 @@ public class PermissionParamsListBuilder {
permissionParams.allowed = true; permissionParams.allowed = true;
break; break;
case ContentSettingValues.BLOCK: case ContentSettingValues.BLOCK:
@@ -1133,9 +1139,9 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
#include "components/content_settings/core/common/content_settings.h" #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_types.h"
#include "components/page_info/android/jni_headers/PageInfoController_jni.h" #include "components/page_info/android/jni_headers/PageInfoController_jni.h"
@@ -156,6 +157,14 @@ void PageInfoControllerAndroid::SetPermissionInfo( @@ -160,6 +161,14 @@ void PageInfoControllerAndroid::SetPermissionInfo(
permissions_to_display.push_back(ContentSettingsType::VR); ContentSettingsType::FEDERATED_IDENTITY_API);
permissions_to_display.push_back(ContentSettingsType::AR); }
+ content_settings::WebsiteSettingsRegistry* website_settings = + content_settings::WebsiteSettingsRegistry* website_settings =
+ content_settings::WebsiteSettingsRegistry::GetInstance(); + content_settings::WebsiteSettingsRegistry::GetInstance();
@@ -1147,8 +1153,8 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
+ +
std::map<ContentSettingsType, ContentSetting> std::map<ContentSettingsType, ContentSetting>
user_specified_settings_to_display; user_specified_settings_to_display;
std::map<ContentSettingsType, bool>
@@ -238,6 +247,15 @@ absl::optional<ContentSetting> PageInfoControllerAndroid::GetSettingToDisplay( @@ -236,6 +245,15 @@ absl::optional<ContentSetting> PageInfoControllerAndroid::GetSettingToDisplay(
// The images content setting should show up if it is blocked globally // The images content setting should show up if it is blocked globally
// to give users an easy way to create exceptions. // to give users an easy way to create exceptions.
return permission.default_setting; return permission.default_setting;
@@ -1172,10 +1178,10 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
#include "components/browsing_data/content/local_storage_helper.h" #include "components/browsing_data/content/local_storage_helper.h"
#include "components/content_settings/browser/page_specific_content_settings.h" #include "components/content_settings/browser/page_specific_content_settings.h"
+#include "components/content_settings/core/browser/website_settings_registry.h" +#include "components/content_settings/core/browser/website_settings_registry.h"
#include "components/content_settings/browser/ui/cookie_controls_controller.h"
#include "components/content_settings/core/browser/content_settings_registry.h" #include "components/content_settings/core/browser/content_settings_registry.h"
#include "components/content_settings/core/browser/content_settings_utils.h" #include "components/content_settings/core/browser/content_settings_utils.h"
#include "components/content_settings/core/browser/host_content_settings_map.h" @@ -167,6 +168,15 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info,
@@ -164,6 +165,15 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info,
return true; return true;
} }
@@ -1191,7 +1197,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
const bool is_incognito = web_contents->GetBrowserContext()->IsOffTheRecord(); const bool is_incognito = web_contents->GetBrowserContext()->IsOffTheRecord();
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
// Special geolocation DSE settings apply only on Android, so make sure it // Special geolocation DSE settings apply only on Android, so make sure it
@@ -964,7 +974,18 @@ void PageInfo::PresentSitePermissions() { @@ -1150,7 +1160,18 @@ void PageInfo::PresentSitePermissions() {
PermissionInfo permission_info; PermissionInfo permission_info;
HostContentSettingsMap* content_settings = GetContentSettings(); HostContentSettingsMap* content_settings = GetContentSettings();
DCHECK(web_contents_); DCHECK(web_contents_);
@@ -1222,7 +1228,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
#include "components/omnibox/common/omnibox_features.h" #include "components/omnibox/common/omnibox_features.h"
#include "components/page_info/core/features.h" #include "components/page_info/core/features.h"
#include "components/page_info/page_info_ui_delegate.h" #include "components/page_info/page_info_ui_delegate.h"
@@ -559,6 +560,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) { @@ -577,6 +578,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
if (info.type == type) if (info.type == type)
return l10n_util::GetStringUTF16(info.string_id); return l10n_util::GetStringUTF16(info.string_id);
} }
@@ -1235,7 +1241,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
NOTREACHED(); NOTREACHED();
return std::u16string(); return std::u16string();
} }
@@ -570,6 +577,12 @@ std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence( @@ -588,6 +595,12 @@ std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence(
if (info.type == type) if (info.type == type)
return l10n_util::GetStringUTF16(info.string_id_mid_sentence); return l10n_util::GetStringUTF16(info.string_id_mid_sentence);
} }
@@ -1248,7 +1254,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
NOTREACHED(); NOTREACHED();
return std::u16string(); return std::u16string();
} }
@@ -970,6 +983,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) { @@ -975,6 +988,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
if (info.type == type) if (info.type == type)
return true; return true;
} }
@@ -5,6 +5,9 @@ Subject: Dictionary suggestions for the Omnibox
Revert "Disable Dictionary suggestions for the Omnibox" Revert "Disable Dictionary suggestions for the Omnibox"
This reverts commit d3ec2b2d25066ec089f8351a44b919ded4270e83. This reverts commit d3ec2b2d25066ec089f8351a44b919ded4270e83.
Original License: BSD-3-Clause - https://spdx.org/licenses/BSD-3-Clause.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/android/java/res/layout/url_bar.xml | 1 + chrome/android/java/res/layout/url_bar.xml | 1 +
.../chrome/browser/omnibox/UrlBar.java | 931 ++++++++++++++++++ .../chrome/browser/omnibox/UrlBar.java | 931 ++++++++++++++++++
@@ -15,7 +18,7 @@ This reverts commit d3ec2b2d25066ec089f8351a44b919ded4270e83.
diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/res/layout/url_bar.xml diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/res/layout/url_bar.xml
--- a/chrome/android/java/res/layout/url_bar.xml --- a/chrome/android/java/res/layout/url_bar.xml
+++ b/chrome/android/java/res/layout/url_bar.xml +++ b/chrome/android/java/res/layout/url_bar.xml
@@ -13,5 +13,6 @@ @@ -15,5 +15,6 @@ found in the LICENSE file.
android:singleLine="true" android:singleLine="true"
android:imeOptions="actionGo|flagNoExtractUi|flagNoFullscreen" android:imeOptions="actionGo|flagNoExtractUi|flagNoFullscreen"
android:textSize="@dimen/location_bar_url_text_size" android:textSize="@dimen/location_bar_url_text_size"
@@ -961,10 +964,10 @@ new file mode 100644
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java --- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java +++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
@@ -207,8 +207,7 @@ public abstract class UrlBar extends AutocompleteEditText { @@ -223,8 +223,7 @@ public abstract class UrlBar extends AutocompleteEditText {
// the first draw. setFocusableInTouchMode(mAllowFocus);
setFocusable(false); });
setFocusableInTouchMode(false);
- setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI - setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI
- | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); - | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
+ setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI); + setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI);
+293 -22
View File
@@ -2,34 +2,305 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 26 Sep 2021 11:17:53 +0200 Date: Sun, 26 Sep 2021 11:17:53 +0200
Subject: Disable AGSA by default Subject: Disable AGSA by default
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/browser/flags/android/chrome_feature_list.cc | 2 +- chrome/android/BUILD.gn | 3 ---
.../org/chromium/chrome/browser/flags/CachedFeatureFlags.java | 2 +- .../org/chromium/chrome/browser/AppHooks.java | 1 -
2 files changed, 2 insertions(+), 2 deletions(-) .../chrome/browser/IntentHandler.java | 5 ----
.../chrome/browser/app/ChromeActivity.java | 27 -------------------
.../ChromeContextMenuPopulator.java | 7 -----
...stomTabActivityClientConnectionKeeper.java | 9 -------
.../init/ProcessInitializationHandler.java | 8 ------
.../browser/ntp/search/SearchBoxMediator.java | 1 -
.../chrome/browser/share/LensUtils.java | 12 +--------
.../flags/android/chrome_feature_list.cc | 4 +--
chrome/browser/ui/android/omnibox/BUILD.gn | 2 --
.../browser/omnibox/LocationBarMediator.java | 1 -
12 files changed, 3 insertions(+), 77 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -420,7 +420,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/first_run/android:java",
"//chrome/browser/flags:java",
"//chrome/browser/fullscreen/android:java",
- "//chrome/browser/gsa:java",
"//chrome/browser/history_clusters:java",
"//chrome/browser/history_clusters:java_resources",
"//chrome/browser/image_descriptions:java",
@@ -1015,7 +1014,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/flags:flags_junit_tests",
"//chrome/browser/flags:java",
"//chrome/browser/fullscreen/android:java",
- "//chrome/browser/gsa:java",
"//chrome/browser/history_clusters:java",
"//chrome/browser/image_descriptions:java",
"//chrome/browser/image_editor/public:java",
@@ -1531,7 +1529,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/first_run/android:java",
"//chrome/browser/flags:java",
"//chrome/browser/fullscreen/android:java",
- "//chrome/browser/gsa:java",
"//chrome/browser/history_clusters:java",
"//chrome/browser/image_descriptions:javatests",
"//chrome/browser/incognito:incognito_java_tests",
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
@@ -17,7 +17,6 @@ import org.chromium.chrome.browser.directactions.DirectActionCoordinator;
import org.chromium.chrome.browser.feedback.FeedbackReporter;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncher;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
-import org.chromium.chrome.browser.gsa.GSAHelper;
import org.chromium.chrome.browser.historyreport.AppIndexingReporter;
import org.chromium.chrome.browser.init.ChromeStartupDelegate;
import org.chromium.chrome.browser.init.ProcessInitializationHandler;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
@@ -43,7 +43,6 @@ import org.chromium.chrome.browser.document.ChromeLauncherActivity;
import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler;
import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler.RequestMetadata;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
-import org.chromium.chrome.browser.gsa.GSAState;
import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator;
import org.chromium.chrome.browser.profiles.Profile;
@@ -267,8 +266,6 @@ public class IntentHandler {
private static int sReferrerId;
private static String sPendingIncognitoUrl;
- public static final String PACKAGE_GSA = GSAState.PACKAGE_NAME;
-
private static final String PACKAGE_GMAIL = "com.google.android.gm";
private static final String PACKAGE_PLUS = "com.google.android.apps.plus";
private static final String PACKAGE_HANGOUTS = "com.google.android.talk";
@@ -498,8 +495,6 @@ public class IntentHandler {
return ExternalAppId.LINE;
} else if (packageName.equals(PACKAGE_WHATSAPP)) {
return ExternalAppId.WHATSAPP;
- } else if (packageName.equals(PACKAGE_GSA)) {
- return ExternalAppId.GSA;
} else if (packageName.equals(ContextUtils.getApplicationContext().getPackageName())) {
return ExternalAppId.CHROME;
} else if (packageName.startsWith(WEBAPK_PACKAGE_PREFIX)) {
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
@@ -113,10 +113,6 @@ import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
import org.chromium.chrome.browser.fullscreen.BrowserControlsManagerSupplier;
import org.chromium.chrome.browser.fullscreen.FullscreenBackPressHandler;
import org.chromium.chrome.browser.fullscreen.FullscreenManager;
-import org.chromium.chrome.browser.gsa.ContextReporter;
-import org.chromium.chrome.browser.gsa.GSAAccountChangeListener;
-import org.chromium.chrome.browser.gsa.GSAContextDisplaySelection;
-import org.chromium.chrome.browser.gsa.GSAState;
import org.chromium.chrome.browser.history.HistoryManagerUtils;
import org.chromium.chrome.browser.init.AsyncInitializationActivity;
import org.chromium.chrome.browser.init.ProcessInitializationHandler;
@@ -377,8 +373,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
private LaunchCauseMetrics mLaunchCauseMetrics;
- private GSAAccountChangeListener mGSAAccountChangeListener;
-
// TODO(972867): Pull MenuOrKeyboardActionController out of ChromeActivity.
private List<MenuOrKeyboardActionController.MenuOrKeyboardActionHandler> mMenuActionHandlers =
new ArrayList<>();
@@ -1189,10 +1183,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@Override
public void onStopWithNative() {
- if (GSAState.getInstance(this).isGsaAvailable() && !SysUtils.isLowEndDevice()) {
- if (mGSAAccountChangeListener != null) mGSAAccountChangeListener.disconnect();
- }
-
super.onStopWithNative();
}
@@ -1284,23 +1274,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
.recordUserFontPrefOnStartup();
});
- // GSA connection is not needed on low-end devices because Icing is disabled.
- if (!SysUtils.isLowEndDevice()) {
- if (isActivityFinishingOrDestroyed()) return;
- DeferredStartupHandler.getInstance().addDeferredTask(() -> {
- if (!GSAState.getInstance(this).isGsaAvailable()) {
- ContextReporter.reportStatus(ContextReporter.STATUS_GSA_NOT_AVAILABLE);
- return;
- }
-
- if (mGSAAccountChangeListener == null) {
- mGSAAccountChangeListener =
- GSAAccountChangeListener.create(AppHooks.get().createGsaHelper());
- }
- mGSAAccountChangeListener.connect();
- });
- }
-
DeferredStartupHandler.getInstance().addDeferredTask(
() -> { MemoryPurgeManager.getInstance().start(); });
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
@@ -37,7 +37,6 @@ import org.chromium.chrome.browser.contextmenu.ContextMenuCoordinator.ListItemTy
import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
import org.chromium.chrome.browser.firstrun.FirstRunStatus;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
-import org.chromium.chrome.browser.gsa.GSAState;
import org.chromium.chrome.browser.lens.LensController;
import org.chromium.chrome.browser.lens.LensEntryPoint;
import org.chromium.chrome.browser.lens.LensIntentParams;
@@ -978,12 +977,6 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
LensMetrics.LensSupportStatus.ACTIVITY_NOT_ACCESSIBLE);
return false;
}
- if (GSAState.getInstance(mContext).isAgsaVersionBelowMinimum(
- versionName, LensUtils.getMinimumAgsaVersionForLensSupport())) {
- LensMetrics.recordLensSupportStatus(
- LENS_SUPPORT_STATUS_HISTOGRAM_NAME, LensMetrics.LensSupportStatus.OUT_OF_DATE);
- return false;
- }
if (LensUtils.isDeviceOsBelowMinimum()) {
LensMetrics.recordLensSupportStatus(
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityClientConnectionKeeper.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityClientConnectionKeeper.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityClientConnectionKeeper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityClientConnectionKeeper.java
@@ -11,7 +11,6 @@ import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.browser.browserservices.intents.BrowserServicesIntentDataProvider;
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvider;
import org.chromium.chrome.browser.dependency_injection.ActivityScope;
-import org.chromium.chrome.browser.gsa.GSAState;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.lifecycle.StartStopWithNativeObserver;
import org.chromium.chrome.browser.tab.Tab;
@@ -95,13 +94,5 @@ public class CustomTabActivityClientConnectionKeeper implements StartStopWithNat
}
}
assert status >= 0;
-
- if (GSAState.isGsaPackageName(packageName)) {
- RecordHistogram.recordEnumeratedHistogram("CustomTabs.ConnectionStatusOnReturn.GSA",
- status, ConnectionStatus.NUM_ENTRIES);
- } else {
- RecordHistogram.recordEnumeratedHistogram("CustomTabs.ConnectionStatusOnReturn.NonGSA",
- status, ConnectionStatus.NUM_ENTRIES);
- }
}
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
@@ -356,14 +356,6 @@ public class ProcessInitializationHandler {
}
});
- deferredStartupHandler.addDeferredTask(new Runnable() {
- @Override
- public void run() {
- // Starts syncing with GSA.
- AppHooks.get().createGsaHelper().startSync();
- }
- });
-
deferredStartupHandler.addDeferredTask(new Runnable() {
@Override
public void run() {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java
@@ -13,7 +13,6 @@ import android.view.ViewGroup;
import androidx.core.graphics.drawable.RoundedBitmapDrawable;
-import org.chromium.chrome.browser.gsa.GSAState;
import org.chromium.chrome.browser.lens.LensController;
import org.chromium.chrome.browser.lens.LensEntryPoint;
import org.chromium.chrome.browser.lens.LensIntentParams;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
@@ -10,7 +10,6 @@ import android.text.TextUtils;
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
-import org.chromium.chrome.browser.gsa.GSAState;
import org.chromium.chrome.browser.lens.LensController;
import org.chromium.components.externalauth.ExternalAuthUtils;
@@ -57,12 +56,7 @@ public class LensUtils {
if (context == null) {
return "";
}
- String agsaVersion = GSAState.getInstance(context).getAgsaVersionName();
- if (agsaVersion == null) {
return "";
- } else {
- return agsaVersion;
- }
}
}
@@ -114,11 +108,7 @@ public class LensUtils {
* @return Whether the package is valid.
*/
public static boolean isValidAgsaPackage(final ExternalAuthUtils externalAuthUtils) {
- if (sFakePassableLensEnvironmentForTesting) {
- return true;
- }
-
- return externalAuthUtils.isGoogleSigned(IntentHandler.PACKAGE_GSA);
+ return false;
}
/**
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc 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 --- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -636,7 +636,7 @@ const base::Feature kDynamicColorButtonsAndroid{ @@ -750,8 +750,8 @@ BASE_FEATURE(kDuetTabStripIntegrationAndroid,
"DynamicColorButtonsAndroid", base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kExperimentsForAgsa{"ExperimentsForAgsa", BASE_FEATURE(kExperimentsForAgsa,
- base::FEATURE_ENABLED_BY_DEFAULT}; - "ExperimentsForAgsa",
+ base::FEATURE_DISABLED_BY_DEFAULT}; - base::FEATURE_ENABLED_BY_DEFAULT);
+ "ExperimentsForAgsa", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kExploreSites{"ExploreSites", BASE_FEATURE(kExploreSites, "ExploreSites", base::FEATURE_DISABLED_BY_DEFAULT);
base::FEATURE_DISABLED_BY_DEFAULT};
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 diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java --- a/chrome/browser/ui/android/omnibox/BUILD.gn
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java +++ b/chrome/browser/ui/android/omnibox/BUILD.gn
@@ -90,7 +90,7 @@ public class CachedFeatureFlags { @@ -146,7 +146,6 @@ android_library("java") {
.put(ChromeFeatureList.READ_LATER, false) "//chrome/browser/device:java",
.put(ChromeFeatureList.CCT_REMOVE_REMOTE_VIEW_IDS, true) "//chrome/browser/feature_engagement:java",
.put(ChromeFeatureList.CCT_INCOGNITO, true) "//chrome/browser/flags:java",
- .put(ChromeFeatureList.EXPERIMENTS_FOR_AGSA, true) - "//chrome/browser/gsa:java",
+ .put(ChromeFeatureList.EXPERIMENTS_FOR_AGSA, false) "//chrome/browser/history_clusters:java",
.put(ChromeFeatureList.APP_MENU_MOBILE_SITE_OPTION, false) "//chrome/browser/language/android:java",
.put(ChromeFeatureList.OPTIMIZATION_GUIDE_PUSH_NOTIFICATIONS, false) "//chrome/browser/lens:java",
.put(ChromeFeatureList.NEW_WINDOW_APP_MENU, true) @@ -441,7 +440,6 @@ robolectric_library("junit") {
"//chrome/browser/commerce/merchant_viewer/android:java",
"//chrome/browser/device:java",
"//chrome/browser/flags:java",
- "//chrome/browser/gsa:java",
"//chrome/browser/lens:java",
"//chrome/browser/locale:java",
"//chrome/browser/preferences:java",
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
@@ -38,7 +38,6 @@ import org.chromium.chrome.browser.back_press.BackPressManager;
import org.chromium.chrome.browser.device.DeviceClassManager;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
-import org.chromium.chrome.browser.gsa.GSAState;
import org.chromium.chrome.browser.lens.LensController;
import org.chromium.chrome.browser.lens.LensEntryPoint;
import org.chromium.chrome.browser.lens.LensIntentParams;
-- --
2.25.1 2.25.1
@@ -2,6 +2,8 @@ From: uazo <uazo@users.noreply.github.com>
Date: Mon, 8 Nov 2021 09:47:23 +0000 Date: Mon, 8 Nov 2021 09:47:23 +0000
Subject: Disable Accessibility service by default Subject: Disable Accessibility service by default
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../browser/ui/android/strings/android_chrome_strings.grd | 6 ++++++ .../browser/ui/android/strings/android_chrome_strings.grd | 6 ++++++
.../android/java/res/xml/accessibility_preferences.xml | 5 +++++ .../android/java/res/xml/accessibility_preferences.xml | 5 +++++
@@ -12,7 +14,7 @@ Subject: Disable Accessibility service by default
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd 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 --- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd +++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1420,6 +1420,12 @@ Your Google account may have other forms of browsing history like searches and a @@ -1500,6 +1500,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."> <message name="IDS_SAFETY_CHECK_BUTTON" desc="Text for the button to start Safety check.">
Check now Check now
</message> </message>
@@ -28,7 +30,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
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 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 --- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
+++ b/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 @@ @@ -7,6 +7,11 @@ found in the LICENSE file.
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
@@ -43,8 +45,8 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
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 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 --- 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 +++ 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 @@ -18,6 +18,9 @@ import org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference;
import org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.SettingsUtils; import org.chromium.components.browser_ui.settings.SettingsUtils;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; +import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
@@ -56,7 +58,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
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 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 --- 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 +++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
@@ -940,6 +940,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa @@ -900,6 +900,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
structure.setChildCount(0); structure.setChildCount(0);
return; return;
} }
+14 -11
View File
@@ -4,26 +4,29 @@ Subject: Disable AsyncDNS by default
This feature is detrimental to privacy, see also: This feature is detrimental to privacy, see also:
* https://bugs.chromium.org/p/chromium/issues/detail?id=805020 * https://bugs.chromium.org/p/chromium/issues/detail?id=805020
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/common/chrome_features.cc | 8 ++------ chrome/common/chrome_features.cc | 9 ++-------
1 file changed, 2 insertions(+), 6 deletions(-) 1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc --- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc +++ b/chrome/common/chrome_features.cc
@@ -95,12 +95,8 @@ const base::Feature kArcPiGhostWindow{"ArcPiGhostWindow", @@ -98,13 +98,8 @@ BASE_FEATURE(kAppShimNewCloseBehavior,
// Enables the built-in DNS resolver. // Enables the built-in DNS resolver.
const base::Feature kAsyncDns { BASE_FEATURE(kAsyncDns,
- "AsyncDns", - "AsyncDns",
-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) || \
- base::FEATURE_ENABLED_BY_DEFAULT - BUILDFLAG(IS_WIN)
- base::FEATURE_ENABLED_BY_DEFAULT
-#else -#else
- base::FEATURE_DISABLED_BY_DEFAULT - base::FEATURE_DISABLED_BY_DEFAULT
-#endif -#endif
+ "AsyncDns", // Bromite guard for this feature to be always disabled + "AsyncDns", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT // ^ + base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
}; );
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
-- --
@@ -2,19 +2,22 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Fri, 24 Jan 2020 09:46:48 +0100 Date: Fri, 24 Jan 2020 09:46:48 +0100
Subject: Disable DRM media origin IDs preprovisioning Subject: Disable DRM media origin IDs preprovisioning
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
media/base/media_switches.cc | 2 +- media/base/media_switches.cc | 4 ++--
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc --- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc +++ b/media/base/media_switches.cc
@@ -703,7 +703,7 @@ const base::Feature kMediaDrmPersistentLicense{ @@ -851,8 +851,8 @@ BASE_FEATURE(kMediaDrmPersistentLicense,
// MediaDrmBridge. If disabled, MediaDrmBridge will get unprovisioned origin IDs // MediaDrmBridge. If disabled, MediaDrmBridge will get unprovisioned origin IDs
// which will trigger provisioning process after MediaDrmBridge is created. // which will trigger provisioning process after MediaDrmBridge is created.
const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning", BASE_FEATURE(kMediaDrmPreprovisioning,
- base::FEATURE_ENABLED_BY_DEFAULT}; - "MediaDrmPreprovisioning",
+ base::FEATURE_DISABLED_BY_DEFAULT}; - base::FEATURE_ENABLED_BY_DEFAULT);
+ "MediaDrmPreprovisioning", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Determines if MediaDrmOriginIdManager should attempt to pre-provision origin // Determines if MediaDrmOriginIdManager should attempt to pre-provision origin
// IDs at startup (whenever a profile is loaded). Also used by tests that // IDs at startup (whenever a profile is loaded). Also used by tests that
@@ -6,22 +6,23 @@ Remove UI from the settings and set the flags to inactive
Permanently removes FLoC support, disabling the download of LSH clusters, Permanently removes FLoC support, disabling the download of LSH clusters,
the marking the history navigation and the javascript API and permission policies. the marking the history navigation and the javascript API and permission policies.
Also added the disabling of blink features through the DisabledForBromite tag Also added the disabling of blink features through the DisabledForBromite tag
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../java/res/xml/privacy_preferences.xml | 4 --- .../java/res/xml/privacy_preferences.xml | 4 ---
.../privacy/settings/PrivacySettings.java | 22 ------------ .../privacy/settings/PrivacySettings.java | 23 ------------
.../browser/chrome_content_browser_client.cc | 3 ++ .../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_backend.cc | 13 +------
.../history/core/browser/history_service.cc | 2 +- .../privacy_sandbox/privacy_sandbox_prefs.cc | 2 +-
.../privacy_sandbox/privacy_sandbox_prefs.cc | 4 +-- .../privacy_sandbox_settings.cc | 35 +++++++++++--------
.../privacy_sandbox_settings.cc | 36 +++++++++++--------
.../privacy_sandbox_settings.h | 1 - .../privacy_sandbox_settings.h | 1 -
9 files changed, 29 insertions(+), 58 deletions(-) 7 files changed, 25 insertions(+), 56 deletions(-)
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml 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 --- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml +++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -65,10 +65,6 @@ @@ -68,10 +68,6 @@ found in the LICENSE file.
android:title="@string/open_external_links_incognito_title" android:title="@string/open_external_links_incognito_title"
android:summary="@string/open_external_links_incognito_summary" android:summary="@string/open_external_links_incognito_summary"
android:defaultValue="false" /> android:defaultValue="false" />
@@ -35,15 +36,16 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- 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 +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -62,7 +62,6 @@ public class PrivacySettings @@ -58,8 +58,6 @@ public class PrivacySettings
private static final String PREF_SECURE_DNS = "secure_dns"; 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_DO_NOT_TRACK = "do_not_track";
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data"; 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_SANDBOX = "privacy_sandbox";
private static final String PREF_PROXY_OPTIONS = "proxy"; - private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_PRIVACY_REVIEW = "privacy_review"; private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
private static final String PREF_INCOGNITO_LOCK = "incognito_lock"; private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
@@ -93,21 +92,6 @@ public class PrivacySettings
@@ -86,21 +84,6 @@ public class PrivacySettings
SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences); SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences);
getActivity().setTitle(R.string.prefs_privacy_security); getActivity().setTitle(R.string.prefs_privacy_security);
@@ -62,10 +64,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
- }); - });
- } - }
- -
Preference privacyReviewPreference = findPreference(PREF_PRIVACY_REVIEW); Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE);
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_REVIEW)) { if (!ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_GUIDE)) {
getPreferenceScreen().removePreference(privacyReviewPreference); getPreferenceScreen().removePreference(privacyGuidePreference);
@@ -239,12 +223,6 @@ public class PrivacySettings @@ -220,12 +203,6 @@ public class PrivacySettings
secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext())); secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
} }
@@ -81,9 +83,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc 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 --- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc
@@ -2824,6 +2824,9 @@ bool ChromeContentBrowserClient::IsConversionMeasurementOperationAllowed( @@ -3231,6 +3231,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* impression_origin, const url::Origin* source_origin,
const url::Origin* conversion_origin, const url::Origin* destination_origin,
const url::Origin* reporting_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 + // make sure that this is always disabled in Bromite even if privacy sandbox is already disabled in the prefs
+ if ((true)) + if ((true))
@@ -91,22 +93,10 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
Profile* profile = Profile::FromBrowserContext(browser_context); Profile* profile = Profile::FromBrowserContext(browser_context);
auto* privacy_sandbox_settings = 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 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 --- a/components/history/core/browser/history_backend.cc
+++ b/components/history/core/browser/history_backend.cc +++ b/components/history/core/browser/history_backend.cc
@@ -497,18 +497,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id, @@ -517,18 +517,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
if (!visit_id) if (!visit_id)
return; return;
@@ -126,22 +116,10 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his
ScheduleCommit(); 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
@@ -394,7 +394,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 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 --- a/components/privacy_sandbox/privacy_sandbox_prefs.cc
+++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc +++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc
@@ -71,7 +71,7 @@ namespace privacy_sandbox { @@ -66,7 +66,7 @@ namespace privacy_sandbox {
void RegisterProfilePrefs(PrefRegistrySimple* registry) { void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref( registry->RegisterBooleanPref(
@@ -149,20 +127,11 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/pr
+ prefs::kPrivacySandboxApisEnabled, false, + prefs::kPrivacySandboxApisEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(prefs::kPrivacySandboxApisEnabledV2, false); 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( 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 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 --- a/components/privacy_sandbox/privacy_sandbox_settings.cc
+++ b/components/privacy_sandbox/privacy_sandbox_settings.cc +++ b/components/privacy_sandbox/privacy_sandbox_settings.cc
@@ -67,8 +67,7 @@ PrivacySandboxSettings::PrivacySandboxSettings( @@ -68,8 +68,7 @@ PrivacySandboxSettings::PrivacySandboxSettings(
: delegate_(std::move(delegate)), : delegate_(std::move(delegate)),
host_content_settings_map_(host_content_settings_map), host_content_settings_map_(host_content_settings_map),
cookie_settings_(cookie_settings), cookie_settings_(cookie_settings),
@@ -172,7 +141,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
DCHECK(pref_service_); DCHECK(pref_service_);
DCHECK(host_content_settings_map_); DCHECK(host_content_settings_map_);
DCHECK(cookie_settings_); DCHECK(cookie_settings_);
@@ -88,7 +87,8 @@ PrivacySandboxSettings::PrivacySandboxSettings( @@ -94,7 +93,8 @@ PrivacySandboxSettings::PrivacySandboxSettings(
PrivacySandboxSettings::~PrivacySandboxSettings() = default; PrivacySandboxSettings::~PrivacySandboxSettings() = default;
@@ -183,46 +152,49 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
// cookies, as there will be no context specific check. // cookies, as there will be no context specific check.
const auto cookie_controls_mode = const auto cookie_controls_mode =
@@ -119,7 +119,8 @@ bool PrivacySandboxSettings::IsTopicsAllowedForContext( @@ -119,7 +119,8 @@ bool PrivacySandboxSettings::IsTopicsAllowedForContext(
cookie_settings); IsPrivacySandboxEnabledForContext(url, top_frame_origin);
} }
-bool PrivacySandboxSettings::IsTopicAllowed(const CanonicalTopic& topic) { -bool PrivacySandboxSettings::IsTopicAllowed(const CanonicalTopic& topic) {
+bool PrivacySandboxSettings::IsTopicAllowed(const CanonicalTopic& topic) { // disabled in Bromite +bool PrivacySandboxSettings::IsTopicAllowed(const CanonicalTopic& topic) { // disabled in Bromite
+ if ((true)) return false; + if ((true)) return false;
auto* blocked_topics = const auto& blocked_topics =
pref_service_->GetList(prefs::kPrivacySandboxBlockedTopics); pref_service_->GetList(prefs::kPrivacySandboxBlockedTopics);
@@ -187,7 +188,8 @@ base::Time PrivacySandboxSettings::TopicsDataAccessibleSince() const { @@ -187,9 +188,8 @@ base::Time PrivacySandboxSettings::TopicsDataAccessibleSince() const {
bool PrivacySandboxSettings::IsConversionMeasurementAllowed( bool PrivacySandboxSettings::IsAttributionReportingAllowed(
const url::Origin& top_frame_origin, const url::Origin& top_frame_origin,
- const url::Origin& reporting_origin) const { - const url::Origin& reporting_origin) const {
- return IsPrivacySandboxEnabledForContext(reporting_origin.GetURL(),
- top_frame_origin);
+ const url::Origin& reporting_origin) const { // disabled in Bromite + const url::Origin& reporting_origin) const { // disabled in Bromite
+ if ((true)) return false; + return false;
ContentSettingsForOneType cookie_settings; }
cookie_settings_->GetCookieSettings(&cookie_settings);
@@ -291,7 +293,8 @@ void PrivacySandboxSettings::ClearFledgeJoiningAllowedSettings( bool PrivacySandboxSettings::MaySendAttributionReport(
@@ -278,7 +278,8 @@ void PrivacySandboxSettings::ClearFledgeJoiningAllowedSettings(
} }
bool PrivacySandboxSettings::IsFledgeJoiningAllowed( bool PrivacySandboxSettings::IsFledgeJoiningAllowed(
- const url::Origin& top_frame_origin) const { - const url::Origin& top_frame_origin) const {
+ const url::Origin& top_frame_origin) const { // disabled in Bromite + const url::Origin& top_frame_origin) const { // disabled in Bromite
+ if ((true)) return false; + if ((true)) return false;
DictionaryPrefUpdate scoped_pref_update( ScopedDictPrefUpdate scoped_pref_update(
pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked); pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked);
auto* pref_data = scoped_pref_update.Get(); auto& pref_data = scoped_pref_update.Get();
@@ -338,7 +341,8 @@ std::vector<GURL> PrivacySandboxSettings::FilterFledgeAllowedParties( @@ -334,7 +335,9 @@ bool PrivacySandboxSettings::IsPrivateAggregationAllowed(
return allowed_parties; top_frame_origin);
} }
-bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const { -bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
+bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const { // disabled in Bromite +bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const { // disabled in Bromite
+ if ((true)) return false; + if ((true))
// If the delegate is restricting access, or indicates confirmation has not + return false;
// occurred, the Privacy Sandbox is disabled. // If the delegate is restricting access the Privacy Sandbox is disabled.
if (delegate_->IsPrivacySandboxRestricted() || if (delegate_->IsPrivacySandboxRestricted())
@@ -356,7 +360,7 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const { return false;
@@ -349,7 +352,7 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
// settings is available. // settings is available.
if (base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3)) { if (base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3)) {
// For Privacy Sandbox Settings 3, APIs are disabled in incognito. // For Privacy Sandbox Settings 3, APIs are disabled in incognito.
@@ -231,7 +203,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
return false; return false;
if (should_override_setting_for_local_testing) { if (should_override_setting_for_local_testing) {
@@ -374,7 +378,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const { @@ -367,7 +370,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
return pref_service_->GetBoolean(prefs::kPrivacySandboxApisEnabled); return pref_service_->GetBoolean(prefs::kPrivacySandboxApisEnabled);
} }
@@ -241,7 +213,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
// Only apply the decision to the appropriate preference. // Only apply the decision to the appropriate preference.
if (base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3)) { if (base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3)) {
pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabledV2, enabled); pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabledV2, enabled);
@@ -383,7 +388,8 @@ void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) { @@ -376,7 +380,8 @@ void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) {
} }
} }
@@ -251,19 +223,8 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
// The PrivacySandboxSettings is only involved in Trust Token access // The PrivacySandboxSettings is only involved in Trust Token access
// decisions when the Release 3 flag is enabled. // decisions when the Release 3 flag is enabled.
if (!base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3)) if (!base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3))
@@ -428,8 +434,8 @@ PrivacySandboxSettings::PrivacySandboxSettings() = default; @@ -441,9 +446,9 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabledForContext(
bool PrivacySandboxSettings::IsPrivacySandboxEnabledForContext( content_settings::CookieSettings::QueryReason::kPrivacySandbox);
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 { -void PrivacySandboxSettings::SetTopicsDataAccessibleFromNow() const {
@@ -278,9 +239,9 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
diff --git a/components/privacy_sandbox/privacy_sandbox_settings.h b/components/privacy_sandbox/privacy_sandbox_settings.h 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 --- a/components/privacy_sandbox/privacy_sandbox_settings.h
+++ b/components/privacy_sandbox/privacy_sandbox_settings.h +++ b/components/privacy_sandbox/privacy_sandbox_settings.h
@@ -217,7 +217,6 @@ class PrivacySandboxSettings : public KeyedService { @@ -227,7 +227,6 @@ class PrivacySandboxSettings : public KeyedService {
scoped_refptr<content_settings::CookieSettings> cookie_settings_; scoped_refptr<content_settings::CookieSettings> cookie_settings_;
raw_ptr<PrefService> pref_service_; raw_ptr<PrefService, DanglingUntriaged> pref_service_;
PrefChangeRegistrar pref_change_registrar_; PrefChangeRegistrar pref_change_registrar_;
- bool incognito_profile_; - bool incognito_profile_;
}; };
@@ -2,42 +2,12 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 12 Oct 2017 08:15:17 +0200 Date: Thu, 12 Oct 2017 08:15:17 +0200
Subject: Disable NTP remote suggestions by default Subject: Disable NTP remote suggestions by default
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../chrome/browser/feed/FeedSurfaceMediator.java | 13 ++++++++++--- components/feed/core/shared_prefs/pref_names.cc | 4 ++--
components/feed/core/shared_prefs/pref_names.cc | 4 ++-- components/ntp_snippets/features.cc | 8 ++++----
components/ntp_snippets/features.cc | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-)
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 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 --- a/components/feed/core/shared_prefs/pref_names.cc
+++ b/components/feed/core/shared_prefs/pref_names.cc +++ b/components/feed/core/shared_prefs/pref_names.cc
@@ -55,23 +25,27 @@ 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 diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc
--- a/components/ntp_snippets/features.cc --- a/components/ntp_snippets/features.cc
+++ b/components/ntp_snippets/features.cc +++ b/components/ntp_snippets/features.cc
@@ -38,7 +38,7 @@ const base::Feature* const kAllFeatures[] = { @@ -39,8 +39,8 @@ const base::Feature* const kAllFeatures[] = {
&kOptionalImagesEnabledFeature}; &kOptionalImagesEnabledFeature};
const base::Feature kArticleSuggestionsFeature{ BASE_FEATURE(kArticleSuggestionsFeature,
- "NTPArticleSuggestions", base::FEATURE_ENABLED_BY_DEFAULT}; - "NTPArticleSuggestions",
+ "NTPArticleSuggestions", base::FEATURE_DISABLED_BY_DEFAULT}; - base::FEATURE_ENABLED_BY_DEFAULT);
+ "NTPArticleSuggestions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kRemoteSuggestionsEmulateM58FetchingSchedule{ BASE_FEATURE(kRemoteSuggestionsEmulateM58FetchingSchedule,
"RemoteSuggestionsEmulateM58FetchingSchedule", "RemoteSuggestionsEmulateM58FetchingSchedule",
@@ -68,7 +68,7 @@ const char kNotificationsDailyLimit[] = "daily_limit"; @@ -71,8 +71,8 @@ const char kNotificationsDailyLimit[] = "daily_limit";
const char kNotificationsIgnoredLimitParam[] = "ignored_limit"; const char kNotificationsIgnoredLimitParam[] = "ignored_limit";
const base::Feature kKeepPrefetchedContentSuggestions{ BASE_FEATURE(kKeepPrefetchedContentSuggestions,
- "KeepPrefetchedContentSuggestions", base::FEATURE_ENABLED_BY_DEFAULT}; - "KeepPrefetchedContentSuggestions",
+ "KeepPrefetchedContentSuggestions", base::FEATURE_DISABLED_BY_DEFAULT}; - base::FEATURE_ENABLED_BY_DEFAULT);
+ "KeepPrefetchedContentSuggestions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kOptionalImagesEnabledFeature{ BASE_FEATURE(kOptionalImagesEnabledFeature,
"NTPRemoteSuggestionsOptionalImages", base::FEATURE_ENABLED_BY_DEFAULT}; "NTPRemoteSuggestionsOptionalImages",
-- --
2.25.1 2.25.1
+40
View File
@@ -0,0 +1,40 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 31 Jul 2022 22:13:11 +0200
Subject: Disable PrivacyGuide
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/common/chrome_features.cc | 10 +++++-----
1 file changed, 5 insertions(+), 5 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
@@ -505,8 +505,8 @@ BASE_FEATURE(kHaTSDesktopDevToolsIssuesCSP,
// Enables or disables the Happiness Tracking System for Desktop Privacy Guide.
BASE_FEATURE(kHappinessTrackingSurveysForDesktopPrivacyGuide,
- "HappinessTrackingSurveysForDesktopPrivacyGuide",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "HappinessTrackingSurveysForDesktopPrivacyGuide", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::FeatureParam<base::TimeDelta>
kHappinessTrackingSurveysForDesktopPrivacyGuideTime{
&kHappinessTrackingSurveysForDesktopPrivacyGuide, "settings-time",
@@ -915,11 +915,11 @@ BASE_FEATURE(kPrerenderFallbackToPreconnect,
"PrerenderFallbackToPreconnect",
base::FEATURE_ENABLED_BY_DEFAULT);
-BASE_FEATURE(kPrivacyGuide2, "PrivacyGuide2", base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kPrivacyGuide2, "PrivacyGuide2", base::FEATURE_DISABLED_BY_DEFAULT); // always disabled in Bromite
BASE_FEATURE(kPrivacyGuideAndroid,
- "PrivacyGuideAndroid",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "PrivacyGuideAndroid", // always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Enables or disables push subscriptions keeping Chrome running in the
// background when closed.
--
2.25.1
@@ -0,0 +1,27 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 16 Nov 2022 11:18:07 +0100
Subject: Disable StartSurface feature
This feature would normally show a search box but leads to crashes.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
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
@@ -1069,8 +1069,8 @@ BASE_FEATURE(kShowExtendedPreloadingSetting,
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kStartSurfaceAndroid,
- "StartSurfaceAndroid",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "StartSurfaceAndroid", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
BASE_FEATURE(kFeedPositionAndroid,
"FeedPositionAndroid",
--
2.25.1
+37 -32
View File
@@ -21,22 +21,25 @@ Two new user configurable flags are introduced:
See also: See also:
* https://arxiv.org/abs/1810.07304 * https://arxiv.org/abs/1810.07304
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/browser/about_flags.cc | 6 +++ chrome/browser/about_flags.cc | 6 +++
chrome/browser/flag_descriptions.cc | 8 ++++ chrome/browser/flag_descriptions.cc | 8 ++++
chrome/browser/flag_descriptions.h | 6 +++ chrome/browser/flag_descriptions.h | 6 +++
net/base/features.cc | 6 +++ net/base/features.cc | 8 ++++
net/base/features.h | 6 +++ net/base/features.h | 6 +++
net/http/http_network_session.cc | 1 + net/http/http_network_session.cc | 1 +
net/quic/quic_stream_factory.cc | 35 ++++++++++++++++- net/quic/quic_stream_factory.cc | 35 ++++++++++++++++-
net/socket/ssl_client_socket_impl.cc | 59 ++++++++++++++++++++++++++++ net/socket/ssl_client_socket_impl.cc | 59 ++++++++++++++++++++++++++++
net/socket/ssl_client_socket_impl.h | 2 + net/socket/ssl_client_socket_impl.h | 2 +
9 files changed, 128 insertions(+), 1 deletion(-) 9 files changed, 130 insertions(+), 1 deletion(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc
@@ -4472,6 +4472,12 @@ const FeatureEntry kFeatureEntries[] = { @@ -5053,6 +5053,12 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-tls13-early-data", flag_descriptions::kEnableTLS13EarlyDataName, {"enable-tls13-early-data", flag_descriptions::kEnableTLS13EarlyDataName,
flag_descriptions::kEnableTLS13EarlyDataDescription, kOsAll, flag_descriptions::kEnableTLS13EarlyDataDescription, kOsAll,
FEATURE_VALUE_TYPE(net::features::kEnableTLS13EarlyData)}, FEATURE_VALUE_TYPE(net::features::kEnableTLS13EarlyData)},
@@ -52,7 +55,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 diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc --- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc +++ b/chrome/browser/flag_descriptions.cc
@@ -922,6 +922,14 @@ const char kEnableTLS13EarlyDataDescription[] = @@ -994,6 +994,14 @@ const char kEnableTLS13EarlyDataDescription[] =
"during the handshake when resuming a connection to a compatible TLS 1.3 " "during the handshake when resuming a connection to a compatible TLS 1.3 "
"server."; "server.";
@@ -70,7 +73,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 diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h --- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h +++ b/chrome/browser/flag_descriptions.h
@@ -532,6 +532,12 @@ extern const char kEnablePreinstalledWebAppDuplicationFixerDescription[]; @@ -577,6 +577,12 @@ extern const char kEnablePreinstalledWebAppDuplicationFixerDescription[];
extern const char kEnableTLS13EarlyDataName[]; extern const char kEnableTLS13EarlyDataName[];
extern const char kEnableTLS13EarlyDataDescription[]; extern const char kEnableTLS13EarlyDataDescription[];
@@ -86,39 +89,41 @@ 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 diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc --- a/net/base/features.cc
+++ b/net/base/features.cc +++ b/net/base/features.cc
@@ -112,6 +112,12 @@ const base::FeatureParam<int> kUseDnsHttpsSvcbExtraTimePercent{ @@ -61,6 +61,14 @@ const base::FeatureParam<base::TimeDelta> kUseDnsHttpsSvcbSecureExtraTimeMin{
const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData", &kUseDnsHttpsSvcb, "UseDnsHttpsSvcbSecureExtraTimeMin",
base::FEATURE_DISABLED_BY_DEFAULT}; base::Milliseconds(5)};
+const base::Feature kDisableTLSResumption{"DisableTLSResumption", +BASE_FEATURE(kDisableTLSResumption,
+ base::FEATURE_ENABLED_BY_DEFAULT}; + "DisableTLSResumption",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+ +
+const base::Feature kLogTLSResumption{"LogTLSResumption", +BASE_FEATURE(kLogTLSResumption,
+ base::FEATURE_DISABLED_BY_DEFAULT}; + "LogTLSResumption",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+ +
const base::Feature kEncryptedClientHello{"EncryptedClientHello", BASE_FEATURE(kUseDnsHttpsSvcbAlpn,
base::FEATURE_DISABLED_BY_DEFAULT}; "UseDnsHttpsSvcbAlpn",
base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/net/base/features.h b/net/base/features.h diff --git a/net/base/features.h b/net/base/features.h
--- a/net/base/features.h --- a/net/base/features.h
+++ b/net/base/features.h +++ b/net/base/features.h
@@ -175,6 +175,12 @@ NET_EXPORT extern const base::FeatureParam<int> @@ -91,6 +91,12 @@ NET_EXPORT BASE_DECLARE_FEATURE(kUseDnsHttpsSvcbAlpn);
// Enables TLS 1.3 early data. // Enables TLS 1.3 early data.
NET_EXPORT extern const base::Feature kEnableTLS13EarlyData; NET_EXPORT BASE_DECLARE_FEATURE(kEnableTLS13EarlyData);
+// Disables TLS resumption. +// Disables TLS resumption.
+NET_EXPORT extern const base::Feature kDisableTLSResumption; +NET_EXPORT BASE_DECLARE_FEATURE(kDisableTLSResumption);
+ +
+// Log TLS resumption. +// Log TLS resumption.
+NET_EXPORT extern const base::Feature kLogTLSResumption; +NET_EXPORT BASE_DECLARE_FEATURE(kLogTLSResumption);
+ +
// Enables the TLS Encrypted ClientHello feature. // Enables the TLS Encrypted ClientHello feature.
// https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni-13 // https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni-13
NET_EXPORT extern const base::Feature kEncryptedClientHello; NET_EXPORT BASE_DECLARE_FEATURE(kEncryptedClientHello);
diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
--- a/net/http/http_network_session.cc --- a/net/http/http_network_session.cc
+++ b/net/http/http_network_session.cc +++ b/net/http/http_network_session.cc
@@ -232,6 +232,7 @@ HttpNetworkSession::HttpNetworkSession(const HttpNetworkSessionParams& params, @@ -211,6 +211,7 @@ HttpNetworkSession::HttpNetworkSession(const HttpNetworkSessionParams& params,
next_protos_.push_back(kProtoHTTP11); next_protos_.push_back(kProtoHTTP11);
@@ -129,7 +134,7 @@ diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
--- a/net/quic/quic_stream_factory.cc --- a/net/quic/quic_stream_factory.cc
+++ b/net/quic/quic_stream_factory.cc +++ b/net/quic/quic_stream_factory.cc
@@ -73,6 +73,7 @@ @@ -72,6 +72,7 @@
#include "net/third_party/quiche/src/quiche/quic/core/quic_utils.h" #include "net/third_party/quiche/src/quiche/quic/core/quic_utils.h"
#include "net/third_party/quiche/src/quiche/quic/platform/api/quic_flags.h" #include "net/third_party/quiche/src/quiche/quic/platform/api/quic_flags.h"
#include "third_party/boringssl/src/include/openssl/aead.h" #include "third_party/boringssl/src/include/openssl/aead.h"
@@ -137,7 +142,7 @@ diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
#include "url/gurl.h" #include "url/gurl.h"
#include "url/scheme_host_port.h" #include "url/scheme_host_port.h"
#include "url/url_constants.h" #include "url/url_constants.h"
@@ -229,6 +230,38 @@ std::set<std::string> HostsFromOrigins(std::set<HostPortPair> origins) { @@ -245,6 +246,38 @@ quic::ParsedQuicVersion SelectQuicVersion(
} // namespace } // namespace
@@ -176,10 +181,10 @@ diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
// Refcounted class that owns quic::QuicCryptoClientConfig and tracks how many // Refcounted class that owns quic::QuicCryptoClientConfig and tracks how many
// consumers are using it currently. When the last reference is freed, the // consumers are using it currently. When the last reference is freed, the
// QuicCryptoClientConfigHandle informs the owning QuicStreamFactory, moves it // QuicCryptoClientConfigHandle informs the owning QuicStreamFactory, moves it
@@ -2209,7 +2242,7 @@ QuicStreamFactory::CreateCryptoConfigHandle( @@ -2249,7 +2282,7 @@ QuicStreamFactory::CreateCryptoConfigHandle(
sct_auditing_delegate_, sct_auditing_delegate_,
HostsFromOrigins(params_.origins_to_force_quic_on), HostsFromOrigins(params_.origins_to_force_quic_on),
actual_network_isolation_key), actual_network_anonymization_key),
- std::make_unique<quic::QuicClientSessionCache>(), this); - std::make_unique<quic::QuicClientSessionCache>(), this);
+ std::make_unique<BromiteSessionCache>(), this); + std::make_unique<BromiteSessionCache>(), this);
@@ -188,7 +193,7 @@ diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc 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 --- a/net/socket/ssl_client_socket_impl.cc
+++ b/net/socket/ssl_client_socket_impl.cc +++ b/net/socket/ssl_client_socket_impl.cc
@@ -404,7 +404,33 @@ SSLClientSocketImpl::SSLClientSocketImpl( @@ -392,7 +392,33 @@ SSLClientSocketImpl::SSLClientSocketImpl(
CHECK(context_); CHECK(context_);
} }
@@ -197,7 +202,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
+ LOG(INFO) << "SSL Log: " + LOG(INFO) << "SSL Log: "
+ << tag + << tag
+ << " host: " << host_and_port_.ToString() + << " host: " << host_and_port_.ToString()
+ << " NIK: " << ssl_config_.network_isolation_key.ToDebugString(); + << " NIK: " << ssl_config_.network_anonymization_key.ToDebugString();
+ return; + return;
+ } + }
+ +
@@ -211,7 +216,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
+ LOG(INFO) << "SSL Log: " + LOG(INFO) << "SSL Log: "
+ << tag + << tag
+ << " host: " << host_and_port_.ToString() + << " host: " << host_and_port_.ToString()
+ << " NIK: " << ssl_config_.network_isolation_key.ToDebugString() + << " NIK: " << ssl_config_.network_anonymization_key.ToDebugString()
+ << " sessionid: " << base::HexEncode(session_id, len) + << " sessionid: " << base::HexEncode(session_id, len)
+ << (ticklen > 0 ? " ticket:" + base::HexEncode(ticket, ticklen) : ""); + << (ticklen > 0 ? " ticket:" + base::HexEncode(ticket, ticklen) : "");
+} +}
@@ -222,7 +227,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
Disconnect(); Disconnect();
} }
@@ -803,6 +829,8 @@ int SSLClientSocketImpl::Init() { @@ -786,6 +812,8 @@ int SSLClientSocketImpl::Init() {
} }
if (session) if (session)
SSL_set_session(ssl_.get(), session.get()); SSL_set_session(ssl_.get(), session.get());
@@ -231,7 +236,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
} }
transport_adapter_ = std::make_unique<SocketBIOAdapter>( transport_adapter_ = std::make_unique<SocketBIOAdapter>(
@@ -1091,6 +1119,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) { @@ -1077,6 +1105,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) {
: SSLHandshakeDetails::kTLS13Full; : SSLHandshakeDetails::kTLS13Full;
} }
} }
@@ -267,7 +272,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
UMA_HISTOGRAM_ENUMERATION("Net.SSLHandshakeDetails", details); UMA_HISTOGRAM_ENUMERATION("Net.SSLHandshakeDetails", details);
// Measure TLS connections that implement the renegotiation_info extension. // Measure TLS connections that implement the renegotiation_info extension.
@@ -1764,6 +1821,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const { @@ -1760,6 +1817,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const {
} }
bool SSLClientSocketImpl::IsCachingEnabled() const { bool SSLClientSocketImpl::IsCachingEnabled() const {
@@ -279,7 +284,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
diff --git a/net/socket/ssl_client_socket_impl.h b/net/socket/ssl_client_socket_impl.h 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 --- a/net/socket/ssl_client_socket_impl.h
+++ b/net/socket/ssl_client_socket_impl.h +++ b/net/socket/ssl_client_socket_impl.h
@@ -130,6 +130,8 @@ class SSLClientSocketImpl : public SSLClientSocket, @@ -127,6 +127,8 @@ class SSLClientSocketImpl : public SSLClientSocket,
friend class SSLClientSocket; friend class SSLClientSocket;
friend class SSLContext; friend class SSLContext;
@@ -3,6 +3,9 @@ Date: Wed, 16 Feb 2022 14:28:58 +0000
Subject: Disable UA full version Subject: Disable UA full version
getHighEntropyValues will return only the major version getHighEntropyValues will return only the major version
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../renderer/core/frame/navigator_ua_data.cc | 16 ++++++++++++++-- .../renderer/core/frame/navigator_ua_data.cc | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-) 1 file changed, 14 insertions(+), 2 deletions(-)
@@ -0,0 +1,26 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 28 Sep 2022 00:54:10 +0200
Subject: Disable add to home screen prompt
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../webapps/AddToHomescreenMostVisitedTileClickObserver.java | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/AddToHomescreenMostVisitedTileClickObserver.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/AddToHomescreenMostVisitedTileClickObserver.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/AddToHomescreenMostVisitedTileClickObserver.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/AddToHomescreenMostVisitedTileClickObserver.java
@@ -43,10 +43,7 @@ public class AddToHomescreenMostVisitedTileClickObserver implements MostVisitedT
ntp.addMostVisitedTileClickObserver(
AddToHomescreenMostVisitedTileClickObserver.this);
} else {
- // If it is a regular web page, and started from a most visited tile, show IPH.
- if (url.getOrigin().equals(mLastClickedMostVisitedTileUrl)) {
- addToHomescreenIPHController.showAddToHomescreenIPH(tab);
- }
+ // do not show any add to home screen IPH in Bromite
removeObserver(tab);
}
mLastClickedMostVisitedTileUrl = null;
--
2.25.1
+148 -106
View File
@@ -2,25 +2,26 @@ From: uazo <uazo@users.noreply.github.com>
Date: Tue, 25 Jan 2022 12:22:52 +0000 Date: Tue, 25 Jan 2022 12:22:52 +0000
Subject: Disable all predictors code Subject: Disable all predictors code
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../chrome_hints_manager.cc | 1 + .../chrome_hints_manager.cc | 1 +
.../optimization_guide_keyed_service.cc | 1 - .../optimization_guide_keyed_service.cc | 1 -
chrome/common/chrome_features.cc | 4 ++-- chrome/common/chrome_features.cc | 8 ++--
.../optimization_guide/core/hints_fetcher.cc | 1 + .../optimization_guide/core/hints_fetcher.cc | 1 +
.../optimization_guide/core/hints_manager.cc | 3 +++ .../optimization_guide/core/hints_manager.cc | 5 +++
.../core/optimization_guide_features.cc | 20 +++++++++---------- .../core/optimization_guide_features.cc | 38 +++++++++----------
.../core/prediction_model_download_manager.cc | 4 +++- .../core/prediction_model_download_manager.cc | 6 ++-
.../core/prediction_model_fetcher_impl.cc | 1 + .../core/prediction_model_fetcher_impl.cc | 1 +
components/optimization_guide/features.gni | 4 +--- components/optimization_guide/features.gni | 4 +-
components/permissions/features.cc | 2 +- components/permissions/features.cc | 8 ++--
.../segmentation_platform/public/features.cc | 2 +- third_party/blink/common/features.cc | 8 +---
third_party/blink/common/features.cc | 2 +- 11 files changed, 40 insertions(+), 41 deletions(-)
12 files changed, 25 insertions(+), 20 deletions(-)
diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/browser/optimization_guide/chrome_hints_manager.cc 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 --- a/chrome/browser/optimization_guide/chrome_hints_manager.cc
+++ b/chrome/browser/optimization_guide/chrome_hints_manager.cc +++ b/chrome/browser/optimization_guide/chrome_hints_manager.cc
@@ -29,6 +29,7 @@ bool IsAllowedToFetchForNavigationPrediction( @@ -26,6 +26,7 @@ bool IsAllowedToFetchForNavigationPrediction(
const absl::optional<NavigationPredictorKeyedService::Prediction> const absl::optional<NavigationPredictorKeyedService::Prediction>
prediction) { prediction) {
DCHECK(prediction); DCHECK(prediction);
@@ -31,7 +32,7 @@ diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/
diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc 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 --- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
+++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc +++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
@@ -362,7 +362,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel( @@ -318,7 +318,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
void OptimizationGuideKeyedService::RegisterOptimizationTypes( void OptimizationGuideKeyedService::RegisterOptimizationTypes(
const std::vector<optimization_guide::proto::OptimizationType>& const std::vector<optimization_guide::proto::OptimizationType>&
optimization_types) { optimization_types) {
@@ -42,28 +43,32 @@ diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc --- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc +++ b/chrome/common/chrome_features.cc
@@ -788,7 +788,7 @@ const base::Feature kPermissionAuditing{"PermissionAuditing", @@ -889,8 +889,8 @@ BASE_FEATURE(kPermissionAuditing,
// Enables using the prediction service for permission prompts. We will keep // 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. // this feature in order to allow us to update the holdback chance via finch.
const base::Feature kPermissionPredictions{"PermissionPredictions", BASE_FEATURE(kPermissionPredictions,
- base::FEATURE_ENABLED_BY_DEFAULT}; - "PermissionPredictions",
+ base::FEATURE_DISABLED_BY_DEFAULT}; - base::FEATURE_ENABLED_BY_DEFAULT);
+ "PermissionPredictions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// The holdback chance is 30% but it can also be configured/updated // The holdback chance is 30% but it can also be configured/updated
// through finch if needed. // through finch if needed.
@@ -799,7 +799,7 @@ const base::FeatureParam<double> kPermissionPredictionsHoldbackChance( @@ -901,8 +901,8 @@ const base::FeatureParam<double> kPermissionPredictionsHoldbackChance(
// Enables using the prediction service for geolocation permission prompts. // Enables using the prediction service for geolocation permission prompts.
const base::Feature kPermissionGeolocationPredictions{ BASE_FEATURE(kPermissionGeolocationPredictions,
- "PermissionGeolocationPredictions", base::FEATURE_DISABLED_BY_DEFAULT}; - "PermissionGeolocationPredictions",
+ "PermissionGeolocationPredictions", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this - base::FEATURE_ENABLED_BY_DEFAULT);
+ "PermissionGeolocationPredictions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::FeatureParam<double> const base::FeatureParam<double>
kPermissionGeolocationPredictionsHoldbackChance( kPermissionGeolocationPredictionsHoldbackChance(
diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/optimization_guide/core/hints_fetcher.cc 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 --- a/components/optimization_guide/core/hints_fetcher.cc
+++ b/components/optimization_guide/core/hints_fetcher.cc +++ b/components/optimization_guide/core/hints_fetcher.cc
@@ -175,6 +175,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints( @@ -174,6 +174,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints(
optimization_guide::proto::RequestContext request_context, optimization_guide::proto::RequestContext request_context,
const std::string& locale, const std::string& locale,
HintsFetchedCallback hints_fetched_callback) { HintsFetchedCallback hints_fetched_callback) {
@@ -74,7 +79,23 @@ diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/op
diff --git a/components/optimization_guide/core/hints_manager.cc b/components/optimization_guide/core/hints_manager.cc 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 --- a/components/optimization_guide/core/hints_manager.cc
+++ b/components/optimization_guide/core/hints_manager.cc +++ b/components/optimization_guide/core/hints_manager.cc
@@ -1211,6 +1211,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization( @@ -352,6 +352,7 @@ void HintsManager::Shutdown() {
OptimizationGuideDecision
HintsManager::GetOptimizationGuideDecisionFromOptimizationTypeDecision(
OptimizationTypeDecision optimization_type_decision) {
+ if ((true)) return OptimizationGuideDecision::kFalse;
switch (optimization_type_decision) {
case OptimizationTypeDecision::kAllowedByOptimizationFilter:
case OptimizationTypeDecision::kAllowedByHint:
@@ -1056,6 +1057,7 @@ void HintsManager::CanApplyOptimizationOnDemand(
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
// TODO(crbug/1275612): Check whether we have consent to fetch.
+ if ((true)) return; // no consent on bromite
// This set contains URLs that require some information to be fetched, whether
// that be a URL-keyed hint or a host-keyed hint.
@@ -1263,6 +1265,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
proto::OptimizationType optimization_type, proto::OptimizationType optimization_type,
OptimizationMetadata* optimization_metadata) { OptimizationMetadata* optimization_metadata) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -87,74 +108,84 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op
diff --git a/components/optimization_guide/core/optimization_guide_features.cc b/components/optimization_guide/core/optimization_guide_features.cc 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 --- a/components/optimization_guide/core/optimization_guide_features.cc
+++ b/components/optimization_guide/core/optimization_guide_features.cc +++ b/components/optimization_guide/core/optimization_guide_features.cc
@@ -79,7 +79,7 @@ bool IsSupportedLocaleForFeature(const std::string locale, @@ -78,17 +78,17 @@ bool IsSupportedLocaleForFeature(const std::string locale,
// Enables the syncing of the Optimization Hints component, which provides // Enables the syncing of the Optimization Hints component, which provides
// hints for what optimizations can be applied on a page load. // hints for what optimizations can be applied on a page load.
const base::Feature kOptimizationHints{"OptimizationHints", BASE_FEATURE(kOptimizationHints,
- base::FEATURE_ENABLED_BY_DEFAULT}; - "OptimizationHints",
+ base::FEATURE_DISABLED_BY_DEFAULT}; - base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationHints", // disabled by default
// Feature flag that contains a feature param that specifies the field trials + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// that are allowed to be sent up to the Optimization Guide Server.
@@ -88,12 +88,12 @@ const base::Feature kOptimizationHintsFieldTrials{
// Enables fetching from a remote Optimization Guide Service. // Enables fetching from a remote Optimization Guide Service.
const base::Feature kRemoteOptimizationGuideFetching{ BASE_FEATURE(kRemoteOptimizationGuideFetching,
- "OptimizationHintsFetching", base::FEATURE_ENABLED_BY_DEFAULT}; - "OptimizationHintsFetching",
+ "OptimizationHintsFetching", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this - base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationHintsFetching", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kRemoteOptimizationGuideFetchingAnonymousDataConsent { BASE_FEATURE(kRemoteOptimizationGuideFetchingAnonymousDataConsent,
"OptimizationHintsFetchingAnonymousDataConsent", - "OptimizationHintsFetchingAnonymousDataConsent",
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) - base::FEATURE_ENABLED_BY_DEFAULT);
- base::FEATURE_ENABLED_BY_DEFAULT + "OptimizationHintsFetchingAnonymousDataConsent", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
#else // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
base::FEATURE_DISABLED_BY_DEFAULT // Enables performance info in the context menu and fetching from a remote
#endif // BUILDFLAG(IS_ANDROID) // Optimization Guide Service.
@@ -107,15 +107,15 @@ const base::Feature kContextMenuPerformanceInfoAndRemoteHintFetching{ @@ -98,17 +98,13 @@ BASE_FEATURE(kContextMenuPerformanceInfoAndRemoteHintFetching,
// Enables the prediction of optimization targets. // Enables the prediction of optimization targets.
const base::Feature kOptimizationTargetPrediction{ BASE_FEATURE(kOptimizationTargetPrediction,
- "OptimizationTargetPrediction", base::FEATURE_ENABLED_BY_DEFAULT}; - "OptimizationTargetPrediction",
+ "OptimizationTargetPrediction", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this - base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationTargetPrediction", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Enables the downloading of models. // Enables the downloading of models.
const base::Feature kOptimizationGuideModelDownloading { BASE_FEATURE(kOptimizationGuideModelDownloading,
"OptimizationGuideModelDownloading", - "OptimizationGuideModelDownloading",
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) -#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
- base::FEATURE_ENABLED_BY_DEFAULT - base::FEATURE_ENABLED_BY_DEFAULT
-#else // BUILD_WITH_TFLITE_LIB -#else // BUILD_WITH_TFLITE_LIB
base::FEATURE_DISABLED_BY_DEFAULT - base::FEATURE_DISABLED_BY_DEFAULT
+#else // BUILD_WITH_TFLITE_LIB -#endif // !BUILD_WITH_TFLITE_LIB
+ base::FEATURE_DISABLED_BY_DEFAULT // guard this + "OptimizationGuideModelDownloading", // disabled by default
#endif // !BUILD_WITH_TFLITE_LIB + base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
}; );
@@ -141,7 +141,7 @@ const base::Feature kPageEntitiesModelResetOnShutdown{ // Enables page content to be annotated.
@@ -143,8 +139,8 @@ BASE_FEATURE(kPageEntitiesModelResetOnShutdown,
// Enables push notification of hints. // Enables push notification of hints.
const base::Feature kPushNotifications{"OptimizationGuidePushNotifications", BASE_FEATURE(kPushNotifications,
- base::FEATURE_DISABLED_BY_DEFAULT}; - "OptimizationGuidePushNotifications",
+ base::FEATURE_DISABLED_BY_DEFAULT}; // guard this - base::FEATURE_DISABLED_BY_DEFAULT);
+ "OptimizationGuidePushNotifications", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// This feature flag does not turn off any behavior, it is only used for // This feature flag does not turn off any behavior, it is only used for
// experiment parameters. // experiment parameters.
@@ -153,12 +153,12 @@ const base::Feature kOptimizationGuideMetadataValidation{ @@ -158,15 +154,15 @@ BASE_FEATURE(kOptimizationGuideMetadataValidation,
"OptimizationGuideMetadataValidation", base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kPageTopicsBatchAnnotations{ BASE_FEATURE(kPageTopicsBatchAnnotations,
- "PageTopicsBatchAnnotations", base::FEATURE_ENABLED_BY_DEFAULT}; - "PageTopicsBatchAnnotations",
+ "PageTopicsBatchAnnotations", base::FEATURE_DISABLED_BY_DEFAULT}; - base::FEATURE_ENABLED_BY_DEFAULT);
const base::Feature kPageVisibilityBatchAnnotations{ + "PageTopicsBatchAnnotations", // disabled by default
"PageVisibilityBatchAnnotations", base::FEATURE_ENABLED_BY_DEFAULT}; + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
BASE_FEATURE(kPageVisibilityBatchAnnotations,
"PageVisibilityBatchAnnotations",
base::FEATURE_ENABLED_BY_DEFAULT);
const base::Feature kUseLocalPageEntitiesMetadataProvider{ BASE_FEATURE(kUseLocalPageEntitiesMetadataProvider,
- "UseLocalPageEntitiesMetadataProvider", base::FEATURE_DISABLED_BY_DEFAULT}; - "UseLocalPageEntitiesMetadataProvider",
+ "UseLocalPageEntitiesMetadataProvider", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this - base::FEATURE_DISABLED_BY_DEFAULT);
+ "UseLocalPageEntitiesMetadataProvider", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kBatchAnnotationsValidation{ BASE_FEATURE(kPageContentAnnotationsValidation,
"BatchAnnotationsValidation", base::FEATURE_DISABLED_BY_DEFAULT}; "PageContentAnnotationsValidation",
@@ -389,7 +389,7 @@ size_t MaxURLKeyedHintCacheSize() { @@ -414,7 +410,7 @@ size_t MaxURLKeyedHintCacheSize() {
bool ShouldPersistHintsToDisk() { bool ShouldPersistHintsToDisk() {
return GetFieldTrialParamByFeatureAsBool(kOptimizationHints, return GetFieldTrialParamByFeatureAsBool(kOptimizationHints,
@@ -166,7 +197,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
diff --git a/components/optimization_guide/core/prediction_model_download_manager.cc b/components/optimization_guide/core/prediction_model_download_manager.cc 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 --- a/components/optimization_guide/core/prediction_model_download_manager.cc
+++ b/components/optimization_guide/core/prediction_model_download_manager.cc +++ b/components/optimization_guide/core/prediction_model_download_manager.cc
@@ -46,7 +46,7 @@ constexpr char kGoogApiKey[] = "X-Goog-Api-Key"; @@ -45,7 +45,7 @@ constexpr char kGoogApiKey[] = "X-Goog-Api-Key";
// we require models to come from. // we require models to come from.
constexpr uint8_t kPublisherKeyHash[] = { constexpr uint8_t kPublisherKeyHash[] = {
0x66, 0xa1, 0xd9, 0x3e, 0x4e, 0x5a, 0x66, 0x8a, 0x0f, 0xd3, 0xfa, 0x66, 0xa1, 0xd9, 0x3e, 0x4e, 0x5a, 0x66, 0x8a, 0x0f, 0xd3, 0xfa,
@@ -175,7 +206,16 @@ diff --git a/components/optimization_guide/core/prediction_model_download_manage
0x5c, 0x7f, 0xd0, 0x0c, 0xa1, 0x6e, 0xef, 0xdd, 0x63, 0x7a}; 0x5c, 0x7f, 0xd0, 0x0c, 0xa1, 0x6e, 0xef, 0xdd, 0x63, 0x7a};
const net::NetworkTrafficAnnotationTag const net::NetworkTrafficAnnotationTag
kOptimizationGuidePredictionModelsTrafficAnnotation = kOptimizationGuidePredictionModelsTrafficAnnotation =
@@ -106,6 +106,7 @@ PredictionModelDownloadManager::~PredictionModelDownloadManager() = default; @@ -93,7 +93,7 @@ PredictionModelDownloadManager::PredictionModelDownloadManager(
const base::FilePath& models_dir_path,
scoped_refptr<base::SequencedTaskRunner> background_task_runner)
: download_service_(download_service),
- is_available_for_downloads_(true),
+ is_available_for_downloads_(false),
api_key_(features::GetOptimizationGuideServiceAPIKey()),
models_dir_path_(models_dir_path),
background_task_runner_(background_task_runner) {}
@@ -103,6 +103,7 @@ PredictionModelDownloadManager::~PredictionModelDownloadManager() = default;
void PredictionModelDownloadManager::StartDownload( void PredictionModelDownloadManager::StartDownload(
const GURL& download_url, const GURL& download_url,
proto::OptimizationTarget optimization_target) { proto::OptimizationTarget optimization_target) {
@@ -183,18 +223,18 @@ diff --git a/components/optimization_guide/core/prediction_model_download_manage
download::DownloadParams download_params; download::DownloadParams download_params;
download_params.client = download_params.client =
download::DownloadClient::OPTIMIZATION_GUIDE_PREDICTION_MODELS; download::DownloadClient::OPTIMIZATION_GUIDE_PREDICTION_MODELS;
@@ -240,6 +241,7 @@ void PredictionModelDownloadManager::OnDownloadFailed( @@ -239,6 +240,7 @@ void PredictionModelDownloadManager::OnDownloadFailed(
absl::optional<std::pair<base::FilePath, base::FilePath>> absl::optional<std::pair<base::FilePath, base::FilePath>>
PredictionModelDownloadManager::ProcessDownload( PredictionModelDownloadManager::VerifyDownload(const base::FilePath& file_path,
const base::FilePath& file_path) { bool delete_file_on_error) {
+ if ((true)) return absl::nullopt; + if ((true)) return absl::nullopt;
DCHECK(background_task_runner_->RunsTasksInCurrentSequence());
if (!switches::ShouldSkipModelDownloadVerificationForTesting()) { if (!switches::ShouldSkipModelDownloadVerificationForTesting()) {
// Verify that the |file_path| contains a valid CRX file.
std::string public_key;
diff --git a/components/optimization_guide/core/prediction_model_fetcher_impl.cc b/components/optimization_guide/core/prediction_model_fetcher_impl.cc 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 --- a/components/optimization_guide/core/prediction_model_fetcher_impl.cc
+++ b/components/optimization_guide/core/prediction_model_fetcher_impl.cc +++ b/components/optimization_guide/core/prediction_model_fetcher_impl.cc
@@ -51,6 +51,7 @@ bool PredictionModelFetcherImpl::FetchOptimizationGuideServiceModels( @@ -50,6 +50,7 @@ bool PredictionModelFetcherImpl::FetchOptimizationGuideServiceModels(
proto::RequestContext request_context, proto::RequestContext request_context,
const std::string& locale, const std::string& locale,
ModelsFetchedCallback models_fetched_callback) { ModelsFetchedCallback models_fetched_callback) {
@@ -219,38 +259,40 @@ diff --git a/components/optimization_guide/features.gni b/components/optimizatio
diff --git a/components/permissions/features.cc b/components/permissions/features.cc diff --git a/components/permissions/features.cc b/components/permissions/features.cc
--- a/components/permissions/features.cc --- a/components/permissions/features.cc
+++ b/components/permissions/features.cc +++ b/components/permissions/features.cc
@@ -69,7 +69,7 @@ const base::Feature kPermissionPredictionServiceUseUrlOverride{ @@ -85,12 +85,12 @@ BASE_FEATURE(kPermissionChipRequestTypeSensitive,
// When enabled, use the value of the `service_url` FeatureParam as the url
// for the Web Permission Predictions Service.
BASE_FEATURE(kPermissionPredictionServiceUseUrlOverride,
- "kPermissionPredictionServiceUseUrlOverride",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "kPermissionPredictionServiceUseUrlOverride", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kPermissionOnDeviceNotificationPredictions{ BASE_FEATURE(kPermissionOnDeviceNotificationPredictions,
"PermissionOnDeviceNotificationPredictions", - "PermissionOnDeviceNotificationPredictions",
- base::FEATURE_DISABLED_BY_DEFAULT}; - base::FEATURE_ENABLED_BY_DEFAULT);
+ base::FEATURE_DISABLED_BY_DEFAULT}; // guard this + "PermissionOnDeviceNotificationPredictions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
#if BUILDFLAG(IS_ANDROID) BASE_FEATURE(kPermissionOnDeviceGeolocationPredictions,
"PermissionOnDeviceGeolocationPredictions",
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 diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc --- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc
@@ -180,7 +180,7 @@ const base::Feature kViewportHeightClientHintHeader{ @@ -230,12 +230,8 @@ BASE_FEATURE(kMixedContentAutoupgrade,
const base::Feature kNavigationPredictor { // predictor may preconnect/prefetch to resources/origins to make the
"NavigationPredictor", // future navigations faster.
#if BUILDFLAG(IS_ANDROID) BASE_FEATURE(kNavigationPredictor,
- base::FEATURE_ENABLED_BY_DEFAULT - "NavigationPredictor",
+ base::FEATURE_DISABLED_BY_DEFAULT -#if BUILDFLAG(IS_ANDROID)
#else - base::FEATURE_ENABLED_BY_DEFAULT
base::FEATURE_DISABLED_BY_DEFAULT -#else
#endif - base::FEATURE_DISABLED_BY_DEFAULT
-#endif
+ "NavigationPredictor", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
);
// Anchor Element Interaction
-- --
2.25.1 2.25.1
@@ -2,6 +2,7 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Tue, 12 Jun 2018 15:09:26 +0200 Date: Tue, 12 Jun 2018 15:09:26 +0200
Subject: Disable all promo dialogs Subject: Disable all promo dialogs
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java | 6 +++--- .../chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-) 1 file changed, 3 insertions(+), 3 deletions(-)
@@ -9,7 +10,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 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 --- 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 +++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -863,7 +863,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { @@ -856,7 +856,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
* displayed. * displayed.
*/ */
private boolean triggerPromo(boolean intentWithEffect) { private boolean triggerPromo(boolean intentWithEffect) {
@@ -18,7 +19,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
if (CommandLine.getInstance().hasSwitch(ChromeSwitches.DISABLE_STARTUP_PROMOS)) { if (CommandLine.getInstance().hasSwitch(ChromeSwitches.DISABLE_STARTUP_PROMOS)) {
return false; return false;
} }
@@ -898,8 +898,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator { @@ -891,8 +891,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
preferenceManager.writeBoolean( preferenceManager.writeBoolean(
ChromePreferenceKeys.PROMOS_SKIPPED_ON_FIRST_START, true); ChromePreferenceKeys.PROMOS_SKIPPED_ON_FIRST_START, true);
} }
@@ -28,6 +29,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
+ return false; + return false;
} }
private boolean maybeShowPromo() { @VisibleForTesting
-- --
2.25.1 2.25.1
@@ -7,44 +7,54 @@ support for the AttributionReporting provider. it also removes
the handling of attributions via intents between apps. the handling of attributions via intents between apps.
This patch enforces the deactivation by preventing the report from This patch enforces the deactivation by preventing the report from
being sent and being saved to disk, although it is currently in uncalled code. being sent and being saved to disk, although it is currently in uncalled code.
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../flags/android/chrome_feature_list.cc | 2 +- .../browser/flags/android/chrome_feature_list.cc | 4 ++--
.../embedder_support/origin_trials/features.cc | 3 ++- .../embedder_support/origin_trials/features.cc | 8 ++++----
.../render_view_context_menu_base.cc | 3 --- .../render_view_context_menu_base.cc | 3 ---
.../aggregatable_report_sender.cc | 17 ++++++++--------- .../aggregatable_report_sender.cc | 15 +++++++--------
.../attribution_reporting/attribution_host.cc | 1 + .../attribution_reporting/attribution_host.cc | 1 +
.../attribution_report_network_sender.cc | 15 ++++++++------- .../attribution_report_network_sender.cc | 11 ++++++++---
.../attribution_storage_sql.cc | 2 +- .../attribution_storage_sql.cc | 8 +++++---
content/browser/storage_partition_impl.cc | 7 +------ content/browser/storage_partition_impl.cc | 7 +------
content/public/browser/navigation_controller.cc | 1 - content/public/browser/navigation_controller.cc | 1 -
third_party/blink/common/features.cc | 2 +- third_party/blink/common/features.cc | 4 ++--
.../platform/runtime_enabled_features.json5 | 9 ++++++++- .../platform/runtime_enabled_features.json5 | 7 +++++++
11 files changed, 31 insertions(+), 31 deletions(-) 11 files changed, 37 insertions(+), 32 deletions(-)
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc 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 --- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -442,7 +442,7 @@ const base::Feature kAppMenuMobileSiteOption{"AppMenuMobileSiteOption", @@ -522,8 +522,8 @@ BASE_FEATURE(kAppMenuMobileSiteOption,
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kAppToWebAttribution{"AppToWebAttribution", BASE_FEATURE(kAppToWebAttribution,
- base::FEATURE_DISABLED_BY_DEFAULT}; - "AppToWebAttribution",
+ base::FEATURE_DISABLED_BY_DEFAULT}; // guard this - base::FEATURE_DISABLED_BY_DEFAULT);
+ "AppToWebAttribution", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kBackgroundThreadPool{"BackgroundThreadPool", BASE_FEATURE(kBackgroundThreadPool,
base::FEATURE_DISABLED_BY_DEFAULT}; "BackgroundThreadPool",
diff --git a/components/embedder_support/origin_trials/features.cc b/components/embedder_support/origin_trials/features.cc diff --git a/components/embedder_support/origin_trials/features.cc b/components/embedder_support/origin_trials/features.cc
--- a/components/embedder_support/origin_trials/features.cc --- a/components/embedder_support/origin_trials/features.cc
+++ b/components/embedder_support/origin_trials/features.cc +++ b/components/embedder_support/origin_trials/features.cc
@@ -17,8 +17,9 @@ const base::Feature kOriginTrialsSampleAPIThirdPartyAlternativeUsage{ @@ -14,11 +14,11 @@ namespace embedder_support {
"OriginTrialsSampleAPIThirdPartyAlternativeUsage", // Users from control group will have the feature disabled, excluding them
base::FEATURE_ENABLED_BY_DEFAULT}; // from the origin trial.
BASE_FEATURE(kOriginTrialsSampleAPIThirdPartyAlternativeUsage,
- "OriginTrialsSampleAPIThirdPartyAlternativeUsage",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OriginTrialsSampleAPIThirdPartyAlternativeUsage", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
+// When disabled, the API cannot be enabled by tokens. BASE_FEATURE(kConversionMeasurementAPIAlternativeUsage,
const base::Feature kConversionMeasurementAPIAlternativeUsage{ - "ConversionMeasurementAPIAlternativeUsage",
"ConversionMeasurementAPIAlternativeUsage", - base::FEATURE_ENABLED_BY_DEFAULT);
- base::FEATURE_ENABLED_BY_DEFAULT}; + "ConversionMeasurementAPIAlternativeUsage", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT}; + base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
} // namespace embedder_support } // namespace embedder_support
diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b/components/renderer_context_menu/render_view_context_menu_base.cc diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b/components/renderer_context_menu/render_view_context_menu_base.cc
@@ -63,7 +73,7 @@ diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b
diff --git a/content/browser/aggregation_service/aggregatable_report_sender.cc b/content/browser/aggregation_service/aggregatable_report_sender.cc 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 --- a/content/browser/aggregation_service/aggregatable_report_sender.cc
+++ b/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, @@ -136,19 +136,18 @@ void AggregatableReportSender::SendReport(const GURL& url,
// Allow bodies of non-2xx responses to be returned. // Allow bodies of non-2xx responses to be returned.
simple_url_loader_ptr->SetAllowHttpErrorResults(true); simple_url_loader_ptr->SetAllowHttpErrorResults(true);
@@ -90,46 +100,35 @@ diff --git a/content/browser/aggregation_service/aggregatable_report_sender.cc b
RequestStatus status; RequestStatus status;
absl::optional<int> http_response_code; 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/attribution_reporting/attribution_host.cc b/content/browser/attribution_reporting/attribution_host.cc 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 --- a/content/browser/attribution_reporting/attribution_host.cc
+++ b/content/browser/attribution_reporting/attribution_host.cc +++ b/content/browser/attribution_reporting/attribution_host.cc
@@ -141,6 +141,7 @@ void AttributionHost::DidFinishNavigation(NavigationHandle* navigation_handle) { @@ -126,6 +126,7 @@ void AttributionHost::DidRedirectNavigation(
return; return;
} }
+ if ((true)) return; + if ((true)) return;
AttributionManager* attribution_manager = AttributionManager* attribution_manager =
attribution_manager_provider_->GetManager(web_contents()); AttributionManager::FromWebContents(web_contents());
if (!attribution_manager) { if (!attribution_manager)
diff --git a/content/browser/attribution_reporting/attribution_report_network_sender.cc b/content/browser/attribution_reporting/attribution_report_network_sender.cc 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 --- a/content/browser/attribution_reporting/attribution_report_network_sender.cc
+++ b/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( @@ -132,9 +132,8 @@ void AttributionReportNetworkSender::SendReport(GURL url,
network::SimpleURLLoader::RETRY_ON_NAME_NOT_RESOLVED; network::SimpleURLLoader::RETRY_ON_NAME_NOT_RESOLVED;
simple_url_loader_ptr->SetRetryOptions(/*max_retries=*/1, retry_mode); 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( - simple_url_loader_ptr->DownloadHeadersOnly(
- url_loader_factory_.get(), - url_loader_factory_.get(),
- base::BindOnce(&AttributionReportNetworkSender::OnReportSent, - base::BindOnce(std::move(callback), std::move(it)));
- base::Unretained(this), std::move(it), std::move(report),
- is_debug_report, std::move(sent_callback)));
+ // this is never called on Bromite but nothing would be sent if it were + // 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); + OnReportSent(std::move(it), report, is_debug_report, std::move(sent_callback), nullptr);
} }
void AttributionReportNetworkSender::SetURLLoaderFactoryForTesting( void AttributionReportNetworkSender::OnReportSent(
@@ -138,6 +133,12 @@ void AttributionReportNetworkSender::OnReportSent( @@ -143,6 +142,12 @@ void AttributionReportNetworkSender::OnReportSent(
bool is_debug_report,
ReportSentCallback sent_callback, ReportSentCallback sent_callback,
UrlLoaderList::iterator it,
scoped_refptr<net::HttpResponseHeaders> headers) { scoped_refptr<net::HttpResponseHeaders> headers) {
+ if ((true)) { + if ((true)) {
+ std::move(sent_callback) + std::move(sent_callback)
@@ -143,21 +142,34 @@ diff --git a/content/browser/attribution_reporting/attribution_report_network_se
diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/content/browser/attribution_reporting/attribution_storage_sql.cc 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 --- a/content/browser/attribution_reporting/attribution_storage_sql.cc
+++ b/content/browser/attribution_reporting/attribution_storage_sql.cc +++ b/content/browser/attribution_reporting/attribution_storage_sql.cc
@@ -358,7 +358,7 @@ void AttributionStorageSql::RunInMemoryForTesting() { @@ -514,6 +514,8 @@ DestinationLimitResult GetDestinationLimitResult(
}
} }
// static +bool g_run_in_memory = true;
-bool AttributionStorageSql::g_run_in_memory_ = false; +
+bool AttributionStorageSql::g_run_in_memory_ = true; } // namespace
// static
@@ -525,9 +527,9 @@ bool AttributionStorageSql::DeleteStorageForTesting(
AttributionStorageSql::AttributionStorageSql( AttributionStorageSql::AttributionStorageSql(
const base::FilePath& path_to_database, const base::FilePath& user_data_directory,
std::unique_ptr<AttributionStorageDelegate> delegate)
- : path_to_database_(user_data_directory.empty()
- ? base::FilePath()
- : DatabasePath(user_data_directory)),
+ : path_to_database_(user_data_directory.empty() || g_run_in_memory
+ ? base::FilePath()
+ : DatabasePath(user_data_directory)),
delegate_(std::move(delegate)),
rate_limit_table_(delegate_.get()) {
DCHECK(delegate_);
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc
--- a/content/browser/storage_partition_impl.cc --- a/content/browser/storage_partition_impl.cc
+++ b/content/browser/storage_partition_impl.cc +++ b/content/browser/storage_partition_impl.cc
@@ -1304,12 +1304,7 @@ void StoragePartitionImpl::Initialize( @@ -1358,12 +1358,7 @@ void StoragePartitionImpl::Initialize(
bucket_manager_ = std::make_unique<BucketManager>(quota_manager_proxy); bucket_manager_ = std::make_unique<BucketManager>(this);
- // The Conversion Measurement API is not available in Incognito mode. - // The Conversion Measurement API is not available in Incognito mode.
- if (!is_in_memory() && - if (!is_in_memory() &&
@@ -168,11 +180,11 @@ diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage
+ // The Conversion Measurement API is not available in Bromite. + // The Conversion Measurement API is not available in Bromite.
if (base::FeatureList::IsEnabled(blink::features::kInterestGroupStorage)) { if (base::FeatureList::IsEnabled(blink::features::kInterestGroupStorage)) {
interest_group_manager_ = std::make_unique<InterestGroupManagerImpl>( // Auction worklets on non-Android use dedicated processes; on Android due
diff --git a/content/public/browser/navigation_controller.cc b/content/public/browser/navigation_controller.cc diff --git a/content/public/browser/navigation_controller.cc b/content/public/browser/navigation_controller.cc
--- a/content/public/browser/navigation_controller.cc --- a/content/public/browser/navigation_controller.cc
+++ b/content/public/browser/navigation_controller.cc +++ b/content/public/browser/navigation_controller.cc
@@ -36,7 +36,6 @@ NavigationController::LoadURLParams::LoadURLParams(const OpenURLParams& input) @@ -39,7 +39,6 @@ NavigationController::LoadURLParams::LoadURLParams(const OpenURLParams& input)
blob_url_loader_factory(input.blob_url_loader_factory), blob_url_loader_factory(input.blob_url_loader_factory),
href_translate(input.href_translate), href_translate(input.href_translate),
reload_type(input.reload_type), reload_type(input.reload_type),
@@ -183,19 +195,21 @@ diff --git a/content/public/browser/navigation_controller.cc b/content/public/br
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc --- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc
@@ -49,7 +49,7 @@ const base::Feature kCSSContainerQueries{"CSSContainerQueries", @@ -121,8 +121,8 @@ BASE_FEATURE(kBlockingDownloadsInAdFrameWithoutUserActivation,
// Controls whether the Conversion Measurement API infrastructure is enabled. // Controls whether the Conversion Measurement API infrastructure is enabled.
const base::Feature kConversionMeasurement{"ConversionMeasurement", BASE_FEATURE(kConversionMeasurement,
- base::FEATURE_ENABLED_BY_DEFAULT}; - "ConversionMeasurement",
+ base::FEATURE_DISABLED_BY_DEFAULT}; - base::FEATURE_ENABLED_BY_DEFAULT);
+ "ConversionMeasurement", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Controls whether LCP calculations should exclude low-entropy images. If // Controls whether LCP calculations should exclude low-entropy images. If
// enabled, then the associated parameter sets the cutoff, expressed as the // 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 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 --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -106,6 +106,13 @@ @@ -201,6 +201,13 @@
}, },
data: [ data: [
@@ -209,14 +223,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
{ {
name: "AbortSignalThrowIfAborted", name: "AbortSignalThrowIfAborted",
status: "stable", status: "stable",
@@ -482,7 +489,7 @@
},
{
name: "ConversionMeasurement",
- status: "test",
+ depends_on: ["DisabledForBromite"],
},
{
name: "CooperativeScheduling"
-- --
2.25.1 2.25.1
+7 -6
View File
@@ -2,6 +2,7 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 9 Apr 2022 21:43:35 +0200 Date: Sat, 9 Apr 2022 21:43:35 +0200
Subject: Disable crash reporting Subject: Disable crash reporting
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
content/public/common/content_features.cc | 4 ++-- content/public/common/content_features.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)
@@ -9,14 +10,14 @@ Subject: Disable crash reporting
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc --- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc +++ b/content/public/common/content_features.cc
@@ -234,8 +234,8 @@ const base::Feature kCooperativeScheduling{"CooperativeScheduling", @@ -251,8 +251,8 @@ BASE_FEATURE(kCooperativeScheduling,
// Enables crash reporting via Reporting API. // Enables crash reporting via Reporting API.
// https://www.w3.org/TR/reporting/#crash-report // https://www.w3.org/TR/reporting/#crash-report
-const base::Feature kCrashReporting{"CrashReporting", BASE_FEATURE(kCrashReporting,
- base::FEATURE_ENABLED_BY_DEFAULT}; - "CrashReporting",
+const base::Feature kCrashReporting{"CrashReporting", // disabled by default on Bromite - base::FEATURE_ENABLED_BY_DEFAULT);
+ base::FEATURE_DISABLED_BY_DEFAULT}; // ^ + "CrashReporting", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Enables support for the `Critical-CH` response header. // Enables support for the `Critical-CH` response header.
// https://github.com/WICG/client-hints-infrastructure/blob/master/reliability.md#critical-ch // https://github.com/WICG/client-hints-infrastructure/blob/master/reliability.md#critical-ch
@@ -2,16 +2,16 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 19 Dec 2019 22:52:53 +0100 Date: Thu, 19 Dec 2019 22:52:53 +0100
Subject: Disable feeds support by default Subject: Disable feeds support by default
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../org/chromium/chrome/browser/feed/FeedFeatures.java | 8 +------- .../org/chromium/chrome/browser/feed/FeedFeatures.java | 8 +-------
.../chromium/chrome/browser/flags/CachedFeatureFlags.java | 2 +- components/feed/feed_feature_list.cc | 8 ++++----
components/feed/feed_feature_list.cc | 4 ++-- 2 files changed, 5 insertions(+), 11 deletions(-)
3 files changed, 4 insertions(+), 10 deletions(-)
diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
--- a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java --- a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
+++ b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java +++ b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
@@ -43,13 +43,7 @@ public final class FeedFeatures { @@ -48,13 +48,7 @@ public final class FeedFeatures {
* the user is signed in and confirms it's not a child profile. * the user is signed in and confirms it's not a child profile.
*/ */
public static boolean isWebFeedUIEnabled() { public static boolean isWebFeedUIEnabled() {
@@ -25,36 +25,28 @@ diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/fe
+ return false; + return false;
} }
/** public static boolean shouldUseWebFeedAwarenessIPH() {
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
@@ -82,7 +82,7 @@ public class CachedFeatureFlags {
.put(ChromeFeatureList.TAB_TO_GTS_ANIMATION, true)
.put(ChromeFeatureList.TEST_DEFAULT_DISABLED, false)
.put(ChromeFeatureList.TEST_DEFAULT_ENABLED, true)
- .put(ChromeFeatureList.INTEREST_FEED_V2, true)
+ .put(ChromeFeatureList.INTEREST_FEED_V2, false)
.put(ChromeFeatureList.THEME_REFACTOR_ANDROID, true)
.put(ChromeFeatureList.USE_CHIME_ANDROID_SDK, false)
.put(ChromeFeatureList.CCT_INCOGNITO_AVAILABLE_TO_THIRD_PARTY, false)
diff --git a/components/feed/feed_feature_list.cc b/components/feed/feed_feature_list.cc diff --git a/components/feed/feed_feature_list.cc b/components/feed/feed_feature_list.cc
--- a/components/feed/feed_feature_list.cc --- a/components/feed/feed_feature_list.cc
+++ b/components/feed/feed_feature_list.cc +++ b/components/feed/feed_feature_list.cc
@@ -12,12 +12,12 @@ @@ -17,14 +17,14 @@
namespace feed { namespace feed {
const base::Feature kInterestFeedContentSuggestions{ BASE_FEATURE(kInterestFeedContentSuggestions,
- "InterestFeedContentSuggestions", base::FEATURE_ENABLED_BY_DEFAULT}; - "InterestFeedContentSuggestions",
+ "InterestFeedContentSuggestions", base::FEATURE_DISABLED_BY_DEFAULT}; - base::FEATURE_ENABLED_BY_DEFAULT);
+ "InterestFeedContentSuggestions", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default in Bromite
// InterestFeedV2 takes precedence over InterestFeedContentSuggestions. // InterestFeedV2 takes precedence over InterestFeedContentSuggestions.
// InterestFeedV2 is cached in ChromeCachedFlags. If the default value here is // InterestFeedV2 is cached in ChromeCachedFlags. If the default value here is
// changed, please update the cached one's default value in CachedFeatureFlags. // changed, please update the cached one's default value in CachedFeatureFlags.
const base::Feature kInterestFeedV2{"InterestFeedV2", BASE_FEATURE(kInterestFeedV2,
- base::FEATURE_ENABLED_BY_DEFAULT}; - "InterestFeedV2",
+ base::FEATURE_DISABLED_BY_DEFAULT}; - base::FEATURE_ENABLED_BY_DEFAULT);
+ "InterestFeedV2", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default in Bromite
const base::Feature kInterestFeedV2Autoplay{"InterestFeedV2Autoplay", BASE_FEATURE(kInterestFeedV2Autoplay,
base::FEATURE_DISABLED_BY_DEFAULT}; "InterestFeedV2Autoplay",
-- --
2.25.1 2.25.1
@@ -2,24 +2,28 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 8 Jul 2018 18:16:34 +0200 Date: Sun, 8 Jul 2018 18:16:34 +0200
Subject: Disable fetching of all field trials Subject: Disable fetching of all field trials
Disable seed-based field trials Disable seed-based field trials.
Disable reporting of Omnibox suggestions header.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
android_webview/nonembedded/BUILD.gn | 2 -- android_webview/nonembedded/BUILD.gn | 2 --
.../services/VariationsSeedServer.java | 2 -- .../services/VariationsSeedServer.java | 2 --
.../chrome_metrics_services_manager_client.cc | 2 ++ .../metrics/chrome_browser_sampling_trials.cc | 4 +++
components/ukm/ukm_recorder_impl.cc | 3 ++ components/ukm/ukm_recorder_impl.cc | 3 +++
.../firstrun/VariationsSeedBridge.java | 2 +- .../firstrun/VariationsSeedBridge.java | 2 +-
.../firstrun/VariationsSeedFetcher.java | 28 ++++--------------- .../firstrun/VariationsSeedFetcher.java | 26 ++++---------------
.../variations/net/omnibox_http_headers.cc | 2 +- .../variations/net/omnibox_http_headers.cc | 4 +--
.../variations/net/variations_http_headers.cc | 3 ++ .../variations/net/variations_http_headers.cc | 3 +++
.../service/variations_field_trial_creator.cc | 3 +- .../service/variations_field_trial_creator.cc | 3 ++-
.../variations/service/variations_service.cc | 15 ++-------- .../variations/service/variations_service.cc | 15 +++--------
10 files changed, 21 insertions(+), 41 deletions(-) .../renderer/core/loader/document_loader.cc | 7 -----
11 files changed, 23 insertions(+), 48 deletions(-)
diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/BUILD.gn diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/BUILD.gn
--- a/android_webview/nonembedded/BUILD.gn --- a/android_webview/nonembedded/BUILD.gn
+++ b/android_webview/nonembedded/BUILD.gn +++ b/android_webview/nonembedded/BUILD.gn
@@ -101,7 +101,6 @@ android_library("services_java") { @@ -107,7 +107,6 @@ android_library("services_java") {
sources = [ sources = [
"java/src/org/chromium/android_webview/services/AwMinidumpUploadJobService.java", "java/src/org/chromium/android_webview/services/AwMinidumpUploadJobService.java",
"java/src/org/chromium/android_webview/services/AwMinidumpUploaderDelegate.java", "java/src/org/chromium/android_webview/services/AwMinidumpUploaderDelegate.java",
@@ -27,10 +31,10 @@ 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/ComponentUpdaterSafeModeUtils.java",
"java/src/org/chromium/android_webview/services/ComponentsProviderPathUtil.java", "java/src/org/chromium/android_webview/services/ComponentsProviderPathUtil.java",
"java/src/org/chromium/android_webview/services/ComponentsProviderService.java", "java/src/org/chromium/android_webview/services/ComponentsProviderService.java",
@@ -112,7 +111,6 @@ android_library("services_java") { @@ -120,7 +119,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", "java/src/org/chromium/android_webview/services/SafeModeService.java",
"java/src/org/chromium/android_webview/services/ServicesStatsHelper.java",
"java/src/org/chromium/android_webview/services/StartupFeatureMetadataHolder.java",
- "java/src/org/chromium/android_webview/services/VariationsSeedHolder.java", - "java/src/org/chromium/android_webview/services/VariationsSeedHolder.java",
"java/src/org/chromium/android_webview/services/VariationsSeedServer.java", "java/src/org/chromium/android_webview/services/VariationsSeedServer.java",
] ]
@@ -38,7 +42,7 @@ diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/
diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/VariationsSeedServer.java b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/VariationsSeedServer.java diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/VariationsSeedServer.java b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/VariationsSeedServer.java
--- a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/VariationsSeedServer.java --- a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/VariationsSeedServer.java
+++ b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/VariationsSeedServer.java +++ b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/VariationsSeedServer.java
@@ -30,8 +30,6 @@ public class VariationsSeedServer extends Service { @@ -31,8 +31,6 @@ public class VariationsSeedServer extends Service {
@Override @Override
public void getSeed(ParcelFileDescriptor newSeedFile, long oldSeedDate, public void getSeed(ParcelFileDescriptor newSeedFile, long oldSeedDate,
IVariationsSeedServerCallback callback) { IVariationsSeedServerCallback callback) {
@@ -47,31 +51,40 @@ 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 diff --git a/chrome/browser/metrics/chrome_browser_sampling_trials.cc b/chrome/browser/metrics/chrome_browser_sampling_trials.cc
--- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc --- a/chrome/browser/metrics/chrome_browser_sampling_trials.cc
+++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc +++ b/chrome/browser/metrics/chrome_browser_sampling_trials.cc
@@ -189,6 +189,8 @@ ChromeMetricsServicesManagerClient::GetMetricsStateManagerForTesting() { @@ -54,6 +54,8 @@ void CreateFallbackSamplingTrial(
void ChromeMetricsServicesManagerClient::CreateFallbackSamplingTrial( const std::string& feature_name,
version_info::Channel channel, const int sampled_in_rate_per_mille,
base::FeatureList* feature_list) { base::FeatureList* feature_list) {
+ if ((true)) + if ((true))
+ return; + return;
// The trial name must be kept in sync with the server config controlling scoped_refptr<base::FieldTrial> trial(
// sampling. If they don't match, then clients will be shuffled into different base::FieldTrialList::FactoryGetFieldTrial(
// groups when the server config takes over from the fallback trial. trial_name, /*total_probability=*/1000, "Default", entropy_provider));
diff --git a/components/ukm/ukm_recorder_impl.cc b/components/ukm/ukm_recorder_impl.cc @@ -93,6 +95,8 @@ void CreateFallbackUkmSamplingTrial(
--- a/components/ukm/ukm_recorder_impl.cc const base::FieldTrial::EntropyProvider& entropy_provider,
+++ b/components/ukm/ukm_recorder_impl.cc
@@ -192,6 +192,9 @@ UkmRecorderImpl::~UkmRecorderImpl() = default;
void UkmRecorderImpl::CreateFallbackSamplingTrial(
bool is_stable_channel, bool is_stable_channel,
base::FeatureList* feature_list) { base::FeatureList* feature_list) {
+ if ((true)) + if ((true))
+ return; + return;
+
static const char kSampledGroup_Stable[] = "Sampled_NoSeed_Stable"; static const char kSampledGroup_Stable[] = "Sampled_NoSeed_Stable";
static const char kSampledGroup_Other[] = "Sampled_NoSeed_Other"; static const char kSampledGroup_Other[] = "Sampled_NoSeed_Other";
const char* sampled_group = kSampledGroup_Other; const char* sampled_group = kSampledGroup_Other;
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
@@ -206,6 +206,9 @@ bool HasUnknownMetrics(const builders::DecodeMap& decode_map,
UkmRecorderImpl::UkmRecorderImpl()
: sampling_seed_(static_cast<uint32_t>(base::RandUint64())) {
+ if ((true))
+ return;
+
max_kept_sources_ =
static_cast<size_t>(base::GetFieldTrialParamByFeatureAsInt(
kUkmFeature, "MaxKeptSources", max_kept_sources_));
diff --git a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedBridge.java b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedBridge.java diff --git a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedBridge.java b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedBridge.java
--- a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedBridge.java --- a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedBridge.java
+++ b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedBridge.java +++ b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedBridge.java
@@ -87,16 +100,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 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 --- 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 +++ b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java
@@ -80,7 +80,7 @@ public class VariationsSeedFetcher { @@ -340,29 +340,13 @@ public class VariationsSeedFetcher {
}
private static final String VARIATIONS_SERVER_URL =
- "https://clientservices.googleapis.com/chrome-variations/seed?osname=";
+ "https://clientservices.9oo91apis.qjz9zk/chrome-variations/seed?osname=";
private static final int READ_TIMEOUT = 3000; // time in ms
private static final int REQUEST_TIMEOUT = 1000; // time in ms
@@ -337,29 +337,13 @@ public class VariationsSeedFetcher {
*/ */
public void fetchSeed(String restrictMode, String milestone, String channel) { public void fetchSeed(String restrictMode, String milestone, String channel) {
assert !ThreadUtils.runningOnUiThread(); assert !ThreadUtils.runningOnUiThread();
@@ -130,7 +134,7 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari
} }
private void recordFetchResultOrCode(int resultOrCode) { private void recordFetchResultOrCode(int resultOrCode) {
@@ -402,7 +386,7 @@ public class VariationsSeedFetcher { @@ -405,7 +389,7 @@ public class VariationsSeedFetcher {
* @param curSeedInfo optional currently saved seed info to set the `If-None-Match` header. * @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. * @return the object holds the request result and seed data with its related header fields.
*/ */
@@ -142,12 +146,14 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari
diff --git a/components/variations/net/omnibox_http_headers.cc b/components/variations/net/omnibox_http_headers.cc diff --git a/components/variations/net/omnibox_http_headers.cc b/components/variations/net/omnibox_http_headers.cc
--- a/components/variations/net/omnibox_http_headers.cc --- a/components/variations/net/omnibox_http_headers.cc
+++ b/components/variations/net/omnibox_http_headers.cc +++ b/components/variations/net/omnibox_http_headers.cc
@@ -21,7 +21,7 @@ const char kOmniboxOnDeviceSuggestionsHeader[] = @@ -21,8 +21,8 @@ const char kOmniboxOnDeviceSuggestionsHeader[] =
// Whether to enable reporting the header. Included as a quick escape hatch in // Whether to enable reporting the header. Included as a quick escape hatch in
// case of crashes. // case of crashes.
const base::Feature kReportOmniboxOnDeviceSuggestionsHeader{ BASE_FEATURE(kReportOmniboxOnDeviceSuggestionsHeader,
- "ReportOmniboxOnDeviceSuggestionsHeader", base::FEATURE_ENABLED_BY_DEFAULT}; - "ReportOmniboxOnDeviceSuggestionsHeader",
+ "ReportOmniboxOnDeviceSuggestionsHeader", base::FEATURE_DISABLED_BY_DEFAULT}; - base::FEATURE_ENABLED_BY_DEFAULT);
+ "ReportOmniboxOnDeviceSuggestionsHeader", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
std::string GetHeaderValue() { std::string GetHeaderValue() {
const std::string group = const std::string group =
@@ -167,7 +173,7 @@ 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 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 --- a/components/variations/service/variations_field_trial_creator.cc
+++ b/components/variations/service/variations_field_trial_creator.cc +++ b/components/variations/service/variations_field_trial_creator.cc
@@ -159,7 +159,8 @@ Study::CpuArchitecture GetCurrentCpuArchitecture() { @@ -158,7 +158,8 @@ Study::CpuArchitecture GetCurrentCpuArchitecture() {
// "--variations-server-url" switches are passed. It is however possible to // "--variations-server-url" switches are passed. It is however possible to
// apply the testing config as well as specify additional field trials (using // apply the testing config as well as specify additional field trials (using
// "--force-fieldtrials") by using the "--enable-field-trial-config" switch. // "--force-fieldtrials") by using the "--enable-field-trial-config" switch.
@@ -180,7 +186,7 @@ diff --git a/components/variations/service/variations_field_trial_creator.cc b/c
diff --git a/components/variations/service/variations_service.cc b/components/variations/service/variations_service.cc diff --git a/components/variations/service/variations_service.cc b/components/variations/service/variations_service.cc
--- a/components/variations/service/variations_service.cc --- a/components/variations/service/variations_service.cc
+++ b/components/variations/service/variations_service.cc +++ b/components/variations/service/variations_service.cc
@@ -235,17 +235,8 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers, @@ -220,17 +220,8 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
// Variations seed fetching is only enabled in official Chrome builds, if a URL // Variations seed fetching is only enabled in official Chrome builds, if a URL
// is specified on the command line, and for testing. // is specified on the command line, and for testing.
bool IsFetchingEnabled() { bool IsFetchingEnabled() {
@@ -199,8 +205,8 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
+ return false; + return false;
} }
std::unique_ptr<SeedResponse> MaybeImportFirstRunSeed( // Returns the already downloaded first run seed, and clear the seed from the
@@ -603,7 +594,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) { @@ -589,7 +580,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) {
// debugger or if the machine was suspended) and OnURLFetchComplete() hasn't // 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 // 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. // start a new request and just let the previous one finish.
@@ -209,5 +215,22 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
return false; return false;
last_request_was_http_retry_ = is_http_retry; last_request_was_http_retry_ = is_http_retry;
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
@@ -174,13 +174,6 @@ Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
WebVector<int> CopyInitiatorOriginTrials(
const Vector<OriginTrialFeature>& initiator_origin_trial_features) {
WebVector<int> result;
- for (auto feature : initiator_origin_trial_features) {
- // Convert from OriginTrialFeature to int. These values are passed between
- // blink navigations. OriginTrialFeature isn't visible outside of blink (and
- // doesn't need to be) so the values are transferred outside of blink as
- // ints and casted to OriginTrialFeature once being processed in blink.
- result.emplace_back(static_cast<int>(feature));
- }
return result;
}
-- --
2.25.1 2.25.1
+7 -6
View File
@@ -2,6 +2,7 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 19 Feb 2022 12:01:33 +0100 Date: Sat, 19 Feb 2022 12:01:33 +0100
Subject: Disable idle detection Subject: Disable idle detection
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
content/public/common/content_features.cc | 2 +- content/public/common/content_features.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
@@ -9,14 +10,14 @@ Subject: Disable idle detection
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc --- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc +++ b/content/public/common/content_features.cc
@@ -426,7 +426,7 @@ const base::Feature kGreaseUACH{"GreaseUACH", base::FEATURE_ENABLED_BY_DEFAULT}; @@ -501,7 +501,7 @@ BASE_FEATURE(kGreaseUACH, "GreaseUACH", base::FEATURE_ENABLED_BY_DEFAULT);
// This is intended as a kill switch for the Idle Detection feature. To enable
// this feature, the experimental web platform features flag should be set, // this feature, the experimental web platform features flag should be set,
// or the site should obtain an Origin Trial token. // or the site should obtain an Origin Trial token.
const base::Feature kIdleDetection{"IdleDetection", -BASE_FEATURE(kIdleDetection, "IdleDetection", base::FEATURE_ENABLED_BY_DEFAULT);
- base::FEATURE_ENABLED_BY_DEFAULT}; +BASE_FEATURE(kIdleDetection, "IdleDetection", base::FEATURE_DISABLED_BY_DEFAULT);
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Historically most navigations required IPC from browser to renderer and // A feature flag for the memory-backed code cache.
// from renderer back to browser. This was done to check for before-unload BASE_FEATURE(kInMemoryCodeCache,
-- --
2.25.1 2.25.1
@@ -2,19 +2,24 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Fri, 8 Oct 2021 00:30:26 +0200 Date: Fri, 8 Oct 2021 00:30:26 +0200
Subject: Disable lock icon in address bar by default Subject: Disable lock icon in address bar by default
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc | 2 +- components/omnibox/common/omnibox_features.cc | 4 ++--
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc b/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/common/omnibox_features.cc
--- a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc --- a/components/omnibox/common/omnibox_features.cc
+++ b/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc +++ b/components/omnibox/common/omnibox_features.cc
@@ -313,5 +313,5 @@ TemplateURLService* ChromeLocationBarModelDelegate::GetTemplateURLService() { @@ -459,8 +459,8 @@ BASE_FEATURE(kSiteSearchStarterPack,
void ChromeLocationBarModelDelegate::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) { // Experiment to introduce new security indicators for HTTPS.
registry->RegisterBooleanPref(omnibox::kPreventUrlElisionsInOmnibox, true); BASE_FEATURE(kUpdatedConnectionSecurityIndicators,
- registry->RegisterBooleanPref(omnibox::kLockIconInAddressBarEnabled, false); - "OmniboxUpdatedConnectionSecurityIndicators",
+ registry->RegisterBooleanPref(omnibox::kLockIconInAddressBarEnabled, true); - base::FEATURE_DISABLED_BY_DEFAULT);
} + "OmniboxUpdatedConnectionSecurityIndicators", // enabled by default
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
// Feature used to default typed navigations to use HTTPS instead of HTTP.
// This only applies to navigations that don't have a scheme such as
-- --
2.25.1 2.25.1
@@ -2,6 +2,8 @@ From: Daniel Micay <danielmicay@gmail.com>
Date: Thu, 4 Jul 2019 19:08:52 -0400 Date: Thu, 4 Jul 2019 19:08:52 -0400
Subject: Disable media router and remoting by default Subject: Disable media router and remoting by default
Original License: MIT - https://spdx.org/licenses/MIT.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
.../media/router/media_router_feature.cc | 27 ++++++------------- .../media/router/media_router_feature.cc | 27 ++++++-------------
chrome/browser/profiles/profile_impl.cc | 2 +- chrome/browser/profiles/profile_impl.cc | 2 +-
@@ -10,9 +12,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 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 --- a/chrome/browser/media/router/media_router_feature.cc
+++ b/chrome/browser/media/router/media_router_feature.cc +++ b/chrome/browser/media/router/media_router_feature.cc
@@ -50,26 +50,15 @@ const base::Feature kGlobalMediaControlsCastStartStop{ @@ -60,26 +60,15 @@ BASE_FEATURE(kGlobalMediaControlsCastStartStop,
#endif // !BUILDFLAG(IS_ANDROID) #endif // BUILDFLAG(IS_ANDROID)
-namespace { -namespace {
-const PrefService::Preference* GetMediaRouterPref( -const PrefService::Preference* GetMediaRouterPref(
@@ -43,7 +45,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
#if !BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_ANDROID)
if (!base::FeatureList::IsEnabled(kMediaRouter)) if (!base::FeatureList::IsEnabled(kMediaRouter))
return false; return false;
@@ -93,7 +82,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) { @@ -107,7 +96,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
return allowed; return allowed;
} }
return true; return true;
@@ -52,7 +54,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
#if !BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_ANDROID)
void RegisterLocalStatePrefs(PrefRegistrySimple* registry) { void RegisterLocalStatePrefs(PrefRegistrySimple* registry) {
@@ -106,7 +95,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) { @@ -120,7 +109,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
PrefRegistry::PUBLIC); PrefRegistry::PUBLIC);
registry->RegisterBooleanPref( registry->RegisterBooleanPref(
@@ -64,7 +66,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
--- a/chrome/browser/profiles/profile_impl.cc --- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc +++ b/chrome/browser/profiles/profile_impl.cc
@@ -417,7 +417,7 @@ void ProfileImpl::RegisterProfilePrefs( @@ -413,7 +413,7 @@ void ProfileImpl::RegisterProfilePrefs(
#endif #endif
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false); registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);
@@ -2,27 +2,28 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 27 Feb 2022 23:58:22 +0100 Date: Sun, 27 Feb 2022 23:58:22 +0100
Subject: Disable minidump upload scheduling Subject: Disable minidump upload scheduling
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
--- ---
chrome/browser/endpoint_fetcher/endpoint_fetcher.cc | 2 +- components/endpoint_fetcher/endpoint_fetcher.cc | 2 +-
.../minidump_uploader/MinidumpUploadJobService.java | 5 ++++- .../minidump_uploader/MinidumpUploadJobService.java | 5 ++++-
2 files changed, 5 insertions(+), 2 deletions(-) 2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoint_fetcher/endpoint_fetcher.cc
--- a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc --- a/components/endpoint_fetcher/endpoint_fetcher.cc
+++ b/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc +++ b/components/endpoint_fetcher/endpoint_fetcher.cc
@@ -337,7 +337,7 @@ void EndpointFetcher::OnResponseFetched( @@ -340,7 +340,7 @@ void EndpointFetcher::OnResponseFetched(
auto response = std::make_unique<EndpointResponse>(); }
// TODO(crbug.com/993393) Add more detailed error messaging } else {
std::string net_error = net::ErrorToString(simple_url_loader_->NetError()); std::string net_error = net::ErrorToString(net_error_code);
- VLOG(1) << __func__ << " with response error: " << net_error; - VLOG(1) << __func__ << " with response error: " << net_error;
+ LOG(ERROR) << __func__ << " with response error: " << net_error; + LOG(ERROR) << __func__ << " with response error: " << net_error;
response->response = "There was a response error"; response->response = "There was a response error";
simple_url_loader_.reset();
std::move(endpoint_fetcher_callback).Run(std::move(response)); std::move(endpoint_fetcher_callback).Run(std::move(response));
}
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 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 --- 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 +++ b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java
@@ -44,7 +44,10 @@ public abstract class MinidumpUploadJobService extends JobService { @@ -45,7 +45,10 @@ public abstract class MinidumpUploadJobService extends JobService {
* to build an upload job for scheduling. * to build an upload job for scheduling.
*/ */
public static void scheduleUpload(JobInfo.Builder jobInfoBuilder) { public static void scheduleUpload(JobInfo.Builder jobInfoBuilder) {

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