Compare commits

..
42 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
217 changed files with 12793 additions and 186169 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
# These are supported funding model platforms
liberapay: csagan5
patreon: csagan5
custom: https://www.bromite.org/#donate
+2 -1
View File
@@ -26,7 +26,7 @@ body:
required: true
- label: "I have updated Bromite to the latest version. The bug is reproducible on this latest version."
required: true
- label: "This is a bug report about the Bromite browser; not the website nor F-Droid nor anything else."
- 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
@@ -76,6 +76,7 @@ body:
multiple: false
description: What version of Android are you running?
options:
- 13
- 12.1
- 12.0
- 11
+40
View File
@@ -1,3 +1,43 @@
# 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)
+5 -1
View File
@@ -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.
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.
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
## 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.
+9 -1
View File
@@ -1,3 +1,5 @@
[![Stand With Ukraine](./banner2-direct.svg)](https://stand-with-ukraine.pp.ua/)
# Bromite - Take back your browser
<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>
@@ -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.
[&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`
@@ -153,6 +157,8 @@ New flags:
* `#certificate-transparency-enabled`, enabled by default; see https://chromium.googlesource.com/chromium/src/+/master/net/docs/certificate-transparency.md
* `#move-top-toolbar-to-bottom`, disabled by default
* `#site-engagement`, enabled by default
* `#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
@@ -210,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 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
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 @@
f62e5bffd9c2c0b8c221851fa8a032f02f105141-
56775bdf8d12f9d3e1a99fcf1dde6a7417522963-
+1 -1
View File
@@ -1 +1 @@
105.0.5195.147
109.0.5414.61
+1 -1
View File
@@ -1 +1 @@
5c842aa7b24e6252ccabc8bcac8dafa4fe8ad9cd
1b133d62395a6ad11c65997a1c24acffb3f73d9e
+1
View File
@@ -43,5 +43,6 @@ use_errorprone_java_compiler=false
use_gnome_keyring=false
use_official_google_api_keys=false
use_rtti=false
use_stable_package_name_for_trichrome=false
use_sysroot=false
webview_includes_weblayer=false
+31 -35
View File
@@ -3,7 +3,26 @@ do-not-hide-.orig-files.patch
Do-not-link-with-libatomic.patch
do-not-add-suffix-to-package-name.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
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
Bromite-package-name.patch
@@ -28,9 +47,7 @@ ungoogled-chromium-Disable-intranet-detector.patch
ungoogled-chromium-no-special-hosts-domains.patch
ungoogled-chromium-Disable-Gaia.patch
ungoogled-chromium-Disable-Network-Time-Tracker.patch
Disable-safe-browsing.patch
Disable-all-promo-dialogs.patch
Remove-signin-and-sync-integrations.patch
Disable-update-scheduler.patch
Add-English-only-search-engine.patch
Add-DuckDuckGo-Lite-search-engine.patch
@@ -52,8 +69,6 @@ Add-an-always-incognito-mode.patch
Keep-flag-to-allow-screenshots-in-Incognito-mode.patch
Add-option-to-not-persist-tabs-across-sessions.patch
Add-a-proxy-configuration-page.patch
Move-some-account-settings-back-to-privacy-settings.patch
Remove-contextual-search-manager.patch
Add-custom-tab-intents-privacy-option.patch
Disable-FLoC-and-privacy-sandbox.patch
History-number-of-days-privacy-setting.patch
@@ -68,14 +83,6 @@ autofill-miscellaneous.patch
Enable-native-Android-autofill.patch
first_run-deactivate-autoupdate-globally.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
Remove-price-shopping-commerce-integrations.patch
Remove-voice-recognition-integration.patch
Do-not-compile-QR-code-sharing.patch
Offer-builtin-autocomplete-for-chrome-flags.patch
Use-4-tile-rows-never-show-logo.patch
Disable-various-metrics.patch
@@ -87,7 +94,8 @@ Disable-offline-pages-in-CCT.patch
Disable-media-router-and-remoting-by-default.patch
Restore-Search-Ready-Omnibox-flag.patch
disable-AdsBlockedInfoBar.patch
Bromite-AdBlockUpdaterService.patch
Bromite-subresource-adblocker.patch
Bromite-auto-updater.patch
Replace-DoH-probe-domain-with-RIPE-domain.patch
Increase-number-of-autocomplete-matches-to-10.patch
Disable-requests-for-single-word-Omnibar-searches.patch
@@ -100,7 +108,7 @@ Disable-feeds-support-by-default.patch
Show-site-settings-for-cookies-javascript-and-ads.patch
Disable-DRM-media-origin-IDs-preprovisioning.patch
Disable-smart-selection-by-default.patch
Enable-user-agent-freeze-by-default.patch
Guard-for-user-agent-reduction.patch
AImageReader-CFI-crash-mitigations.patch
Add-menu-item-to-view-source.patch
Revert-removal-of-execution-context-address-space.patch
@@ -113,10 +121,8 @@ Disable-the-DIAL-repeating-discovery.patch
Block-qjz9zk-or-trk-requests.patch
Hardening-against-incognito-mode-detection.patch
Remove-weblayer-dependency-on-Play-Services.patch
Timezone-customization.patch
Restore-Simplified-NTP-launch.patch
Add-option-to-use-home-page-as-NTP.patch
Revert-the-removal-of-an-option-to-block-autoplay.patch
Disable-text-fragments-by-default.patch
disable-WebView-variations-support.patch
Enable-network-isolation-features.patch
@@ -124,32 +130,24 @@ Revert-flags-remove-num-raster-threads.patch
webview-Hard-no-to-persistent-histograms.patch
Ignore-enterprise-policies-for-secure-DNS.patch
Add-menu-item-to-bookmark-all-tabs.patch
Ask-user-before-closing-all-tabs.patch
Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
Add-option-to-force-tablet-UI.patch
Make-all-favicon-requests-on-demand.patch
Add-Alt-D-hotkey-to-focus-address-bar.patch
Remove-offline-measurement-background-task.patch
User-agent-customization.patch
Add-AllowUserCertificates-flag.patch
Add-IsCleartextPermitted-flag.patch
Unexpire-tab-groups-flags.patch
Add-flag-for-omnibox-autocomplete-filtering.patch
Revert-Delete-block-external-form-redirects.patch
Enable-IntentBlockExternalFormRedirectsNoGesture.patch
Add-flag-to-disable-external-intent-requests.patch
Enable-share-intent.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
mime_util-force-text-x-suse-ymp-to-be-downloaded.patch
Client-hints-overrides.patch
Disable-AGSA-by-default.patch
Allow-building-without-enable_reporting.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
Keep-empty-tabs-between-sessions.patch
Disable-third-party-origin-trials.patch
@@ -176,14 +174,10 @@ Add-lifetime-options-for-permissions.patch
Disable-crash-reporting.patch
Samsung-Note-9-SDK27-crazylinker-workaround.patch
Disable-TLS-resumption.patch
Partition-DNS-requests-by-top-frame-NIK.patch
Remove-mremap-from-seccomp-baseline-policy.patch
Move-navigation-bar-to-bottom.patch
Welcome-screen.patch
Content-settings-infrastructure.patch
Add-webGL-site-setting.patch
Add-site-engagement-flag.patch
Add-webRTC-site-settings.patch
Enable-Certificate-Transparency.patch
Invalidate-components-public-key.patch
Improve-plain-text-rendering-on-mobile.patch
@@ -194,15 +188,17 @@ Remove-preload-of-com.google.android.gms.fonts.patch
Partition-Blink-memory-cache.patch
Remove-navigator.connection-info.patch
Disable-PrivacyGuide.patch
Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
sharing-hub-always-use-visible-URL.patch
Re-introduce-kWebAuthCable.patch
Add-new-cache-check-function.patch
Stop-cross-origin-cache-hits.patch
Revert-clipboard-user-gesture-requirement-removal.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
+1
View File
@@ -43,5 +43,6 @@ use_errorprone_java_compiler=false
use_gnome_keyring=false
use_official_google_api_keys=false
use_rtti=false
use_stable_package_name_for_trichrome=false
use_sysroot=false
webview_includes_weblayer=false
-1
View File
@@ -1,4 +1,3 @@
AV1-codec-support.patch
exit-on-failure-of-inclusion.patch
Reintroduce-override_build_timestamp.patch
do-not-hide-.orig-files.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
File diff suppressed because one or more lines are too long
@@ -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
File diff suppressed because one or more lines are too long
@@ -30,9 +30,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
gpu/config/gpu_workaround_list.txt | 1 +
gpu/ipc/service/gpu_init.cc | 5 +++++
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 +
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
--- a/base/android/android_image_reader_compat.cc
@@ -84,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
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -2392,9 +2392,9 @@
"expiry_milestone": 106
@@ -2515,9 +2515,9 @@
"expiry_milestone": 115
},
{
- "name": "enable-image-reader",
@@ -126,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
--- a/gpu/config/gpu_finch_features.cc
+++ b/gpu/config/gpu_finch_features.cc
@@ -63,6 +63,11 @@ const base::Feature kUseGles2ForOopR {
@@ -64,6 +64,11 @@ BASE_FEATURE(kUseGles2ForOopR,
#endif
};
);
+
+// Use android AImageReader when playing videos with MediaPlayer.
@@ -142,17 +142,17 @@ diff --git a/gpu/config/gpu_finch_features.h b/gpu/config/gpu_finch_features.h
--- a/gpu/config/gpu_finch_features.h
+++ b/gpu/config/gpu_finch_features.h
@@ -17,6 +17,7 @@ namespace features {
GPU_EXPORT extern const base::Feature kUseGles2ForOopR;
GPU_EXPORT BASE_DECLARE_FEATURE(kUseGles2ForOopR);
// 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.
#if BUILDFLAG(IS_ANDROID)
GPU_EXPORT extern const base::Feature kAndroidSurfaceControl;
GPU_EXPORT BASE_DECLARE_FEATURE(kAndroidSurfaceControl);
diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
--- a/gpu/config/gpu_util.cc
+++ b/gpu/config/gpu_util.cc
@@ -122,6 +122,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus(
@@ -121,6 +121,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus(
#if !BUILDFLAG(IS_ANDROID)
return kGpuFeatureStatusDisabled;
#else
@@ -162,7 +162,7 @@ diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
if (!gpu_preferences.enable_android_surface_control)
return kGpuFeatureStatusDisabled;
@@ -345,6 +348,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] =
kGpuFeatureStatusBlocklisted;
}
@@ -182,13 +182,13 @@ diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list
disable_2d_canvas_auto_flush
disable_accelerated_av1_decode
+disable_aimagereader
disable_accelerated_av1_encode
disable_accelerated_h264_encode
disable_accelerated_hevc_decode
disable_accelerated_vp8_decode
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
--- a/gpu/ipc/service/gpu_init.cc
+++ b/gpu/ipc/service/gpu_init.cc
@@ -589,6 +589,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
@@ -626,6 +626,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
}
#endif // BUILDFLAG(IS_WIN)
@@ -231,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
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -756,6 +756,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
// Note: Has no effect if kMediaDrmPreprovisioning feature is disabled.
const base::Feature kMediaDrmPreprovisioningAtStartup{
"MediaDrmPreprovisioningAtStartup", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -758,6 +758,11 @@ BASE_FEATURE(kHardwareSecureDecryptionExperiment,
// Allows automatically disabling hardware secure Content Decryption Module
// (CDM) after failures or crashes to fallback to software secure CDMs. If this
// 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)
+const base::Feature kAImageReaderVideoOutput{"AImageReaderVideoOutput",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kAImageReaderVideoOutput,
+ "AImageReaderVideoOutput",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
// Enable picture in picture web api for android.
const base::Feature kPictureInPictureAPI{"PictureInPictureAPI",
// in playback failures.
BASE_FEATURE(kHardwareSecureDecryptionFallback,
"HardwareSecureDecryptionFallback",
diff --git a/media/base/media_switches.h b/media/base/media_switches.h
--- a/media/base/media_switches.h
+++ b/media/base/media_switches.h
@@ -233,6 +233,7 @@ MEDIA_EXPORT extern const base::Feature kForceHardwareAudioDecoders;
MEDIA_EXPORT extern const base::Feature kAllowNonSecureOverlays;
MEDIA_EXPORT extern const base::Feature kMediaControlsExpandGesture;
MEDIA_EXPORT extern const base::Feature kMediaDrmPersistentLicense;
+MEDIA_EXPORT extern const base::Feature kAImageReaderVideoOutput;
MEDIA_EXPORT extern const base::Feature kMediaDrmPreprovisioning;
MEDIA_EXPORT extern const base::Feature kMediaDrmPreprovisioningAtStartup;
MEDIA_EXPORT extern const base::Feature kCanPlayHls;
@@ -235,6 +235,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVp8TemporalLayerHWEncoding);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVp9kSVCHWEncoding);
#endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS)
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoBlitColorAccuracy);
+MEDIA_EXPORT BASE_DECLARE_FEATURE(kAImageReaderVideoOutput);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVp9kSVCHWDecoding);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kWakeLockOptimisationHiddenMuted);
MEDIA_EXPORT BASE_DECLARE_FEATURE(kWebContentsCaptureHiDpi);
--
2.25.1
@@ -1,47 +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
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../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
-60
View File
@@ -1,60 +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
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
third_party/libaom/BUILD.gn | 6 ++++--
third_party/libaom/libaom_srcs.gni | 5 +++++
2 files changed, 9 insertions(+), 2 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
@@ -666,6 +666,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",
--
2.25.1
@@ -5,22 +5,21 @@ 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 +++
.../chrome/browser/app/flags/ChromeCachedFlags.java | 1 +
chrome/browser/about_flags.cc | 6 +++++-
chrome/browser/flag_descriptions.cc | 5 +++++
chrome/browser/flag_descriptions.h | 3 +++
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++++
chrome/browser/flags/android/chrome_feature_list.h | 1 +
.../chromium/chrome/browser/flags/CachedFeatureFlags.java | 1 +
.../chromium/chrome/browser/flags/ChromeFeatureList.java | 3 +++
net/android/java/src/org/chromium/net/X509Util.java | 5 +++++
10 files changed, 31 insertions(+), 1 deletion(-)
.../src/org/chromium/chrome/browser/app/ChromeActivity.java | 3 +++
.../chromium/chrome/browser/app/flags/ChromeCachedFlags.java | 1 +
chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 5 +++++
chrome/browser/flag_descriptions.h | 3 +++
chrome/browser/flags/android/chrome_feature_list.cc | 5 +++++
chrome/browser/flags/android/chrome_feature_list.h | 1 +
.../org/chromium/chrome/browser/flags/ChromeFeatureList.java | 3 +++
net/android/java/src/org/chromium/net/X509Util.java | 5 +++++
9 files changed, 30 insertions(+)
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
@@ -222,6 +222,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.WebContents;
import org.chromium.content_public.common.ContentSwitches;
@@ -28,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.PrintingController;
import org.chromium.printing.PrintingControllerImpl;
@@ -939,6 +940,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -961,6 +962,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
UpdateMenuItemHelper.getInstance().onStart();
ChromeActivitySessionTracker.getInstance().onStartWithNative();
ChromeCachedFlags.getInstance().cacheNativeFlags();
@@ -40,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
--- 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
@@ -74,6 +74,7 @@ public class ChromeCachedFlags {
@@ -77,6 +77,7 @@ public class ChromeCachedFlags {
add(ChromeFeatureList.sAndroidAuxiliarySearch);
add(ChromeFeatureList.sAnonymousUpdateChecks);
add(ChromeFeatureList.sAppMenuMobileSiteOption);
+ add(ChromeFeatureList.sAllowUserCertificates);
add(ChromeFeatureList.sBackGestureRefactorAndroid);
add(ChromeFeatureList.sCctBrandTransparency);
add(ChromeFeatureList.sCctIncognito);
add(ChromeFeatureList.sCctIncognitoAvailableToThirdParty);
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3419,7 +3419,11 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-container-queries", flag_descriptions::kCSSContainerQueriesName,
flag_descriptions::kCSSContainerQueriesDescription, kOsAll,
FEATURE_VALUE_TYPE(blink::features::kCSSContainerQueries)},
-#if BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_ANDROID) // Bromite allow user certificates
@@ -8936,6 +8936,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kWin10TabSearchCaptionButton)},
#endif // BUILDFLAG(IS_WIN)
+ {"allow-user-certificates",
+ flag_descriptions::kAllowUserCertificatesName,
+ flag_descriptions::kAllowUserCertificatesDescription, kOsAndroid,
+ FEATURE_VALUE_TYPE(chrome::android::kAllowUserCertificates)},
{"explore-sites", flag_descriptions::kExploreSitesName,
flag_descriptions::kExploreSitesDescription, kOsAndroid,
FEATURE_WITH_PARAMS_VALUE_TYPE(chrome::android::kExploreSites,
{"omnibox-updated-connection-security-indicators",
flag_descriptions::kOmniboxUpdatedConnectionSecurityIndicatorsName,
flag_descriptions::kOmniboxUpdatedConnectionSecurityIndicatorsDescription,
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -82,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
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -39,6 +39,9 @@ namespace flag_descriptions {
@@ -40,6 +40,9 @@ namespace flag_descriptions {
// Cross-platform -------------------------------------------------------------
@@ -95,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
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -145,6 +145,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedInteractiveRefresh,
&feed::kFeedLoadingPlaceholder,
@@ -153,6 +153,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedReplaceAll,
&feed::kFeedShowSignInCommand,
&feed::kInterestFeedContentSuggestions,
+ &kAllowUserCertificates,
&feed::kInterestFeedV1ClicksAndViewsConditionalUpload,
&feed::kInterestFeedV2,
&feed::kInterestFeedV2Autoplay,
@@ -438,6 +439,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{
"AdaptiveButtonInTopToolbarCustomizationV2",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -469,6 +470,10 @@ BASE_FEATURE(kAllowNewIncognitoTabIntents,
"AllowNewIncognitoTabIntents",
base::FEATURE_ENABLED_BY_DEFAULT);
+const base::Feature kAllowUserCertificates = {
+ "AllowUserCertificates", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kAllowUserCertificates,
+ "AllowUserCertificates",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
const base::Feature kAddToHomescreenIPH{"AddToHomescreenIPH",
base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kFocusOmniboxInIncognitoTabIntents,
"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
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -12,6 +12,7 @@
namespace chrome {
namespace android {
+extern const base::Feature kAllowUserCertificates;
// Alphabetical:
extern const base::Feature kAdaptiveButtonInTopToolbar;
extern const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2;
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
@@ -50,6 +50,7 @@ public class CachedFeatureFlags {
ImmutableMap.<String, Boolean>builder()
.put(ChromeFeatureList.ANONYMOUS_UPDATE_CHECKS, true)
.put(ChromeFeatureList.APP_MENU_MOBILE_SITE_OPTION, false)
+ .put(ChromeFeatureList.ALLOW_USER_CERTIFICATES, false)
.put(ChromeFeatureList.BACK_GESTURE_REFACTOR, false)
.put(ChromeFeatureList.CCT_INCOGNITO, true)
.put(ChromeFeatureList.CCT_INCOGNITO_AVAILABLE_TO_THIRD_PARTY, false)
@@ -17,6 +17,7 @@ BASE_DECLARE_FEATURE(kAdaptiveButtonInTopToolbar);
BASE_DECLARE_FEATURE(kAdaptiveButtonInTopToolbarCustomizationV2);
BASE_DECLARE_FEATURE(kAddToHomescreenIPH);
BASE_DECLARE_FEATURE(kAllowNewIncognitoTabIntents);
+BASE_DECLARE_FEATURE(kAllowUserCertificates);
BASE_DECLARE_FEATURE(kAndroidScrollOptimizations);
BASE_DECLARE_FEATURE(kAndroidSearchEngineChoiceNotification);
BASE_DECLARE_FEATURE(kAssistantConsentModal);
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -193,6 +193,7 @@ public abstract class ChromeFeatureList {
@@ -162,6 +162,7 @@ public abstract class ChromeFeatureList {
}
/* Alphabetical: */
@@ -146,8 +133,8 @@ 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 ADAPTIVE_BUTTON_IN_TOP_TOOLBAR = "AdaptiveButtonInTopToolbar";
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2 =
@@ -600,6 +601,8 @@ public abstract class ChromeFeatureList {
public static final String FEED_ABLATION = "FeedAblation";
@@ -612,6 +613,8 @@ public abstract class ChromeFeatureList {
"SkipServiceWorkerForInstallPromot";
/* Alphabetical: */
+ public static final CachedFlag sAllowUserCertificates =
@@ -43,7 +43,7 @@ diff --git a/components/search_engines/search_engine_type.h b/components/search_
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc
--- a/components/search_engines/template_url_prepopulate_data.cc
+++ b/components/search_engines/template_url_prepopulate_data.cc
@@ -41,7 +41,7 @@ const PrepopulatedEngine* const engines_AE[] = {
@@ -42,7 +42,7 @@ const PrepopulatedEngine* const engines_AE[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -52,7 +52,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -50,7 +50,7 @@ const PrepopulatedEngine* const engines_AL[] = {
@@ -51,7 +51,7 @@ const PrepopulatedEngine* const engines_AL[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -61,7 +61,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -59,7 +59,7 @@ const PrepopulatedEngine* const engines_AR[] = {
@@ -60,7 +60,7 @@ const PrepopulatedEngine* const engines_AR[] = {
&googleen, &google,
&bing,
&yahoo_ar,
@@ -70,7 +70,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -67,7 +67,7 @@ const PrepopulatedEngine* const engines_AR[] = {
@@ -68,7 +68,7 @@ const PrepopulatedEngine* const engines_AR[] = {
const PrepopulatedEngine* const engines_AT[] = {
&googleen, &google,
&bing,
@@ -79,7 +79,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_at,
&ecosia,
};
@@ -77,7 +77,7 @@ const PrepopulatedEngine* const engines_AU[] = {
@@ -78,7 +78,7 @@ const PrepopulatedEngine* const engines_AU[] = {
&googleen, &google,
&bing,
&yahoo_au,
@@ -88,7 +88,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -86,7 +86,7 @@ const PrepopulatedEngine* const engines_BA[] = {
@@ -87,7 +87,7 @@ const PrepopulatedEngine* const engines_BA[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -97,7 +97,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -96,7 +96,7 @@ const PrepopulatedEngine* const engines_BE[] = {
@@ -97,7 +97,7 @@ const PrepopulatedEngine* const engines_BE[] = {
&bing,
&yahoo,
&ecosia,
@@ -106,7 +106,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Bulgaria
@@ -104,7 +104,7 @@ const PrepopulatedEngine* const engines_BG[] = {
@@ -105,7 +105,7 @@ const PrepopulatedEngine* const engines_BG[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -115,7 +115,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -113,7 +113,7 @@ const PrepopulatedEngine* const engines_BH[] = {
@@ -114,7 +114,7 @@ const PrepopulatedEngine* const engines_BH[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -124,7 +124,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -122,7 +122,7 @@ const PrepopulatedEngine* const engines_BI[] = {
@@ -123,7 +123,7 @@ const PrepopulatedEngine* const engines_BI[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -133,7 +133,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -131,7 +131,7 @@ const PrepopulatedEngine* const engines_BN[] = {
@@ -132,7 +132,7 @@ const PrepopulatedEngine* const engines_BN[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -142,7 +142,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -140,7 +140,7 @@ const PrepopulatedEngine* const engines_BO[] = {
@@ -141,7 +141,7 @@ const PrepopulatedEngine* const engines_BO[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -151,7 +151,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -149,7 +149,7 @@ const PrepopulatedEngine* const engines_BR[] = {
@@ -150,7 +150,7 @@ const PrepopulatedEngine* const engines_BR[] = {
&googleen, &google,
&bing,
&yahoo_br,
@@ -160,7 +160,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -159,7 +159,7 @@ const PrepopulatedEngine* const engines_BY[] = {
@@ -160,7 +160,7 @@ const PrepopulatedEngine* const engines_BY[] = {
&yandex_by,
&mail_ru,
&bing,
@@ -169,7 +169,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Belize
@@ -167,7 +167,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
@@ -168,7 +168,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -178,7 +178,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -176,7 +176,7 @@ const PrepopulatedEngine* const engines_CA[] = {
@@ -177,7 +177,7 @@ const PrepopulatedEngine* const engines_CA[] = {
&googleen, &google,
&bing,
&yahoo_ca,
@@ -187,7 +187,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -184,7 +184,7 @@ const PrepopulatedEngine* const engines_CA[] = {
@@ -185,7 +185,7 @@ const PrepopulatedEngine* const engines_CA[] = {
const PrepopulatedEngine* const engines_CH[] = {
&googleen, &google,
&bing,
@@ -196,7 +196,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
&yahoo_ch,
};
@@ -194,7 +194,7 @@ const PrepopulatedEngine* const engines_CL[] = {
@@ -195,7 +195,7 @@ const PrepopulatedEngine* const engines_CL[] = {
&googleen, &google,
&bing,
&yahoo_cl,
@@ -205,7 +205,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -213,7 +213,7 @@ const PrepopulatedEngine* const engines_CO[] = {
@@ -214,7 +214,7 @@ const PrepopulatedEngine* const engines_CO[] = {
&bing,
&yahoo_co,
&ecosia,
@@ -214,7 +214,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Costa Rica
@@ -221,7 +221,7 @@ const PrepopulatedEngine* const engines_CR[] = {
@@ -222,7 +222,7 @@ const PrepopulatedEngine* const engines_CR[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -223,7 +223,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -231,7 +231,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
@@ -232,7 +232,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
&seznam_cz,
&bing,
&yahoo,
@@ -232,7 +232,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Germany
@@ -239,7 +239,7 @@ const PrepopulatedEngine* const engines_DE[] = {
@@ -240,7 +240,7 @@ const PrepopulatedEngine* const engines_DE[] = {
&googleen, &google,
&bing,
&ecosia,
@@ -241,7 +241,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_de,
};
@@ -248,7 +248,7 @@ const PrepopulatedEngine* const engines_DK[] = {
@@ -249,7 +249,7 @@ const PrepopulatedEngine* const engines_DK[] = {
&googleen, &google,
&bing,
&yahoo_dk,
@@ -250,7 +250,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -257,7 +257,7 @@ const PrepopulatedEngine* const engines_DO[] = {
@@ -258,7 +258,7 @@ const PrepopulatedEngine* const engines_DO[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -259,7 +259,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -267,7 +267,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
@@ -268,7 +268,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
&bing,
&yahoo_fr,
&yandex_com,
@@ -268,7 +268,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Ecuador
@@ -276,7 +276,7 @@ const PrepopulatedEngine* const engines_EC[] = {
@@ -277,7 +277,7 @@ const PrepopulatedEngine* const engines_EC[] = {
&bing,
&yahoo,
&ecosia,
@@ -277,7 +277,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Estonia
@@ -284,7 +284,7 @@ const PrepopulatedEngine* const engines_EE[] = {
@@ -285,7 +285,7 @@ const PrepopulatedEngine* const engines_EE[] = {
&googleen, &google,
&bing,
&yandex_ru,
@@ -286,7 +286,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
};
@@ -294,7 +294,7 @@ const PrepopulatedEngine* const engines_EG[] = {
@@ -295,7 +295,7 @@ const PrepopulatedEngine* const engines_EG[] = {
&bing,
&yahoo,
&yandex_com,
@@ -295,7 +295,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Spain
@@ -302,7 +302,7 @@ const PrepopulatedEngine* const engines_ES[] = {
@@ -303,7 +303,7 @@ const PrepopulatedEngine* const engines_ES[] = {
&googleen, &google,
&bing,
&yahoo_es,
@@ -304,7 +304,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -311,7 +311,7 @@ const PrepopulatedEngine* const engines_FI[] = {
@@ -312,7 +312,7 @@ const PrepopulatedEngine* const engines_FI[] = {
&googleen, &google,
&bing,
&yahoo_fi,
@@ -313,7 +313,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -320,7 +320,7 @@ const PrepopulatedEngine* const engines_FO[] = {
@@ -321,7 +321,7 @@ const PrepopulatedEngine* const engines_FO[] = {
&googleen, &google,
&bing,
&yahoo_dk,
@@ -322,7 +322,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -338,7 +338,7 @@ const PrepopulatedEngine* const engines_GB[] = {
@@ -339,7 +339,7 @@ const PrepopulatedEngine* const engines_GB[] = {
&googleen, &google,
&bing,
&yahoo_uk,
@@ -331,7 +331,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -347,7 +347,7 @@ const PrepopulatedEngine* const engines_GR[] = {
@@ -348,7 +348,7 @@ const PrepopulatedEngine* const engines_GR[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -340,7 +340,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -356,7 +356,7 @@ const PrepopulatedEngine* const engines_GT[] = {
@@ -357,7 +357,7 @@ const PrepopulatedEngine* const engines_GT[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -349,7 +349,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -366,7 +366,7 @@ const PrepopulatedEngine* const engines_HK[] = {
@@ -367,7 +367,7 @@ const PrepopulatedEngine* const engines_HK[] = {
&yahoo_hk,
&bing,
&baidu,
@@ -358,7 +358,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Honduras
@@ -374,7 +374,7 @@ const PrepopulatedEngine* const engines_HN[] = {
@@ -375,7 +375,7 @@ const PrepopulatedEngine* const engines_HN[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -367,7 +367,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -383,7 +383,7 @@ const PrepopulatedEngine* const engines_HR[] = {
@@ -384,7 +384,7 @@ const PrepopulatedEngine* const engines_HR[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -376,7 +376,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -392,7 +392,7 @@ const PrepopulatedEngine* const engines_HU[] = {
@@ -393,7 +393,7 @@ const PrepopulatedEngine* const engines_HU[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -385,7 +385,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -402,7 +402,7 @@ const PrepopulatedEngine* const engines_ID[] = {
@@ -403,7 +403,7 @@ const PrepopulatedEngine* const engines_ID[] = {
&yahoo_id,
&bing,
&yandex_com,
@@ -394,7 +394,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Ireland
@@ -410,7 +410,7 @@ const PrepopulatedEngine* const engines_IE[] = {
@@ -411,7 +411,7 @@ const PrepopulatedEngine* const engines_IE[] = {
&googleen, &google,
&bing,
&yahoo_uk,
@@ -403,7 +403,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -420,7 +420,7 @@ const PrepopulatedEngine* const engines_IL[] = {
@@ -421,7 +421,7 @@ const PrepopulatedEngine* const engines_IL[] = {
&bing,
&yandex_ru,
&yahoo,
@@ -412,7 +412,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// India
@@ -428,7 +428,7 @@ const PrepopulatedEngine* const engines_IN[] = {
@@ -429,7 +429,7 @@ const PrepopulatedEngine* const engines_IN[] = {
&googleen, &google,
&bing,
&yahoo_in,
@@ -421,7 +421,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&info_com,
};
@@ -438,7 +438,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
@@ -439,7 +439,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
&bing,
&yahoo,
&yandex_tr,
@@ -430,7 +430,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Iran
@@ -447,14 +447,14 @@ const PrepopulatedEngine* const engines_IR[] = {
@@ -448,14 +448,14 @@ const PrepopulatedEngine* const engines_IR[] = {
&bing,
&yahoo,
&ask,
@@ -447,7 +447,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&ecosia,
};
@@ -464,7 +464,7 @@ const PrepopulatedEngine* const engines_IT[] = {
@@ -465,7 +465,7 @@ const PrepopulatedEngine* const engines_IT[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -456,7 +456,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -473,7 +473,7 @@ const PrepopulatedEngine* const engines_JM[] = {
@@ -474,7 +474,7 @@ const PrepopulatedEngine* const engines_JM[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -465,7 +465,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -482,7 +482,7 @@ const PrepopulatedEngine* const engines_JO[] = {
@@ -483,7 +483,7 @@ const PrepopulatedEngine* const engines_JO[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -474,7 +474,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -491,7 +491,7 @@ const PrepopulatedEngine* const engines_JP[] = {
@@ -492,7 +492,7 @@ const PrepopulatedEngine* const engines_JP[] = {
&googleen, &google,
&yahoo_jp,
&bing,
@@ -483,7 +483,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&baidu,
};
@@ -500,7 +500,7 @@ const PrepopulatedEngine* const engines_KE[] = {
@@ -501,7 +501,7 @@ const PrepopulatedEngine* const engines_KE[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -492,7 +492,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -518,7 +518,7 @@ const PrepopulatedEngine* const engines_KW[] = {
@@ -519,7 +519,7 @@ const PrepopulatedEngine* const engines_KW[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -501,7 +501,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -528,7 +528,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
@@ -529,7 +529,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
&yandex_kz,
&mail_ru,
&bing,
@@ -510,7 +510,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Lebanon
@@ -536,7 +536,7 @@ const PrepopulatedEngine* const engines_LB[] = {
@@ -537,7 +537,7 @@ const PrepopulatedEngine* const engines_LB[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -519,7 +519,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -544,7 +544,7 @@ const PrepopulatedEngine* const engines_LB[] = {
@@ -545,7 +545,7 @@ const PrepopulatedEngine* const engines_LB[] = {
const PrepopulatedEngine* const engines_LI[] = {
&googleen, &google,
&bing,
@@ -528,7 +528,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&ecosia,
};
@@ -554,7 +554,7 @@ const PrepopulatedEngine* const engines_LT[] = {
@@ -555,7 +555,7 @@ const PrepopulatedEngine* const engines_LT[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -537,7 +537,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&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[] = {
&googleen, &google,
&bing,
@@ -546,7 +546,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&ecosia,
};
@@ -573,7 +573,7 @@ const PrepopulatedEngine* const engines_LV[] = {
@@ -574,7 +574,7 @@ const PrepopulatedEngine* const engines_LV[] = {
&bing,
&yandex_ru,
&yahoo,
@@ -555,7 +555,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Libya
@@ -582,7 +582,7 @@ const PrepopulatedEngine* const engines_LY[] = {
@@ -583,7 +583,7 @@ const PrepopulatedEngine* const engines_LY[] = {
&bing,
&yahoo,
&yandex_com,
@@ -564,7 +564,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Morocco
@@ -591,14 +591,14 @@ const PrepopulatedEngine* const engines_MA[] = {
@@ -592,14 +592,14 @@ const PrepopulatedEngine* const engines_MA[] = {
&bing,
&yahoo_fr,
&yandex_com,
@@ -581,7 +581,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_fr,
&ecosia,
};
@@ -618,7 +618,7 @@ const PrepopulatedEngine* const engines_ME[] = {
@@ -619,7 +619,7 @@ const PrepopulatedEngine* const engines_ME[] = {
&bing,
&yahoo,
&yandex_ru,
@@ -590,7 +590,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Macedonia
@@ -626,7 +626,7 @@ const PrepopulatedEngine* const engines_MK[] = {
@@ -627,7 +627,7 @@ const PrepopulatedEngine* const engines_MK[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -599,7 +599,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -635,7 +635,7 @@ const PrepopulatedEngine* const engines_MX[] = {
@@ -636,7 +636,7 @@ const PrepopulatedEngine* const engines_MX[] = {
&googleen, &google,
&bing,
&yahoo_mx,
@@ -608,7 +608,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -644,7 +644,7 @@ const PrepopulatedEngine* const engines_MY[] = {
@@ -645,7 +645,7 @@ const PrepopulatedEngine* const engines_MY[] = {
&googleen, &google,
&bing,
&yahoo_my,
@@ -617,7 +617,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -653,7 +653,7 @@ const PrepopulatedEngine* const engines_NI[] = {
@@ -654,7 +654,7 @@ const PrepopulatedEngine* const engines_NI[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -626,7 +626,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -662,7 +662,7 @@ const PrepopulatedEngine* const engines_NL[] = {
@@ -663,7 +663,7 @@ const PrepopulatedEngine* const engines_NL[] = {
&googleen, &google,
&bing,
&yahoo_nl,
@@ -635,7 +635,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -671,7 +671,7 @@ const PrepopulatedEngine* const engines_NO[] = {
@@ -672,7 +672,7 @@ const PrepopulatedEngine* const engines_NO[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -644,7 +644,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -680,7 +680,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
@@ -681,7 +681,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
&googleen, &google,
&bing,
&yahoo_nz,
@@ -653,7 +653,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -689,7 +689,7 @@ const PrepopulatedEngine* const engines_OM[] = {
@@ -690,7 +690,7 @@ const PrepopulatedEngine* const engines_OM[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -662,7 +662,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&petal_search,
};
@@ -698,7 +698,7 @@ const PrepopulatedEngine* const engines_PA[] = {
@@ -699,7 +699,7 @@ const PrepopulatedEngine* const engines_PA[] = {
&googleen, &google,
&bing,
&yahoo_es,
@@ -671,7 +671,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -708,7 +708,7 @@ const PrepopulatedEngine* const engines_PE[] = {
@@ -709,7 +709,7 @@ const PrepopulatedEngine* const engines_PE[] = {
&bing,
&yahoo_pe,
&ecosia,
@@ -680,7 +680,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Philippines
@@ -717,7 +717,7 @@ const PrepopulatedEngine* const engines_PH[] = {
@@ -718,7 +718,7 @@ const PrepopulatedEngine* const engines_PH[] = {
&bing,
&yahoo,
&ecosia,
@@ -689,7 +689,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Pakistan
@@ -725,7 +725,7 @@ const PrepopulatedEngine* const engines_PK[] = {
@@ -726,7 +726,7 @@ const PrepopulatedEngine* const engines_PK[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -698,7 +698,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -734,7 +734,7 @@ const PrepopulatedEngine* const engines_PL[] = {
@@ -735,7 +735,7 @@ const PrepopulatedEngine* const engines_PL[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -707,7 +707,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -743,7 +743,7 @@ const PrepopulatedEngine* const engines_PR[] = {
@@ -744,7 +744,7 @@ const PrepopulatedEngine* const engines_PR[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -716,7 +716,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -752,7 +752,7 @@ const PrepopulatedEngine* const engines_PT[] = {
@@ -753,7 +753,7 @@ const PrepopulatedEngine* const engines_PT[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -725,7 +725,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -761,7 +761,7 @@ const PrepopulatedEngine* const engines_PY[] = {
@@ -762,7 +762,7 @@ const PrepopulatedEngine* const engines_PY[] = {
&googleen, &google,
&bing,
&yahoo_es,
@@ -734,7 +734,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -770,7 +770,7 @@ const PrepopulatedEngine* const engines_QA[] = {
@@ -771,7 +771,7 @@ const PrepopulatedEngine* const engines_QA[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -743,7 +743,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_tr,
};
@@ -779,7 +779,7 @@ const PrepopulatedEngine* const engines_RO[] = {
@@ -780,7 +780,7 @@ const PrepopulatedEngine* const engines_RO[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -752,7 +752,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_tr,
};
@@ -788,7 +788,7 @@ const PrepopulatedEngine* const engines_RS[] = {
@@ -789,7 +789,7 @@ const PrepopulatedEngine* const engines_RS[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -761,7 +761,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -798,7 +798,7 @@ const PrepopulatedEngine* const engines_RU[] = {
@@ -799,7 +799,7 @@ const PrepopulatedEngine* const engines_RU[] = {
&yandex_ru,
&mail_ru,
&bing,
@@ -770,7 +770,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Rwanda
@@ -806,7 +806,7 @@ const PrepopulatedEngine* const engines_RW[] = {
@@ -807,7 +807,7 @@ const PrepopulatedEngine* const engines_RW[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -779,7 +779,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -816,7 +816,7 @@ const PrepopulatedEngine* const engines_SA[] = {
@@ -817,7 +817,7 @@ const PrepopulatedEngine* const engines_SA[] = {
&bing,
&yahoo,
&yandex_com,
@@ -788,7 +788,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Sweden
@@ -824,7 +824,7 @@ const PrepopulatedEngine* const engines_SE[] = {
@@ -825,7 +825,7 @@ const PrepopulatedEngine* const engines_SE[] = {
&googleen, &google,
&bing,
&yahoo_se,
@@ -797,7 +797,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -833,7 +833,7 @@ const PrepopulatedEngine* const engines_SG[] = {
@@ -834,7 +834,7 @@ const PrepopulatedEngine* const engines_SG[] = {
&googleen, &google,
&bing,
&yahoo_sg,
@@ -806,7 +806,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&baidu,
};
@@ -841,7 +841,7 @@ const PrepopulatedEngine* const engines_SG[] = {
@@ -842,7 +842,7 @@ const PrepopulatedEngine* const engines_SG[] = {
const PrepopulatedEngine* const engines_SI[] = {
&googleen, &google,
&bing,
@@ -815,7 +815,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&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[] = {
&googleen, &google,
&bing,
@@ -824,7 +824,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&yandex_com,
};
@@ -860,7 +860,7 @@ const PrepopulatedEngine* const engines_SV[] = {
@@ -861,7 +861,7 @@ const PrepopulatedEngine* const engines_SV[] = {
&googleen, &google,
&bing,
&yahoo_es,
@@ -833,7 +833,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -870,7 +870,7 @@ const PrepopulatedEngine* const engines_SY[] = {
@@ -871,7 +871,7 @@ const PrepopulatedEngine* const engines_SY[] = {
&bing,
&yahoo,
&yandex_com,
@@ -842,7 +842,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Thailand
@@ -887,7 +887,7 @@ const PrepopulatedEngine* const engines_TN[] = {
@@ -888,7 +888,7 @@ const PrepopulatedEngine* const engines_TN[] = {
&googleen, &google,
&bing,
&yahoo_fr,
@@ -851,7 +851,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -897,7 +897,7 @@ const PrepopulatedEngine* const engines_TR[] = {
@@ -898,7 +898,7 @@ const PrepopulatedEngine* const engines_TR[] = {
&yandex_tr,
&yahoo_tr,
&bing,
@@ -860,7 +860,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Trinidad and Tobago
@@ -905,7 +905,7 @@ const PrepopulatedEngine* const engines_TT[] = {
@@ -906,7 +906,7 @@ const PrepopulatedEngine* const engines_TT[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -869,7 +869,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -915,7 +915,7 @@ const PrepopulatedEngine* const engines_TW[] = {
@@ -916,7 +916,7 @@ const PrepopulatedEngine* const engines_TW[] = {
&yahoo_tw,
&bing,
&baidu,
@@ -878,7 +878,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Tanzania
@@ -923,7 +923,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
@@ -924,7 +924,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -887,7 +887,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&baidu,
};
@@ -932,7 +932,7 @@ const PrepopulatedEngine* const engines_UA[] = {
@@ -933,7 +933,7 @@ const PrepopulatedEngine* const engines_UA[] = {
&googleen, &google,
&yandex_ua,
&bing,
@@ -896,7 +896,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
};
@@ -941,7 +941,7 @@ const PrepopulatedEngine* const engines_US[] = {
@@ -942,7 +942,7 @@ const PrepopulatedEngine* const engines_US[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -905,7 +905,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -950,7 +950,7 @@ const PrepopulatedEngine* const engines_UY[] = {
@@ -951,7 +951,7 @@ const PrepopulatedEngine* const engines_UY[] = {
&googleen, &google,
&bing,
&yahoo_es,
@@ -914,7 +914,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -959,7 +959,7 @@ const PrepopulatedEngine* const engines_VE[] = {
@@ -960,7 +960,7 @@ const PrepopulatedEngine* const engines_VE[] = {
&googleen, &google,
&bing,
&yahoo_es,
@@ -923,7 +923,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -978,7 +978,7 @@ const PrepopulatedEngine* const engines_YE[] = {
@@ -979,7 +979,7 @@ const PrepopulatedEngine* const engines_YE[] = {
&bing,
&yahoo,
&yandex_com,
@@ -932,7 +932,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// South Africa
@@ -986,7 +986,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
@@ -987,7 +987,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
&googleen, &google,
&bing,
&yahoo,
@@ -941,7 +941,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -995,7 +995,7 @@ const PrepopulatedEngine* const engines_ZW[] = {
@@ -996,7 +996,7 @@ const PrepopulatedEngine* const engines_ZW[] = {
&googleen, &google,
&bing,
&yahoo,
+108 -108
View File
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
--- a/components/search_engines/prepopulated_engines.json
+++ b/components/search_engines/prepopulated_engines.json
@@ -135,6 +135,27 @@
@@ -138,6 +138,27 @@
"id": 1
},
@@ -57,7 +57,7 @@ diff --git a/components/search_engines/search_engine_type.h b/components/search_
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc
--- a/components/search_engines/template_url_prepopulate_data.cc
+++ b/components/search_engines/template_url_prepopulate_data.cc
@@ -28,7 +28,7 @@ namespace {
@@ -29,7 +29,7 @@ namespace {
// Default (for countries with no better engine set)
const PrepopulatedEngine* const engines_default[] = {
@@ -66,7 +66,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
};
@@ -38,7 +38,7 @@ const PrepopulatedEngine* const engines_default[] = {
@@ -39,7 +39,7 @@ const PrepopulatedEngine* const engines_default[] = {
// clang-format off
// United Arab Emirates
const PrepopulatedEngine* const engines_AE[] = {
@@ -75,7 +75,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -47,7 +47,7 @@ const PrepopulatedEngine* const engines_AE[] = {
@@ -48,7 +48,7 @@ const PrepopulatedEngine* const engines_AE[] = {
// Albania
const PrepopulatedEngine* const engines_AL[] = {
@@ -84,7 +84,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -56,7 +56,7 @@ const PrepopulatedEngine* const engines_AL[] = {
@@ -57,7 +57,7 @@ const PrepopulatedEngine* const engines_AL[] = {
// Argentina
const PrepopulatedEngine* const engines_AR[] = {
@@ -93,7 +93,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_ar,
&duckduckgo,
@@ -65,7 +65,7 @@ const PrepopulatedEngine* const engines_AR[] = {
@@ -66,7 +66,7 @@ const PrepopulatedEngine* const engines_AR[] = {
// Austria
const PrepopulatedEngine* const engines_AT[] = {
@@ -102,7 +102,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo_at,
@@ -74,7 +74,7 @@ const PrepopulatedEngine* const engines_AT[] = {
@@ -75,7 +75,7 @@ const PrepopulatedEngine* const engines_AT[] = {
// Australia
const PrepopulatedEngine* const engines_AU[] = {
@@ -111,7 +111,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_au,
&duckduckgo,
@@ -83,7 +83,7 @@ const PrepopulatedEngine* const engines_AU[] = {
@@ -84,7 +84,7 @@ const PrepopulatedEngine* const engines_AU[] = {
// Bosnia and Herzegovina
const PrepopulatedEngine* const engines_BA[] = {
@@ -120,7 +120,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -92,7 +92,7 @@ const PrepopulatedEngine* const engines_BA[] = {
@@ -93,7 +93,7 @@ const PrepopulatedEngine* const engines_BA[] = {
// Belgium
const PrepopulatedEngine* const engines_BE[] = {
@@ -129,7 +129,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&ecosia,
@@ -101,7 +101,7 @@ const PrepopulatedEngine* const engines_BE[] = {
@@ -102,7 +102,7 @@ const PrepopulatedEngine* const engines_BE[] = {
// Bulgaria
const PrepopulatedEngine* const engines_BG[] = {
@@ -138,7 +138,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -110,7 +110,7 @@ const PrepopulatedEngine* const engines_BG[] = {
@@ -111,7 +111,7 @@ const PrepopulatedEngine* const engines_BG[] = {
// Bahrain
const PrepopulatedEngine* const engines_BH[] = {
@@ -147,7 +147,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -119,7 +119,7 @@ const PrepopulatedEngine* const engines_BH[] = {
@@ -120,7 +120,7 @@ const PrepopulatedEngine* const engines_BH[] = {
// Burundi
const PrepopulatedEngine* const engines_BI[] = {
@@ -156,7 +156,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -128,7 +128,7 @@ const PrepopulatedEngine* const engines_BI[] = {
@@ -129,7 +129,7 @@ const PrepopulatedEngine* const engines_BI[] = {
// Brunei
const PrepopulatedEngine* const engines_BN[] = {
@@ -165,7 +165,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -137,7 +137,7 @@ const PrepopulatedEngine* const engines_BN[] = {
@@ -138,7 +138,7 @@ const PrepopulatedEngine* const engines_BN[] = {
// Bolivia
const PrepopulatedEngine* const engines_BO[] = {
@@ -174,7 +174,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -146,7 +146,7 @@ const PrepopulatedEngine* const engines_BO[] = {
@@ -147,7 +147,7 @@ const PrepopulatedEngine* const engines_BO[] = {
// Brazil
const PrepopulatedEngine* const engines_BR[] = {
@@ -183,7 +183,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_br,
&duckduckgo,
@@ -155,7 +155,7 @@ const PrepopulatedEngine* const engines_BR[] = {
@@ -156,7 +156,7 @@ const PrepopulatedEngine* const engines_BR[] = {
// Belarus
const PrepopulatedEngine* const engines_BY[] = {
@@ -192,7 +192,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_by,
&mail_ru,
&bing,
@@ -164,7 +164,7 @@ const PrepopulatedEngine* const engines_BY[] = {
@@ -165,7 +165,7 @@ const PrepopulatedEngine* const engines_BY[] = {
// Belize
const PrepopulatedEngine* const engines_BZ[] = {
@@ -201,7 +201,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -173,7 +173,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
@@ -174,7 +174,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
// Canada
const PrepopulatedEngine* const engines_CA[] = {
@@ -210,7 +210,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_ca,
&duckduckgo,
@@ -182,7 +182,7 @@ const PrepopulatedEngine* const engines_CA[] = {
@@ -183,7 +183,7 @@ const PrepopulatedEngine* const engines_CA[] = {
// Switzerland
const PrepopulatedEngine* const engines_CH[] = {
@@ -219,7 +219,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&ecosia,
@@ -191,7 +191,7 @@ const PrepopulatedEngine* const engines_CH[] = {
@@ -192,7 +192,7 @@ const PrepopulatedEngine* const engines_CH[] = {
// Chile
const PrepopulatedEngine* const engines_CL[] = {
@@ -228,7 +228,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_cl,
&duckduckgo,
@@ -203,13 +203,13 @@ const PrepopulatedEngine* const engines_CN[] = {
@@ -204,13 +204,13 @@ const PrepopulatedEngine* const engines_CN[] = {
&sogou,
&baidu,
&bing,
@@ -244,7 +244,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_co,
&ecosia,
@@ -218,7 +218,7 @@ const PrepopulatedEngine* const engines_CO[] = {
@@ -219,7 +219,7 @@ const PrepopulatedEngine* const engines_CO[] = {
// Costa Rica
const PrepopulatedEngine* const engines_CR[] = {
@@ -253,7 +253,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -227,7 +227,7 @@ const PrepopulatedEngine* const engines_CR[] = {
@@ -228,7 +228,7 @@ const PrepopulatedEngine* const engines_CR[] = {
// Czech Republic
const PrepopulatedEngine* const engines_CZ[] = {
@@ -262,7 +262,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&seznam_cz,
&bing,
&yahoo,
@@ -236,7 +236,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
@@ -237,7 +237,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
// Germany
const PrepopulatedEngine* const engines_DE[] = {
@@ -271,7 +271,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&ecosia,
&duckduckgo,
@@ -245,7 +245,7 @@ const PrepopulatedEngine* const engines_DE[] = {
@@ -246,7 +246,7 @@ const PrepopulatedEngine* const engines_DE[] = {
// Denmark
const PrepopulatedEngine* const engines_DK[] = {
@@ -280,7 +280,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_dk,
&duckduckgo,
@@ -254,7 +254,7 @@ const PrepopulatedEngine* const engines_DK[] = {
@@ -255,7 +255,7 @@ const PrepopulatedEngine* const engines_DK[] = {
// Dominican Republic
const PrepopulatedEngine* const engines_DO[] = {
@@ -289,7 +289,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -263,7 +263,7 @@ const PrepopulatedEngine* const engines_DO[] = {
@@ -264,7 +264,7 @@ const PrepopulatedEngine* const engines_DO[] = {
// Algeria
const PrepopulatedEngine* const engines_DZ[] = {
@@ -298,7 +298,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_fr,
&yandex_com,
@@ -272,7 +272,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
@@ -273,7 +273,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
// Ecuador
const PrepopulatedEngine* const engines_EC[] = {
@@ -307,7 +307,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&ecosia,
@@ -281,7 +281,7 @@ const PrepopulatedEngine* const engines_EC[] = {
@@ -282,7 +282,7 @@ const PrepopulatedEngine* const engines_EC[] = {
// Estonia
const PrepopulatedEngine* const engines_EE[] = {
@@ -316,7 +316,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yandex_ru,
&duckduckgo,
@@ -290,7 +290,7 @@ const PrepopulatedEngine* const engines_EE[] = {
@@ -291,7 +291,7 @@ const PrepopulatedEngine* const engines_EE[] = {
// Egypt
const PrepopulatedEngine* const engines_EG[] = {
@@ -325,7 +325,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_com,
@@ -299,7 +299,7 @@ const PrepopulatedEngine* const engines_EG[] = {
@@ -300,7 +300,7 @@ const PrepopulatedEngine* const engines_EG[] = {
// Spain
const PrepopulatedEngine* const engines_ES[] = {
@@ -334,7 +334,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_es,
&duckduckgo,
@@ -308,7 +308,7 @@ const PrepopulatedEngine* const engines_ES[] = {
@@ -309,7 +309,7 @@ const PrepopulatedEngine* const engines_ES[] = {
// Finland
const PrepopulatedEngine* const engines_FI[] = {
@@ -343,7 +343,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_fi,
&duckduckgo,
@@ -317,7 +317,7 @@ const PrepopulatedEngine* const engines_FI[] = {
@@ -318,7 +318,7 @@ const PrepopulatedEngine* const engines_FI[] = {
// Faroe Islands
const PrepopulatedEngine* const engines_FO[] = {
@@ -352,7 +352,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_dk,
&duckduckgo,
@@ -326,7 +326,7 @@ const PrepopulatedEngine* const engines_FO[] = {
@@ -327,7 +327,7 @@ const PrepopulatedEngine* const engines_FO[] = {
// France
const PrepopulatedEngine* const engines_FR[] = {
@@ -361,7 +361,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_fr,
&qwant,
@@ -335,7 +335,7 @@ const PrepopulatedEngine* const engines_FR[] = {
@@ -336,7 +336,7 @@ const PrepopulatedEngine* const engines_FR[] = {
// United Kingdom
const PrepopulatedEngine* const engines_GB[] = {
@@ -370,7 +370,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_uk,
&duckduckgo,
@@ -344,7 +344,7 @@ const PrepopulatedEngine* const engines_GB[] = {
@@ -345,7 +345,7 @@ const PrepopulatedEngine* const engines_GB[] = {
// Greece
const PrepopulatedEngine* const engines_GR[] = {
@@ -379,7 +379,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -353,7 +353,7 @@ const PrepopulatedEngine* const engines_GR[] = {
@@ -354,7 +354,7 @@ const PrepopulatedEngine* const engines_GR[] = {
// Guatemala
const PrepopulatedEngine* const engines_GT[] = {
@@ -388,7 +388,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -362,7 +362,7 @@ const PrepopulatedEngine* const engines_GT[] = {
@@ -363,7 +363,7 @@ const PrepopulatedEngine* const engines_GT[] = {
// Hong Kong
const PrepopulatedEngine* const engines_HK[] = {
@@ -397,7 +397,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_hk,
&bing,
&baidu,
@@ -371,7 +371,7 @@ const PrepopulatedEngine* const engines_HK[] = {
@@ -372,7 +372,7 @@ const PrepopulatedEngine* const engines_HK[] = {
// Honduras
const PrepopulatedEngine* const engines_HN[] = {
@@ -406,7 +406,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -380,7 +380,7 @@ const PrepopulatedEngine* const engines_HN[] = {
@@ -381,7 +381,7 @@ const PrepopulatedEngine* const engines_HN[] = {
// Croatia
const PrepopulatedEngine* const engines_HR[] = {
@@ -415,7 +415,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -389,7 +389,7 @@ const PrepopulatedEngine* const engines_HR[] = {
@@ -390,7 +390,7 @@ const PrepopulatedEngine* const engines_HR[] = {
// Hungary
const PrepopulatedEngine* const engines_HU[] = {
@@ -424,7 +424,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -398,7 +398,7 @@ const PrepopulatedEngine* const engines_HU[] = {
@@ -399,7 +399,7 @@ const PrepopulatedEngine* const engines_HU[] = {
// Indonesia
const PrepopulatedEngine* const engines_ID[] = {
@@ -433,7 +433,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_id,
&bing,
&yandex_com,
@@ -407,7 +407,7 @@ const PrepopulatedEngine* const engines_ID[] = {
@@ -408,7 +408,7 @@ const PrepopulatedEngine* const engines_ID[] = {
// Ireland
const PrepopulatedEngine* const engines_IE[] = {
@@ -442,7 +442,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_uk,
&duckduckgo,
@@ -416,7 +416,7 @@ const PrepopulatedEngine* const engines_IE[] = {
@@ -417,7 +417,7 @@ const PrepopulatedEngine* const engines_IE[] = {
// Israel
const PrepopulatedEngine* const engines_IL[] = {
@@ -451,7 +451,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yandex_ru,
&yahoo,
@@ -425,7 +425,7 @@ const PrepopulatedEngine* const engines_IL[] = {
@@ -426,7 +426,7 @@ const PrepopulatedEngine* const engines_IL[] = {
// India
const PrepopulatedEngine* const engines_IN[] = {
@@ -460,7 +460,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_in,
&duckduckgo,
@@ -434,7 +434,7 @@ const PrepopulatedEngine* const engines_IN[] = {
@@ -435,7 +435,7 @@ const PrepopulatedEngine* const engines_IN[] = {
// Iraq
const PrepopulatedEngine* const engines_IQ[] = {
@@ -469,7 +469,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_tr,
@@ -443,7 +443,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
@@ -444,7 +444,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
// Iran
const PrepopulatedEngine* const engines_IR[] = {
@@ -478,7 +478,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&ask,
@@ -452,7 +452,7 @@ const PrepopulatedEngine* const engines_IR[] = {
@@ -453,7 +453,7 @@ const PrepopulatedEngine* const engines_IR[] = {
// Iceland
const PrepopulatedEngine* const engines_IS[] = {
@@ -487,7 +487,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo,
@@ -461,7 +461,7 @@ const PrepopulatedEngine* const engines_IS[] = {
@@ -462,7 +462,7 @@ const PrepopulatedEngine* const engines_IS[] = {
// Italy
const PrepopulatedEngine* const engines_IT[] = {
@@ -496,7 +496,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -470,7 +470,7 @@ const PrepopulatedEngine* const engines_IT[] = {
@@ -471,7 +471,7 @@ const PrepopulatedEngine* const engines_IT[] = {
// Jamaica
const PrepopulatedEngine* const engines_JM[] = {
@@ -505,7 +505,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -479,7 +479,7 @@ const PrepopulatedEngine* const engines_JM[] = {
@@ -480,7 +480,7 @@ const PrepopulatedEngine* const engines_JM[] = {
// Jordan
const PrepopulatedEngine* const engines_JO[] = {
@@ -514,7 +514,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -488,7 +488,7 @@ const PrepopulatedEngine* const engines_JO[] = {
@@ -489,7 +489,7 @@ const PrepopulatedEngine* const engines_JO[] = {
// Japan
const PrepopulatedEngine* const engines_JP[] = {
@@ -523,7 +523,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_jp,
&bing,
&duckduckgo,
@@ -497,7 +497,7 @@ const PrepopulatedEngine* const engines_JP[] = {
@@ -498,7 +498,7 @@ const PrepopulatedEngine* const engines_JP[] = {
// Kenya
const PrepopulatedEngine* const engines_KE[] = {
@@ -532,7 +532,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -506,7 +506,7 @@ const PrepopulatedEngine* const engines_KE[] = {
@@ -507,7 +507,7 @@ const PrepopulatedEngine* const engines_KE[] = {
// South Korea
const PrepopulatedEngine* const engines_KR[] = {
@@ -541,7 +541,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&naver,
&daum,
&bing,
@@ -515,7 +515,7 @@ const PrepopulatedEngine* const engines_KR[] = {
@@ -516,7 +516,7 @@ const PrepopulatedEngine* const engines_KR[] = {
// Kuwait
const PrepopulatedEngine* const engines_KW[] = {
@@ -550,7 +550,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -524,7 +524,7 @@ const PrepopulatedEngine* const engines_KW[] = {
@@ -525,7 +525,7 @@ const PrepopulatedEngine* const engines_KW[] = {
// Kazakhstan
const PrepopulatedEngine* const engines_KZ[] = {
@@ -559,7 +559,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_kz,
&mail_ru,
&bing,
@@ -533,7 +533,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
@@ -534,7 +534,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
// Lebanon
const PrepopulatedEngine* const engines_LB[] = {
@@ -568,7 +568,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -542,7 +542,7 @@ const PrepopulatedEngine* const engines_LB[] = {
@@ -543,7 +543,7 @@ const PrepopulatedEngine* const engines_LB[] = {
// Liechtenstein
const PrepopulatedEngine* const engines_LI[] = {
@@ -577,7 +577,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo,
@@ -551,7 +551,7 @@ const PrepopulatedEngine* const engines_LI[] = {
@@ -552,7 +552,7 @@ const PrepopulatedEngine* const engines_LI[] = {
// Lithuania
const PrepopulatedEngine* const engines_LT[] = {
@@ -586,7 +586,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -560,7 +560,7 @@ const PrepopulatedEngine* const engines_LT[] = {
@@ -561,7 +561,7 @@ const PrepopulatedEngine* const engines_LT[] = {
// Luxembourg
const PrepopulatedEngine* const engines_LU[] = {
@@ -595,7 +595,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo,
@@ -569,7 +569,7 @@ const PrepopulatedEngine* const engines_LU[] = {
@@ -570,7 +570,7 @@ const PrepopulatedEngine* const engines_LU[] = {
// Latvia
const PrepopulatedEngine* const engines_LV[] = {
@@ -604,7 +604,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yandex_ru,
&yahoo,
@@ -578,7 +578,7 @@ const PrepopulatedEngine* const engines_LV[] = {
@@ -579,7 +579,7 @@ const PrepopulatedEngine* const engines_LV[] = {
// Libya
const PrepopulatedEngine* const engines_LY[] = {
@@ -613,7 +613,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_com,
@@ -587,7 +587,7 @@ const PrepopulatedEngine* const engines_LY[] = {
@@ -588,7 +588,7 @@ const PrepopulatedEngine* const engines_LY[] = {
// Morocco
const PrepopulatedEngine* const engines_MA[] = {
@@ -622,7 +622,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_fr,
&yandex_com,
@@ -596,7 +596,7 @@ const PrepopulatedEngine* const engines_MA[] = {
@@ -597,7 +597,7 @@ const PrepopulatedEngine* const engines_MA[] = {
// Monaco
const PrepopulatedEngine* const engines_MC[] = {
@@ -631,7 +631,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo_fr,
@@ -605,7 +605,7 @@ const PrepopulatedEngine* const engines_MC[] = {
@@ -606,7 +606,7 @@ const PrepopulatedEngine* const engines_MC[] = {
// Moldova
const PrepopulatedEngine* const engines_MD[] = {
@@ -640,7 +640,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
&bing,
&mail_ru,
@@ -614,7 +614,7 @@ const PrepopulatedEngine* const engines_MD[] = {
@@ -615,7 +615,7 @@ const PrepopulatedEngine* const engines_MD[] = {
// Montenegro
const PrepopulatedEngine* const engines_ME[] = {
@@ -649,7 +649,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_ru,
@@ -623,7 +623,7 @@ const PrepopulatedEngine* const engines_ME[] = {
@@ -624,7 +624,7 @@ const PrepopulatedEngine* const engines_ME[] = {
// Macedonia
const PrepopulatedEngine* const engines_MK[] = {
@@ -658,7 +658,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -632,7 +632,7 @@ const PrepopulatedEngine* const engines_MK[] = {
@@ -633,7 +633,7 @@ const PrepopulatedEngine* const engines_MK[] = {
// Mexico
const PrepopulatedEngine* const engines_MX[] = {
@@ -667,7 +667,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_mx,
&duckduckgo,
@@ -641,7 +641,7 @@ const PrepopulatedEngine* const engines_MX[] = {
@@ -642,7 +642,7 @@ const PrepopulatedEngine* const engines_MX[] = {
// Malaysia
const PrepopulatedEngine* const engines_MY[] = {
@@ -676,7 +676,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_my,
&duckduckgo,
@@ -650,7 +650,7 @@ const PrepopulatedEngine* const engines_MY[] = {
@@ -651,7 +651,7 @@ const PrepopulatedEngine* const engines_MY[] = {
// Nicaragua
const PrepopulatedEngine* const engines_NI[] = {
@@ -685,7 +685,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -659,7 +659,7 @@ const PrepopulatedEngine* const engines_NI[] = {
@@ -660,7 +660,7 @@ const PrepopulatedEngine* const engines_NI[] = {
// Netherlands
const PrepopulatedEngine* const engines_NL[] = {
@@ -694,7 +694,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_nl,
&duckduckgo,
@@ -668,7 +668,7 @@ const PrepopulatedEngine* const engines_NL[] = {
@@ -669,7 +669,7 @@ const PrepopulatedEngine* const engines_NL[] = {
// Norway
const PrepopulatedEngine* const engines_NO[] = {
@@ -703,7 +703,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -677,7 +677,7 @@ const PrepopulatedEngine* const engines_NO[] = {
@@ -678,7 +678,7 @@ const PrepopulatedEngine* const engines_NO[] = {
// New Zealand
const PrepopulatedEngine* const engines_NZ[] = {
@@ -712,7 +712,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_nz,
&duckduckgo,
@@ -686,7 +686,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
@@ -687,7 +687,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
// Oman
const PrepopulatedEngine* const engines_OM[] = {
@@ -721,7 +721,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -695,7 +695,7 @@ const PrepopulatedEngine* const engines_OM[] = {
@@ -696,7 +696,7 @@ const PrepopulatedEngine* const engines_OM[] = {
// Panama
const PrepopulatedEngine* const engines_PA[] = {
@@ -730,7 +730,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_es,
&duckduckgo,
@@ -704,7 +704,7 @@ const PrepopulatedEngine* const engines_PA[] = {
@@ -705,7 +705,7 @@ const PrepopulatedEngine* const engines_PA[] = {
// Peru
const PrepopulatedEngine* const engines_PE[] = {
@@ -739,7 +739,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_pe,
&ecosia,
@@ -713,7 +713,7 @@ const PrepopulatedEngine* const engines_PE[] = {
@@ -714,7 +714,7 @@ const PrepopulatedEngine* const engines_PE[] = {
// Philippines
const PrepopulatedEngine* const engines_PH[] = {
@@ -748,7 +748,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&ecosia,
@@ -722,7 +722,7 @@ const PrepopulatedEngine* const engines_PH[] = {
@@ -723,7 +723,7 @@ const PrepopulatedEngine* const engines_PH[] = {
// Pakistan
const PrepopulatedEngine* const engines_PK[] = {
@@ -757,7 +757,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -731,7 +731,7 @@ const PrepopulatedEngine* const engines_PK[] = {
@@ -732,7 +732,7 @@ const PrepopulatedEngine* const engines_PK[] = {
// Poland
const PrepopulatedEngine* const engines_PL[] = {
@@ -766,7 +766,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -740,7 +740,7 @@ const PrepopulatedEngine* const engines_PL[] = {
@@ -741,7 +741,7 @@ const PrepopulatedEngine* const engines_PL[] = {
// Puerto Rico
const PrepopulatedEngine* const engines_PR[] = {
@@ -775,7 +775,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -749,7 +749,7 @@ const PrepopulatedEngine* const engines_PR[] = {
@@ -750,7 +750,7 @@ const PrepopulatedEngine* const engines_PR[] = {
// Portugal
const PrepopulatedEngine* const engines_PT[] = {
@@ -784,7 +784,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -758,7 +758,7 @@ const PrepopulatedEngine* const engines_PT[] = {
@@ -759,7 +759,7 @@ const PrepopulatedEngine* const engines_PT[] = {
// Paraguay
const PrepopulatedEngine* const engines_PY[] = {
@@ -793,7 +793,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_es,
&duckduckgo,
@@ -767,7 +767,7 @@ const PrepopulatedEngine* const engines_PY[] = {
@@ -768,7 +768,7 @@ const PrepopulatedEngine* const engines_PY[] = {
// Qatar
const PrepopulatedEngine* const engines_QA[] = {
@@ -802,7 +802,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -776,7 +776,7 @@ const PrepopulatedEngine* const engines_QA[] = {
@@ -777,7 +777,7 @@ const PrepopulatedEngine* const engines_QA[] = {
// Romania
const PrepopulatedEngine* const engines_RO[] = {
@@ -811,7 +811,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -785,7 +785,7 @@ const PrepopulatedEngine* const engines_RO[] = {
@@ -786,7 +786,7 @@ const PrepopulatedEngine* const engines_RO[] = {
// Serbia
const PrepopulatedEngine* const engines_RS[] = {
@@ -820,7 +820,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -794,7 +794,7 @@ const PrepopulatedEngine* const engines_RS[] = {
@@ -795,7 +795,7 @@ const PrepopulatedEngine* const engines_RS[] = {
// Russia
const PrepopulatedEngine* const engines_RU[] = {
@@ -829,7 +829,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
&mail_ru,
&bing,
@@ -803,7 +803,7 @@ const PrepopulatedEngine* const engines_RU[] = {
@@ -804,7 +804,7 @@ const PrepopulatedEngine* const engines_RU[] = {
// Rwanda
const PrepopulatedEngine* const engines_RW[] = {
@@ -838,7 +838,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -812,7 +812,7 @@ const PrepopulatedEngine* const engines_RW[] = {
@@ -813,7 +813,7 @@ const PrepopulatedEngine* const engines_RW[] = {
// Saudi Arabia
const PrepopulatedEngine* const engines_SA[] = {
@@ -847,7 +847,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_com,
@@ -821,7 +821,7 @@ const PrepopulatedEngine* const engines_SA[] = {
@@ -822,7 +822,7 @@ const PrepopulatedEngine* const engines_SA[] = {
// Sweden
const PrepopulatedEngine* const engines_SE[] = {
@@ -856,7 +856,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_se,
&duckduckgo,
@@ -830,7 +830,7 @@ const PrepopulatedEngine* const engines_SE[] = {
@@ -831,7 +831,7 @@ const PrepopulatedEngine* const engines_SE[] = {
// Singapore
const PrepopulatedEngine* const engines_SG[] = {
@@ -865,7 +865,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_sg,
&duckduckgo,
@@ -839,7 +839,7 @@ const PrepopulatedEngine* const engines_SG[] = {
@@ -840,7 +840,7 @@ const PrepopulatedEngine* const engines_SG[] = {
// Slovenia
const PrepopulatedEngine* const engines_SI[] = {
@@ -874,7 +874,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo,
@@ -848,7 +848,7 @@ const PrepopulatedEngine* const engines_SI[] = {
@@ -849,7 +849,7 @@ const PrepopulatedEngine* const engines_SI[] = {
// Slovakia
const PrepopulatedEngine* const engines_SK[] = {
@@ -883,7 +883,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo,
@@ -857,7 +857,7 @@ const PrepopulatedEngine* const engines_SK[] = {
@@ -858,7 +858,7 @@ const PrepopulatedEngine* const engines_SK[] = {
// El Salvador
const PrepopulatedEngine* const engines_SV[] = {
@@ -892,7 +892,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_es,
&duckduckgo,
@@ -866,7 +866,7 @@ const PrepopulatedEngine* const engines_SV[] = {
@@ -867,7 +867,7 @@ const PrepopulatedEngine* const engines_SV[] = {
// Syria
const PrepopulatedEngine* const engines_SY[] = {
@@ -901,7 +901,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_com,
@@ -875,7 +875,7 @@ const PrepopulatedEngine* const engines_SY[] = {
@@ -876,7 +876,7 @@ const PrepopulatedEngine* const engines_SY[] = {
// Thailand
const PrepopulatedEngine* const engines_TH[] = {
@@ -910,7 +910,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_th,
&yandex_ru,
@@ -884,7 +884,7 @@ const PrepopulatedEngine* const engines_TH[] = {
@@ -885,7 +885,7 @@ const PrepopulatedEngine* const engines_TH[] = {
// Tunisia
const PrepopulatedEngine* const engines_TN[] = {
@@ -919,7 +919,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_fr,
&duckduckgo,
@@ -893,7 +893,7 @@ const PrepopulatedEngine* const engines_TN[] = {
@@ -894,7 +894,7 @@ const PrepopulatedEngine* const engines_TN[] = {
// Turkey
const PrepopulatedEngine* const engines_TR[] = {
@@ -928,7 +928,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_tr,
&yahoo_tr,
&bing,
@@ -902,7 +902,7 @@ const PrepopulatedEngine* const engines_TR[] = {
@@ -903,7 +903,7 @@ const PrepopulatedEngine* const engines_TR[] = {
// Trinidad and Tobago
const PrepopulatedEngine* const engines_TT[] = {
@@ -937,7 +937,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -911,7 +911,7 @@ const PrepopulatedEngine* const engines_TT[] = {
@@ -912,7 +912,7 @@ const PrepopulatedEngine* const engines_TT[] = {
// Taiwan
const PrepopulatedEngine* const engines_TW[] = {
@@ -946,7 +946,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_tw,
&bing,
&baidu,
@@ -920,7 +920,7 @@ const PrepopulatedEngine* const engines_TW[] = {
@@ -921,7 +921,7 @@ const PrepopulatedEngine* const engines_TW[] = {
// Tanzania
const PrepopulatedEngine* const engines_TZ[] = {
@@ -955,7 +955,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -929,7 +929,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
@@ -930,7 +930,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
// Ukraine
const PrepopulatedEngine* const engines_UA[] = {
@@ -964,7 +964,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ua,
&bing,
&duckduckgo,
@@ -938,7 +938,7 @@ const PrepopulatedEngine* const engines_UA[] = {
@@ -939,7 +939,7 @@ const PrepopulatedEngine* const engines_UA[] = {
// United States
const PrepopulatedEngine* const engines_US[] = {
@@ -973,7 +973,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -947,7 +947,7 @@ const PrepopulatedEngine* const engines_US[] = {
@@ -948,7 +948,7 @@ const PrepopulatedEngine* const engines_US[] = {
// Uruguay
const PrepopulatedEngine* const engines_UY[] = {
@@ -982,7 +982,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_es,
&duckduckgo,
@@ -956,7 +956,7 @@ const PrepopulatedEngine* const engines_UY[] = {
@@ -957,7 +957,7 @@ const PrepopulatedEngine* const engines_UY[] = {
// Venezuela
const PrepopulatedEngine* const engines_VE[] = {
@@ -991,7 +991,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_es,
&duckduckgo,
@@ -965,7 +965,7 @@ const PrepopulatedEngine* const engines_VE[] = {
@@ -966,7 +966,7 @@ const PrepopulatedEngine* const engines_VE[] = {
// Vietnam
const PrepopulatedEngine* const engines_VN[] = {
@@ -1000,7 +1000,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&coccoc,
&yahoo,
&bing,
@@ -974,7 +974,7 @@ const PrepopulatedEngine* const engines_VN[] = {
@@ -975,7 +975,7 @@ const PrepopulatedEngine* const engines_VN[] = {
// Yemen
const PrepopulatedEngine* const engines_YE[] = {
@@ -1009,7 +1009,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_com,
@@ -983,7 +983,7 @@ const PrepopulatedEngine* const engines_YE[] = {
@@ -984,7 +984,7 @@ const PrepopulatedEngine* const engines_YE[] = {
// South Africa
const PrepopulatedEngine* const engines_ZA[] = {
@@ -1018,7 +1018,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -992,7 +992,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
@@ -993,7 +993,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
// Zimbabwe
const PrepopulatedEngine* const engines_ZW[] = {
@@ -8,15 +8,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++
net/base/features.cc | 3 +++
net/base/features.cc | 4 ++++
net/base/features.h | 2 ++
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
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -8561,6 +8561,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -9171,6 +9171,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kRequestDesktopSiteExceptionsName,
flag_descriptions::kRequestDesktopSiteExceptionsDescription, kOsAndroid,
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
@@ -30,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
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1629,6 +1629,10 @@ const char kHttpsOnlyModeDescription[] =
@@ -1651,6 +1651,10 @@ const char kHttpsOnlyModeDescription[] =
"Adds a setting under chrome://settings/security to opt-in to HTTPS-First "
"Mode.";
@@ -44,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
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -915,6 +915,9 @@ extern const char kHideShelfControlsInTabletModeDescription[];
@@ -935,6 +935,9 @@ extern const char kHideShelfControlsInTabletModeDescription[];
extern const char kHttpsOnlyModeName[];
extern const char kHttpsOnlyModeDescription[];
@@ -57,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
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -114,6 +114,9 @@ const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
const base::Feature kEncryptedClientHello{"EncryptedClientHello",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -113,6 +113,10 @@ BASE_FEATURE(kPartitionNelAndReportingByNetworkIsolationKey,
"PartitionNelAndReportingByNetworkIsolationKey", // must be enabled
base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
+const base::Feature kIsCleartextPermitted{"IsCleartextPermitted",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kIsCleartextPermitted,
+ "IsCleartextPermitted",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
const base::Feature kNetworkQualityEstimator{"NetworkQualityEstimator",
base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kEnableDoubleKeyNetworkAnonymizationKey,
"EnableDoubleKeyNetworkAnonymizationKey",
base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/net/base/features.h b/net/base/features.h
--- a/net/base/features.h
+++ b/net/base/features.h
@@ -33,6 +33,8 @@ NET_EXPORT extern const base::Feature kAvoidH2Reprioritization;
@@ -29,6 +29,8 @@ NET_EXPORT BASE_DECLARE_FEATURE(kAvoidH2Reprioritization);
// origin requests are restricted to contain at most the source origin.
NET_EXPORT extern const base::Feature kCapReferrerToOriginOnCrossOrigin;
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
// 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
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -211,6 +211,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)
@@ -3,11 +3,15 @@ Date: Thu, 29 Mar 2018 00:43:32 +0200
Subject: Add a proxy configuration page
Accessible from proxy settings and chrome://proxy
Allows to use a PAC script URL, automatic configuration and explicit proxy
settings.
Allows to use a PAC script URL, automatic configuration and explicit proxy settings.
Offer auto-complete for the proxy page URL.
Store proxy settings in LocalState instead of Profile, so that proxy is used
for SimpleURLLoaders as well.
Store proxy settings in LocalState instead of Profile, so that proxy is used 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
---
@@ -21,8 +25,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/prefs/browser_prefs.cc | 4 +
.../prefs/chrome_command_line_pref_store.cc | 2 +-
chrome/browser/resources/proxy_config.css | 61 +++
chrome/browser/resources/proxy_config.html | 79 ++++
chrome/browser/resources/proxy_config.js | 266 +++++++++++
chrome/browser/resources/proxy_config.html | 78 ++++
chrome/browser/resources/proxy_config.js | 267 +++++++++++
chrome/browser/ui/BUILD.gn | 2 +
.../webui/chrome_web_ui_controller_factory.cc | 3 +
chrome/browser/ui/webui/proxy_config_ui.cc | 418 ++++++++++++++++++
@@ -45,7 +49,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/values/values.xml b/chrome/android/java/res/values/values.xml
--- a/chrome/android/java/res/values/values.xml
+++ b/chrome/android/java/res/values/values.xml
@@ -25,6 +25,9 @@
@@ -27,6 +27,9 @@ found in the LICENSE file.
<!-- Compositor Tab Title Text -->
<bool name="compositor_tab_title_fake_bold_text">true</bool>
@@ -58,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
--- a/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"
xmlns:app="http://schemas.android.com/apk/res-auto">
@@ -72,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
--- 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
@@ -57,6 +57,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_CLEAR_BROWSING_DATA = "clear_browsing_data";
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
+ private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -271,6 +271,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
@@ -284,6 +284,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
#endif
@@ -95,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
--- a/chrome/browser/browser_resources.grd
+++ b/chrome/browser/browser_resources.grd
@@ -80,6 +80,12 @@
<include name="IDR_CONTACT_CENTER_INSIGHTS_MANIFEST" file="resources\chromeos\contact_center_insights\manifest.json" type="BINDATA" />
@@ -81,6 +81,12 @@
<include name="IDR_DESK_API_MANIFEST" file="resources\chromeos\desk_api\manifest.json" type="BINDATA" />
</if>
+ <!-- Bromite Proxy Configuration UI -->
@@ -130,18 +134,18 @@ diff --git a/chrome/browser/net/proxy_service_factory.cc b/chrome/browser/net/pr
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chromeos/ash/components/network/proxy/proxy_config_service_impl.h"
@@ -70,7 +74,20 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfProfile(
return std::make_unique<chromeos::ProxyConfigServiceImpl>(
return std::make_unique<ash::ProxyConfigServiceImpl>(
profile_prefs, local_state_prefs, nullptr);
#else
- return std::make_unique<PrefProxyConfigTrackerImpl>(profile_prefs, nullptr);
+ // Migrate from profile_prefs to local_state_prefs
+ if (local_state_prefs->GetBoolean("proxy_migrated") == false) {
+ const base::Value* dict =
+ profile_prefs->GetDictionary(proxy_config::prefs::kProxy);
+ const base::Value::Dict& dict =
+ profile_prefs->GetDict(proxy_config::prefs::kProxy);
+
+ 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->SetBoolean("proxy_migrated", true);
@@ -183,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
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -163,6 +163,8 @@
#include "printing/buildflags/buildflags.h"
@@ -167,6 +167,8 @@
#include "rlz/buildflags/buildflags.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
+#include "chrome/browser/net/proxy_service_factory.h"
+
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
#include "chrome/browser/background/background_mode_manager.h"
#endif
@@ -1045,6 +1047,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -1055,6 +1057,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
chrome::enterprise_util::RegisterLocalStatePrefs(registry);
component_updater::RegisterPrefs(registry);
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
@@ -204,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
--- a/chrome/browser/prefs/chrome_command_line_pref_store.cc
+++ b/chrome/browser/prefs/chrome_command_line_pref_store.cc
@@ -162,7 +162,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
SetValue(
proxy_config::prefs::kProxy,
std::make_unique<base::Value>(ProxyConfigDictionary::CreateFixedServers(
- proxy_server, bypass_list)),
+ proxy_server, bypass_list, false)),
WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS);
@@ -159,7 +159,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
command_line()->GetSwitchValueASCII(switches::kProxyBypassList);
SetValue(proxy_config::prefs::kProxy,
base::Value(ProxyConfigDictionary::CreateFixedServers(
- proxy_server, bypass_list)),
+ proxy_server, bypass_list, false)),
WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS);
}
}
diff --git a/chrome/browser/resources/proxy_config.css b/chrome/browser/resources/proxy_config.css
@@ -283,7 +287,7 @@ diff --git a/chrome/browser/resources/proxy_config.html b/chrome/browser/resourc
new file mode 100644
--- /dev/null
+++ b/chrome/browser/resources/proxy_config.html
@@ -0,0 +1,79 @@
@@ -0,0 +1,78 @@
+<!doctype html>
+<html>
+<head>
@@ -297,8 +301,7 @@ new file mode 100644
+<script src="chrome://resources/js/ios/web_ui.js"></script>
+</if>
+
+<script src="chrome://resources/js/assert.js"></script>
+<script src="chrome://resources/js/util.js"></script>
+<script type="module" src="chrome://resources/js/assert.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="proxy_config.css">
@@ -367,7 +370,7 @@ diff --git a/chrome/browser/resources/proxy_config.js b/chrome/browser/resources
new file mode 100644
--- /dev/null
+++ b/chrome/browser/resources/proxy_config.js
@@ -0,0 +1,266 @@
@@ -0,0 +1,267 @@
+/*
+ This file is part of Bromite.
+
@@ -385,6 +388,7 @@ new file mode 100644
+ 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';
+
+/**
@@ -637,8 +641,8 @@ new file mode 100644
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -283,6 +283,8 @@ static_library("ui") {
"webui/metrics_handler.h",
@@ -287,6 +287,8 @@ static_library("ui") {
"webui/metrics_internals/metrics_internals_ui.h",
"webui/net_export_ui.cc",
"webui/net_export_ui.h",
+ "webui/proxy_config_ui.cc",
@@ -649,7 +653,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -57,6 +57,7 @@
@@ -60,6 +60,7 @@
#include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h"
#include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
#include "chrome/browser/ui/webui/policy/policy_ui.h"
@@ -657,8 +661,8 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
#include "chrome/browser/ui/webui/predictors/predictors_ui.h"
#include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h"
#include "chrome/browser/ui/webui/signin_internals_ui.h"
@@ -779,6 +780,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<MemoryInternalsUI>;
@@ -801,6 +802,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<MetricsInternalsUI>;
if (url.host_piece() == chrome::kChromeUINetExportHost)
return &NewWebUI<NetExportUI>;
+ if (url.host_piece() == chrome::kChromeUIProxyConfigHost)
@@ -930,9 +934,9 @@ new file mode 100644
+ net::ProxyConfigWithAnnotation config;
+ auto availability = proxy_config_service_->GetLatestProxyConfig(&config);
+
+ const base::Value* dict =
+ pref_service_->GetDictionary(proxy_config::prefs::kProxy);
+ ProxyConfigDictionary proxy_dict(dict->Clone());
+ const PrefService::Preference* const pref =
+ pref_service_->FindPreference(proxy_config::prefs::kProxy);
+ ProxyConfigDictionary proxy_dict(pref->GetValue()->GetDict().Clone());
+ ProxyPrefs::ProxyMode mode;
+ if (!proxy_dict.GetMode(&mode) || mode == ProxyPrefs::MODE_SYSTEM) {
+ availability = net::ProxyConfigService::CONFIG_UNSET;
@@ -944,8 +948,8 @@ new file mode 100644
+void ProxyConfigMessageHandler::OnClear(const base::Value::List& list) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+
+ const base::Value cfg = ProxyConfigDictionary::CreateSystem();
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg);
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreateSystem();
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ pref_service_->CommitPendingWrite();
+ OnEnableNotifyUIWithState(list);
+}
@@ -1056,22 +1060,22 @@ new file mode 100644
+
+void ProxyConfigMessageHandler::apply(const net::ProxyConfig& proxyConfig) {
+ if (proxyConfig.auto_detect()) {
+ const base::Value cfg = ProxyConfigDictionary::CreateAutoDetect();
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg);
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreateAutoDetect();
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ } else if (proxyConfig.has_pac_url()) {
+ const base::Value cfg = ProxyConfigDictionary::CreatePacScript(proxyConfig.pac_url().spec(), proxyConfig.pac_mandatory());
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg);
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreatePacScript(proxyConfig.pac_url().spec(), proxyConfig.pac_mandatory());
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ } else if (proxyConfig.proxy_rules().type == net::ProxyConfig::ProxyRules::Type::EMPTY) {
+ const base::Value cfg = ProxyConfigDictionary::CreateDirect();
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg);
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreateDirect();
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ } else {
+ auto proxyRulesAsString = proxyConfig.proxy_rules().ToString();
+ auto bypassRulesAsString = proxyConfig.proxy_rules().bypass_rules.ToString();
+
+ // fixed servers
+ const base::Value cfg = ProxyConfigDictionary::CreateFixedServers(proxyRulesAsString,
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreateFixedServers(proxyRulesAsString,
+ 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();
+
@@ -1128,7 +1132,7 @@ new file mode 100644
diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc
--- a/chrome/common/webui_url_constants.cc
+++ b/chrome/common/webui_url_constants.cc
@@ -46,6 +46,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
@@ -47,6 +47,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
const char kChromeUICertificateViewerURL[] = "chrome://view-cert/";
const char kChromeUIChromeSigninHost[] = "chrome-signin";
const char kChromeUIChromeSigninURL[] = "chrome://chrome-signin/";
@@ -1137,7 +1141,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
const char kChromeUIChromeURLsHost[] = "chrome-urls";
const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/";
const char kChromeUIComponentsHost[] = "components";
@@ -432,6 +434,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
@@ -446,6 +448,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
kChromeUILockScreenNetworkHost,
kChromeUILockScreenStartReauthHost,
kChromeUIMobileSetupHost,
@@ -1145,7 +1149,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
kChromeUIMultiDeviceSetupHost,
kChromeUINetworkHost,
kChromeUINotificationTesterHost,
@@ -692,6 +695,7 @@ const char* const kChromeHostURLs[] = {
@@ -718,6 +721,7 @@ const char* const kChromeHostURLs[] = {
#if !BUILDFLAG(IS_ANDROID)
#if !BUILDFLAG(IS_CHROMEOS_ASH)
kChromeUIAppLauncherPageHost,
@@ -1156,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
--- a/chrome/common/webui_url_constants.h
+++ b/chrome/common/webui_url_constants.h
@@ -133,6 +133,8 @@ extern const char kChromeUIMemoryInternalsHost[];
@@ -134,6 +134,8 @@ extern const char kChromeUIMetricsInternalsHost[];
extern const char kChromeUINTPTilesInternalsHost[];
extern const char kChromeUINaClHost[];
extern const char kChromeUINetExportHost[];
@@ -1168,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
--- a/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)) {
proxy_config.proxy_rules().bypass_rules.ParseFromString(proxy_bypass);
}
@@ -1188,46 +1192,47 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
} // namespace
@@ -78,6 +80,14 @@ bool ProxyConfigDictionary::HasBypassList() const {
return dict_.FindKey(kProxyBypassList);
@@ -76,6 +78,14 @@ bool ProxyConfigDictionary::HasBypassList() const {
return dict_.Find(kProxyBypassList);
}
+bool ProxyConfigDictionary::HasReverseBypass() const {
+ const base::Value* value = dict_.FindKey(kProxyReverseBypass);
+ const base::Value* value = dict_.Find(kProxyReverseBypass);
+ if (!value || !value->is_bool()) {
+ return false;
+ }
+ return value->GetBool();
+}
+
const base::Value& ProxyConfigDictionary::GetDictionary() const {
const base::Value::Dict& ProxyConfigDictionary::GetDictionary() const {
return dict_;
}
@@ -85,29 +95,30 @@ const base::Value& ProxyConfigDictionary::GetDictionary() const {
@@ -83,13 +93,13 @@ const base::Value::Dict& ProxyConfigDictionary::GetDictionary() const {
// static
base::Value ProxyConfigDictionary::CreateDirect() {
base::Value::Dict ProxyConfigDictionary::CreateDirect() {
return CreateDictionary(ProxyPrefs::MODE_DIRECT, std::string(), false,
- std::string(), std::string());
+ std::string(), std::string(), false);
}
// static
base::Value ProxyConfigDictionary::CreateAutoDetect() {
base::Value::Dict ProxyConfigDictionary::CreateAutoDetect() {
return CreateDictionary(ProxyPrefs::MODE_AUTO_DETECT, std::string(), false,
- std::string(), std::string());
+ std::string(), std::string(), false);
}
// static
base::Value ProxyConfigDictionary::CreatePacScript(const std::string& pac_url,
bool pac_mandatory) {
@@ -97,16 +107,17 @@ base::Value::Dict ProxyConfigDictionary::CreatePacScript(
const std::string& pac_url,
bool pac_mandatory) {
return CreateDictionary(ProxyPrefs::MODE_PAC_SCRIPT, pac_url, pac_mandatory,
- std::string(), std::string());
+ std::string(), std::string(), false);
}
// static
base::Value ProxyConfigDictionary::CreateFixedServers(
base::Value::Dict ProxyConfigDictionary::CreateFixedServers(
const std::string& proxy_server,
- const std::string& bypass_list) {
+ const std::string& bypass_list,
@@ -1239,33 +1244,33 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
} else {
return CreateDirect();
}
@@ -116,7 +127,7 @@ base::Value ProxyConfigDictionary::CreateFixedServers(
@@ -115,7 +126,7 @@ base::Value::Dict ProxyConfigDictionary::CreateFixedServers(
// static
base::Value ProxyConfigDictionary::CreateSystem() {
base::Value::Dict ProxyConfigDictionary::CreateSystem() {
return CreateDictionary(ProxyPrefs::MODE_SYSTEM, std::string(), false,
- std::string(), std::string());
+ std::string(), std::string(), false);
}
// static
@@ -125,7 +136,8 @@ base::Value ProxyConfigDictionary::CreateDictionary(
@@ -124,7 +135,8 @@ base::Value::Dict ProxyConfigDictionary::CreateDictionary(
const std::string& pac_url,
bool pac_mandatory,
const std::string& proxy_server,
- const std::string& bypass_list) {
+ const std::string& bypass_list,
+ bool reverse_bypass) {
base::Value dict(base::Value::Type::DICTIONARY);
dict.SetKey(kProxyMode, base::Value(ProxyModeToString(mode)));
base::Value::Dict dict;
dict.Set(kProxyMode, base::Value(ProxyModeToString(mode)));
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())
dict.SetKey(kProxyServer, base::Value(proxy_server));
dict.Set(kProxyServer, base::Value(proxy_server));
- if (!bypass_list.empty())
+ if (!bypass_list.empty()) {
dict.SetKey(kProxyBypassList, base::Value(bypass_list));
+ dict.SetKey(kProxyReverseBypass, base::Value(reverse_bypass));
dict.Set(kProxyBypassList, base::Value(bypass_list));
+ dict.Set(kProxyReverseBypass, base::Value(reverse_bypass));
+ }
return dict;
}
@@ -1279,37 +1284,37 @@ diff --git a/components/proxy_config/proxy_config_dictionary.h b/components/prox
bool HasBypassList() const;
+ bool HasReverseBypass() const;
const base::Value& GetDictionary() const;
const base::Value::Dict& GetDictionary() const;
@@ -50,7 +51,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary {
static base::Value CreatePacScript(const std::string& pac_url,
bool pac_mandatory);
static base::Value CreateFixedServers(const std::string& proxy_server,
- const std::string& bypass_list);
+ const std::string& bypass_list,
+ bool reverse_bypass);
static base::Value CreateSystem();
static base::Value::Dict CreatePacScript(const std::string& pac_url,
bool pac_mandatory);
static base::Value::Dict CreateFixedServers(const std::string& proxy_server,
- const std::string& bypass_list);
+ const std::string& bypass_list,
+ bool reverse_bypass);
static base::Value::Dict CreateSystem();
// Encodes the proxy server as "<url-scheme>=<proxy-scheme>://<proxy>".
@@ -66,7 +68,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary {
const std::string& pac_url,
bool pac_mandatory,
const std::string& proxy_server,
- const std::string& bypass_list);
+ const std::string& bypass_list,
+ bool reverse_bypass);
const std::string& pac_url,
bool pac_mandatory,
const std::string& proxy_server,
- const std::string& bypass_list);
+ const std::string& bypass_list,
+ 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
--- a/components/proxy_config/proxy_policy_handler.cc
+++ b/components/proxy_config/proxy_policy_handler.cc
@@ -260,7 +260,7 @@ void ProxyPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
ProxyConfigDictionary::CreateFixedServers(
server->GetString(), bypass_list && bypass_list->is_string()
? bypass_list->GetString()
- : std::string()));
+ : std::string(), false));
@@ -263,7 +263,7 @@ void ProxyPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
set_proxy_pref_value(ProxyConfigDictionary::CreateFixedServers(
server->GetString(), bypass_list && bypass_list->is_string()
? bypass_list->GetString()
- : std::string()));
+ : std::string(), false));
}
break;
}
File diff suppressed because it is too large Load Diff
@@ -29,7 +29,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../DownloadLocationDialogCoordinator.java | 8 +-
chrome/browser/flag_descriptions.cc | 5 +
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 +
.../browser/flags/ChromeFeatureList.java | 1 +
chrome/browser/importer/profile_writer.cc | 12 +
@@ -45,12 +45,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
ui/shell_dialogs/select_file_dialog.h | 2 +
.../select_file_dialog_android.cc | 6 +
ui/shell_dialogs/select_file_dialog_android.h | 2 +
35 files changed, 847 insertions(+), 29 deletions(-)
35 files changed, 848 insertions(+), 29 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
@@ -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"
android:usesPermissionFlags="neverForLocation"/>
@@ -61,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
--- a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml
+++ b/chrome/android/java/res/menu/bookmark_action_bar_menu.xml
@@ -21,6 +21,20 @@
@@ -23,6 +23,20 @@ found in the LICENSE file.
android:visible="false"
app:showAsAction="ifRoom"
app:iconTint="@color/default_icon_color_secondary_tint_list" />
@@ -185,7 +185,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
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
@@ -88,6 +88,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -84,6 +84,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
} else if (menuItem.getItemId() == R.id.search_menu_id) {
mDelegate.openSearchUI();
return true;
@@ -198,7 +198,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
SelectionDelegate<BookmarkId> selectionDelegate = mDelegate.getSelectionDelegate();
@@ -139,6 +145,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -149,6 +155,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
void showLoadingUi() {
setTitle(null);
setNavigationButton(NAVIGATION_BUTTON_NONE);
@@ -207,7 +207,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.search_menu_id).setVisible(false);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -148,6 +156,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -158,6 +166,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
super.showNormalView();
if (mDelegate == null) {
@@ -216,7 +216,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.search_menu_id).setVisible(false);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -177,6 +187,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -187,6 +197,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@Override
public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
@@ -249,7 +249,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import android.text.TextUtils;
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.List;
@@ -282,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
* 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());
}
@@ -492,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.
* @param query Keyword used for searching bookmarks.
@@ -1303,6 +1545,39 @@ public class BookmarkBridge {
@@ -869,6 +1111,39 @@ class BookmarkBridge {
depthList.add(depth);
}
@@ -532,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) {
List<Pair<Integer, Integer>> pairList = new ArrayList<Pair<Integer, Integer>>();
for (int i = 0; i < left.length; i++) {
@@ -1374,6 +1649,9 @@ public class BookmarkBridge {
@@ -901,6 +1176,9 @@ class BookmarkBridge {
int getChildCount(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type);
void getChildIDs(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type,
List<BookmarkId> bookmarksList);
@@ -545,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
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
@@ -66,6 +66,16 @@ public interface BookmarkDelegate {
@@ -79,6 +79,16 @@ public interface BookmarkDelegate {
*/
void openSearchUI();
@@ -574,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.favicon.LargeIconBridge;
import org.chromium.url.GURL;
@@ -58,6 +60,8 @@ public class BookmarkManager
@@ -59,6 +61,8 @@ public class BookmarkManager
private ComponentName mOpenBookmarkComponentName;
private ViewGroup mMainView;
private BookmarkModel mBookmarkModel;
@@ -583,7 +583,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private BookmarkUndoController mUndoController;
private final ObserverList<BookmarkUIObserver> mUIObservers = new ObserverList<>();
private BasicNativePage mNativePage;
@@ -352,6 +356,14 @@ public class BookmarkManager
@@ -344,6 +348,14 @@ public class BookmarkManager
mNativePage = nativePage;
}
@@ -598,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
* yet in this session, on phone return last used state stored in preference; on tablet
@@ -532,6 +544,16 @@ public class BookmarkManager
@@ -540,6 +552,16 @@ public class BookmarkManager
}
}
@@ -704,7 +704,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -1862,6 +1862,13 @@ static_library("browser") {
@@ -214,6 +214,8 @@ static_library("browser") {
"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") {
]
}
@@ -718,28 +727,19 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
configs += [
"//build/config/compiler:wexit_time_destructors",
"//build/config:precompiled_headers",
@@ -2877,6 +2884,8 @@ static_library("browser") {
"autofill/manual_filling_controller.h",
"autofill/manual_filling_controller_impl.cc",
"autofill/manual_filling_controller_impl.h",
+ "bookmarks/bookmark_html_writer.cc",
+ "bookmarks/bookmark_html_writer.h",
"autofill/manual_filling_utils.cc",
"autofill/manual_filling_utils.h",
"autofill/manual_filling_view_interface.h",
@@ -3544,8 +3553,6 @@ static_library("browser") {
@@ -3551,8 +3560,6 @@ static_library("browser") {
"badging/badge_manager_factory.h",
"banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h",
- "bookmarks/bookmark_html_writer.cc",
- "bookmarks/bookmark_html_writer.h",
"bookmarks/url_and_id.h",
"cart/cart_db.cc",
"cart/cart_db.h",
"cart/cart_discount_fetcher.cc",
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -8559,6 +8559,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -9140,6 +9140,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
#endif
@@ -755,7 +755,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
@@ -58,6 +58,25 @@
@@ -55,6 +55,25 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"
@@ -781,7 +781,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
using base::android::AttachCurrentThread;
using base::android::ConvertUTF16ToJavaString;
using base::android::ConvertUTF8ToJavaString;
@@ -75,8 +94,92 @@ using bookmarks::android::JavaBookmarkIdGetType;
@@ -72,8 +91,92 @@ using bookmarks::android::JavaBookmarkIdGetType;
using content::BrowserThread;
using power_bookmarks::PowerBookmarkMeta;
@@ -874,7 +874,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
class BookmarkTitleComparer {
public:
explicit BookmarkTitleComparer(BookmarkBridge* bookmark_bridge,
@@ -162,6 +265,10 @@ BookmarkBridge::~BookmarkBridge() {
@@ -158,6 +261,10 @@ BookmarkBridge::~BookmarkBridge() {
if (partner_bookmarks_shim_)
partner_bookmarks_shim_->RemoveObserver(this);
reading_list_manager_->RemoveObserver(this);
@@ -885,7 +885,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
}
void BookmarkBridge::Destroy(JNIEnv*, const JavaParamRef<jobject>&) {
@@ -572,6 +679,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
@@ -568,6 +675,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
return count;
}
@@ -1079,7 +1079,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_observer.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 "url/android/gurl_android.h"
@@ -1089,7 +1089,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
namespace bookmarks {
class BookmarkModel;
class ManagedBookmarkService;
@@ -42,7 +46,8 @@ class Profile;
@@ -40,7 +44,8 @@ class Profile;
class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
public PartnerBookmarksShim::Observer,
public ReadingListManager::Observer,
@@ -1099,7 +1099,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
public:
BookmarkBridge(JNIEnv* env,
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,
const base::android::JavaParamRef<jobject>& obj);
@@ -1112,7 +1112,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
jboolean IsEditBookmarksEnabled(JNIEnv* env);
void LoadEmptyPartnerBookmarkShimForTesting(
@@ -159,6 +170,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -157,6 +168,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
jlong id,
jint type);
@@ -1128,7 +1128,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
void SetBookmarkTitle(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
jlong id,
@@ -372,12 +392,16 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -348,12 +368,16 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
void DestroyJavaObject();
raw_ptr<Profile> profile_;
@@ -1145,7 +1145,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
// Information about the Partner bookmarks (must check for IsLoaded()).
// This is owned by profile.
@@ -389,6 +413,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -365,6 +389,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
// Observes the profile destruction and creation.
base::ScopedObservation<Profile, ProfileObserver> profile_observation_{this};
@@ -1153,9 +1153,9 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
+ void FileSelectedImplOnUIThread(const base::FilePath& path,
+ const std::string& contents);
+
// A means of accessing metadata about bookmarks.
raw_ptr<OptimizationGuideKeyedService> opt_guide_;
// Weak pointers for creating callbacks that won't call into a destroyed
// 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
--- a/chrome/browser/bookmarks/bookmark_html_writer.cc
+++ b/chrome/browser/bookmarks/bookmark_html_writer.cc
@@ -1251,7 +1251,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -6279,6 +6279,11 @@ const char kDisableLacrosTtsSupportDescription[] =
@@ -6643,6 +6643,11 @@ const char kVcControlsUiDescription[] =
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -1266,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
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -3625,6 +3625,9 @@ extern const char kDisableLacrosTtsSupportName[];
extern const char kDisableLacrosTtsSupportDescription[];
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -3851,6 +3851,9 @@ extern const char kDisableLacrosTtsSupportDescription[];
extern const char kVcControlsUiName[];
extern const char kVcControlsUiDescription[];
+extern const char kBookmarksExportUseSafName[];
+extern const char kBookmarksExportUseSafDescription[];
@@ -1279,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
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -178,6 +178,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kBulkTabRestore,
@@ -186,6 +186,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCastDeviceFilter,
&kClearOmniboxFocusAfterNavigation,
&kCloseTabSuggestions,
+ &kBookmarksExportUseSaf,
&kCriticalPersistedTabData,
&kCommerceCoupons,
&kCCTBackgroundTab,
@@ -933,6 +934,10 @@ const base::Feature kWebApkInstallService{"WebApkInstallService",
const base::Feature kWebApkTrampolineOnInitialIntent{
"WebApkTrampolineOnInitialIntent", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -1106,6 +1107,11 @@ BASE_FEATURE(kWebApkTrampolineOnInitialIntent,
"WebApkTrampolineOnInitialIntent",
base::FEATURE_ENABLED_BY_DEFAULT);
+// disabled by default because of an issue on Android 6.0
+const base::Feature kBookmarksExportUseSaf{"BookmarksExportUseSaf",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kBookmarksExportUseSaf,
+ "BookmarksExportUseSaf",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
static jboolean JNI_ChromeFeatureList_IsEnabled(
JNIEnv* env,
@@ -1301,20 +1302,20 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -161,6 +161,7 @@ extern const base::Feature kTabSwitcherOnReturn;
extern const base::Feature kTabToGTSAnimation;
extern const base::Feature kTestDefaultDisabled;
extern const base::Feature kTestDefaultEnabled;
+extern const base::Feature kBookmarksExportUseSaf;
extern const base::Feature kToolbarIphAndroid;
extern const base::Feature kToolbarMicIphAndroid;
extern const base::Feature kToolbarPhoneOptimizations;
@@ -158,6 +158,7 @@ BASE_DECLARE_FEATURE(kDiscoverFeedMultiColumn);
BASE_DECLARE_FEATURE(kTabStripRedesign);
BASE_DECLARE_FEATURE(kTabSwitcherOnReturn);
BASE_DECLARE_FEATURE(kTabToGTSAnimation);
+BASE_DECLARE_FEATURE(kBookmarksExportUseSaf);
BASE_DECLARE_FEATURE(kTestDefaultDisabled);
BASE_DECLARE_FEATURE(kTestDefaultEnabled);
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
--- 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
@@ -577,6 +577,7 @@ public abstract class ChromeFeatureList {
public static final String USE_CHIME_ANDROID_SDK = "UseChimeAndroidSdk";
public static final String USE_CLIENT_CONFIG_IPH = "UseClientConfigIPH";
@@ -580,6 +580,7 @@ public abstract class ChromeFeatureList {
public static final String USE_LIBUNWINDSTACK_NATIVE_UNWINDER_ANDROID =
"UseLibunwindstackNativeUnwinderAndroid";
public static final String VOICE_SEARCH_AUDIO_CAPTURE_POLICY = "VoiceSearchAudioCapturePolicy";
+ public static final String BOOKMARKS_EXPORT_USESAF = "BookmarksExportUseSaf";
public static final String VOICE_BUTTON_IN_TOP_TOOLBAR = "VoiceButtonInTopToolbar";
@@ -1323,7 +1324,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer/profile_writer.cc
--- a/chrome/browser/importer/profile_writer.cc
+++ b/chrome/browser/importer/profile_writer.cc
@@ -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_,
ServiceAccessType::EXPLICIT_ACCESS)
->AddPagesWithDetails(page, visit_source);
@@ -1338,7 +1339,7 @@ diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer
}
void ProfileWriter::AddHomepage(const GURL& home_page) {
@@ -131,6 +133,16 @@ void ProfileWriter::AddBookmarks(
@@ -132,6 +134,16 @@ void ProfileWriter::AddBookmarks(
return;
BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile_);
@@ -1381,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
--- 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
@@ -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_PARENT =
"enhanced_bookmark_last_used_parent_folder";
@@ -1390,8 +1391,8 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/**
* Whether Chrome is set as the default browser.
@@ -983,6 +985,7 @@ public final class ChromePreferenceKeys {
ASSISTANT_VOICE_SEARCH_ENABLED,
@@ -1037,6 +1039,7 @@ public final class ChromePreferenceKeys {
AUTOFILL_ASSISTANT_PROACTIVE_HELP_ENABLED,
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
+ BOOKMARKS_LAST_EXPORT_URI,
@@ -1429,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
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
@@ -403,6 +403,9 @@ static_library("common_lib") {
@@ -401,6 +401,9 @@ static_library("common_lib") {
sources += [
"media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h",
@@ -1442,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
--- a/chrome/utility/BUILD.gn
+++ b/chrome/utility/BUILD.gn
@@ -85,8 +85,6 @@ static_library("utility") {
@@ -89,8 +89,6 @@ static_library("utility") {
if (!is_android) {
sources += [
@@ -1451,7 +1452,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
"importer/bookmarks_file_importer.cc",
"importer/bookmarks_file_importer.h",
"importer/external_process_importer_bridge.cc",
@@ -208,6 +206,11 @@ static_library("utility") {
@@ -215,6 +213,11 @@ static_library("utility") {
]
}
@@ -1600,10 +1601,10 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
boolean shouldUsePhotoPicker = shouldUsePhotoPicker();
- if (shouldUsePhotoPicker) {
+ if (shouldUsePhotoPicker || shouldShowHtmlTypes()) {
if (BuildInfo.isAtLeastT()) {
if (!window.hasPermission(PermissionConstants.READ_MEDIA_IMAGES)
&& shouldShowImageTypes()) {
@@ -325,7 +332,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
// The permission scenario for accessing media has evolved a bit over the years:
// Early on, READ_EXTERNAL_STORAGE was required to access media, but that permission was
// later deprecated. In its place (starting with Android T) READ_MEDIA_IMAGES and
@@ -333,7 +340,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
// TODO(finnur): Remove once we figure out the cause of crbug.com/950024.
@@ -1612,7 +1613,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
if (permissions.length != requestPermissions.length) {
throw new RuntimeException(
String.format("Permissions arrays misaligned: %d != %d",
@@ -339,7 +346,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -347,7 +354,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
}
@@ -1621,7 +1622,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
if (permissions[i].equals(storagePermission)
|| permissions[i].equals(PermissionConstants.READ_MEDIA_IMAGES)
|| permissions[i].equals(
@@ -544,6 +551,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);
}
@@ -1629,7 +1630,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
return mimeTypes;
}
@@ -872,6 +880,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -881,6 +889,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
return countAcceptTypesFor(superType) == mFileTypes.size();
}
@@ -1643,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
--- a/ui/android/java/strings/android_ui_strings.grd
+++ b/ui/android/java/strings/android_ui_strings.grd
@@ -181,6 +181,9 @@
<message name="IDS_OPENING_ANDROID_MEDIA_PICKER" desc="Toast when the browser is unable to open the Android Media picker (when uploading files). [CHAR_LIMIT=32]">
Unable to open the photo picker
@@ -184,6 +184,9 @@
<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]">
Unable to select media due to denied permissions
</message>
+ <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
@@ -1656,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
--- a/ui/shell_dialogs/select_file_dialog.h
+++ b/ui/shell_dialogs/select_file_dialog.h
@@ -205,6 +205,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
void* params);
@@ -210,6 +210,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
const GURL* caller = nullptr);
bool HasMultipleFileTypeChoices();
+ virtual void ShowToast(const std::string& message) = 0;
@@ -1668,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
--- a/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());
}
@@ -1684,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
--- a/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 {
gfx::NativeWindow owning_window,
void* params) override;
@@ -58,6 +58,8 @@ class SelectFileDialogImpl : public SelectFileDialog {
void* params,
const GURL* caller) override;
+ void ShowToast(const std::string& message) override;
+
@@ -22,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -55,6 +55,16 @@
@@ -58,6 +58,16 @@ found in the LICENSE file.
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
android:key="do_not_track"
android:title="@string/do_not_track_title"/>
@@ -42,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
--- a/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.searchwidget.SearchActivity;
import org.chromium.chrome.browser.tab.Tab;
@@ -50,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.util.AndroidTaskUtils;
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.util.Set;
@@ -59,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
* Intent fired.
@@ -267,6 +270,9 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
@@ -268,6 +271,9 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
*/
public static boolean isCustomTabIntent(Intent intent) {
if (intent == null) return false;
@@ -69,7 +69,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
if (CustomTabsIntent.shouldAlwaysUseBrowserUI(intent)
|| !intent.hasExtra(CustomTabsIntent.EXTRA_SESSION)) {
return false;
@@ -286,6 +292,10 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
@@ -287,6 +293,10 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
newIntent.setData(uri);
newIntent.setClassName(context, CustomTabActivity.class.getName());
@@ -80,7 +80,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
// Since configureIntentForResizableCustomTab() might change the componenet/class
// associated with the passed intent, it needs to be called after #setClassName(context,
// CustomTabActivity.class.getName());
@@ -413,6 +423,18 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
@@ -438,6 +448,18 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
if (Intent.ACTION_VIEW.equals(newIntent.getAction())
&& !IntentHandler.wasIntentSenderChrome(newIntent)) {
@@ -125,9 +125,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -81,6 +81,9 @@ public class PrivacySettings
private ViewGroup mDialogContainer;
private BottomSheetController mBottomSheetController;
@@ -76,6 +76,9 @@ public class PrivacySettings
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
+ private ChromeSwitchPreference allowCustomTabIntentsPref;
+ private ChromeSwitchPreference openExternalLinksPref;
@@ -135,7 +135,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
PrivacyPreferencesManagerImpl privacyPrefManager =
@@ -148,6 +151,9 @@ public class PrivacySettings
@@ -135,6 +138,9 @@ public class PrivacySettings
updatePreferences();
}
@@ -145,7 +145,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@@ -164,6 +170,14 @@ public class PrivacySettings
@@ -151,6 +157,14 @@ public class PrivacySettings
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
@@ -160,7 +160,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
}
@@ -186,6 +200,16 @@ public class PrivacySettings
@@ -173,6 +187,16 @@ public class PrivacySettings
canMakePaymentPref.setChecked(prefService.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
}
@@ -196,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
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -4756,6 +4756,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.">
Show original
</message>
+7 -7
View File
@@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml
@@ -159,6 +159,9 @@
@@ -161,6 +161,9 @@ found in the LICENSE file.
<item android:id="@+id/managed_by_menu_id"
android:title="@string/managed_browser"
android:icon="@drawable/ic_business" />
@@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
</group>
<!-- Items shown only in the tab switcher -->
@@ -185,6 +188,9 @@
@@ -187,6 +190,9 @@ found in the LICENSE file.
<item android:id="@id/preferences_id"
android:title="@string/menu_settings"
android:icon="@drawable/settings_cog" />
@@ -59,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
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -223,6 +223,8 @@ import java.util.HashSet;
@@ -225,6 +225,8 @@ import java.util.HashSet;
import java.util.List;
import java.util.Locale;
@@ -68,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
* are accessible via a chrome specific tab switching UI.
@@ -2179,6 +2181,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2202,6 +2204,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
} else if (id == R.id.close_tab) {
getCurrentTabModel().closeTab(currentTab, true, false, true);
RecordUserAction.record("MobileTabClosed");
@@ -80,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
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -61,6 +61,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.ActivityUtils;
import org.chromium.chrome.browser.AppHooks;
@@ -88,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.ChromeApplicationImpl;
import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate;
@@ -2311,6 +2312,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2332,6 +2333,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true;
}
@@ -119,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
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3484,6 +3484,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]">
Dark theme
</message>
@@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -494,6 +494,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
@@ -539,6 +539,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_ANDROID)
@@ -40,8 +40,8 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNone[] = {
{"mode", "always-none"}};
const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNewTab[] = {
@@ -4118,7 +4134,11 @@ const FeatureEntry kFeatureEntries[] = {
kOsMac | kOsLinux | kOsLacros | kOsWin,
@@ -4428,7 +4444,11 @@ const FeatureEntry kFeatureEntries[] = {
kOsMac | kOsLinux | kOsWin,
FEATURE_VALUE_TYPE(features::kSystemNotifications)},
#endif // BUILDFLAG(ENABLE_SYSTEM_NOTIFICATIONS) && !BUILDFLAG(IS_CHROMEOS_ASH)
-#if BUILDFLAG(IS_ANDROID)
@@ -65,8 +65,8 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
#include "base/feature_list.h"
#include "base/format_macros.h"
#include "base/metrics/histogram_functions.h"
@@ -295,6 +297,15 @@ AutocompleteController::AutocompleteController(
in_start_(false),
@@ -337,6 +339,15 @@ AutocompleteController::AutocompleteController(
is_cros_launcher_(is_cros_launcher),
search_service_worker_signal_sent_(false),
template_url_service_(provider_client_->GetTemplateURLService()) {
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("omnibox-autocomplete-filtering")) {
@@ -84,7 +84,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omnibox/browser/history_url_provider.cc
--- a/components/omnibox/browser/history_url_provider.cc
+++ b/components/omnibox/browser/history_url_provider.cc
@@ -483,6 +483,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)
matches_.push_back(what_you_typed_match);
@@ -105,7 +105,7 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/
#include "base/feature_list.h"
#include "base/i18n/break_iterator.h"
#include "base/i18n/case_conversion.h"
@@ -652,6 +653,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) {
@@ -118,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
--- a/components/url_formatter/url_fixer.cc
+++ b/components/url_formatter/url_fixer.cc
@@ -9,6 +9,8 @@
#include <algorithm>
@@ -7,6 +7,8 @@
#include <stddef.h>
#include "base/check_op.h"
+#include "base/containers/contains.h"
+#include "base/command_line.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/ranges/algorithm.h"
@@ -607,6 +609,8 @@ GURL FixupURL(const std::string& text, const std::string& desired_tld) {
#include "base/i18n/char_iterator.h"
@@ -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);
if (chrome_url && !parts.host.is_valid())
@@ -9,13 +9,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/flag_descriptions.h | 3 +++
.../browser/loader/browser_initiated_resource_request.cc | 8 ++++++++
services/network/public/cpp/features.cc | 5 +++++
services/network/public/cpp/features.h | 3 ++-
6 files changed, 26 insertions(+), 2 deletions(-)
services/network/public/cpp/features.h | 2 +-
6 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -4718,7 +4718,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5018,7 +5018,10 @@ const FeatureEntry kFeatureEntries[] = {
{"force-text-direction", flag_descriptions::kForceTextDirectionName,
flag_descriptions::kForceTextDirectionDescription, kOsAll,
MULTI_VALUE_TYPE(kForceTextDirectionChoices)},
@@ -30,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
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1214,6 +1214,10 @@ const char kDeprecateAltBasedSixPackDescription[] =
@@ -1222,6 +1222,10 @@ const char kDeprecateAltBasedSixPackDescription[] =
"Show deprecation notifications and disable functionality for Alt based "
"six pack deprecations. The Search based versions continue to work.";
@@ -44,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
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -634,6 +634,9 @@ extern const char kDeprecateAltClickDescription[];
@@ -650,6 +650,9 @@ extern const char kDeprecateAltClickDescription[];
extern const char kDeprecateAltBasedSixPackName[];
extern const char kDeprecateAltBasedSixPackDescription[];
@@ -84,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
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
@@ -20,6 +20,11 @@ namespace features {
const base::Feature kExpectCTReporting{"ExpectCTReporting",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -20,6 +20,11 @@ BASE_FEATURE(kExpectCTReporting,
"ExpectCTReporting",
base::FEATURE_ENABLED_BY_DEFAULT);
+
+// Enable save-data header separately (without enabled data reduction service).
+const base::Feature kEnableSaveDataHeader{"EnableSaveDataHeader",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableSaveDataHeader,
+ "EnableSaveDataHeader",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
const base::Feature kNetworkErrorLogging{"NetworkErrorLogging",
base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kNetworkErrorLogging,
"NetworkErrorLogging",
base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
--- a/services/network/public/cpp/features.h
+++ b/services/network/public/cpp/features.h
@@ -45,7 +45,8 @@ COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kMdnsResponderGeneratedNameListing;
@@ -50,7 +50,7 @@ extern const base::FeatureParam<TrustTokenOriginTrialSpec>
kTrustTokenOperationsRequiringOriginTrial;
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kOpaqueResponseBlockingV01;
extern const base::FeatureParam<bool> kPlatformProvidedTrustTokenIssuance;
-
+COMPONENT_EXPORT(NETWORK_CPP)
+extern const base::Feature kEnableSaveDataHeader;
+COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kEnableSaveDataHeader);
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kTrustTokens;
BASE_DECLARE_FEATURE(kWebSocketReassembleShortMessages);
--
2.25.1
@@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -979,6 +979,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
@@ -1097,6 +1097,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
switches::kForceDisplayColorProfile, "hdr10"},
};
@@ -33,7 +33,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
const FeatureEntry::Choice kMemlogModeChoices[] = {
{flags_ui::kGenericExperimentChoiceDisabled, "", ""},
{flag_descriptions::kMemlogModeMinimal, heap_profiling::kMemlogMode,
@@ -4647,6 +4652,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4917,6 +4922,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kAndroidPictureInPictureAPIName,
flag_descriptions::kAndroidPictureInPictureAPIDescription, kOsAndroid,
FEATURE_VALUE_TYPE(media::kPictureInPictureAPI)},
@@ -46,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
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1777,6 +1777,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
@@ -1830,6 +1830,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
"websites abusing the API will still eventually have their setTimeouts "
"clamped.";
@@ -60,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
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -996,6 +996,9 @@ extern const char kLogJsConsoleMessagesDescription[];
@@ -1037,6 +1037,9 @@ extern const char kLogJsConsoleMessagesDescription[];
extern const char kUnthrottledNestedTimeoutName[];
extern const char kUnthrottledNestedTimeoutDescription[];
@@ -9,27 +9,27 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 5 +++++
chrome/browser/flag_descriptions.h | 3 +++
media/base/media_switches.cc | 4 ----
4 files changed, 12 insertions(+), 4 deletions(-)
media/base/media_switches.cc | 8 ++------
4 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3349,6 +3349,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebRtcRemoteEventLogName,
flag_descriptions::kWebRtcRemoteEventLogDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kWebRtcRemoteEventLog)},
@@ -3730,6 +3730,10 @@ const FeatureEntry kFeatureEntries[] = {
SINGLE_VALUE_TYPE(extensions::switches::kExtensionsOnChromeURLs)},
#endif // ENABLE_EXTENSIONS
#if BUILDFLAG(IS_ANDROID)
+ {"resume-background-video",
+ flag_descriptions::kResumeBackgroundVideoName,
+ flag_descriptions::kResumeBackgroundVideoDescription, kOsAll,
+ FEATURE_VALUE_TYPE(media::kResumeBackgroundVideo)},
#endif
{"enable-webrtc-srtp-aes-gcm", flag_descriptions::kWebrtcSrtpAesGcmName,
flag_descriptions::kWebrtcSrtpAesGcmDescription, kOsAll,
{"osk-resizes-visual-viewport-by-default",
flag_descriptions::kEnableOskResizesVisualViewportByDefaultName,
flag_descriptions::kEnableOskResizesVisualViewportByDefaultDescription,
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1305,6 +1305,11 @@ const char kEnablePenetratingImageSelectionDescription[] =
@@ -1317,6 +1317,11 @@ const char kEnablePenetratingImageSelectionDescription[] =
"Enables image options to be surfaced in the context menu for nodes "
"covered by transparent overlays.";
@@ -44,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
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -713,6 +713,9 @@ extern const char kEnablePortalsDescription[];
@@ -722,6 +722,9 @@ extern const char kEnablePortalsDescription[];
extern const char kEnablePortalsCrossOriginName[];
extern const char kEnablePortalsCrossOriginDescription[];
@@ -57,16 +57,19 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -287,11 +287,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.
const base::Feature kResumeBackgroundVideo {
"resume-background-video",
BASE_FEATURE(kResumeBackgroundVideo,
- "resume-background-video",
-#if BUILDFLAG(IS_ANDROID)
- base::FEATURE_ENABLED_BY_DEFAULT
- base::FEATURE_ENABLED_BY_DEFAULT
-#else
base::FEATURE_DISABLED_BY_DEFAULT
- base::FEATURE_DISABLED_BY_DEFAULT
-#endif
};
+ "resume-background-video", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
);
// When enabled, MediaCapabilities will check with GPU Video Accelerator
--
@@ -10,14 +10,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/subresource_filter/tools/BUILD.gn | 6 ++++++
.../url_formatter/spoof_checks/top_domains/BUILD.gn | 3 ++-
net/dns/host_resolver_manager.cc | 9 ++++++++-
services/network/public/cpp/features.cc | 4 ++++
services/network/public/cpp/features.h | 2 ++
services/network/public/cpp/features.cc | 5 +++++
services/network/public/cpp/features.h | 1 +
8 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -5586,6 +5586,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -6166,6 +6166,10 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-reader-mode-in-cct", flag_descriptions::kReaderModeInCCTName,
flag_descriptions::kReaderModeInCCTDescription, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
@@ -27,11 +27,11 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+ FEATURE_VALUE_TYPE(network::features::kIPv6Probing)},
#endif // BUILDFLAG(IS_ANDROID)
#if !BUILDFLAG(IS_ANDROID)
{"shopping-list", commerce::flag_descriptions::kShoppingListName,
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3305,6 +3305,10 @@ const char kCCTRealTimeEngagementSignalsDescription[] =
@@ -3517,6 +3517,10 @@ const char kCCTRealTimeEngagementSignalsDescription[] =
"Enables sending real-time engagement signals (e.g. scroll) through "
"CustomTabsCallback.";
@@ -45,7 +45,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -785,6 +785,9 @@ extern const char kEnableWasmLazyCompilationName[];
@@ -788,6 +788,9 @@ extern const char kEnableWasmLazyCompilationName[];
extern const char kEnableWasmLazyCompilationDescription[];
extern const char kEnableWasmTieringName[];
@@ -109,7 +109,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
#include "net/log/net_log_with_source.h"
#include "net/socket/client_socket_factory.h"
#include "net/socket/datagram_client_socket.h"
@@ -4092,8 +4093,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() ||
(tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
kIPv6ProbePeriodMs) {
@@ -128,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
--- a/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};
const base::Feature kThrottleDelayable{"ThrottleDelayable",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -38,6 +38,11 @@ BASE_FEATURE(kThrottleDelayable,
"ThrottleDelayable",
base::FEATURE_ENABLED_BY_DEFAULT);
+// Enable IPv6 ping probes to RIPE DNS.
+const base::Feature kIPv6Probing{"IPv6Probing",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kIPv6Probing,
+ "IPv6Probing",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
// When kPriorityRequestsDelayableOnSlowConnections is enabled, HTTP
// requests fetched from a SPDY/QUIC/H2 proxies can be delayed by the
@@ -142,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
--- a/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)
extern const base::Feature kNetworkErrorLogging;
BASE_DECLARE_FEATURE(kDelayRequestsOnMultiplexedConnections);
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
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3348,6 +3348,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3692,6 +3692,9 @@ const FeatureEntry kFeatureEntries[] = {
{"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName,
flag_descriptions::kUiPartialSwapDescription, kOsAll,
SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)},
@@ -28,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
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3673,6 +3673,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
@@ -3874,6 +3874,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
const char kPhotoPickerVideoSupportDescription[] =
"Enables video files to be shown in the Photo Picker dialog";
@@ -44,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
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -2100,6 +2100,9 @@ extern const char kQueryTilesDescription[];
extern const char kQueryTilesNTPName[];
extern const char kQueryTilesNTPDescription[];
@@ -2236,6 +2236,9 @@ extern const char kQueryTilesNTPDescription[];
extern const char kQueryTilesOnStartName[];
extern const char kQueryTilesOnStartDescription[];
extern const char kQueryTilesSingleTierName[];
+extern const char kDisableExternalIntentRequestsName[];
+extern const char kDisableExternalIntentRequestsDescription[];
@@ -4,22 +4,22 @@ 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/flag_descriptions.cc | 3 +++
chrome/browser/flag_descriptions.h | 2 ++
content/child/runtime_features.cc | 1 +
content/public/common/content_features.cc | 4 ++++
content/public/common/content_features.h | 2 ++
third_party/blink/public/platform/web_runtime_features.h | 1 +
.../blink/renderer/modules/vibration/vibration_controller.cc | 3 +++
.../blink/renderer/platform/exported/web_runtime_features.cc | 4 ++++
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++++
10 files changed, 28 insertions(+)
chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 3 +++
chrome/browser/flag_descriptions.h | 2 ++
content/child/runtime_features.cc | 1 +
content/public/common/content_features.cc | 5 +++++
content/public/common/content_features.h | 2 ++
third_party/blink/public/platform/web_runtime_features.h | 1 +
.../blink/renderer/modules/vibration/vibration_controller.cc | 3 +++
.../blink/renderer/platform/exported/web_runtime_features.cc | 4 ++++
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++++
10 files changed, 29 insertions(+)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -6983,6 +6983,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -7623,6 +7623,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)},
#endif
@@ -33,8 +33,8 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -5952,6 +5952,9 @@ extern const char kLacrosScreenCoordinatesDescription[];
@@ -6271,6 +6271,9 @@ const char kLacrosScreenCoordinatesEnabledDescription[] =
"moveBy, moveTo or session restore.";
#endif // #if BUILDFLAG(IS_CHROMEOS_LACROS)
+const char kEnableVibrationName[] = "Vibration";
@@ -46,7 +46,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -3627,6 +3627,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
@@ -3847,6 +3847,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
extern const char kWebUITabStripTabDragIntegrationDescription[];
#endif // BUILDFLAG(ENABLE_WEBUI_TAB_STRIP) && BUILDFLAG(IS_CHROMEOS_ASH)
@@ -58,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
--- a/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 (command_line.HasSwitch(switches::kDisableMediaSessionAPI))
WebRuntimeFeatures::EnableMediaSession(false);
@@ -69,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
--- a/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
};
);
+// Enables vibration; an user gesture will still be required if enabled.
+const base::Feature kVibration{"Vibration",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kVibration,
+ "Vibration",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
// When this feature is enabled, private network requests initiated from
// non-secure contexts in the `public` address space are blocked.
@@ -83,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
--- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h
@@ -321,6 +321,8 @@ CONTENT_EXPORT extern const base::FeatureParam<base::TimeDelta>
@@ -322,6 +322,8 @@ CONTENT_EXPORT extern const base::FeatureParam<base::TimeDelta>
kCompositorLockTimeout;
#endif // BUILDFLAG(IS_ANDROID)
+CONTENT_EXPORT extern const base::Feature kVibration;
+CONTENT_EXPORT BASE_DECLARE_FEATURE(kVibration);
+
#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
--- a/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 {
BLINK_PLATFORM_EXPORT static void EnableBlockingFocusWithoutUserActivation(
bool);
BLINK_PLATFORM_EXPORT static void EnableClickPointerEvent(bool enable);
+ BLINK_PLATFORM_EXPORT static void EnableVibration(bool);
BLINK_PLATFORM_EXPORT static void EnableCompositeBGColorAnimation(
bool enable);
BLINK_PLATFORM_EXPORT static void EnableCanvas2dImageChromium(bool);
@@ -70,6 +70,7 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFeatures : public WebRuntimeFeaturesBase {
static void EnableFingerprintingCanvasMeasureTextNoise(bool);
static void EnableFingerprintingCanvasImageDataNoise(bool);
static void EnableFluentScrollbars(bool);
+ static void EnableVibration(bool);
WebRuntimeFeatures() = delete;
};
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
+++ 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/page/page.h"
#include "third_party/blink/renderer/platform/mojo/mojo_helper.h"
+#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
// Maximum number of entries in a vibration pattern.
const unsigned kVibrationPatternLengthMax = 99;
@@ -153,6 +154,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.
if (!navigator.DomWindow())
return false;
@@ -126,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
--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
@@ -156,6 +156,10 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
RuntimeEnabledFeatures::SetScrollTopLeftInteropEnabled(enable);
@@ -52,6 +52,10 @@ void WebRuntimeFeatures::EnableTestOnlyFeatures(bool enable) {
RuntimeEnabledFeatures::SetTestFeaturesEnabled(enable);
}
+void WebRuntimeFeatures::EnableVibration(bool enable) {
+ RuntimeEnabledFeatures::SetVibrationEnabled(enable);
+}
+
void WebRuntimeFeatures::EnableKeyboardAccessibleTooltip(bool enable) {
RuntimeEnabledFeatures::SetKeyboardAccessibleTooltipEnabled(enable);
void WebRuntimeFeatures::EnableOriginTrialControlledFeatures(bool 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
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -1611,6 +1611,10 @@
@@ -1903,6 +1903,10 @@
name: "OrientationEvent",
status: {"Android": "stable"},
},
@@ -65,9 +65,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/content_settings/android/BUILD.gn | 1 +
.../core/browser/content_settings_utils.cc | 29 +++++++
.../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 +++
.../page_info/PageInfoController.java | 4 +-
.../PermissionParamsListBuilder.java | 13 ++-
@@ -83,14 +80,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../android/permissions_android_strings.grd | 17 ++++
.../geolocation_permission_context_android.cc | 35 ++++++--
.../geolocation_permission_context_android.h | 13 ++-
.../permissions/permission_context_base.cc | 50 ++++++++++--
.../permissions/permission_context_base.cc | 49 ++++++++++-
.../permissions/permission_context_base.h | 24 +++++-
components/permissions/permission_prompt.h | 3 +-
components/permissions/permission_request.cc | 34 +++++++-
components/permissions/permission_request.h | 17 +++-
.../permissions/permission_request_manager.cc | 37 ++++++---
.../permissions/permission_request_manager.h | 11 ++-
38 files changed, 480 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
--- a/chrome/browser/permissions/last_tab_standing_tracker.cc
@@ -174,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
--- a/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(
content::BrowserContext* context) const {
- return new LastTabStandingTracker();
+ 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
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -400,10 +400,7 @@ void ChromeBrowserMainExtraPartsProfiles::
LacrosFirstRunServiceFactory::GetInstance();
@@ -415,10 +415,7 @@ void ChromeBrowserMainExtraPartsProfiles::
FirstRunServiceFactory::GetInstance();
#endif
LanguageModelManagerFactory::GetInstance();
- if (base::FeatureList::IsEnabled(
@@ -195,15 +190,15 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
- LastTabStandingTrackerFactory::GetInstance();
- }
+ LastTabStandingTrackerFactory::GetInstance();
login_detection::LoginDetectionKeyedServiceFactory::GetInstance();
#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
--- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc
@@ -488,6 +488,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
web_contents);
}
@@ -487,6 +487,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
PolicyAuditorBridge::CreateForWebContents(web_contents);
PluginObserverAndroid::CreateForWebContents(web_contents);
video_tutorials::VideoTutorialTabHelper::CreateForWebContents(web_contents);
+ LastTabStandingTrackerTabHelper::CreateForWebContents(web_contents);
#else
@@ -255,15 +250,15 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
@@ -34,6 +34,7 @@ import org.chromium.components.browser_ui.settings.ManagedPreferencesUtils;
import org.chromium.components.browser_ui.settings.SettingsUtils;
@@ -35,6 +35,7 @@ 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.ContentSettingsType;
+import org.chromium.components.content_settings.SessionModel;
import org.chromium.components.embedder_support.util.Origin;
import org.chromium.content_public.browser.BrowserContextHandle;
@@ -523,6 +524,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
import org.chromium.content_public.browser.ContentFeatureList;
@@ -539,6 +540,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
}
}
@@ -275,7 +270,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
private void setUpClearDataPreference() {
ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA);
long usage = mSite.getTotalUsage();
@@ -909,6 +915,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -970,6 +976,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
if (contentType == mHighlightedPermission) {
switchPreference.setBackgroundColor(mHighlightColor);
}
@@ -297,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.content_public.browser.BrowserContextHandle;
import org.chromium.url.GURL;
@@ -54,7 +55,8 @@ public class WebsitePreferenceBridge {
@@ -55,7 +56,8 @@ public class WebsitePreferenceBridge {
@CalledByNative
private static void insertPermissionInfoIntoList(@ContentSettingsType int type,
@@ -307,7 +302,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (type == ContentSettingsType.MEDIASTREAM_CAMERA
|| type == ContentSettingsType.MEDIASTREAM_MIC) {
for (PermissionInfo info : list) {
@@ -63,7 +65,7 @@ public class WebsitePreferenceBridge {
@@ -64,7 +66,7 @@ public class WebsitePreferenceBridge {
}
}
}
@@ -319,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
--- a/components/browser_ui/site_settings/android/website_preference_bridge.cc
+++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc
@@ -119,7 +119,8 @@ typedef void (*InfoListInsertionFunction)(
@@ -122,7 +122,8 @@ typedef void (*InfoListInsertionFunction)(
const base::android::JavaRef<jobject>&,
const base::android::JavaRef<jstring>&,
const base::android::JavaRef<jstring>&,
@@ -329,16 +324,16 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
void GetOrigins(JNIEnv* env,
const JavaParamRef<jobject>& jbrowser_context_handle,
@@ -161,7 +162,7 @@ void GetOrigins(JNIEnv* env,
@@ -164,7 +165,7 @@ void GetOrigins(JNIEnv* env,
seen_origins.push_back(origin);
insertionFunc(env, static_cast<int>(content_type), list,
ConvertOriginToJavaString(env, origin), jembedder,
- /*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
@@ -183,7 +184,7 @@ void GetOrigins(JNIEnv* env,
@@ -186,7 +187,7 @@ void GetOrigins(JNIEnv* env,
seen_origins.push_back(origin);
insertionFunc(env, static_cast<int>(content_type), list,
ConvertOriginToJavaString(env, origin), jembedder,
@@ -350,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
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
@@ -594,6 +594,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">
URL truncated
</message>
@@ -376,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
--- a/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;
}
@@ -394,13 +389,13 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
+
+bool IsConstraintSessionExpiration(const ContentSettingPatternSource& source,
+ LifetimeMode lifetime_mode) {
+ if (source.session_model != content_settings::SessionModel::UserSession)
+ if (source.metadata.session_model != content_settings::SessionModel::UserSession)
+ return false;
+
+ LifetimeMode type;
+ if (source.expiration == base::Time()) {
+ if (source.metadata.expiration == base::Time()) {
+ 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;
+ } else {
+ type = LifetimeMode::UntilOriginClosed;
@@ -409,13 +404,15 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
+ 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
--- a/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);
// Returns the expiration time for a supplied |duration|.
base::Time GetConstraintExpiration(const base::TimeDelta duration);
@@ -76,6 +76,12 @@ base::Time GetConstraintExpiration(const base::TimeDelta duration);
// Returns whether the given type supports tracking last_visit timestamps.
bool CanTrackLastVisit(ContentSettingsType type);
+ContentSettingConstraints GetConstraintSessionExpiration(LifetimeMode lifetime_mode);
+
@@ -423,71 +420,9 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.h b
+ const ContentSettingPatternSource& source,
+ 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
@@ -157,13 +157,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) {}
@@ -180,6 +182,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
--- a/components/content_settings/core/common/content_settings_constraints.h
+++ b/components/content_settings/core/common/content_settings_constraints.h
@@ -519,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
--- 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
@@ -360,9 +360,9 @@ public class PageInfoController implements PageInfoMainController, ModalDialogPr
@@ -344,9 +344,9 @@ public class PageInfoController implements PageInfoMainController, ModalDialogPr
*/
@CalledByNative
private void addPermissionSection(String name, String nameMidSentence, int type,
@@ -557,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 int type;
public final @ContentSettingValues int setting;
@@ -577,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
--- a/components/page_info/android/page_info_controller_android.cc
+++ b/components/page_info/android/page_info_controller_android.cc
@@ -162,6 +162,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -171,6 +171,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
std::map<ContentSettingsType, ContentSetting>
user_specified_settings_to_display;
@@ -586,7 +521,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
for (const auto& permission : permission_info_list) {
if (base::Contains(permissions_to_display, permission.type)) {
@@ -170,6 +172,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -179,6 +181,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
if (setting_to_display) {
user_specified_settings_to_display[permission.type] =
*setting_to_display;
@@ -595,7 +530,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
}
}
}
@@ -186,7 +190,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -195,7 +199,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
ConvertUTF16ToJavaString(env, setting_title),
ConvertUTF16ToJavaString(env, setting_title_mid_sentence),
static_cast<jint>(permission),
@@ -605,10 +540,10 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
}
}
@@ -199,7 +204,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -208,7 +213,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
env, controller_jobject_, 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),
+ /* is_user_session */ false);
@@ -618,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
--- a/components/page_info/page_info.cc
+++ b/components/page_info/page_info.cc
@@ -1055,6 +1055,8 @@ void PageInfo::PresentSitePermissions() {
@@ -1189,6 +1189,8 @@ void PageInfo::PresentSitePermissions() {
permission_info.source = info.source;
permission_info.is_one_time =
(info.session_model == content_settings::SessionModel::OneTime);
permission_info.is_one_time = (info.metadata.session_model ==
content_settings::SessionModel::OneTime);
+ 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() &&
info.secondary_pattern == ContentSettingsPattern::Wildcard()) {
diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h
--- a/components/page_info/page_info.h
+++ b/components/page_info/page_info.h
@@ -175,6 +175,7 @@ class PageInfo {
@@ -181,6 +181,7 @@ class PageInfo : private content_settings::CookieControlsView {
content_settings::SettingSource source =
content_settings::SETTING_SOURCE_NONE;
bool is_one_time = false;
@@ -836,7 +771,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
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/permission_prompt_android.cc
+++ b/components/permissions/android/permission_prompt/permission_prompt_android.cc
@@ -40,6 +40,14 @@ void PermissionPromptAndroid::Accept() {
@@ -41,6 +41,14 @@ void PermissionPromptAndroid::Accept() {
delegate_->Accept();
}
@@ -873,7 +808,7 @@ diff --git a/components/permissions/android/permissions_android_strings.grd b/co
+ <!-- Session permissions -->
+ <message name="IDS_SESSION_PERMISSIONS_TITLE" desc="Title for the session section in the permission request">
+ Remember my decision
+ Remeber my decision
+ </message>
+ <message name="IDS_SESSION_PERMISSIONS_ONLY_THIS_THIS" desc="Message indicating that the permission is only for this time">
+ Only this time
@@ -894,7 +829,7 @@ diff --git a/components/permissions/android/permissions_android_strings.grd b/co
diff --git a/components/permissions/contexts/geolocation_permission_context_android.cc b/components/permissions/contexts/geolocation_permission_context_android.cc
--- a/components/permissions/contexts/geolocation_permission_context_android.cc
+++ b/components/permissions/contexts/geolocation_permission_context_android.cc
@@ -158,6 +158,19 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -157,6 +157,19 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
ContentSetting content_setting,
bool is_one_time) {
DCHECK(!is_one_time);
@@ -914,7 +849,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
bool is_default_search = IsRequestingOriginDSE(requesting_origin);
if (content_setting == CONTENT_SETTING_ALLOW &&
!location_settings_->IsSystemLocationSettingEnabled()) {
@@ -170,7 +183,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -169,7 +182,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
if (IsInLocationSettingsBackOff(is_default_search)) {
FinishNotifyPermissionSet(id, requesting_origin, embedding_origin,
std::move(callback), false /* persist */,
@@ -924,7 +859,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
LogLocationSettingsMetric(
kLocationSettingsSuppressMetricBase, is_default_search,
LocationSettingsBackOffLevel(is_default_search));
@@ -195,7 +209,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -193,7 +207,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
!location_settings_dialog_callback_.is_null()) {
FinishNotifyPermissionSet(id, requesting_origin, embedding_origin,
std::move(callback), false /* persist */,
@@ -934,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
// for metrics purposes.
LogLocationSettingsMetric(
@@ -212,12 +227,13 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -210,12 +225,13 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
base::BindOnce(
&GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown,
weak_factory_.GetWeakPtr(), requesting_origin, embedding_origin,
@@ -950,7 +885,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
}
PermissionResult
@@ -384,6 +400,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
@@ -382,6 +398,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
const GURL& embedding_origin,
bool persist,
ContentSetting content_setting,
@@ -958,7 +893,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
LocationSettingsDialogOutcome prompt_outcome) {
bool is_default_search = IsRequestingOriginDSE(requesting_origin);
if (prompt_outcome == GRANTED) {
@@ -411,7 +428,8 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
@@ -405,7 +422,8 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
FinishNotifyPermissionSet(
location_settings_dialog_request_id_, requesting_origin, embedding_origin,
@@ -967,8 +902,8 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
+ is_one_time, lifetime_option);
location_settings_dialog_request_id_ =
PermissionRequestID(0, 0, PermissionRequestID::RequestLocalId());
@@ -423,10 +441,11 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
PermissionRequestID(content::GlobalRenderFrameHostId(0, 0),
@@ -418,10 +436,11 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
const GURL& embedding_origin,
BrowserPermissionCallback callback,
bool persist,
@@ -1023,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
--- a/components/permissions/permission_context_base.cc
+++ b/components/permissions/permission_context_base.cc
@@ -250,6 +250,20 @@ PermissionContextBase::CreatePermissionRequest(
@@ -226,6 +226,20 @@ PermissionContextBase::CreatePermissionRequest(
std::move(delete_callback));
}
@@ -1044,7 +979,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
PermissionResult PermissionContextBase::GetPermissionStatus(
content::RenderFrameHost* render_frame_host,
const GURL& requesting_origin,
@@ -441,7 +455,8 @@ void PermissionContextBase::PermissionDecided(
@@ -405,7 +419,8 @@ void PermissionContextBase::PermissionDecided(
const GURL& embedding_origin,
BrowserPermissionCallback callback,
ContentSetting content_setting,
@@ -1054,7 +989,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
content_setting == CONTENT_SETTING_BLOCK ||
content_setting == CONTENT_SETTING_DEFAULT);
@@ -449,9 +464,9 @@ void PermissionContextBase::PermissionDecided(
@@ -413,9 +428,9 @@ void PermissionContextBase::PermissionDecided(
content_setting);
bool persist = content_setting != CONTENT_SETTING_DEFAULT;
@@ -1066,7 +1001,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
}
content::BrowserContext* PermissionContextBase::browser_context() const {
@@ -501,11 +516,26 @@ void PermissionContextBase::NotifyPermissionSet(
@@ -465,11 +480,26 @@ void PermissionContextBase::NotifyPermissionSet(
bool persist,
ContentSetting content_setting,
bool is_one_time) {
@@ -1094,7 +1029,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
}
UpdateTabContext(id, requesting_origin,
@@ -526,6 +556,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
@@ -490,6 +520,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
const GURL& embedding_origin,
ContentSetting content_setting,
bool is_one_time) {
@@ -1110,20 +1045,19 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
DCHECK_EQ(requesting_origin, requesting_origin.DeprecatedGetOriginAsURL());
DCHECK_EQ(embedding_origin, embedding_origin.DeprecatedGetOriginAsURL());
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
@@ -537,8 +576,7 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
->SetContentSettingDefaultScope(
requesting_origin, embedding_origin, content_settings_type_,
content_setting,
- is_one_time ? Constraints{base::Time(),
- content_settings::SessionModel::OneTime}
+ is_one_time ? content_settings::GetConstraintSessionExpiration(lifetime_option)
: Constraints());
}
@@ -498,6 +537,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
content_settings::ContentSettingConstraints constraints = {
base::Time(), is_one_time ? content_settings::SessionModel::OneTime
: content_settings::SessionModel::Durable};
+ if (is_one_time)
+ constraints = content_settings::GetConstraintSessionExpiration(lifetime_option);
#if !BUILDFLAG(IS_ANDROID)
if (base::FeatureList::IsEnabled(
diff --git a/components/permissions/permission_context_base.h b/components/permissions/permission_context_base.h
--- a/components/permissions/permission_context_base.h
+++ b/components/permissions/permission_context_base.h
@@ -141,6 +141,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
// and runs the callback to finish the request.
@@ -1138,7 +1072,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
virtual void NotifyPermissionSet(const PermissionRequestID& id,
const GURL& requesting_origin,
const GURL& embedding_origin,
@@ -161,6 +169,11 @@ class PermissionContextBase : public KeyedService,
@@ -158,6 +166,11 @@ class PermissionContextBase : public content_settings::Observer {
// Store the decided permission as a content setting.
// virtual since the permission might be stored with different restrictions
// (for example for desktop notifications).
@@ -1150,7 +1084,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
virtual void UpdateContentSetting(const GURL& requesting_origin,
const GURL& embedding_origin,
ContentSetting content_setting,
@@ -193,6 +206,14 @@ class PermissionContextBase : public KeyedService,
@@ -190,6 +203,14 @@ class PermissionContextBase : public content_settings::Observer {
PermissionRequest::PermissionDecidedCallback permission_decided_callback,
base::OnceClosure delete_callback) const;
@@ -1165,7 +1099,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
ContentSettingsType content_settings_type() const {
return content_settings_type_;
}
@@ -219,7 +240,8 @@ class PermissionContextBase : public KeyedService,
@@ -216,7 +237,8 @@ class PermissionContextBase : public content_settings::Observer {
const GURL& embedding_origin,
BrowserPermissionCallback callback,
ContentSetting content_setting,
@@ -1192,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
--- a/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)),
delete_callback_(std::move(delete_callback)) {}
@@ -1211,7 +1145,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
PermissionRequest::~PermissionRequest() {
DCHECK(delete_callback_.is_null());
}
@@ -237,17 +249,35 @@ std::u16string PermissionRequest::GetMessageTextFragment() const {
@@ -235,17 +247,35 @@ std::u16string PermissionRequest::GetMessageTextFragment() const {
}
#endif
@@ -1276,7 +1210,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
PermissionRequest(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
// |origin| are closed or navigated away from, and then the permission will
// automatically expire after 1 day.
@@ -1289,7 +1223,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
// Called when the user has cancelled the permission request. This
// 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.
PermissionDecidedCallback permission_decided_callback_;
@@ -1302,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
--- a/components/permissions/permission_request_manager.cc
+++ b/components/permissions/permission_request_manager.cc
@@ -152,7 +152,7 @@ void PermissionRequestManager::AddRequest(
@@ -148,7 +148,7 @@ void PermissionRequestManager::AddRequest(
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDenyPermissionPrompts)) {
@@ -1311,7 +1245,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
request->RequestFinished();
return;
}
@@ -228,7 +228,7 @@ void PermissionRequestManager::AddRequest(
@@ -224,7 +224,7 @@ void PermissionRequestManager::AddRequest(
if (auto_approval_origin) {
if (url::Origin::Create(request->requesting_origin()) ==
auto_approval_origin.value()) {
@@ -1320,14 +1254,16 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
request->RequestFinished();
return;
@@ -487,12 +487,13 @@ void PermissionRequestManager::Accept() {
for (requests_iter = requests_.begin(); requests_iter != requests_.end();
requests_iter++) {
@@ -541,14 +541,15 @@ void PermissionRequestManager::Accept() {
(*requests_iter)->request_type(),
PermissionAction::GRANTED);
PermissionGrantedIncludingDuplicates(*requests_iter,
- /*is_one_time=*/false);
+ /*is_one_time=*/false,
+ content_settings::LifetimeMode::Always);
}
NotifyRequestDecided(PermissionAction::GRANTED);
FinalizeCurrentRequests(PermissionAction::GRANTED);
}
@@ -1336,15 +1272,17 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_)
return;
DCHECK(view_);
@@ -500,12 +501,22 @@ void PermissionRequestManager::AcceptThisTime() {
for (requests_iter = requests_.begin(); requests_iter != requests_.end();
requests_iter++) {
@@ -559,7 +560,8 @@ void PermissionRequestManager::AcceptThisTime() {
(*requests_iter)->request_type(),
PermissionAction::GRANTED_ONCE);
PermissionGrantedIncludingDuplicates(*requests_iter,
- /*is_one_time=*/true);
+ /*is_one_time=*/true,
+ mode);
}
FinalizeCurrentRequests(PermissionAction::GRANTED_ONCE);
NotifyRequestDecided(PermissionAction::GRANTED_ONCE);
@@ -567,6 +569,15 @@ void PermissionRequestManager::AcceptThisTime() {
}
void PermissionRequestManager::Deny() {
@@ -1360,22 +1298,22 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_)
return;
DCHECK(view_);
@@ -527,7 +538,7 @@ void PermissionRequestManager::Deny() {
std::vector<PermissionRequest*>::iterator requests_iter;
for (requests_iter = requests_.begin(); requests_iter != requests_.end();
requests_iter++) {
@@ -589,7 +600,7 @@ void PermissionRequestManager::Deny() {
StorePermissionActionForUMA((*requests_iter)->requesting_origin(),
(*requests_iter)->request_type(),
PermissionAction::DENIED);
- PermissionDeniedIncludingDuplicates(*requests_iter);
+ PermissionDeniedIncludingDuplicates(*requests_iter, is_one_time, lifetime_option);
}
FinalizeCurrentRequests(PermissionAction::DENIED);
}
@@ -892,25 +903,25 @@ PermissionRequest* PermissionRequestManager::GetExistingRequest(
NotifyRequestDecided(PermissionAction::DENIED);
@@ -971,25 +982,25 @@ PermissionRequest* PermissionRequestManager::GetExistingRequest(
void PermissionRequestManager::PermissionGrantedIncludingDuplicates(
PermissionRequest* request,
- bool is_one_time) {
+ bool is_one_time, content_settings::LifetimeMode lifetime_option) {
DCHECK_EQ(1ul, base::STLCount(requests_, request) +
DCHECK_EQ(1ul, base::ranges::count(requests_, request) +
pending_permission_requests_.Count(request))
<< "Only requests in [pending_permission_]requests_ can have duplicates";
- request->PermissionGranted(is_one_time);
@@ -1389,7 +1327,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
void PermissionRequestManager::PermissionDeniedIncludingDuplicates(
- PermissionRequest* request) {
+ PermissionRequest* request, bool is_one_time, content_settings::LifetimeMode lifetime_option) {
DCHECK_EQ(1ul, base::STLCount(requests_, request) +
DCHECK_EQ(1ul, base::ranges::count(requests_, request) +
pending_permission_requests_.Count(request))
<< "Only requests in [pending_permission_]requests_ can have duplicates";
- request->PermissionDenied();
@@ -1401,7 +1339,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
void PermissionRequestManager::CancelledIncludingDuplicates(
@@ -1090,7 +1101,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
@@ -1215,7 +1226,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
void PermissionRequestManager::DoAutoResponseForTesting() {
switch (auto_response_for_test_) {
case ACCEPT_ONCE:
@@ -1413,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
--- a/components/permissions/permission_request_manager.h
+++ b/components/permissions/permission_request_manager.h
@@ -134,8 +134,10 @@ class PermissionRequestManager
@@ -155,8 +155,10 @@ class PermissionRequestManager
GURL GetRequestingOrigin() const override;
GURL GetEmbeddingOrigin() const override;
void Accept() override;
@@ -1425,7 +1363,7 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe
void Dismiss() override;
void Ignore() 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.
void PermissionGrantedIncludingDuplicates(PermissionRequest* request,
@@ -5,8 +5,8 @@ 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/browser/ChromeTabbedActivity.java | 26 ++++++++
.../browser/bookmarks/BookmarkBridge.java | 60 +++++++++++++++++++
.../chrome/browser/ChromeTabbedActivity.java | 24 ++++++++
.../browser/bookmarks/BookmarkBridge.java | 61 +++++++++++++++++++
.../browser/bookmarks/BookmarkUtils.java | 4 ++
.../bookmarks/android/bookmark_bridge.cc | 17 ++++++
.../bookmarks/android/bookmark_bridge.h | 4 ++
@@ -25,12 +25,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/bookmarks/browser/bookmark_node.h | 5 ++
components/bookmarks/browser/model_loader.cc | 3 +-
.../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
--- a/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"
android:title="@string/menu_bookmarks"
android:icon="@drawable/btn_star_filled" />
@@ -41,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"
android:title="@string/menu_recent_tabs"
android:icon="@drawable/devices_black_24dp" />
@@ -182,6 +186,9 @@
@@ -184,6 +188,9 @@ found in the LICENSE file.
<item android:id="@+id/menu_group_tabs"
android:title="@string/menu_group_tabs"
android:icon="@drawable/ic_widgets" />
+ <item android:id="@+id/bookmark_all_tabs_menu_id"
+ android:title="@string/menu_bookmark_all_tabs"
+ android:icon="@drawable/ic_folder_blue_24dp" />
<item android:id="@+id/track_prices_row_menu_id"
android:title="@string/menu_track_prices"
android:icon="@drawable/ic_trending_down_black" />
<item android:id="@+id/menu_select_tabs"
android:title="@string/menu_select_tabs"
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
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -75,6 +75,8 @@ import org.chromium.chrome.browser.back_press.MinimizeAppAndCloseTabBackPressHan
@@ -77,6 +77,7 @@ import org.chromium.chrome.browser.back_press.MinimizeAppAndCloseTabBackPressHan
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
+import org.chromium.chrome.browser.bookmarks.BookmarkBridge;
+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;
@@ -2193,6 +2195,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2217,6 +2218,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
() -> getTabModelSelector().closeAllTabs(), /*isIncognito=*/false);
RecordUserAction.record("MobileMenuCloseAllTabs");
@@ -72,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) {
// Close only incognito tabs
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
@@ -2245,6 +2249,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2269,6 +2272,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
mTabModalHandler.onOmniboxFocusChanged(hasFocus);
}
@@ -84,17 +83,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
+ return;
+ }
+
+ final BookmarkBridge bridge = mBookmarkBridgeSupplier.get();
+ final BookmarkModel bookmarkModel = new BookmarkModel();
+ final BookmarkModel bookmarkModel = mBookmarkModelSupplier.get();
+ bookmarkModel.finishLoadingBookmarkModel(() -> {
+ for (int i = 0; i < tabModel.getCount(); i++) {
+ Tab tab = tabModel.getTabAt(i);
+ if (tab.isNativePage()) {
+ continue;
+ }
+ bridge.addToTabsCollection(this, tab);
+ bookmarkModel.addToTabsCollection(this, tab);
+ }
+ bridge.finishedAddingToTabsCollection(this, getSnackbarManager());
+ bookmarkModel.finishedAddingToTabsCollection(this, getSnackbarManager());
+ });
+ }
+
@@ -112,7 +110,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.base.ObserverList;
import org.chromium.base.ThreadUtils;
import org.chromium.base.annotations.CalledByNative;
@@ -39,6 +40,10 @@ import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
@@ -40,6 +41,10 @@ import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.read_later.ReadingListUtils;
import org.chromium.chrome.browser.tab.Tab;
@@ -121,17 +119,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarController;
+import org.chromium.chrome.R;
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.bookmarks.BookmarkItem;
import org.chromium.components.bookmarks.BookmarkType;
import org.chromium.components.commerce.PriceTracking.ProductPrice;
@@ -86,6 +91,7 @@ import java.io.File;
@@ -84,6 +89,8 @@ import java.io.File;
* bookmark model stored in native.
*/
public class BookmarkBridge {
class BookmarkBridge {
+ private static final String TAG = "BookmarkBridge";
+
private final Profile mProfile;
private boolean mIsDestroyed;
private boolean mIsDoingExtensiveChanges;
@@ -603,6 +609,16 @@ public class BookmarkBridge {
@@ -356,6 +363,16 @@ class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this);
}
@@ -148,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.
*/
@@ -1258,6 +1274,49 @@ public class BookmarkBridge {
@@ -957,6 +974,49 @@ class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, title, url);
}
@@ -198,7 +197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @param url The URL of the reading list item.
* @return The reading list item with the URL, or null if no such reading list item.
@@ -1555,6 +1614,7 @@ public class BookmarkBridge {
@@ -1167,6 +1227,7 @@ class BookmarkBridge {
void getAllFoldersWithDepths(long nativeBookmarkBridge, BookmarkBridge caller,
List<BookmarkId> folderList, List<Integer> depthList);
BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
@@ -209,7 +208,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
@@ -614,6 +614,7 @@ public class BookmarkUtils {
@@ -648,6 +648,7 @@ public class BookmarkUtils {
List<BookmarkId> topLevelFolders = new ArrayList<>();
BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId();
BookmarkId mobileNodeId = bookmarkModel.getMobileFolderId();
@@ -217,7 +216,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
BookmarkId othersNodeId = bookmarkModel.getOtherFolderId();
List<BookmarkId> specialFoldersIds =
@@ -639,6 +640,9 @@ public class BookmarkUtils {
@@ -673,6 +674,9 @@ public class BookmarkUtils {
if (bookmarkModel.isFolderVisible(mobileNodeId)) {
topLevelFolders.add(mobileNodeId);
}
@@ -230,7 +229,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
@@ -435,6 +435,11 @@ void BookmarkBridge::GetTopLevelFolderIDs(
@@ -431,6 +431,11 @@ void BookmarkBridge::GetTopLevelFolderIDs(
top_level_folders.push_back(node.get());
}
@@ -242,7 +241,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
for (const auto& node : bookmark_model_->bookmark_bar_node()->children()) {
if (node->is_folder())
top_level_folders.push_back(node.get());
@@ -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
std::vector<const BookmarkNode*> bookmarks = {
bookmark_model_->mobile_node(),
@@ -250,7 +249,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
bookmark_model_->bookmark_bar_node(),
bookmark_model_->other_node(),
};
@@ -534,6 +540,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId(
@@ -530,6 +536,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId(
return folder_id_obj;
}
@@ -271,7 +270,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser/bookmarks/android/bookmark_bridge.h
--- a/chrome/browser/bookmarks/android/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,
const base::android::JavaParamRef<jobject>& obj);
@@ -317,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
--- a/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;
case bookmarks::BookmarkNode::MOBILE:
return is_mobile;
@@ -350,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
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3573,6 +3573,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]">
Track prices
@@ -3603,6 +3603,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_SELECT_TABS" desc="Menu item for bulk editing tabs. [CHAR_LIMIT=27]">
Select tabs
</message>
+ <message name="IDS_MENU_BOOKMARK_ALL_TABS" desc="Menu item to bookmark all tabs. [CHAR-LIMIT=27]">
+ Bookmark all tabs
@@ -386,7 +385,7 @@ diff --git a/components/bookmark_bar_strings.grdp b/components/bookmark_bar_stri
diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmarks/browser/bookmark_codec.cc
--- a/components/bookmarks/browser/bookmark_codec.cc
+++ b/components/bookmarks/browser/bookmark_codec.cc
@@ -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";
// The value is left as 'synced' for historical reasons.
const char BookmarkCodec::kMobileBookmarkFolderNameKey[] = "synced";
@@ -394,33 +393,33 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
const char BookmarkCodec::kVersionKey[] = "version";
const char BookmarkCodec::kChecksumKey[] = "checksum";
const char BookmarkCodec::kIdKey[] = "id";
@@ -75,7 +76,8 @@ BookmarkCodec::~BookmarkCodec() = default;
@@ -78,7 +79,8 @@ BookmarkCodec::~BookmarkCodec() = default;
base::Value BookmarkCodec::Encode(BookmarkModel* model,
std::string sync_metadata_str) {
return Encode(model->bookmark_bar_node(), model->other_node(),
- model->mobile_node(), model->root_node()->GetMetaInfoMap(),
+ model->mobile_node(), model->tabs_collection_node(),
+ model->root_node()->GetMetaInfoMap(),
model->root_node()->GetUnsyncedMetaInfoMap(),
std::move(sync_metadata_str));
}
@@ -83,6 +85,7 @@ base::Value BookmarkCodec::Encode(
@@ -87,6 +89,7 @@ base::Value BookmarkCodec::Encode(
const BookmarkNode* bookmark_bar_node,
const BookmarkNode* other_folder_node,
const BookmarkNode* mobile_folder_node,
+ const BookmarkNode* tabs_folder_node,
const BookmarkNode::MetaInfoMap* model_meta_info_map,
const BookmarkNode::MetaInfoMap* model_unsynced_meta_info_map,
std::string sync_metadata_str) {
ids_reassigned_ = false;
@@ -104,6 +107,7 @@ base::Value BookmarkCodec::Encode(
@@ -109,6 +112,7 @@ base::Value BookmarkCodec::Encode(
roots.SetKey(kBookmarkBarFolderNameKey, EncodeNode(bookmark_bar_node));
roots.SetKey(kOtherBookmarkFolderNameKey, EncodeNode(other_folder_node));
roots.SetKey(kMobileBookmarkFolderNameKey, EncodeNode(mobile_folder_node));
+ roots.SetKey(kTabsBookmarkFolderNameKey, EncodeNode(tabs_folder_node));
if (model_meta_info_map)
roots.SetKey(kMetaInfo, EncodeMetaInfo(*model_meta_info_map));
FinalizeChecksum();
@@ -120,6 +124,7 @@ bool BookmarkCodec::Decode(const base::Value& value,
if (model_unsynced_meta_info_map) {
@@ -130,6 +134,7 @@ bool BookmarkCodec::Decode(const base::Value& value,
BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node,
@@ -428,7 +427,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
int64_t* max_id,
std::string* sync_metadata_str) {
ids_.clear();
@@ -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::kOtherBookmarksNodeGuid),
base::GUID::ParseLowercase(BookmarkNode::kMobileBookmarksNodeGuid),
@@ -438,7 +437,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
ids_reassigned_ = false;
guids_reassigned_ = false;
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();
InitializeChecksum();
bool success = DecodeHelper(bb_node, other_folder_node, mobile_folder_node,
@@ -453,7 +452,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
*max_id = maximum_id_ + 1;
return success;
}
@@ -190,6 +197,7 @@ base::Value BookmarkCodec::EncodeMetaInfo(
@@ -207,6 +214,7 @@ base::Value BookmarkCodec::EncodeMetaInfo(
bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node,
@@ -461,7 +460,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
const base::Value& value,
std::string* sync_metadata_str) {
if (!value.is_dict())
@@ -221,6 +229,12 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
@@ -238,6 +246,12 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
return false;
DecodeNode(*bb_value, nullptr, bb_node);
@@ -474,7 +473,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
DecodeNode(*other_folder_value, nullptr, other_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,
BookmarkNode* other_node,
@@ -492,15 +491,15 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmarks/browser/bookmark_codec.h
--- a/components/bookmarks/browser/bookmark_codec.h
+++ b/components/bookmarks/browser/bookmark_codec.h
@@ -48,6 +48,7 @@ class BookmarkCodec {
base::Value Encode(const BookmarkNode* bookmark_bar_node,
const BookmarkNode* other_folder_node,
const BookmarkNode* mobile_folder_node,
+ const BookmarkNode* tabs_folder_node,
const BookmarkNode::MetaInfoMap* model_meta_info_map,
std::string sync_metadata_str);
@@ -60,6 +61,7 @@ class BookmarkCodec {
@@ -49,6 +49,7 @@ class BookmarkCodec {
const BookmarkNode* bookmark_bar_node,
const BookmarkNode* other_folder_node,
const BookmarkNode* mobile_folder_node,
+ const BookmarkNode* tabs_folder_node,
const BookmarkNode::MetaInfoMap* model_meta_info_map,
const BookmarkNode::MetaInfoMap* model_unsynced_meta_info_map,
std::string sync_metadata_str);
@@ -62,6 +63,7 @@ class BookmarkCodec {
BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node,
@@ -508,15 +507,15 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
int64_t* max_node_id,
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
// file. That string captures the bookmarks sync metadata.
static const char kSyncMetadata[];
+ static const char kTabsBookmarkFolderNameKey[];
static const char kDateLastUsed[];
// Possible values for kTypeKey.
static const char kTypeURL[];
@@ -121,6 +124,7 @@ class BookmarkCodec {
@@ -130,6 +133,7 @@ class BookmarkCodec {
bool DecodeHelper(BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node,
@@ -524,7 +523,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
const base::Value& value,
std::string* sync_metadata_str);
@@ -132,7 +136,8 @@ class BookmarkCodec {
@@ -141,7 +145,8 @@ class BookmarkCodec {
// Reassigns bookmark IDs for all nodes.
void ReassignIDs(BookmarkNode* bb_node,
BookmarkNode* other_node,
@@ -559,10 +558,10 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
TitledUrlIndex* index() { return index_.get(); }
std::unique_ptr<TitledUrlIndex> owned_index() { return std::move(index_); }
@@ -103,6 +104,7 @@ class BookmarkLoadDetails {
raw_ptr<BookmarkPermanentNode> bb_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> other_folder_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> mobile_folder_node_ = nullptr;
@@ -112,6 +113,7 @@ class BookmarkLoadDetails {
nullptr;
raw_ptr<BookmarkPermanentNode, DanglingUntriaged> mobile_folder_node_ =
nullptr;
+ BookmarkPermanentNode* tabs_collection_folder_node_ = nullptr;
LoadManagedNodeCallback load_managed_node_callback_;
std::unique_ptr<TitledUrlIndex> index_;
@@ -570,7 +569,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
--- a/components/bookmarks/browser/bookmark_model.cc
+++ b/components/bookmarks/browser/bookmark_model.cc
@@ -571,7 +571,7 @@ bool BookmarkModel::HasBookmarks() {
@@ -670,7 +670,7 @@ bool BookmarkModel::HasBookmarks() {
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return bookmark_bar_node_->children().empty() &&
@@ -579,7 +578,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
}
bool BookmarkModel::IsBookmarked(const GURL& url) {
@@ -825,6 +825,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();
other_node_ = details->other_folder_node();
mobile_node_ = details->mobile_folder_node();
@@ -590,7 +589,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmarks/browser/bookmark_model.h
--- a/components/bookmarks/browser/bookmark_model.h
+++ b/components/bookmarks/browser/bookmark_model.h
@@ -121,6 +121,12 @@ class BookmarkModel : public BookmarkUndoProvider,
@@ -122,6 +122,12 @@ class BookmarkModel : public BookmarkUndoProvider,
return mobile_node_;
}
@@ -603,10 +602,10 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark
bool is_root_node(const BookmarkNode* node) const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return node == root_;
@@ -411,6 +417,7 @@ class BookmarkModel : public BookmarkUndoProvider,
raw_ptr<BookmarkPermanentNode> bookmark_bar_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> other_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> mobile_node_ = nullptr;
@@ -446,6 +452,7 @@ class BookmarkModel : public BookmarkUndoProvider,
nullptr;
raw_ptr<BookmarkPermanentNode, DanglingUntriaged> other_node_ = nullptr;
raw_ptr<BookmarkPermanentNode, DanglingUntriaged> mobile_node_ = nullptr;
+ raw_ptr<BookmarkPermanentNode> tabs_collection_node_ = nullptr;
// The maximum ID assigned to the bookmark nodes in the model.
@@ -625,7 +624,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.cc b/components/bookmark
// static
const char BookmarkNode::kManagedNodeGuid[] =
"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));
}
@@ -662,7 +661,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
static const char kManagedNodeGuid[];
// 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(
int64_t id,
bool visible_when_empty);
@@ -675,7 +674,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks/browser/model_loader.cc
--- a/components/bookmarks/browser/model_loader.cc
+++ b/components/bookmarks/browser/model_loader.cc
@@ -57,7 +57,8 @@ void LoadBookmarks(const base::FilePath& path,
@@ -58,7 +58,8 @@ void LoadBookmarks(const base::FilePath& path,
std::string sync_metadata_str;
BookmarkCodec codec;
codec.Decode(*root, details->bb_node(), details->other_folder_node(),
@@ -688,7 +687,7 @@ diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks
diff --git a/components/sync_bookmarks/bookmark_specifics_conversions.cc b/components/sync_bookmarks/bookmark_specifics_conversions.cc
--- a/components/sync_bookmarks/bookmark_specifics_conversions.cc
+++ b/components/sync_bookmarks/bookmark_specifics_conversions.cc
@@ -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::OTHER_NODE:
case bookmarks::BookmarkNode::MOBILE:
@@ -4,19 +4,19 @@ 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 +++
chrome/android/java/res/menu/main_menu.xml | 3 +++
.../chrome/browser/ChromeTabbedActivity.java | 2 ++
.../chrome/browser/app/ChromeActivity.java | 5 +++++
.../app/appmenu/AppMenuPropertiesDelegateImpl.java | 14 ++++++++++++++
.../CustomTabAppMenuPropertiesDelegate.java | 1 +
.../ui/android/strings/android_chrome_strings.grd | 4 ++++
7 files changed, 32 insertions(+)
.../android/java/res/menu/custom_tabs_menu.xml | 3 +++
chrome/android/java/res/menu/main_menu.xml | 3 +++
.../chrome/browser/ChromeTabbedActivity.java | 2 ++
.../chrome/browser/app/ChromeActivity.java | 5 +++++
.../appmenu/AppMenuPropertiesDelegateImpl.java | 18 ++++++++++++++++++
.../CustomTabAppMenuPropertiesDelegate.java | 1 +
.../android/strings/android_chrome_strings.grd | 4 ++++
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
--- a/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"
android:title="@string/menu_add_to_homescreen"
android:orderInCategory="2" />
@@ -29,7 +29,7 @@ diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml
@@ -106,6 +106,9 @@
@@ -108,6 +108,9 @@ found in the LICENSE file.
<item android:id="@+id/add_to_homescreen_id"
android:title="@string/menu_add_to_homescreen"
android:icon="@drawable/ic_add_to_home_screen" />
@@ -42,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
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -2219,6 +2219,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2243,6 +2243,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
}
RecordUserAction.record("MobileMenuDownloadManager");
@@ -54,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
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -2417,6 +2417,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2488,6 +2488,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true;
}
@@ -69,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
--- 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
@@ -527,6 +527,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -550,6 +550,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
isChromeScheme, isFileScheme, isContentScheme, isIncognito, url));
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isChromeScheme);
@@ -77,8 +77,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
updateAutoDarkMenuItem(menu, currentTab, isChromeScheme);
@@ -1157,6 +1158,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
stopPriceTrackingMenuItem.setVisible(false);
@@ -1244,6 +1245,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
stopPriceTrackingMenuItem.setVisible(false);
}
+ /**
@@ -90,8 +90,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
+ protected void updateViewSourceMenuItem(
+ Menu menu, Tab currentTab) {
+ MenuItem viewSourceMenuItem = menu.findItem(R.id.view_source_id);
+ String url = currentTab.getUrl().getSpec();
+ viewSourceMenuItem.setVisible(!url.isEmpty() && !url.startsWith("view-source:"));
+ boolean visible = false;
+ if (currentTab != null) {
+ String url = currentTab.getUrl().getSpec();
+ visible = !url.isEmpty() && !url.startsWith("view-source:");
+ }
+ viewSourceMenuItem.setVisible(visible);
+ }
+
/**
@@ -100,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
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
@@ -220,6 +220,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -228,6 +228,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
updateRequestDesktopSiteMenuItem(
menu, currentTab, requestDesktopSiteVisible, isChromeScheme);
@@ -1,191 +0,0 @@
From: Ari Chivukula <arichiv@chromium.org>
Date: Wed, 10 Aug 2022 23:41:51 +0000
Subject: Add new cache check function
Currently, if a.com is loaded and has a favicon at a.com/icon.png and
then b.com is loaded and has the exact same favicon, the cache entry is
shared which permits b.com to notice that a.com was visited. The end
goal of this task is to prevent cross-origin cache leaks.
This CL adds a new variant of GetFaviconIDForFaviconURL that filters
results by page origin. This will be used in UpdateFaviconMappingsAndFetch
in the next CL, but is just tested here.
This CL is part of a series:
(1) Cache browser test
(2) Add new cache check function
(3) Stop cross-origin cache hits
Bug: 1300214
Change-Id: Ic1513c63f0a09a32e3316d3569f0719990be833b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3822854
Reviewed-by: Scott Violet <sky@chromium.org>
Auto-Submit: Ari Chivukula <arichiv@chromium.org>
Commit-Queue: Ari Chivukula <arichiv@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1033779}
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
components/favicon/core/favicon_database.cc | 27 +++++++++
components/favicon/core/favicon_database.h | 20 ++++++-
.../favicon/core/favicon_database_unittest.cc | 60 +++++++++++++++++++
3 files changed, 104 insertions(+), 3 deletions(-)
diff --git a/components/favicon/core/favicon_database.cc b/components/favicon/core/favicon_database.cc
--- a/components/favicon/core/favicon_database.cc
+++ b/components/favicon/core/favicon_database.cc
@@ -29,6 +29,7 @@
#include "sql/statement.h"
#include "sql/transaction.h"
#include "third_party/sqlite/sqlite3.h"
+#include "url/origin.h"
#if BUILDFLAG(IS_APPLE)
#include "base/mac/backup_util.h"
@@ -666,6 +667,32 @@ bool FaviconDatabase::GetFaviconLastUpdatedTime(favicon_base::FaviconID icon_id,
return true;
}
+favicon_base::FaviconID FaviconDatabase::GetFaviconIDForFaviconURL(
+ const GURL& icon_url,
+ favicon_base::IconType icon_type,
+ const url::Origin& page_origin) {
+ // Look to see if there even is any relevant cached entry.
+ auto const icon_id = GetFaviconIDForFaviconURL(icon_url, icon_type);
+ if (!icon_id) {
+ return icon_id;
+ }
+
+ // Check existing mappings to see if any are for the same origin.
+ sql::Statement statement(db_.GetCachedStatement(
+ SQL_FROM_HERE, "SELECT page_url FROM icon_mapping WHERE icon_id=?"));
+ statement.BindInt64(0, icon_id);
+ while (statement.Step()) {
+ const auto candidate_origin =
+ url::Origin::Create(GURL(statement.ColumnString(0)));
+ if (candidate_origin == page_origin) {
+ return icon_id;
+ }
+ }
+
+ // Act as if there is no entry in the cache if no mapping exists.
+ return 0;
+}
+
favicon_base::FaviconID FaviconDatabase::GetFaviconIDForFaviconURL(
const GURL& icon_url,
favicon_base::IconType icon_type) {
diff --git a/components/favicon/core/favicon_database.h b/components/favicon/core/favicon_database.h
--- a/components/favicon/core/favicon_database.h
+++ b/components/favicon/core/favicon_database.h
@@ -22,6 +22,10 @@ class RefCountedMemory;
class Time;
} // namespace base
+namespace url {
+class Origin;
+} // namespace url
+
namespace favicon {
// The minimum number of days after which last_requested field gets updated.
@@ -146,9 +150,19 @@ class FaviconDatabase {
// Returns true if successful.
bool TouchOnDemandFavicon(const GURL& icon_url, base::Time time);
- // Returns the id of the entry in the favicon database with the specified url
- // and icon type.
- // Returns 0 if no entry exists for the specified url.
+ // Returns the id of the entry in the favicon database with the specified
+ // `icon_url` and `icon_type` that has an existing mapping to `page_origin`
+ // (and 0 if no entry exists). See crbug.com/1300214 for more context.
+ favicon_base::FaviconID GetFaviconIDForFaviconURL(
+ const GURL& icon_url,
+ favicon_base::IconType icon_type,
+ const url::Origin& page_origin);
+
+ // Returns the id of the entry in the favicon database with the specified
+ // `icon_url` and `icon_type` (and 0 if no entry exists). This function does
+ // not respect cross-origin partitioning and returns an entry from the cache
+ // without verifying it was stored for the origin requesting it. This can leak
+ // navigation history, see crbug.com/1300214 for more context.
favicon_base::FaviconID GetFaviconIDForFaviconURL(
const GURL& icon_url,
favicon_base::IconType icon_type);
diff --git a/components/favicon/core/favicon_database_unittest.cc b/components/favicon/core/favicon_database_unittest.cc
--- a/components/favicon/core/favicon_database_unittest.cc
+++ b/components/favicon/core/favicon_database_unittest.cc
@@ -25,6 +25,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/sqlite/sqlite3.h"
#include "url/gurl.h"
+#include "url/origin.h"
using testing::AllOf;
using testing::ElementsAre;
@@ -1447,4 +1448,63 @@ TEST_F(FaviconDatabaseTest, SetFaviconsOutOfDateBetween) {
EXPECT_EQ(base::Time(), GetLastUpdated(&db, icon3));
}
+// Test that GetFaviconIDForFaviconURL can filter by origin.
+TEST_F(FaviconDatabaseTest, GetFaviconIDForFaviconURLOriginFilter) {
+ // Setup DB with `kPageUrl1` mapped to `kIconUrl1`.
+ FaviconDatabase db;
+ ASSERT_EQ(sql::INIT_OK, db.Init(file_name_));
+ db.BeginTransaction();
+ scoped_refptr<base::RefCountedStaticMemory> favicon1(
+ new base::RefCountedStaticMemory(kBlob1, sizeof(kBlob1)));
+ const auto icon_id = db.AddFavicon(
+ kIconUrl1, favicon_base::IconType::kFavicon, favicon1,
+ FaviconBitmapType::ON_VISIT, base::Time::Now(), gfx::Size());
+ db.AddIconMapping(kPageUrl1, icon_id);
+ ASSERT_NE(0, icon_id);
+
+ // We should be able to find the `icon_id` via the non-filtered function.
+ auto icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon);
+ ASSERT_EQ(icon_id, icon_id_found);
+
+ // We should be able to find the `icon_id` via a the origin of `kPageUrl1`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl1));
+ ASSERT_EQ(icon_id, icon_id_found);
+
+ // We shouldn't be able to find the `icon_id` via a the origin of `kPageUrl2`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl2));
+ ASSERT_EQ(0, icon_id_found);
+
+ // We shouldn't be able to find the `icon_id` via a the origin of `kPageUrl3`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl3));
+ ASSERT_EQ(0, icon_id_found);
+
+ // If we map `kPageUrl2` then the situation changes.
+ db.AddIconMapping(kPageUrl2, icon_id);
+
+ // We should be able to find the `icon_id` via a the origin of `kPageUrl1`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl1));
+ ASSERT_EQ(icon_id, icon_id_found);
+
+ // We should be able to find the `icon_id` via a the origin of `kPageUrl2`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl2));
+ ASSERT_EQ(icon_id, icon_id_found);
+
+ // We shouldn't be able to find the `icon_id` via a the origin of `kPageUrl3`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl3));
+ ASSERT_EQ(0, icon_id_found);
+}
+
} // namespace favicon
--
2.25.1
@@ -50,7 +50,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -372,6 +372,7 @@ public final class ChromePreferenceKeys {
@@ -418,6 +418,7 @@ public final class ChromePreferenceKeys {
AccessibilityConstants.FONT_USER_SET_FORCE_ENABLE_ZOOM;
public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info";
@@ -61,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
--- 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
@@ -66,6 +66,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_TAB_GROUPS_ANDROID_ENABLED,
ChromePreferenceKeys.FONT_USER_FONT_SCALE_FACTOR,
@@ -72,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
--- 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
@@ -355,7 +355,7 @@ public class LocationBarCoordinator implements LocationBar, NativeInitObserver,
@@ -376,7 +376,7 @@ public class LocationBarCoordinator implements LocationBar, NativeInitObserver,
// OmniboxSuggestionsDropdownEmbedder implementation
@Override
public boolean isTablet() {
@@ -84,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
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1433,6 +1433,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.">
@@ -1439,6 +1439,12 @@ Your Google account may have other forms of browsing history like searches and a
<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
</message>
+ <message name="IDS_FORCE_TABLET_UI_SUMMARY" desc="Summary of the preference that allows the user to force chromium to use tablet UI.">
@@ -100,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
--- 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,22 +109,6 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
public void setToolbar(Toolbar toolbar, boolean isIncognito) {
mToolbar = toolbar;
mToolbarContainer.setToolbar(mToolbar);
@@ -138,22 +138,6 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
mToolbarContainer.setPostInitializationDependencies(mToolbar, constraintsSupplier,
tabSupplier, compositorInMotionSupplier,
browserStateBrowserControlsVisibilityDelegate, isVisible);
-
- View toolbarView = findViewById(R.id.toolbar);
- assert toolbarView != null;
@@ -135,7 +135,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
disallowed_extension_deps_ = [
# Components should largely not depend on //extensions. Since // extensions
# is not a component target and is linked with //chrome, depending on most
@@ -663,7 +663,7 @@ test("components_unittests") {
@@ -686,7 +686,7 @@ test("components_unittests") {
# On other platforms, no components should depend on Chrome.
# Since //chrome depends on //extensions, we also only assert_no_deps on
# extensions targets for non-lacros builds.
@@ -144,7 +144,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
assert_no_deps = [ "//chrome/*" ]
assert_no_deps += disallowed_extension_deps_
}
@@ -950,7 +950,7 @@ if (!is_ios) {
@@ -966,7 +966,7 @@ if (!is_ios) {
# dependency. On other platforms, no components should depend on Chrome.
# Since //chrome depends on //extensions, we also only assert_no_deps on
# extensions targets for non-lacros builds.
@@ -156,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
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
@@ -34,6 +34,11 @@
@@ -36,6 +36,11 @@ found in the LICENSE file.
android:summary="@string/accessibility_tab_switcher_summary"
android:title="@string/accessibility_tab_switcher_title" />
@@ -180,7 +180,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
private TextScalePreference mTextScalePref;
private PageZoomPreference mPageZoomDefaultZoomPref;
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
@@ -105,6 +107,12 @@ public class AccessibilitySettings
@@ -106,6 +108,12 @@ public class AccessibilitySettings
getPreferenceScreen().removePreference(readerForAccessibilityPref);
}
@@ -193,7 +193,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
ChromeBaseCheckBoxPreference accessibilityTabSwitcherPref =
(ChromeBaseCheckBoxPreference) findPreference(
AccessibilityConstants.ACCESSIBILITY_TAB_SWITCHER);
@@ -153,6 +161,8 @@ public class AccessibilitySettings
@@ -162,6 +170,8 @@ public class AccessibilitySettings
mFontSizePrefs.setUserFontScaleFactor((Float) newValue);
} else if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
mFontSizePrefs.setForceEnableZoomFromUser((Boolean) newValue);
@@ -217,7 +217,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn
--- a/ui/android/BUILD.gn
+++ b/ui/android/BUILD.gn
@@ -369,6 +369,8 @@ android_library("ui_no_recycler_view_java") {
@@ -373,6 +373,8 @@ android_library("ui_no_recycler_view_java") {
deps = [
":ui_java_resources",
":ui_utils_java",
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -42,6 +42,11 @@
@@ -45,6 +45,11 @@ found in the LICENSE file.
android:title="@string/incognito_settings_title"
android:summary="@string/incognito_settings_summary"
android:fragment="org.chromium.chrome.browser.privacy.settings.IncognitoSettings"/>
@@ -28,15 +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
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -38,6 +38,7 @@ import androidx.lifecycle.LifecycleRegistry;
@@ -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;
@@ -1317,8 +1318,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1322,8 +1323,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
boolean hadCipherData =
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
@@ -59,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import android.os.Bundle;
import android.text.SpannableString;
import android.view.Menu;
@@ -16,6 +17,8 @@ import androidx.preference.Preference;
@@ -15,6 +16,8 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
@@ -68,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.browser.feedback.HelpAndFeedbackLauncherImpl;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -57,6 +60,8 @@ public class PrivacySettings
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
@@ -67,6 +70,8 @@ public class PrivacySettings
SharedPreferencesManager.getInstance();
private final PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
+
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
private ViewGroup mDialogContainer;
@@ -128,7 +133,11 @@ public class PrivacySettings
@@ -132,7 +137,11 @@ public class PrivacySettings
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@@ -90,7 +90,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
@@ -169,6 +178,11 @@ public class PrivacySettings
@@ -176,6 +185,11 @@ public class PrivacySettings
PreloadPagesSettingsFragment.getPreloadPagesSummaryString(getContext()));
}
@@ -105,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
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -4437,6 +4437,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.">
IMAGE
</message>
@@ -22,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/android/java/res/xml/homepage_preferences.xml
--- a/chrome/android/java/res/xml/homepage_preferences.xml
+++ b/chrome/android/java/res/xml/homepage_preferences.xml
@@ -12,6 +12,11 @@
@@ -14,6 +14,11 @@ found in the LICENSE file.
android:summaryOn="@string/text_on"
android:summaryOff="@string/text_off" />
@@ -118,7 +118,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin;
import org.chromium.chrome.browser.ntp.NewTabPageUtils;
import org.chromium.chrome.browser.tab.RedirectHandlerTabHelper;
@@ -297,6 +298,12 @@ public class ChromeTabCreator extends TabCreator {
@@ -311,6 +312,12 @@ public class ChromeTabCreator extends TabCreator {
* @return the created tab.
*/
public Tab launchUrl(String url, @TabLaunchType int type, Intent intent, long intentTimestamp) {
@@ -134,7 +134,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -383,6 +383,7 @@ public final class ChromePreferenceKeys {
@@ -429,6 +429,7 @@ public final class ChromePreferenceKeys {
public static final String HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_GURL =
"Chrome.Homepage.PartnerCustomizedDefaultGurl";
@@ -145,18 +145,18 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
@@ -71,6 +71,7 @@ public class LegacyChromePreferenceKeys {
@@ -72,6 +72,7 @@ public class LegacyChromePreferenceKeys {
ChromePreferenceKeys.HOMEPAGE_CUSTOM_URI,
ChromePreferenceKeys.HOMEPAGE_ENABLED,
ChromePreferenceKeys.HOMEPAGE_USE_DEFAULT_URI,
+ ChromePreferenceKeys.HOMEPAGE_NTP_IS_HOMEPAGE,
ChromePreferenceKeys.INCOGNITO_SHORTCUT_ADDED,
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
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1248,6 +1248,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.">
Last hour
</message>
@@ -181,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
--- a/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.
const char kHomePageIsNewTabPage[] = "homepage_is_newtabpage";
@@ -195,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
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -373,6 +373,7 @@ extern const char kSettingsShowOSBanner[];
@@ -389,6 +389,7 @@ extern const char kRestrictedManagedGuestSessionExtensionCleanupExemptList[];
extern const char kUsedPolicyCertificates[];
#endif // BUILDFLAG(IS_CHROMEOS)
extern const char kShowHomeButton[];
+8 -8
View File
@@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -138,6 +138,7 @@
@@ -144,6 +144,7 @@
#include "components/segmentation_platform/public/features.h"
#include "components/send_tab_to_self/features.h"
#include "components/services/heap_profiling/public/cpp/switches.h"
@@ -29,7 +29,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#include "components/shared_highlighting/core/common/shared_highlighting_features.h"
#include "components/signin/core/browser/dice_account_reconcilor_delegate.h"
#include "components/signin/public/base/signin_buildflags.h"
@@ -8669,6 +8670,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -9283,6 +9284,11 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kSearchReadyOmniboxDescription, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kSearchReadyOmniboxFeature)},
@@ -44,9 +44,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3221,6 +3221,11 @@ const char kReduceUserAgentPlatformOsCpuDescription[] =
"The platform and oscpu in the User-Agent string will be reported as "
"<unifiedPlatform>";
@@ -3407,6 +3407,11 @@ const char kSkipServiceWorkerFetchHandlerDescription[] =
"Skips starting the service worker and run the fetch handler if the fetch "
"handler is recognized as skippable.";
+const char kSiteEngagementName[] =
+ "Enable site engagement feature";
@@ -59,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
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1825,6 +1825,9 @@ extern const char kReduceUserAgentMinorVersionDescription[];
extern const char kReduceUserAgentPlatformOsCpuName[];
extern const char kReduceUserAgentPlatformOsCpuDescription[];
@@ -1957,6 +1957,9 @@ extern const char kReduceUserAgentPlatformOsCpuDescription[];
extern const char kSkipServiceWorkerFetchHandlerName[];
extern const char kSkipServiceWorkerFetchHandlerDescription[];
+extern const char kSiteEngagementName[];
+extern const char kSiteEngagementDescription[];
@@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
@@ -67,6 +67,7 @@ import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFacto
@@ -66,6 +66,7 @@ import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFacto
import org.chromium.components.browser_ui.modaldialog.AppModalPresenter;
import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher;
import org.chromium.components.browser_ui.settings.SettingsLauncher;
@@ -20,7 +20,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
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.ViewResizer;
@@ -333,9 +334,13 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -328,9 +329,13 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
finish();
return true;
} else if (item.getItemId() == R.id.menu_id_general_help) {
+19 -19
View File
@@ -38,7 +38,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
--- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -79,6 +79,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/BromiteCustomContentSetting.java",
]
@@ -183,7 +183,7 @@ diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/comp
<part file="site_settings.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
diff --git a/components/browser_ui/strings/android/webgl.grdp b/components/browser_ui/strings/android/webgl.grdp
new file mode 100644
@@ -214,15 +214,15 @@ diff --git a/components/components_strings.grd b/components/components_strings.g
@@ -338,6 +338,7 @@
<part file="version_ui_strings.grdp" />
<part file="webapps_strings.grdp" />
<part file="user_scripts/strings/userscripts_strings.grdp" />
+ <part file="browser_ui/strings/android/webgl.grdp" />
+ <part file="browser_ui/strings/android/webgl.grdp" />
<if expr="not is_ios">
<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
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -679,6 +679,20 @@ void ContentSettingsRegistry::Init() {
@@ -633,6 +633,20 @@ void ContentSettingsRegistry::Init() {
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
ContentSettingsInfo::PERSISTENT,
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
@@ -232,7 +232,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
+ AllowlistedSchemes(),
+ ValidSettings(CONTENT_SETTING_ALLOW,
+ CONTENT_SETTING_BLOCK),
+ WebsiteSettingsInfo::SINGLE_ORIGIN_WITH_EMBEDDED_EXCEPTIONS_SCOPE,
+ WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
+ WebsiteSettingsRegistry::PLATFORM_ANDROID,
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
+ ContentSettingsInfo::PERSISTENT,
@@ -246,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
--- a/components/content_settings/core/browser/content_settings_utils.cc
+++ b/components/content_settings/core/browser/content_settings_utils.cc
@@ -155,6 +155,8 @@ void GetRendererContentSettingRules(const HostContentSettingsMap* map,
@@ -156,6 +156,8 @@ void GetRendererContentSettingRules(const HostContentSettingsMap* map,
std::string timezone;
map->GetTimezoneOverrideValue(timezone);
rules->timezone_override_value = timezone;
@@ -258,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
--- a/components/content_settings/core/common/content_settings.cc
+++ b/components/content_settings/core/common/content_settings.cc
@@ -205,7 +205,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
@@ -208,7 +208,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
content_type == ContentSettingsType::AUTOPLAY ||
content_type == ContentSettingsType::MIXEDSCRIPT ||
content_type == ContentSettingsType::AUTO_DARK_WEB_CONTENT ||
@@ -268,7 +268,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
}
void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
@@ -217,6 +218,7 @@ 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);
@@ -279,7 +279,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
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
@@ -97,6 +97,7 @@ struct RendererContentSettingRules {
@@ -96,6 +96,7 @@ struct RendererContentSettingRules {
ContentSettingsForOneType auto_dark_content_rules;
ContentSettingsForOneType timezone_override_rules;
std::string timezone_override_value;
@@ -299,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
--- a/components/content_settings/core/common/content_settings_mojom_traits.cc
+++ b/components/content_settings/core/common/content_settings_mojom_traits.cc
@@ -104,7 +104,8 @@ bool StructTraits<content_settings::mojom::RendererContentSettingRulesDataView,
@@ -105,7 +105,8 @@ bool StructTraits<content_settings::mojom::RendererContentSettingRulesDataView,
data.ReadMixedContentRules(&out->mixed_content_rules) &&
data.ReadAutoDarkContentRules(&out->auto_dark_content_rules) &&
data.ReadTimezoneOverrideRules(&out->timezone_override_rules) &&
@@ -327,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
--- a/components/content_settings/core/common/content_settings_types.h
+++ b/components/content_settings/core/common/content_settings_types.h
@@ -280,6 +280,8 @@ enum class ContentSettingsType : int32_t {
@@ -277,6 +277,8 @@ enum class ContentSettingsType : int32_t {
// site instead of the mobile one.
REQUEST_DESKTOP_SITE,
@@ -381,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
--- a/third_party/blink/renderer/core/execution_context/execution_context.cc
+++ b/third_party/blink/renderer/core/execution_context/execution_context.cc
@@ -65,6 +65,29 @@
@@ -67,6 +67,29 @@
namespace blink {
@@ -414,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
--- a/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 ScriptWrappable;
class TrustedTypePolicyFactory;
@@ -422,7 +422,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
enum ReasonForCallingCanExecuteScripts {
kAboutToExecuteScript,
@@ -105,6 +106,10 @@ enum ReasonForCallingCanExecuteScripts {
@@ -109,6 +110,10 @@ enum ReasonForCallingCanExecuteScripts {
enum ReferrerPolicySource { kPolicySourceHttpHeader, kPolicySourceMetaTag };
@@ -436,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
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
@@ -244,6 +244,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
@@ -246,6 +246,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
}
}
@@ -450,7 +450,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() {
base::AutoLock locker(WebGLContextLimitLock());
DCHECK(webgl_context_limits_initialized_);
@@ -490,25 +497,6 @@ static String ExtractWebGLContextCreationError(
@@ -492,25 +499,6 @@ static String ExtractWebGLContextCreationError(
const Platform::GraphicsInfo& info) {
StringBuilder builder;
builder.Append("Could not create a WebGL context");
@@ -476,7 +476,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(),
builder);
builder.Append('.');
@@ -576,6 +564,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
@@ -579,6 +567,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
const CanvasContextCreationAttributesCore& attributes,
Platform::ContextType context_type,
Platform::GraphicsInfo* graphics_info) {
@@ -492,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
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
@@ -1808,6 +1808,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
@@ -1920,6 +1920,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
DOMArrayBufferView* pixels,
int64_t offset);
+23 -15
View File
@@ -25,15 +25,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../renderer/content_settings_agent_impl.cc | 9 ++
.../renderer/content_settings_agent_impl.h | 1 +
.../platform/web_content_settings_client.h | 2 +
.../peer_connection_dependency_factory.cc | 5 ++
19 files changed, 160 insertions(+), 4 deletions(-)
.../peer_connection_dependency_factory.cc | 6 ++
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/strings/android/webrtc.grdp
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
--- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -82,6 +82,9 @@ android_library("java") {
@@ -95,6 +95,9 @@ android_library("java") {
sources += [
"java/src/org/chromium/components/browser_ui/site_settings/BromiteWebGLContentSetting.java",
]
@@ -179,7 +179,7 @@ diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/comp
<part file="webgl.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
diff --git a/components/browser_ui/strings/android/webrtc.grdp b/components/browser_ui/strings/android/webrtc.grdp
new file mode 100644
@@ -209,16 +209,16 @@ diff --git a/components/components_strings.grd b/components/components_strings.g
+++ b/components/components_strings.grd
@@ -339,6 +339,7 @@
<part file="webapps_strings.grdp" />
<part file="user_scripts/strings/userscripts_strings.grdp" />
<part file="browser_ui/strings/android/webgl.grdp" />
+ <part file="browser_ui/strings/android/webrtc.grdp" />
<if expr="not is_ios">
<part file="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
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -693,6 +693,20 @@ void ContentSettingsRegistry::Init() {
@@ -647,6 +647,20 @@ void ContentSettingsRegistry::Init() {
/*show_into_info_page*/ true,
/*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_WEBGL,
/*permission_type_ui_mid_sentence*/ IDS_SITE_SETTINGS_TYPE_WEBGL_MID_SENTENCE);
@@ -228,7 +228,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
+ AllowlistedSchemes(),
+ ValidSettings(CONTENT_SETTING_ALLOW,
+ CONTENT_SETTING_BLOCK),
+ WebsiteSettingsInfo::SINGLE_ORIGIN_WITH_EMBEDDED_EXCEPTIONS_SCOPE,
+ WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
+ WebsiteSettingsRegistry::PLATFORM_ANDROID,
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
+ ContentSettingsInfo::PERSISTENT,
@@ -242,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
--- a/components/content_settings/core/browser/content_settings_utils.cc
+++ b/components/content_settings/core/browser/content_settings_utils.cc
@@ -157,6 +157,8 @@ void GetRendererContentSettingRules(const HostContentSettingsMap* map,
@@ -158,6 +158,8 @@ void GetRendererContentSettingRules(const HostContentSettingsMap* map,
rules->timezone_override_value = timezone;
map->GetSettingsForOneType(ContentSettingsType::WEBGL,
&(rules->webgl_rules));
@@ -254,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
--- a/components/content_settings/core/common/content_settings.cc
+++ b/components/content_settings/core/common/content_settings.cc
@@ -206,7 +206,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
@@ -209,7 +209,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
content_type == ContentSettingsType::MIXEDSCRIPT ||
content_type == ContentSettingsType::AUTO_DARK_WEB_CONTENT ||
content_type == ContentSettingsType::TIMEZONE_OVERRIDE ||
@@ -264,7 +264,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
}
void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
@@ -219,6 +220,7 @@ 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);
@@ -275,7 +275,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
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
@@ -98,6 +98,7 @@ struct RendererContentSettingRules {
@@ -97,6 +97,7 @@ struct RendererContentSettingRules {
ContentSettingsForOneType timezone_override_rules;
std::string timezone_override_value;
ContentSettingsForOneType webgl_rules;
@@ -295,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
--- a/components/content_settings/core/common/content_settings_mojom_traits.cc
+++ b/components/content_settings/core/common/content_settings_mojom_traits.cc
@@ -105,7 +105,8 @@ bool StructTraits<content_settings::mojom::RendererContentSettingRulesDataView,
@@ -106,7 +106,8 @@ bool StructTraits<content_settings::mojom::RendererContentSettingRulesDataView,
data.ReadAutoDarkContentRules(&out->auto_dark_content_rules) &&
data.ReadTimezoneOverrideRules(&out->timezone_override_rules) &&
data.ReadTimezoneOverrideValue(&out->timezone_override_value) &&
@@ -323,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
--- a/components/content_settings/core/common/content_settings_types.h
+++ b/components/content_settings/core/common/content_settings_types.h
@@ -282,6 +282,8 @@ enum class ContentSettingsType : int32_t {
@@ -279,6 +279,8 @@ enum class ContentSettingsType : int32_t {
WEBGL,
@@ -377,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
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
@@ -758,6 +758,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.
WebRTCIPHandlingPolicy policy =
GetWebRTCIPHandlingPolicy(webrtc_ip_handling_policy);
@@ -5,9 +5,9 @@ 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 ++
.../net/cross_origin_embedder_policy_reporter.cc | 4 +++-
.../net/cross_origin_opener_policy_reporter.cc | 16 +++++++---------
content/browser/net/reporting_service_proxy.cc | 3 +++
.../cross_origin_embedder_policy_reporter.cc | 7 +++++--
.../cross_origin_opener_policy_reporter.cc | 16 +++++++---------
.../browser/network/reporting_service_proxy.cc | 3 +++
.../renderer_host/render_frame_host_impl.cc | 6 ------
.../web_package/signed_exchange_reporter.cc | 2 ++
...content_switch_dependent_feature_overrides.cc | 1 +
@@ -19,12 +19,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../blink/renderer/core/frame/local_frame.h | 6 +++---
.../renderer/core/frame/reporting_context.cc | 9 +++++++++
.../renderer/core/frame/reporting_context.h | 7 +++++--
15 files changed, 48 insertions(+), 24 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
--- a/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) {
}
}
@@ -32,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> urls;
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;
}
@@ -40,38 +40,48 @@ diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/brow
} // namespace
diff --git a/content/browser/net/cross_origin_embedder_policy_reporter.cc b/content/browser/net/cross_origin_embedder_policy_reporter.cc
--- a/content/browser/net/cross_origin_embedder_policy_reporter.cc
+++ b/content/browser/net/cross_origin_embedder_policy_reporter.cc
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/network/cross_origin_embedder_policy_reporter.cc
+++ b/content/browser/network/cross_origin_embedder_policy_reporter.cc
@@ -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 "base/strings/string_piece.h"
#include "base/values.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))));
}
if (endpoint) {
+#if BUILDFLAG(ENABLE_REPORTING)
+ 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) {
body_to_pass.Set(pair.first, pair.second);
@@ -123,7 +125,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
kType, *endpoint, context_url_, reporting_source_,
network_isolation_key_,
@@ -125,6 +127,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
/*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
--- a/content/browser/net/cross_origin_opener_policy_reporter.cc
+++ b/content/browser/net/cross_origin_opener_policy_reporter.cc
@@ -17,25 +17,17 @@
} // namespace content
diff --git a/content/browser/network/cross_origin_opener_policy_reporter.cc b/content/browser/network/cross_origin_opener_policy_reporter.cc
--- a/content/browser/network/cross_origin_opener_policy_reporter.cc
+++ 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/source_location.mojom.h"
#include "url/origin.h"
@@ -98,7 +108,7 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
constexpr char kType[] = "type";
// 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 kTypeToResponse[] = "navigation-to-response";
@@ -106,7 +116,7 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
switch (coop_value) {
case network::mojom::CrossOriginOpenerPolicyValue::kUnsafeNone:
@@ -61,6 +54,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
@@ -62,6 +55,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
return "restrict-properties-plus-coep";
}
}
@@ -114,7 +124,7 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
FrameTreeNode* TopLevelOpener(FrameTreeNode* frame) {
FrameTreeNode* opener =
@@ -232,6 +226,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
@@ -233,6 +227,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
network::mojom::SourceLocationPtr source_location,
const std::string& reported_window_url,
const std::string& initial_popup_url) const {
@@ -122,10 +132,10 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
// Cross-Origin-Opener-Policy-Report-Only is not required to provide
// endpoints.
if (!coop_.report_only_reporting_endpoint)
@@ -279,12 +274,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
@@ -280,12 +275,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
storage_partition_->GetNetworkContext()->QueueReport(
"coop", endpoint, context_url_, reporting_source_, network_isolation_key_,
absl::nullopt, std::move(body));
"coop", endpoint, context_url_, reporting_source_,
network_anonymization_key_, absl::nullopt, std::move(body));
+#endif
}
@@ -137,17 +147,17 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
body.Set(kDisposition,
is_report_only ? kDispositionReporting : kDispositionEnforce);
body.Set(kEffectivePolicy,
@@ -292,6 +289,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
storage_partition_->GetNetworkContext()->QueueReport(
"coop", endpoint, context_url_, reporting_source_, network_isolation_key_,
@@ -294,6 +291,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
"coop", endpoint, context_url_, reporting_source_,
network_anonymization_key_,
/*user_agent=*/absl::nullopt, std::move(body));
+#endif
}
} // namespace content
diff --git a/content/browser/net/reporting_service_proxy.cc b/content/browser/net/reporting_service_proxy.cc
--- a/content/browser/net/reporting_service_proxy.cc
+++ b/content/browser/net/reporting_service_proxy.cc
diff --git a/content/browser/network/reporting_service_proxy.cc b/content/browser/network/reporting_service_proxy.cc
--- a/content/browser/network/reporting_service_proxy.cc
+++ b/content/browser/network/reporting_service_proxy.cc
@@ -11,6 +11,7 @@
#include "base/memory/ref_counted.h"
#include "base/unguessable_token.h"
@@ -165,7 +175,7 @@ diff --git a/content/browser/net/reporting_service_proxy.cc b/content/browser/ne
if (!rph)
return;
rph->GetStoragePartition()->GetNetworkContext()->QueueReport(
type, group, url, reporting_source_, network_isolation_key_,
type, group, url, reporting_source_, network_anonymization_key_,
/*user_agent=*/absl::nullopt, std::move(body));
+#endif
}
@@ -174,7 +184,7 @@ 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
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -12081,12 +12081,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
@@ -11993,12 +11993,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
base::Value::Dict body;
if (!reason.empty())
body.Set("reason", reason);
@@ -182,7 +192,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
- // Send the crash report to the Reporting API.
- GetProcess()->GetStoragePartition()->GetNetworkContext()->QueueReport(
- /*type=*/"crash", /*group=*/"default", last_committed_url_,
- GetReportingSource(), isolation_info_.network_isolation_key(),
- GetReportingSource(), isolation_info_.network_anonymization_key(),
- absl::nullopt /* user_agent */, std::move(body));
}
@@ -190,18 +200,18 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
diff --git a/content/browser/web_package/signed_exchange_reporter.cc b/content/browser/web_package/signed_exchange_reporter.cc
--- a/content/browser/web_package/signed_exchange_reporter.cc
+++ b/content/browser/web_package/signed_exchange_reporter.cc
@@ -127,6 +127,7 @@ bool ShouldDowngradeReport(const char* result_string,
void ReportResult(int frame_tree_node_id,
network::mojom::SignedExchangeReportPtr report,
const net::NetworkIsolationKey& network_isolation_key) {
@@ -128,6 +128,7 @@ void ReportResult(
int frame_tree_node_id,
network::mojom::SignedExchangeReportPtr report,
const net::NetworkAnonymizationKey& network_anonymization_key) {
+#if BUILDFLAG(ENABLE_REPORTING)
FrameTreeNode* frame_tree_node =
FrameTreeNode::GloballyFindByID(frame_tree_node_id);
if (!frame_tree_node)
@@ -141,6 +142,7 @@ void ReportResult(int frame_tree_node_id,
@@ -142,6 +143,7 @@ void ReportResult(
DCHECK(partition);
partition->GetNetworkContext()->QueueSignedExchangeReport(
std::move(report), network_isolation_key);
std::move(report), network_anonymization_key);
+#endif
}
@@ -209,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
--- a/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_switches.h"
#include "net/base/features.h"
@@ -220,7 +230,7 @@ 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
--- a/net/reporting/reporting_service.cc
+++ b/net/reporting/reporting_service.cc
@@ -208,6 +208,12 @@ class ReportingServiceImpl : public ReportingService {
@@ -211,6 +211,12 @@ class ReportingServiceImpl : public ReportingService {
base::Value::Dict body,
int depth,
base::TimeTicks queued_ticks) {
@@ -232,27 +242,27 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic
+#endif
DCHECK(initialized_);
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
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
@@ -454,10 +454,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 net::NetworkIsolationKey& network_isolation_key,
const net::NetworkAnonymizationKey& network_anonymization_key,
const absl::optional<std::string>& user_agent,
- base::Value::Dict body) override;
+ base::Value::Dict body);
void QueueSignedExchangeReport(
mojom::SignedExchangeReportPtr report,
- const net::NetworkIsolationKey& network_isolation_key) override;
+ const net::NetworkIsolationKey& network_isolation_key);
- const net::NetworkAnonymizationKey& network_anonymization_key) override;
+ const net::NetworkAnonymizationKey& network_anonymization_key);
void AddDomainReliabilityContextForTesting(
const GURL& origin,
const url::Origin& origin,
const GURL& upload_url,
diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn
--- a/services/network/public/mojom/BUILD.gn
+++ b/services/network/public/mojom/BUILD.gn
@@ -965,7 +965,6 @@ mojom("mojom") {
@@ -1168,7 +1168,6 @@ mojom("mojom") {
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/blink/public/platform/web_common.h"
if (enable_reporting) {
@@ -263,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
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -1059,6 +1059,7 @@ interface NetworkContext {
@@ -1072,6 +1072,7 @@ interface NetworkContext {
// provided |network_isolation_key|.
//
// Spec: https://w3c.github.io/reporting/#concept-reports
@@ -271,13 +281,13 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
QueueReport(string type,
string group,
url.mojom.Url url,
@@ -1072,6 +1073,7 @@ interface NetworkContext {
@@ -1085,6 +1086,7 @@ interface NetworkContext {
// Note that this queued report will never be delivered if no reporting
// endpoint matching is registered for with the provided
// |network_isolation_key|.
+ [EnableIf=enable_reporting]
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
--- a/third_party/blink/renderer/core/frame/local_frame.cc
@@ -290,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/network/public/cpp/features.h"
#include "services/network/public/mojom/content_security_policy.mojom-blink.h"
@@ -2382,9 +2383,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
@@ -2328,9 +2329,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
return base::UnguessableToken::Null();
}
@@ -316,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/network/public/mojom/fetch_api.mojom-blink-forward.h"
#include "third_party/blink/public/common/frame/frame_ad_evidence.h"
@@ -576,9 +576,9 @@ class CORE_EXPORT LocalFrame final
@@ -596,9 +596,9 @@ class CORE_EXPORT LocalFrame final
}
SmoothScrollSequencer& GetSmoothScrollSequencer();
@@ -4,14 +4,14 @@ 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.h | 3 +++
2 files changed, 14 insertions(+), 1 deletion(-)
.../renderer/platform/media/web_media_player_impl.cc | 11 ++++++++++-
.../renderer/platform/media/web_media_player_impl.h | 3 +++
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
--- a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.cc
@@ -1218,6 +1218,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
@@ -1237,6 +1237,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
return pipeline_metadata_.has_audio;
}
@@ -24,23 +24,22 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
void WebMediaPlayerImpl::EnabledAudioTracksChanged(
const WebVector<WebMediaPlayer::TrackId>& enabledTrackIds) {
DCHECK(main_task_runner_->BelongsToCurrentThread());
@@ -3612,7 +3618,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
@@ -3662,7 +3668,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
: HasAudio();
// Audio only stream is allowed to play when in background.
// TODO: We should check IsBackgroundOptimizationCandidate here. But we need
// to move the logic of checking video frames out of that function.
- if (!HasVideo())
+
- if (!HasVideo() && preserve_audio)
+ //pipeline_metadata_.has_video is true for MediaPlayerRenderer,
+ //see media/base/pipeline_metadata.h. This is a workaround to allow audio
+ //streams be played in background.
+ if (!HasVideoNonEmptySize())
+ if (!HasVideoNonEmptySize() && preserve_audio)
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
--- a/third_party/blink/renderer/platform/media/web_media_player_impl.h
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.h
@@ -192,6 +192,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl
@@ -197,6 +197,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl
bool HasVideo() const override;
bool HasAudio() const override;
@@ -1,25 +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
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
@@ -496,8 +496,8 @@ const base::Feature kConditionalTabStripAndroid{
const base::Feature kCastDeviceFilter{"CastDeviceFilter",
base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kCloseTabSuggestions{"CloseTabSuggestions",
- base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kCloseTabSuggestions{"CloseTabSuggestions", // Enabled by default in Bromite
+ base::FEATURE_ENABLED_BY_DEFAULT}; // ^
const base::Feature kCriticalPersistedTabData{
"CriticalPersistedTabData", base::FEATURE_DISABLED_BY_DEFAULT};
--
2.25.1
@@ -48,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
--- a/third_party/blink/renderer/modules/webaudio/audio_context.cc
+++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc
@@ -497,7 +497,9 @@ double AudioContext::baseLatency() const {
@@ -508,7 +508,9 @@ double AudioContext::baseLatency() const {
DCHECK(IsMainThread());
DCHECK(destination());
File diff suppressed because one or more lines are too long
@@ -23,8 +23,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc
--- a/third_party/blink/renderer/core/execution_context/execution_context.cc
+++ b/third_party/blink/renderer/core/execution_context/execution_context.cc
@@ -674,4 +674,20 @@ bool ExecutionContext::RequireTrustedTypes() const {
return require_safe_types_;
@@ -720,4 +720,20 @@ void ExecutionContext::WriteIntoTrace(
proto->set_type(GetContextType(*this));
}
+String ExecutionContext::addressSpaceForBindings() const {
@@ -47,7 +47,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
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
@@ -386,6 +386,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
@@ -401,6 +401,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space);
HeapObserverSet<ContextLifecycleObserver>& ContextLifecycleObserverSet();
@@ -69,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
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
@@ -528,6 +528,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
@@ -578,6 +578,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
return should_block_request;
}
@@ -99,14 +99,14 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/third_party/blink/renderer/core/loader/frame_fetch_context.h
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h
@@ -166,6 +166,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;
std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle()
override;
+ bool ShouldBlockGateWayAttacks(network::mojom::IPAddressSpace requestor_space, const KURL&) const override;
bool ShouldBlockFetchByMixedContentCheck(
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
--- a/third_party/blink/renderer/core/loader/worker_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/worker_fetch_context.cc
@@ -148,18 +148,18 @@ diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/th
diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.h b/third_party/blink/renderer/core/loader/worker_fetch_context.h
--- a/third_party/blink/renderer/core/loader/worker_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/worker_fetch_context.h
@@ -61,6 +61,7 @@ class WorkerFetchContext final : public BaseFetchContext {
@@ -62,6 +62,7 @@ class WorkerFetchContext final : public BaseFetchContext {
bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override;
std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle()
override;
+ bool ShouldBlockGateWayAttacks(network::mojom::IPAddressSpace requestor_space, const KURL&) const override;
bool ShouldBlockFetchByMixedContentCheck(
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
--- a/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();
}
@@ -190,7 +190,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc
scoped_refptr<BlobDataHandle> ExtractBlobHandle(
Request* request,
ExceptionState& exception_state) {
@@ -220,6 +244,13 @@ ScriptPromise BackgroundFetchManager::fetch(
@@ -221,6 +245,13 @@ ScriptPromise BackgroundFetchManager::fetch(
exception_state);
}
@@ -207,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
--- a/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;
}
@@ -39,9 +39,9 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.c
diff --git a/chrome/browser/history/history_utils.cc b/chrome/browser/history/history_utils.cc
--- a/chrome/browser/history/history_utils.cc
+++ b/chrome/browser/history/history_utils.cc
@@ -21,6 +21,7 @@ bool CanAddURLToHistory(const GURL& url) {
url.SchemeIs(content::kChromeDevToolsScheme) ||
@@ -22,6 +22,7 @@ bool CanAddURLToHistory(const GURL& url) {
url.SchemeIs(content::kChromeUIScheme) ||
url.SchemeIs(content::kChromeUIUntrustedScheme) ||
url.SchemeIs(content::kViewSourceScheme) ||
+ url.SchemeIs(url::kTraceScheme) ||
url.SchemeIs(chrome::kChromeNativeScheme) ||
@@ -81,7 +81,7 @@ diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnib
return url::FindAndCompareScheme(utf8_input, scheme, nullptr);
}
@@ -571,7 +576,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
// URL qualified by the view-source or blob prefix.
if ((base::EqualsCaseInsensitiveASCII(scheme_str, kViewSourceScheme) ||
@@ -94,7 +94,7 @@ diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnib
diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/url_fixer.cc
--- a/components/url_formatter/url_fixer.cc
+++ b/components/url_formatter/url_fixer.cc
@@ -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) {
}
}
@@ -108,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
--- a/content/browser/child_process_security_policy_impl.cc
+++ b/content/browser/child_process_security_policy_impl.cc
@@ -755,6 +755,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
@@ -756,6 +756,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
RegisterPseudoScheme(url::kJavaScriptScheme);
RegisterPseudoScheme(kViewSourceScheme);
RegisterPseudoScheme(kGoogleChromeScheme);
@@ -119,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
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1020,6 +1020,8 @@ component("net") {
@@ -1032,6 +1032,8 @@ component("net") {
"url_request/url_request_http_job.cc",
"url_request/url_request_http_job.h",
"url_request/url_request_interceptor.cc",
@@ -210,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/url_constants.h"
using base::Time;
using std::string;
@@ -587,6 +589,12 @@ URLRequest::URLRequest(const GURL& url,
namespace net {
@@ -593,6 +595,12 @@ URLRequest::URLRequest(const GURL& url,
// Sanity check out environment.
DCHECK(base::ThreadTaskRunnerHandle::IsSet());
@@ -228,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
--- a/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/ssl/ssl_config_service_defaults.h"
#include "net/url_request/static_http_user_agent_settings.h"
+#include "net/url_request/trk_protocol_handler.h"
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_context_storage.h"
#include "net/url_request/url_request_job_factory.h"
@@ -631,6 +632,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,
std::move(scheme_handler.second));
}
@@ -244,7 +244,7 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur
+ std::make_unique<TrkProtocolHandler>());
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
--- a/url/url_constants.cc
+++ b/url/url_constants.cc
@@ -270,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
--- a/url/url_util.cc
+++ b/url/url_util.cc
@@ -45,6 +45,7 @@ struct SchemeRegistry {
@@ -46,6 +46,7 @@ struct SchemeRegistry {
std::vector<SchemeWithType> standard_schemes = {
{kHttpsScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION},
{kHttpScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION},
@@ -278,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
// "standard". File URLs never have a port as specified by the SchemeType
// field. Unlike other SCHEME_WITH_HOST schemes, the 'host' in a file
@@ -88,6 +89,7 @@ struct SchemeRegistry {
@@ -89,6 +90,7 @@ struct SchemeRegistry {
kAboutScheme,
kJavaScriptScheme,
kDataScheme,
@@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml b/chrome/android/java/res/menu/bookmark_action_bar_menu.xml
--- a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml
+++ b/chrome/android/java/res/menu/bookmark_action_bar_menu.xml
@@ -21,6 +21,13 @@
@@ -23,6 +23,13 @@ found in the LICENSE file.
android:visible="false"
app:showAsAction="ifRoom"
app:iconTint="@color/default_icon_color_secondary_tint_list" />
@@ -29,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
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
@@ -31,6 +31,7 @@ import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.url.GURL;
@@ -27,6 +27,7 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectableListT
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
import java.util.List;
+import java.util.HashSet;
/**
* Main action bar of bookmark UI. It is responsible for displaying title and buttons
@@ -136,6 +137,17 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
new TabDelegate(true), mDelegate.getModel());
@@ -146,6 +147,17 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
}
selectionDelegate.clearSelection();
return true;
+ } else if (menuItem.getItemId() == R.id.select_all_menu_id) {
@@ -55,7 +55,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
assert false : "Unhandled menu click.";
@@ -145,6 +157,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -155,6 +167,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
void showLoadingUi() {
setTitle(null);
setNavigationButton(NAVIGATION_BUTTON_NONE);
@@ -63,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.export_menu_id).setVisible(false);
getMenu().findItem(R.id.search_menu_id).setVisible(false);
@@ -156,6 +169,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -166,6 +179,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
super.showNormalView();
if (mDelegate == null) {
@@ -71,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.export_menu_id).setVisible(false);
getMenu().findItem(R.id.search_menu_id).setVisible(false);
@@ -187,6 +201,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -197,6 +211,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@Override
public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
+51 -49
View File
@@ -3,6 +3,7 @@ Date: Thu, 7 Oct 2021 14:27:12 +0000
Subject: Bromite auto updater
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
@@ -24,13 +25,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../endpoint_fetcher_android.cc | 52 +++-
.../endpoint_fetcher/EndpointFetcher.java | 22 +-
.../EndpointHeaderResponse.java | 31 +++
.../flags/android/chrome_feature_list.cc | 4 +
.../flags/android/chrome_feature_list.cc | 5 +
.../flags/android/chrome_feature_list.h | 1 +
.../browser/flags/ChromeFeatureList.java | 1 +
.../strings/android_chrome_strings.grd | 23 +-
.../endpoint_fetcher/endpoint_fetcher.cc | 102 +++++++-
.../endpoint_fetcher/endpoint_fetcher.h | 22 +-
23 files changed, 896 insertions(+), 53 deletions(-)
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/InlineUpdateController.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
@@ -49,7 +50,7 @@ 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
--- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni
@@ -2153,6 +2153,9 @@ if (enable_java_templates) {
@@ -2285,6 +2285,9 @@ if (enable_java_templates && is_android) {
if (defined(testonly) && testonly) {
defines += [ "_IS_FOR_TEST" ]
}
@@ -62,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
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -802,6 +802,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/UpdateMenuItemHelper.java",
"java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java",
@@ -75,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
--- a/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
android:key="application_version"
android:title="@string/application_version_title" />
@@ -728,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
--- a/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;
/** If false, OmahaClient will never report that a newer version is available. */
@@ -1250,7 +1251,7 @@ new file mode 100644
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
@@ -261,6 +261,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -255,6 +255,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kNewWindowAppMenu,
&kNotificationPermissionVariant,
&kPageAnnotationsService,
@@ -1258,34 +1259,35 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kBookmarksImprovedSaveFlow,
&kBookmarksRefresh,
&kBackGestureRefactorAndroid,
@@ -709,6 +710,9 @@ const base::Feature kIncognitoReauthenticationForAndroid{
const base::Feature kIncognitoScreenshot{"IncognitoScreenshot",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -698,6 +699,10 @@ BASE_FEATURE(kContextMenuTranslateWithGoogleLens,
"ContextMenuTranslateWithGoogleLens",
base::FEATURE_DISABLED_BY_DEFAULT);
+const base::Feature kInlineUpdateFlow{"InlineUpdateFlow",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kInlineUpdateFlow,
+ "InlineUpdateFlow",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
const base::Feature kInstantStart{"InstantStart",
base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kLensCameraAssistedSearch,
"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
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -103,6 +103,7 @@ extern const base::Feature kGridTabSwitcherForTablets;
extern const base::Feature kHandleMediaIntents;
extern const base::Feature kImmersiveUiMode;
extern const base::Feature kIncognitoReauthenticationForAndroid;
+extern const base::Feature kInlineUpdateFlow;
extern const base::Feature kIncognitoScreenshot;
extern const base::Feature kImprovedA2HS;
extern const base::Feature kInstanceSwitcher;
@@ -92,6 +92,7 @@ BASE_DECLARE_FEATURE(kGridTabSwitcherForTablets);
BASE_DECLARE_FEATURE(kHandleMediaIntents);
BASE_DECLARE_FEATURE(kImmersiveUiMode);
BASE_DECLARE_FEATURE(kIncognitoReauthenticationForAndroid);
+BASE_DECLARE_FEATURE(kInlineUpdateFlow);
BASE_DECLARE_FEATURE(kIncognitoScreenshot);
BASE_DECLARE_FEATURE(kInfobarScrollOptimization);
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
--- 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
@@ -379,6 +379,7 @@ public abstract class ChromeFeatureList {
public static final String INCOGNITO_REAUTHENTICATION_FOR_ANDROID =
@@ -349,6 +349,7 @@ public abstract class ChromeFeatureList {
"IncognitoReauthenticationForAndroid";
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 INSTALLABLE_AMBIENT_BADGE_INFOBAR = "InstallableAmbientBadgeInfoBar";
public static final String INSTALLABLE_AMBIENT_BADGE_MESSAGE = "InstallableAmbientBadgeMessage";
@@ -1293,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
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1887,6 +1887,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">
Chrome updates are no longer supported for this version of Android
</message>
@@ -1306,7 +1308,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Account management UI strings. -->
<message name="IDS_ACCOUNT_MANAGEMENT_TITLE" desc="Header title for the account management screen. [CHAR_LIMIT=32]">
@@ -3492,7 +3498,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 -->
<message name="IDS_MENU_UPDATE" desc="Menu item for updating chrome. [CHAR_LIMIT=24]">
@@ -1318,7 +1320,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
</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]">
Newer version is available
@@ -3503,6 +3512,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]">
Android version is unsupported
</message>
@@ -1340,9 +1342,9 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
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
@@ -15,6 +15,11 @@
#include "services/network/public/cpp/shared_url_loader_factory.h"
@@ -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"
@@ -1352,7 +1354,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
namespace {
const char kContentTypeKey[] = "Content-Type";
const char kDeveloperKey[] = "X-Developer-Key";
@@ -59,6 +64,7 @@ EndpointFetcher::EndpointFetcher(
@@ -61,6 +66,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
@@ -1360,7 +1362,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
post_data_(post_data),
headers_(headers),
annotation_tag_(annotation_tag),
@@ -76,6 +82,7 @@ EndpointFetcher::EndpointFetcher(
@@ -78,6 +84,7 @@ EndpointFetcher::EndpointFetcher(
http_method_("GET"),
content_type_(std::string()),
timeout_ms_(0),
@@ -1368,7 +1370,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
post_data_(std::string()),
annotation_tag_(annotation_tag),
url_loader_factory_(url_loader_factory),
@@ -99,6 +106,7 @@ EndpointFetcher::EndpointFetcher(
@@ -101,6 +108,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
@@ -1376,7 +1378,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
post_data_(post_data),
annotation_tag_(annotation_tag),
url_loader_factory_(url_loader_factory),
@@ -125,6 +133,7 @@ EndpointFetcher::EndpointFetcher(
@@ -127,6 +135,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
@@ -1384,7 +1386,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
post_data_(post_data),
headers_(headers),
cors_exempt_headers_(cors_exempt_headers),
@@ -136,10 +145,28 @@ EndpointFetcher::EndpointFetcher(
@@ -138,10 +147,28 @@ EndpointFetcher::EndpointFetcher(
EndpointFetcher::EndpointFetcher(
const net::NetworkTrafficAnnotationTag& annotation_tag)
: timeout_ms_(kDefaultTimeOutMs),
@@ -1413,7 +1415,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
EndpointFetcher::~EndpointFetcher() = default;
void EndpointFetcher::Fetch(EndpointFetcherCallback endpoint_fetcher_callback) {
@@ -192,6 +219,8 @@ void EndpointFetcher::PerformRequest(
@@ -198,6 +225,8 @@ void EndpointFetcher::PerformRequest(
resource_request->method = http_method_;
resource_request->url = url_;
resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit;
@@ -1422,7 +1424,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
if (base::EqualsCaseInsensitiveASCII(http_method_, "POST")) {
resource_request->headers.SetHeader(kContentTypeKey, content_type_);
}
@@ -222,25 +251,52 @@ void EndpointFetcher::PerformRequest(
@@ -228,25 +257,52 @@ void EndpointFetcher::PerformRequest(
default:
break;
}
@@ -1481,7 +1483,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
}
void EndpointFetcher::OnResponseFetched(
@@ -293,3 +349,37 @@ void EndpointFetcher::OnSanitizationResult(
@@ -315,3 +371,37 @@ void EndpointFetcher::OnSanitizationResult(
std::string EndpointFetcher::GetUrlForTesting() {
return url_.spec();
}
@@ -1522,25 +1524,25 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
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
@@ -15,6 +15,8 @@
#include "components/signin/public/identity_manager/scope_set.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;
@@ -31,6 +33,8 @@ class GURL;
@@ -38,6 +40,8 @@ enum class FetchErrorType {
struct EndpointResponse {
std::string response;
+ long last_modified;
+ std::string redirect_url;
// TODO(crbug.com/993393) Add more detailed error messaging
int http_status_code{-1};
absl::optional<FetchErrorType> error_type;
};
@@ -82,6 +86,14 @@ class EndpointFetcher {
@@ -90,6 +94,14 @@ class EndpointFetcher {
const GURL& url,
const net::NetworkTrafficAnnotationTag& annotation_tag);
@@ -1555,9 +1557,9 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
// Used for tests. Can be used if caller constructs their own
// url_loader_factory and identity_manager.
EndpointFetcher(
@@ -135,6 +147,10 @@ class EndpointFetcher {
std::unique_ptr<std::string> response_body);
void OnSanitizationResult(EndpointFetcherCallback endpoint_fetcher_callback,
@@ -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,
@@ -1566,7 +1568,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
enum AuthType { CHROME_API_KEY, OAUTH, NO_AUTH };
AuthType auth_type_;
@@ -142,10 +158,11 @@ class EndpointFetcher {
@@ -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_;
@@ -1579,7 +1581,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
const std::string post_data_;
const std::vector<std::string> headers_;
const std::vector<std::string> cors_exempt_headers_;
@@ -163,6 +180,9 @@ class EndpointFetcher {
@@ -172,6 +189,9 @@ class EndpointFetcher {
access_token_fetcher_;
std::unique_ptr<network::SimpleURLLoader> simple_url_loader_;
+8 -8
View File
@@ -10,14 +10,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -46,7 +46,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) {
assert(current_toolchain != android_secondary_abi_toolchain)
}
@@ -47,7 +47,7 @@ chrome_jni_registration_header =
chrome_jni_for_test_registration_header = "$root_build_dir/gen/chrome/browser/android/chrome_jni_for_test_registration.h"
-_default_package = "org.chromium.chrome"
+_default_package = "org.bromite.bromite"
if (android_channel != "default" && android_channel != "stable") {
# android-binary-size trybot may checks if an internal Chrome variant's
# AndroidManifest is as expected by ensuring the differences between its
if (current_toolchain == default_toolchain) {
- _default_package = "org.chromium.chrome"
+ _default_package = "org.bromite.bromite"
if (use_stable_package_name_for_trichrome) {
_default_package += ".stable"
} else if (android_channel != "default" && android_channel != "stable") {
--
2.25.1
@@ -1,6 +1,6 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
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
Disable look-alike, metrics, ablation and navigation throttles
@@ -8,6 +8,7 @@ Do not use experiments to enable/disable presets
Always enable ad filtering
Download filters by checking Last-Modified header first
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
---
@@ -49,7 +50,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/subresource_filter_features.cc | 116 +-------
.../core/common/indexed_ruleset.cc | 5 +-
.../navigation_throttle_runner.cc | 5 -
38 files changed, 1160 insertions(+), 129 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/xml/adblock_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
@@ -62,26 +64,26 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -361,6 +361,7 @@ android_library("chrome_java") {
"//chrome/browser/download/android:java",
"//chrome/browser/download/android:java_resources",
"//chrome/browser/enterprise/util:java",
+ "//chrome/browser/endpoint_fetcher:java",
"//chrome/browser/feature_engagement:java",
"//chrome/browser/feature_guide/notifications:java",
"//chrome/browser/feed/android:java",
@@ -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
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
@@ -452,6 +452,7 @@ chrome_java_resources = [
@@ -447,6 +447,7 @@ chrome_java_resources = [
"java/res/layout/account_chooser_dialog_title.xml",
"java/res/layout/account_divider_preference.xml",
"java/res/layout/account_management_account_row.xml",
+ "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/autofill_billing_address_dropdown.xml",
"java/res/layout/autofill_card_unmask_prompt.xml",
@@ -645,6 +646,7 @@ chrome_java_resources = [
@@ -639,6 +640,7 @@ chrome_java_resources = [
"java/res/values/values.xml",
"java/res/xml/about_chrome_preferences.xml",
"java/res/xml/account_management_preferences.xml",
@@ -92,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
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -899,6 +899,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/PermissionUpdateRequester.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/AdBlockPreferences.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/printing/TabPrinter.java",
diff --git a/chrome/android/java/res/layout/adblock_editor.xml b/chrome/android/java/res/layout/adblock_editor.xml
new file mode 100644
--- /dev/null
@@ -176,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
--- a/chrome/android/java/res/values/styles.xml
+++ b/chrome/android/java/res/values/styles.xml
@@ -178,6 +178,24 @@
@@ -180,6 +180,24 @@ found in the LICENSE file.
</item>
</style>
@@ -204,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
--- a/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 -->
<bool name="compositor_tab_title_fake_bold_text">true</bool>
@@ -246,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
--- a/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:order="10"
android:title="@string/prefs_privacy_security"/>
@@ -423,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
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
@@ -693,7 +693,7 @@ public class TabModelImpl extends TabModelJniBridge {
@@ -705,7 +705,7 @@ public class TabModelImpl extends TabModelJniBridge {
protected boolean createTabWithWebContents(
Tab parent, Profile profile, WebContents webContents) {
return getTabCreator(profile.isOffTheRecord())
@@ -435,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
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -12074,6 +12074,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.
</message>
@@ -506,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
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -1077,6 +1077,26 @@ BrowserProcessImpl::component_updater() {
@@ -1071,6 +1071,26 @@ BrowserProcessImpl::component_updater() {
return component_updater_.get();
}
@@ -544,7 +546,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
MediaFileSystemRegistry* media_file_system_registry() override;
WebRtcLogUploader* webrtc_log_uploader() override;
network_time::NetworkTimeTracker* network_time_tracker() override;
@@ -372,6 +373,7 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -375,6 +376,7 @@ class BrowserProcessImpl : public BrowserProcess,
// to concerns over integrity of data shared between profiles,
// but some users of component updater only install per-user.
std::unique_ptr<component_updater::ComponentUpdateService> component_updater_;
@@ -555,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
--- a/chrome/browser/chrome_browser_main.cc
+++ b/chrome/browser/chrome_browser_main.cc
@@ -1746,6 +1746,9 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// will be initialized when the app enters foreground mode.
variations_service->set_policy_pref_service(profile->GetPrefs());
@@ -416,6 +416,9 @@ StartupProfileInfo CreateInitialProfile(
// missing code in the above test.
CHECK(profile_info.profile) << "Cannot get default profile.";
+ // force AdBlock updater initialisation
+ g_browser_process->adblock_updater();
+
#else
// We are in regular browser boot sequence. Open initial tabs and enter the
// main message loop.
#if BUILDFLAG(IS_CHROMEOS_LACROS)
// 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
--- a/chrome/browser/flags/android/cached_feature_flags.cc
+++ b/chrome/browser/flags/android/cached_feature_flags.cc
@@ -593,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
--- 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
@@ -267,6 +267,14 @@ public class CachedFeatureFlags {
@@ -190,6 +190,14 @@ public class CachedFeatureFlags {
ChromeFeatureList.isEnabled(ChromeFeatureList.BACKGROUND_THREAD_POOL));
}
@@ -608,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.
*/
@@ -513,5 +521,7 @@ public class CachedFeatureFlags {
@@ -427,5 +435,7 @@ public class CachedFeatureFlags {
@NativeMethods
interface Natives {
boolean isNetworkServiceWarmUpEnabled();
@@ -619,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
--- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc
@@ -449,6 +449,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
@@ -422,6 +422,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
ssl_config_service_manager_(local_state_),
proxy_config_monitor_(local_state_),
stub_resolver_config_reader_(local_state_) {
@@ -628,7 +630,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
#if !BUILDFLAG(IS_ANDROID)
// QuicAllowed was not part of Android policy.
const base::Value* value =
@@ -529,6 +531,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
@@ -500,6 +502,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
StubResolverConfigReader::RegisterPrefs(registry);
@@ -678,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
--- a/chrome/common/pref_names.cc
+++ b/chrome/common/pref_names.cc
@@ -2306,6 +2306,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
@@ -2390,6 +2390,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
// capture devices without prompt.
const char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls";
@@ -691,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
--- a/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 kHomePageIsNewTabPage[];
extern const char kHomePage[];
@@ -702,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
--- a/components/browser_ui/strings/android/site_settings.grdp
+++ b/components/browser_ui/strings/android/site_settings.grdp
@@ -262,8 +262,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">
This site shows intrusive or misleading ads
</message>
@@ -729,7 +731,7 @@ diff --git a/components/component_updater/BUILD.gn b/components/component_update
"component_updater_service.cc",
"component_updater_service.h",
"component_updater_service_internal.h",
@@ -37,6 +43,7 @@ static_library("component_updater") {
@@ -39,6 +45,7 @@ static_library("component_updater") {
"//components/prefs",
"//components/update_client",
"//components/version_info",
@@ -1485,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
--- a/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(),
ad_tagging_state);
}
@@ -1680,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
--- a/components/subresource_filter/core/browser/subresource_filter_features.cc
+++ b/components/subresource_filter/core/browser/subresource_filter_features.cc
@@ -55,72 +55,7 @@ class CommaSeparatedStrings {
@@ -54,72 +54,7 @@ class CommaSeparatedStrings {
const std::vector<base::StringPiece> pieces_;
};
@@ -1754,7 +1756,7 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
// If ad tagging is enabled, turn on the dryrun automatically.
bool ad_tagging_enabled = base::FeatureList::IsEnabled(kAdTagging);
const struct {
@@ -128,23 +63,16 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
@@ -127,23 +62,16 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
bool enabled_by_default;
Configuration (*factory_method)();
} kAvailablePresetConfigurations[] = {
@@ -1780,7 +1782,7 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
enabled_configurations.push_back(available_preset.factory_method());
}
}
@@ -152,46 +80,10 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
@@ -151,46 +79,10 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
return enabled_configurations;
}
@@ -1854,7 +1856,7 @@ diff --git a/components/subresource_filter/core/common/indexed_ruleset.cc b/comp
diff --git a/content/browser/renderer_host/navigation_throttle_runner.cc b/content/browser/renderer_host/navigation_throttle_runner.cc
--- a/content/browser/renderer_host/navigation_throttle_runner.cc
+++ b/content/browser/renderer_host/navigation_throttle_runner.cc
@@ -182,11 +182,6 @@ void NavigationThrottleRunner::RegisterNavigationThrottles() {
@@ -190,11 +190,6 @@ void NavigationThrottleRunner::RegisterNavigationThrottles() {
// wait for the JS task that starts the navigation to finish, so add it close
// to the end to not delay running other throttles.
AddThrottle(RendererCancellationThrottle::MaybeCreateThrottleFor(request));
@@ -1866,5 +1868,41 @@ diff --git a/content/browser/renderer_host/navigation_throttle_runner.cc b/conte
}
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
+8 -8
View File
@@ -10,14 +10,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -46,7 +46,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) {
assert(current_toolchain != android_secondary_abi_toolchain)
}
@@ -51,7 +51,7 @@ chrome_jni_registration_header =
chrome_jni_for_test_registration_header = "$root_build_dir/gen/chrome/browser/android/chrome_jni_for_test_registration.h"
-_default_package = "org.chromium.chrome"
+_default_package = "org.bromite.chromium"
if (android_channel != "default" && android_channel != "stable") {
# android-binary-size trybot may checks if an internal Chrome variant's
# AndroidManifest is as expected by ensuring the differences between its
if (current_toolchain == default_toolchain) {
- _default_package = "org.chromium.chrome"
+ _default_package = "org.bromite.chromium"
if (use_stable_package_name_for_trichrome) {
_default_package += ".stable"
} else if (android_channel != "default" && android_channel != "stable") {
--
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
+31 -87
View File
@@ -3,40 +3,24 @@ Date: Thu, 22 Jul 2021 23:10:52 +0200
Subject: Client hints overrides
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 +---
content/browser/client_hints/client_hints.cc | 3 ++-
content/browser/loader/navigation_url_loader_impl.cc | 5 +++++
content/common/user_agent.cc | 9 +--------
content/public/common/content_features.cc | 2 +-
services/network/public/cpp/client_hints.cc | 1 +
services/network/public/cpp/features.cc | 4 ++--
third_party/blink/common/client_hints/client_hints.cc | 1 +
.../blink/common/client_hints/enabled_client_hints.cc | 4 +++-
third_party/blink/common/features.cc | 4 ++--
11 files changed, 20 insertions(+), 19 deletions(-)
components/embedder_support/user_agent_utils.cc | 4 +---
content/browser/client_hints/client_hints.cc | 3 ++-
content/browser/loader/navigation_url_loader_impl.cc | 5 +++++
content/public/common/content_features.cc | 4 ++--
services/network/public/cpp/client_hints.cc | 1 +
services/network/public/cpp/features.cc | 2 +-
third_party/blink/common/client_hints/client_hints.cc | 1 +
.../blink/common/client_hints/enabled_client_hints.cc | 4 +++-
8 files changed, 16 insertions(+), 8 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
@@ -793,7 +793,7 @@ void RegisterLocalStatePrefsForMigration(PrefRegistrySimple* registry) {
registry->RegisterListPref(prefs::kUsedPolicyCertificates);
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
- registry->RegisterBooleanPref(kUserAgentClientHintsEnabled, true);
+ registry->RegisterBooleanPref(kUserAgentClientHintsEnabled, false);
registry->RegisterBooleanPref(kCloudPolicyOverridesPlatformPolicy, false);
diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
--- a/components/embedder_support/user_agent_utils.cc
+++ b/components/embedder_support/user_agent_utils.cc
@@ -253,9 +253,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList(
@@ -265,9 +265,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList(
bool parse_result = base::StringToInt(major_version, &major_version_number);
DCHECK(parse_result);
absl::optional<std::string> brand;
@@ -50,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
--- a/content/browser/client_hints/client_hints.cc
+++ b/content/browser/client_hints/client_hints.cc
@@ -433,7 +433,8 @@ void AddPrefersColorSchemeHeader(net::HttpRequestHeaders* headers,
is_dark_mode ? "dark" : "light");
@@ -478,7 +478,8 @@ void AddPrefersReducedMotionHeader(net::HttpRequestHeaders* headers,
: network::kPrefersReducedMotionNoPreference);
}
-bool IsValidURLForClientHints(const url::Origin& origin) {
@@ -63,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
--- a/content/browser/loader/navigation_url_loader_impl.cc
+++ b/content/browser/loader/navigation_url_loader_impl.cc
@@ -1034,6 +1034,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
@@ -1024,6 +1024,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
return;
}
@@ -75,41 +59,24 @@ diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/brow
LogAcceptCHFrameStatus(AcceptCHFrameRestart::kFramePresent);
// 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
@@ -323,14 +323,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
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -233,7 +233,7 @@ const base::Feature kCrashReporting{"CrashReporting",
@@ -257,8 +257,8 @@ BASE_FEATURE(kCrashReporting,
// Enables support for the `Critical-CH` response header.
// https://github.com/WICG/client-hints-infrastructure/blob/master/reliability.md#critical-ch
const base::Feature kCriticalClientHint{"CriticalClientHint",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kCriticalClientHint,
- "CriticalClientHint",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "CriticalClientHint", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// 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
--- a/services/network/public/cpp/client_hints.cc
+++ b/services/network/public/cpp/client_hints.cc
@@ -97,6 +97,7 @@ const DecodeMap& GetDecodeMap() {
@@ -113,6 +113,7 @@ const DecodeMap& GetDecodeMap() {
absl::optional<std::vector<network::mojom::WebClientHintsType>>
ParseClientHintsHeader(const std::string& header) {
@@ -120,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
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
@@ -179,8 +179,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.
// See:
// https://tools.ietf.org/html/draft-davidben-http-client-hint-reliability-02#section-4.3
-const base::Feature kAcceptCHFrame{"AcceptCHFrame",
- base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kAcceptCHFrame{"AcceptCHFrame", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
-BASE_FEATURE(kAcceptCHFrame, "AcceptCHFrame", base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kAcceptCHFrame, "AcceptCHFrame", base::FEATURE_DISABLED_BY_DEFAULT); // disabled by default in Bromite
const base::Feature kSCTAuditingRetryReports{"SCTAuditingRetryReports",
base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kSCTAuditingRetryReports,
"SCTAuditingRetryReports",
diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party/blink/common/client_hints/client_hints.cc
--- a/third_party/blink/common/client_hints/client_hints.cc
+++ b/third_party/blink/common/client_hints/client_hints.cc
@@ -111,6 +111,7 @@ const size_t kWebEffectiveConnectionTypeMappingCount =
std::size(kWebEffectiveConnectionTypeMapping);
@@ -105,6 +105,7 @@ const PolicyFeatureToClientHintMap& GetPolicyFeatureToClientHintMap() {
}
bool IsClientHintSentByDefault(network::mojom::WebClientHintsType type) {
+ if ((true)) return false;
@@ -153,7 +118,7 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi
switch (type) {
case WebClientHintsType::kUA:
case WebClientHintsType::kUAArch:
@@ -127,7 +128,7 @@ bool IsOriginTrialEnabled(const GURL& url,
@@ -138,7 +139,7 @@ bool IsOriginTrialEnabled(const GURL& url,
} // namespace
bool EnabledClientHints::IsEnabled(const WebClientHintsType type) const {
@@ -162,7 +127,7 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi
}
void EnabledClientHints::SetIsEnabled(const WebClientHintsType type,
@@ -156,6 +157,7 @@ void EnabledClientHints::SetIsEnabled(
@@ -167,6 +168,7 @@ void EnabledClientHints::SetIsEnabled(
std::vector<WebClientHintsType> EnabledClientHints::GetEnabledHints() const {
std::vector<WebClientHintsType> hints;
@@ -170,26 +135,5 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi
for (const auto& elem : network::GetClientHintToNameMap()) {
const auto& type = elem.first;
if (IsEnabled(type))
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -162,7 +162,7 @@ const base::Feature kMixedContentAutoupgrade{"AutoupgradeMixedContent",
// Enables User-Agent Client Hints
const base::Feature kUserAgentClientHint{"UserAgentClientHint",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Handle prefers-color-scheme user preference media feature via client hints.
const base::Feature kPrefersColorSchemeClientHintHeader{
@@ -542,7 +542,7 @@ const base::Feature kAudioWorkletThreadRealtimePriority{
const base::Feature kLightweightNoStatePrefetch {
"LightweightNoStatePrefetch",
#if BUILDFLAG(IS_ANDROID)
- base::FEATURE_ENABLED_BY_DEFAULT
+ base::FEATURE_DISABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
#endif
--
2.25.1
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../BromiteCustomContentSettingImpl.java | 270 ++++++++++++++++++
.../BromiteCustomContentSetting_README.md | 151 ++++++++++
.../ContentSettingsResources.java | 13 +-
.../site_settings/SingleCategorySettings.java | 28 +-
.../site_settings/SingleCategorySettings.java | 30 +-
.../site_settings/SingleWebsiteSettings.java | 24 +-
.../site_settings/SiteSettings.java | 3 +-
.../site_settings/SiteSettingsCategory.java | 9 +-
@@ -33,7 +33,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../android/page_info_controller_android.cc | 18 ++
components/page_info/page_info.cc | 23 +-
components/page_info/page_info_ui.cc | 18 ++
23 files changed, 731 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/BromiteCustomContentSettingImpl.java
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting_README.md
@@ -41,8 +41,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
--- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -75,6 +75,10 @@ android_library("java") {
"java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java",
@@ -88,6 +88,10 @@ android_library("java") {
"java/src/org/chromium/components/browser_ui/site_settings/WebsiteRowPreference.java",
"java/src/org/chromium/components/browser_ui/site_settings/TimezoneOverrideSiteSettingsPreference.java"
]
+ sources += [
@@ -307,7 +307,7 @@ new file mode 100644
+ BrowserContextHandle browserContextHandle,
+ Preference preference, Object newValue) {
+ for (BromiteCustomContentSetting cs : mItemList) {
+ if (!category.showSites(cs.getSiteSettingsCategory())) {
+ if (category.getType() != cs.getSiteSettingsCategory()) {
+ continue;
+ }
+
@@ -340,7 +340,7 @@ new file mode 100644
+
+ public static @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSettingValues int value) {
+ for (BromiteCustomContentSetting cs : mItemList) {
+ if (category.showSites(cs.getSiteSettingsCategory())) {
+ if (category.getType() == cs.getSiteSettingsCategory()) {
+ return cs.considerException(category, value);
+ }
+ }
@@ -349,7 +349,7 @@ new file mode 100644
+
+ public static int getAddExceptionDialogMessage(SiteSettingsCategory category) {
+ for (BromiteCustomContentSetting cs : mItemList) {
+ if (category.showSites(cs.getSiteSettingsCategory())) {
+ if (category.getType() == cs.getSiteSettingsCategory()) {
+ return cs.getAddExceptionDialogMessage();
+ }
+ }
@@ -358,7 +358,7 @@ new file mode 100644
+
+ public static @Nullable Boolean allowSpecifyingExceptions(SiteSettingsCategory category) {
+ for (BromiteCustomContentSetting cs : mItemList) {
+ if (category.showSites(cs.getSiteSettingsCategory())) {
+ if (category.getType() == cs.getSiteSettingsCategory()) {
+ return cs.isExceptionAllowed();
+ }
+ }
@@ -655,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.
*/
public static int[] getTriStateSettingDescriptionIDs(int contentType) {
@@ -667,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
--- 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
@@ -235,6 +235,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
else
return ContentSettingValues.BLOCK == contentSetting;
}
+ if (BromiteCustomContentSettingImpl.processOnBlockList(contentSetting, contentSetting))
+ return BromiteCustomContentSettingImpl.isOnBlockList(contentSetting, website, contentSetting);
}
return false;
}
@@ -384,6 +386,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -247,6 +247,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@ContentSettingValues
Integer contentSetting = website.site().getContentSetting(
browserContextHandle, mCategory.getContentSettingsType());
+ if (contentSetting != null &&
+ BromiteCustomContentSettingImpl.processOnBlockList(contentSetting, contentSetting)) {
+ return BromiteCustomContentSettingImpl.isOnBlockList(contentSetting, website, contentSetting);
+ }
if (contentSetting != null) {
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))
: null;
+ BromiteCustomContentSettingImpl.onActivityCreated(this);
configureGlobalToggles();
setHasOptionsMenu(true);
@@ -483,6 +486,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
if (mCategory.getType() == SiteSettingsCategory.Type.REQUEST_DESKTOP_SITE) {
RecordUserAction.record("DesktopSiteContentSetting.SettingsPage.Entered");
@@ -509,6 +514,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
BrowserContextHandle browserContextHandle =
getSiteSettingsDelegate().getBrowserContextHandle();
PrefService prefService = UserPrefs.get(browserContextHandle);
@@ -696,8 +698,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (BINARY_TOGGLE_KEY.equals(preference.getKey())) {
assert !mCategory.isManaged();
@@ -638,6 +646,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
} else if (mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE)) {
@@ -673,6 +683,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
} else if (mCategory.getType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
resource = R.string.website_settings_category_timezone_override_allowed;
}
+ if (resource == 0)
@@ -705,9 +707,9 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
assert resource > 0;
return getString(resource);
}
@@ -750,6 +760,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -791,6 +803,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
allowSpecifyingExceptions = true;
} else if (mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE)) {
} else if (mCategory.getType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
allowSpecifyingExceptions = true;
+ } else {
+ Boolean allow = BromiteCustomContentSettingImpl.allowSpecifyingExceptions(mCategory);
@@ -715,7 +717,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
if (allowSpecifyingExceptions) {
getPreferenceScreen().addPreference(new AddExceptionPreference(getStyledContext(),
@@ -921,6 +934,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -962,6 +977,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
TriStateSiteSettingsPreference triStateToggle =
(TriStateSiteSettingsPreference) getPreferenceScreen().findPreference(
TRI_STATE_TOGGLE_KEY);
@@ -726,15 +728,15 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (triStateToggle != null)
return (triStateToggle.getCheckedSetting() == ContentSettingValues.BLOCK);
@@ -999,6 +1016,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
if (!(mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE))) {
@@ -1040,6 +1059,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
if (mCategory.getType() != SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
screen.removePreference(screen.findPreference(TIMEOVERRIDE_INFO_TEXT));
}
+ BromiteCustomContentSettingImpl.configureGlobalToggles(mCategory, screen);
if (permissionBlockedByOs) {
maybeShowOsWarning(screen);
@@ -1125,7 +1143,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -1171,7 +1191,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
getSiteSettingsDelegate().getBrowserContextHandle(), contentType);
int[] descriptionIds =
ContentSettingsResources.getTriStateSettingDescriptionIDs(contentType);
@@ -743,7 +745,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
private void configureTimeOverrideStateToggle(
@@ -1236,6 +1254,14 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -1282,6 +1302,14 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@ContentSettingValues
Integer value = site.getContentSetting(browserContextHandle, contentSettingsType);
@@ -756,12 +758,12 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
+ }
+
CharSequence[] descriptions = new String[2];
descriptions[0] =
getString(ContentSettingsResources.getSiteSummary(contentSettingsType,
descriptions[0] = getString(ContentSettingsResources.getSiteSummary(
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
--- 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
@@ -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.HashMap;
import java.util.Map;
@@ -769,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.
@@ -168,7 +169,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -171,7 +172,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
case ContentSettingsType.CLIPBOARD_READ_WRITE:
return "clipboard_permission_list";
default:
@@ -778,7 +780,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
}
@@ -493,7 +494,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -504,7 +505,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private void setupContentSettingsPreferences() {
mMaxPermissionOrder = findPreference(PREF_PERMISSIONS_HEADER).getOrder();
@@ -788,7 +790,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
Preference preference = new ChromeSwitchPreference(getStyledContext());
preference.setKey(getPreferenceKey(type));
@@ -899,16 +901,22 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -952,16 +954,22 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private void setupContentSettingsPreference(Preference preference,
@ContentSettingValues @Nullable Integer value, boolean isEmbargoed) {
@@ -816,7 +818,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
switchPreference.setOnPreferenceChangeListener(this);
@ContentSettingsType
int contentType = getContentSettingsTypeFromPreferenceKey(preference.getKey());
@@ -1157,7 +1165,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -1213,7 +1221,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
}
mSite.setContentSetting(browserContextHandle, type, permission);
@@ -927,7 +929,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/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
@@ -265,6 +265,10 @@ public final class Website implements Serializable {
@@ -277,6 +277,10 @@ public final class Website implements WebsiteEntry {
/*isEmbargoed=*/false);
setContentSettingException(type, exception);
}
@@ -941,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
--- 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
@@ -89,7 +89,7 @@ public class WebsitePermissionsFetcher {
@@ -92,7 +92,7 @@ public class WebsitePermissionsFetcher {
case ContentSettingsType.USB_GUARD:
return WebsitePermissionsType.CHOSEN_OBJECT_INFO;
default:
@@ -953,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
--- 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
@@ -227,7 +227,7 @@ public class WebsitePreferenceBridge {
@@ -246,7 +246,7 @@ public class WebsitePreferenceBridge {
case ContentSettingsType.TIMEZONE_OVERRIDE:
return true;
default:
@@ -974,7 +976,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
#if BUILDFLAG(IS_ANDROID)
#include "media/base/android/media_drm_bridge.h"
@@ -690,7 +692,10 @@ void ContentSettingsRegistry::Register(
@@ -644,7 +646,10 @@ void ContentSettingsRegistry::Register(
Platforms platforms,
ContentSettingsInfo::IncognitoBehavior incognito_behavior,
ContentSettingsInfo::StorageBehavior storage_behavior,
@@ -986,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.
DCHECK(!website_settings_registry_->Get(type));
@@ -699,7 +704,9 @@ void ContentSettingsRegistry::Register(
@@ -653,7 +658,9 @@ void ContentSettingsRegistry::Register(
website_settings_registry_->Register(
type, name, std::move(default_value), sync_status,
WebsiteSettingsInfo::NOT_LOSSY, scoping_type, platforms,
@@ -1042,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
--- a/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,
LossyStatus lossy_status,
ScopingType scoping_type,
@@ -1054,7 +1056,7 @@ diff --git a/components/content_settings/core/browser/website_settings_info.h b/
WebsiteSettingsInfo(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_; }
IncognitoBehavior incognito_behavior() const { return incognito_behavior_; }
@@ -1065,7 +1067,7 @@ diff --git a/components/content_settings/core/browser/website_settings_info.h b/
private:
const ContentSettingsType type_;
const std::string name_;
@@ -105,6 +112,9 @@ class WebsiteSettingsInfo {
@@ -124,6 +131,9 @@ class WebsiteSettingsInfo {
const LossyStatus lossy_status_;
const ScopingType scoping_type_;
const IncognitoBehavior incognito_behavior_;
@@ -1118,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
--- 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
@@ -109,6 +109,7 @@ public class PermissionParamsListBuilder {
@@ -104,6 +104,7 @@ public class PermissionParamsListBuilder {
permissionParams.allowed = true;
break;
case ContentSettingValues.BLOCK:
@@ -1151,8 +1153,8 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
+
std::map<ContentSettingsType, ContentSetting>
user_specified_settings_to_display;
std::map<ContentSettingsType, bool>
@@ -242,6 +251,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
// to give users an easy way to create exceptions.
return permission.default_setting;
@@ -1171,15 +1173,15 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
--- a/components/page_info/page_info.cc
+++ b/components/page_info/page_info.cc
@@ -23,6 +23,7 @@
@@ -24,6 +24,7 @@
#include "components/browser_ui/util/android/url_constants.h"
#include "components/browsing_data/content/local_storage_helper.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/browser/ui/cookie_controls_controller.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/host_content_settings_map.h"
@@ -162,6 +163,15 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info,
@@ -167,6 +168,15 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info,
return true;
}
@@ -1195,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();
#if BUILDFLAG(IS_ANDROID)
// Special geolocation DSE settings apply only on Android, so make sure it
@@ -1037,7 +1047,18 @@ void PageInfo::PresentSitePermissions() {
@@ -1150,7 +1160,18 @@ void PageInfo::PresentSitePermissions() {
PermissionInfo permission_info;
HostContentSettingsMap* content_settings = GetContentSettings();
DCHECK(web_contents_);
@@ -1226,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/page_info/core/features.h"
#include "components/page_info/page_info_ui_delegate.h"
@@ -563,6 +564,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
@@ -577,6 +578,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
if (info.type == type)
return l10n_util::GetStringUTF16(info.string_id);
}
@@ -1239,7 +1241,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
NOTREACHED();
return std::u16string();
}
@@ -574,6 +581,12 @@ std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence(
@@ -588,6 +595,12 @@ std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence(
if (info.type == type)
return l10n_util::GetStringUTF16(info.string_id_mid_sentence);
}
@@ -1252,7 +1254,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
NOTREACHED();
return std::u16string();
}
@@ -958,6 +971,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
@@ -975,6 +988,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
if (info.type == type)
return true;
}
@@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
+++ 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:imeOptions="actionGo|flagNoExtractUi|flagNoFullscreen"
android:textSize="@dimen/location_bar_url_text_size"
@@ -964,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
--- 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
@@ -214,8 +214,7 @@ public abstract class UrlBar extends AutocompleteEditText {
// the first draw.
setFocusable(false);
setFocusableInTouchMode(false);
@@ -223,8 +223,7 @@ public abstract class UrlBar extends AutocompleteEditText {
setFocusableInTouchMode(mAllowFocus);
});
- setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI
- | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
+ setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI);
+51 -62
View File
@@ -13,39 +13,38 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../init/ProcessInitializationHandler.java | 8 ------
.../browser/ntp/search/SearchBoxMediator.java | 1 -
.../chrome/browser/share/LensUtils.java | 12 +--------
.../flags/android/chrome_feature_list.cc | 2 +-
.../browser/flags/CachedFeatureFlags.java | 2 +-
.../flags/android/chrome_feature_list.cc | 4 +--
chrome/browser/ui/android/omnibox/BUILD.gn | 2 --
.../browser/omnibox/LocationBarMediator.java | 1 -
13 files changed, 3 insertions(+), 77 deletions(-)
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
@@ -369,7 +369,6 @@ android_library("chrome_java") {
"//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",
@@ -998,7 +997,6 @@ robolectric_binary("chrome_junit_tests") {
"//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",
@@ -1516,7 +1514,6 @@ android_library("chrome_test_java") {
"//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",
@@ -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
@@ -60,15 +59,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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
@@ -42,7 +42,6 @@ import org.chromium.chrome.browser.customtabs.CustomTabsConnection;
import org.chromium.chrome.browser.document.ChromeLauncherActivity;
@@ -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;
@@ -246,8 +245,6 @@ public class IntentHandler {
@@ -267,8 +266,6 @@ public class IntentHandler {
private static int sReferrerId;
private static String sPendingIncognitoUrl;
@@ -77,7 +76,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
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";
@@ -477,8 +474,6 @@ public class IntentHandler {
@@ -498,8 +495,6 @@ public class IntentHandler {
return ExternalAppId.LINE;
} else if (packageName.equals(PACKAGE_WHATSAPP)) {
return ExternalAppId.WHATSAPP;
@@ -89,7 +88,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -111,10 +111,6 @@ import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
@@ -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;
@@ -100,7 +99,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.history.HistoryManagerUtils;
import org.chromium.chrome.browser.init.AsyncInitializationActivity;
import org.chromium.chrome.browser.init.ProcessInitializationHandler;
@@ -370,8 +366,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -377,8 +373,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
private LaunchCauseMetrics mLaunchCauseMetrics;
@@ -109,7 +108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
// TODO(972867): Pull MenuOrKeyboardActionController out of ChromeActivity.
private List<MenuOrKeyboardActionController.MenuOrKeyboardActionHandler> mMenuActionHandlers =
new ArrayList<>();
@@ -1159,10 +1153,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1189,10 +1183,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@Override
public void onStopWithNative() {
@@ -120,11 +119,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
super.onStopWithNative();
}
@@ -1251,23 +1241,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
FontSizePrefs.getInstance(Profile.getLastUsedRegularProfile())
@@ -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;
@@ -141,9 +139,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
- 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
@@ -155,7 +154,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
import org.chromium.chrome.browser.lens.LensController;
import org.chromium.chrome.browser.lens.LensEntryPoint;
import org.chromium.chrome.browser.lens.LensIntentParams;
@@ -997,12 +996,6 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -978,12 +977,6 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
LensMetrics.LensSupportStatus.ACTIVITY_NOT_ACCESSIBLE);
return false;
}
@@ -196,7 +195,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/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
@@ -359,14 +359,6 @@ public class ProcessInitializationHandler {
@@ -356,14 +356,6 @@ public class ProcessInitializationHandler {
}
});
@@ -262,31 +261,21 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils
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
@@ -688,7 +688,7 @@ const base::Feature kDynamicColorButtonsAndroid{
"DynamicColorButtonsAndroid", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -750,8 +750,8 @@ BASE_FEATURE(kDuetTabStripIntegrationAndroid,
base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kExperimentsForAgsa{"ExperimentsForAgsa",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kExperimentsForAgsa,
- "ExperimentsForAgsa",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "ExperimentsForAgsa", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
BASE_FEATURE(kExploreSites, "ExploreSites", base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kExploreSites{"ExploreSites",
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
--- 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
@@ -72,7 +72,7 @@ public class CachedFeatureFlags {
.put(ChromeFeatureList.EARLY_LIBRARY_LOAD, true)
.put(ChromeFeatureList.ELASTIC_OVERSCROLL, true)
.put(ChromeFeatureList.ELIDE_PRIORITIZATION_OF_PRE_NATIVE_BOOTSTRAP_TASKS, true)
- .put(ChromeFeatureList.EXPERIMENTS_FOR_AGSA, true)
+ .put(ChromeFeatureList.EXPERIMENTS_FOR_AGSA, false)
.put(ChromeFeatureList.FEED_LOADING_PLACEHOLDER, false)
.put(ChromeFeatureList.GRID_TAB_SWITCHER_FOR_TABLETS, false)
.put(ChromeFeatureList.IMMERSIVE_UI_MODE, false)
diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn
--- a/chrome/browser/ui/android/omnibox/BUILD.gn
+++ b/chrome/browser/ui/android/omnibox/BUILD.gn
@@ -140,7 +140,6 @@ android_library("java") {
@@ -146,7 +146,6 @@ android_library("java") {
"//chrome/browser/device:java",
"//chrome/browser/feature_engagement:java",
"//chrome/browser/flags:java",
@@ -294,7 +283,7 @@ diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/andr
"//chrome/browser/history_clusters:java",
"//chrome/browser/language/android:java",
"//chrome/browser/lens:java",
@@ -425,7 +424,6 @@ robolectric_library("junit") {
@@ -441,7 +440,6 @@ robolectric_library("junit") {
"//chrome/browser/commerce/merchant_viewer/android:java",
"//chrome/browser/device:java",
"//chrome/browser/flags:java",
@@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -1494,6 +1494,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.">
Check now
</message>
@@ -30,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
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
@@ -5,6 +5,11 @@
@@ -7,6 +7,11 @@ found in the LICENSE file.
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
@@ -58,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
--- 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
@@ -947,6 +947,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
@@ -900,6 +900,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
structure.setChildCount(0);
return;
}
+12 -11
View File
@@ -7,25 +7,26 @@ This feature is detrimental to privacy, see also:
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/common/chrome_features.cc | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
chrome/common/chrome_features.cc | 9 ++-------
1 file changed, 2 insertions(+), 7 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
@@ -81,12 +81,8 @@ const base::Feature kAppShimNewCloseBehavior{"AppShimNewCloseBehavior",
@@ -98,13 +98,8 @@ BASE_FEATURE(kAppShimNewCloseBehavior,
// Enables the built-in DNS resolver.
const base::Feature kAsyncDns {
- "AsyncDns",
-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID)
- base::FEATURE_ENABLED_BY_DEFAULT
BASE_FEATURE(kAsyncDns,
- "AsyncDns",
-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) || \
- BUILDFLAG(IS_WIN)
- base::FEATURE_ENABLED_BY_DEFAULT
-#else
- base::FEATURE_DISABLED_BY_DEFAULT
- base::FEATURE_DISABLED_BY_DEFAULT
-#endif
+ "AsyncDns", // Bromite guard for this feature to be always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT // ^
};
+ "AsyncDns", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
);
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
--
@@ -4,18 +4,20 @@ 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 +-
1 file changed, 1 insertion(+), 1 deletion(-)
media/base/media_switches.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -748,7 +748,7 @@ const base::Feature kMediaDrmPersistentLicense{
@@ -851,8 +851,8 @@ BASE_FEATURE(kMediaDrmPersistentLicense,
// MediaDrmBridge. If disabled, MediaDrmBridge will get unprovisioned origin IDs
// which will trigger provisioning process after MediaDrmBridge is created.
const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kMediaDrmPreprovisioning,
- "MediaDrmPreprovisioning",
- 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
// IDs at startup (whenever a profile is loaded). Also used by tests that
@@ -11,19 +11,18 @@ Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../java/res/xml/privacy_preferences.xml | 4 ---
.../privacy/settings/PrivacySettings.java | 22 ------------
.../privacy/settings/PrivacySettings.java | 23 ------------
.../browser/chrome_content_browser_client.cc | 3 ++
.../history/core/browser/history_backend.cc | 13 +------
.../history/core/browser/history_service.cc | 2 +-
.../privacy_sandbox/privacy_sandbox_prefs.cc | 2 +-
.../privacy_sandbox_settings.cc | 35 +++++++++++--------
.../privacy_sandbox_settings.h | 1 -
8 files changed, 26 insertions(+), 56 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
--- a/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:summary="@string/open_external_links_incognito_summary"
android:defaultValue="false" />
@@ -37,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
--- 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
@@ -61,7 +61,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_DO_NOT_TRACK = "do_not_track";
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
- private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
- private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
@@ -91,21 +90,6 @@ public class PrivacySettings
@@ -86,21 +84,6 @@ public class PrivacySettings
SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences);
getActivity().setTitle(R.string.prefs_privacy_security);
@@ -64,10 +64,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
- });
- }
-
Preference privacyReviewPreference = findPreference(PREF_PRIVACY_REVIEW);
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_REVIEW)) {
getPreferenceScreen().removePreference(privacyReviewPreference);
@@ -233,12 +217,6 @@ public class PrivacySettings
Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE);
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_GUIDE)) {
getPreferenceScreen().removePreference(privacyGuidePreference);
@@ -220,12 +203,6 @@ public class PrivacySettings
secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
}
@@ -83,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
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -2976,6 +2976,9 @@ bool ChromeContentBrowserClient::IsConversionMeasurementOperationAllowed(
const url::Origin* impression_origin,
const url::Origin* conversion_origin,
@@ -3231,6 +3231,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* source_origin,
const url::Origin* destination_origin,
const url::Origin* reporting_origin) {
+ // make sure that this is always disabled in Bromite even if privacy sandbox is already disabled in the prefs
+ if ((true))
@@ -96,7 +96,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc
--- a/components/history/core/browser/history_backend.cc
+++ b/components/history/core/browser/history_backend.cc
@@ -490,18 +490,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
@@ -517,18 +517,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
if (!visit_id)
return;
@@ -116,22 +116,10 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his
ScheduleCommit();
}
diff --git a/components/history/core/browser/history_service.cc b/components/history/core/browser/history_service.cc
--- a/components/history/core/browser/history_service.cc
+++ b/components/history/core/browser/history_service.cc
@@ -393,7 +393,7 @@ void HistoryService::AddPage(const GURL& url,
AddPage(HistoryAddPageArgs(
url, time, context_id, nav_entry_id, referrer, redirects, transition,
!ui::PageTransitionIsMainFrame(transition), visit_source,
- did_replace_entry, /*consider_for_ntp_most_visited=*/true, floc_allowed));
+ did_replace_entry, /*consider_for_ntp_most_visited=*/true, /*floc_allowed*/false));
}
void HistoryService::AddPage(const GURL& url,
diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/privacy_sandbox/privacy_sandbox_prefs.cc
--- a/components/privacy_sandbox/privacy_sandbox_prefs.cc
+++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc
@@ -60,7 +60,7 @@ namespace privacy_sandbox {
@@ -66,7 +66,7 @@ namespace privacy_sandbox {
void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
@@ -143,7 +131,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/pr
diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components/privacy_sandbox/privacy_sandbox_settings.cc
--- a/components/privacy_sandbox/privacy_sandbox_settings.cc
+++ b/components/privacy_sandbox/privacy_sandbox_settings.cc
@@ -67,8 +67,7 @@ PrivacySandboxSettings::PrivacySandboxSettings(
@@ -68,8 +68,7 @@ PrivacySandboxSettings::PrivacySandboxSettings(
: delegate_(std::move(delegate)),
host_content_settings_map_(host_content_settings_map),
cookie_settings_(cookie_settings),
@@ -153,7 +141,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
DCHECK(pref_service_);
DCHECK(host_content_settings_map_);
DCHECK(cookie_settings_);
@@ -88,7 +87,8 @@ PrivacySandboxSettings::PrivacySandboxSettings(
@@ -94,7 +93,8 @@ PrivacySandboxSettings::PrivacySandboxSettings(
PrivacySandboxSettings::~PrivacySandboxSettings() = default;
@@ -163,19 +151,19 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
// Topics API calculation should be prevented if the user has blocked 3PC
// cookies, as there will be no context specific check.
const auto cookie_controls_mode =
@@ -113,7 +113,8 @@ bool PrivacySandboxSettings::IsTopicsAllowedForContext(
@@ -119,7 +119,8 @@ bool PrivacySandboxSettings::IsTopicsAllowedForContext(
IsPrivacySandboxEnabledForContext(url, top_frame_origin);
}
-bool PrivacySandboxSettings::IsTopicAllowed(const CanonicalTopic& topic) {
+bool PrivacySandboxSettings::IsTopicAllowed(const CanonicalTopic& topic) { // disabled in Bromite
+ if ((true)) return false;
auto* blocked_topics =
const auto& blocked_topics =
pref_service_->GetList(prefs::kPrivacySandboxBlockedTopics);
@@ -181,9 +182,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& reporting_origin) const {
- return IsPrivacySandboxEnabledForContext(reporting_origin.GetURL(),
@@ -184,18 +172,18 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
+ return false;
}
bool PrivacySandboxSettings::ShouldSendConversionReport(
@@ -277,7 +277,8 @@ void PrivacySandboxSettings::ClearFledgeJoiningAllowedSettings(
bool PrivacySandboxSettings::MaySendAttributionReport(
@@ -278,7 +278,8 @@ void PrivacySandboxSettings::ClearFledgeJoiningAllowedSettings(
}
bool PrivacySandboxSettings::IsFledgeJoiningAllowed(
- const url::Origin& top_frame_origin) const {
+ const url::Origin& top_frame_origin) const { // disabled in Bromite
+ if ((true)) return false;
DictionaryPrefUpdate scoped_pref_update(
ScopedDictPrefUpdate scoped_pref_update(
pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked);
auto* pref_data = scoped_pref_update.Get();
@@ -328,7 +329,9 @@ bool PrivacySandboxSettings::IsSharedStorageAllowed(
auto& pref_data = scoped_pref_update.Get();
@@ -334,7 +335,9 @@ bool PrivacySandboxSettings::IsPrivateAggregationAllowed(
top_frame_origin);
}
@@ -206,7 +194,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
// If the delegate is restricting access the Privacy Sandbox is disabled.
if (delegate_->IsPrivacySandboxRestricted())
return false;
@@ -343,7 +346,7 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
@@ -349,7 +352,7 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
// settings is available.
if (base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3)) {
// For Privacy Sandbox Settings 3, APIs are disabled in incognito.
@@ -215,7 +203,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
return false;
if (should_override_setting_for_local_testing) {
@@ -361,7 +364,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
@@ -367,7 +370,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
return pref_service_->GetBoolean(prefs::kPrivacySandboxApisEnabled);
}
@@ -225,7 +213,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
// Only apply the decision to the appropriate preference.
if (base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3)) {
pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabledV2, enabled);
@@ -370,7 +374,8 @@ void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) {
@@ -376,7 +380,8 @@ void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) {
}
}
@@ -235,8 +223,8 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
// The PrivacySandboxSettings is only involved in Trust Token access
// decisions when the Release 3 flag is enabled.
if (!base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3))
@@ -424,9 +429,9 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabledForContext(
top_frame_origin);
@@ -441,9 +446,9 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabledForContext(
content_settings::CookieSettings::QueryReason::kPrivacySandbox);
}
-void PrivacySandboxSettings::SetTopicsDataAccessibleFromNow() const {
@@ -251,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
--- a/components/privacy_sandbox/privacy_sandbox_settings.h
+++ b/components/privacy_sandbox/privacy_sandbox_settings.h
@@ -215,7 +215,6 @@ class PrivacySandboxSettings : public KeyedService {
@@ -227,7 +227,6 @@ class PrivacySandboxSettings : public KeyedService {
scoped_refptr<content_settings::CookieSettings> cookie_settings_;
raw_ptr<PrefService> pref_service_;
raw_ptr<PrefService, DanglingUntriaged> pref_service_;
PrefChangeRegistrar pref_change_registrar_;
- bool incognito_profile_;
};
@@ -5,8 +5,8 @@ Subject: Disable NTP remote suggestions by default
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
components/feed/core/shared_prefs/pref_names.cc | 4 ++--
components/ntp_snippets/features.cc | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
components/ntp_snippets/features.cc | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
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
@@ -25,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
--- a/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};
const base::Feature kArticleSuggestionsFeature{
- "NTPArticleSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
+ "NTPArticleSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kArticleSuggestionsFeature,
- "NTPArticleSuggestions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "NTPArticleSuggestions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kRemoteSuggestionsEmulateM58FetchingSchedule{
"RemoteSuggestionsEmulateM58FetchingSchedule",
@@ -68,7 +68,7 @@ const char kNotificationsDailyLimit[] = "daily_limit";
BASE_FEATURE(kRemoteSuggestionsEmulateM58FetchingSchedule,
"RemoteSuggestionsEmulateM58FetchingSchedule",
@@ -71,8 +71,8 @@ const char kNotificationsDailyLimit[] = "daily_limit";
const char kNotificationsIgnoredLimitParam[] = "ignored_limit";
const base::Feature kKeepPrefetchedContentSuggestions{
- "KeepPrefetchedContentSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
+ "KeepPrefetchedContentSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kKeepPrefetchedContentSuggestions,
- "KeepPrefetchedContentSuggestions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "KeepPrefetchedContentSuggestions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kOptionalImagesEnabledFeature{
"NTPRemoteSuggestionsOptionalImages", base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kOptionalImagesEnabledFeature,
"NTPRemoteSuggestionsOptionalImages",
--
2.25.1
+18 -19
View File
@@ -4,36 +4,35 @@ Subject: Disable PrivacyGuide
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/common/chrome_features.cc | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
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
@@ -445,8 +445,8 @@ const base::Feature kHaTSDesktopDevToolsIssuesCSP{
@@ -505,8 +505,8 @@ BASE_FEATURE(kHaTSDesktopDevToolsIssuesCSP,
// Enables or disables the Happiness Tracking System for Desktop Privacy Guide.
const base::Feature kHappinessTrackingSurveysForDesktopPrivacyGuide{
- "HappinessTrackingSurveysForDesktopPrivacyGuide",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ "HappinessTrackingSurveysForDesktopPrivacyGuide", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
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",
@@ -759,11 +759,11 @@ const base::Feature kPrefixWebAppWindowsWithAppName{
const base::Feature kPrerenderFallbackToPreconnect{
"PrerenderFallbackToPreconnect", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -915,11 +915,11 @@ BASE_FEATURE(kPrerenderFallbackToPreconnect,
"PrerenderFallbackToPreconnect",
base::FEATURE_ENABLED_BY_DEFAULT);
-const base::Feature kPrivacyGuide2{"PrivacyGuide2",
- base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kPrivacyGuide2{"PrivacyGuide2", // always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
-BASE_FEATURE(kPrivacyGuide2, "PrivacyGuide2", base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kPrivacyGuide2, "PrivacyGuide2", base::FEATURE_DISABLED_BY_DEFAULT); // always disabled in Bromite
-const base::Feature kPrivacyGuideAndroid{"PrivacyGuideAndroid",
- base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kPrivacyGuideAndroid{"PrivacyGuideAndroid", // always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT}; // 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.
@@ -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
+32 -30
View File
@@ -28,18 +28,18 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/about_flags.cc | 6 +++
chrome/browser/flag_descriptions.cc | 8 ++++
chrome/browser/flag_descriptions.h | 6 +++
net/base/features.cc | 6 +++
net/base/features.cc | 8 ++++
net/base/features.h | 6 +++
net/http/http_network_session.cc | 1 +
net/quic/quic_stream_factory.cc | 35 ++++++++++++++++-
net/socket/ssl_client_socket_impl.cc | 59 ++++++++++++++++++++++++++++
net/socket/ssl_client_socket_impl.h | 2 +
9 files changed, 128 insertions(+), 1 deletion(-)
9 files changed, 130 insertions(+), 1 deletion(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -4747,6 +4747,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5053,6 +5053,12 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-tls13-early-data", flag_descriptions::kEnableTLS13EarlyDataName,
flag_descriptions::kEnableTLS13EarlyDataDescription, kOsAll,
FEATURE_VALUE_TYPE(net::features::kEnableTLS13EarlyData)},
@@ -55,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
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1023,6 +1023,14 @@ const char kEnableTLS13EarlyDataDescription[] =
@@ -994,6 +994,14 @@ const char kEnableTLS13EarlyDataDescription[] =
"during the handshake when resuming a connection to a compatible TLS 1.3 "
"server.";
@@ -73,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
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -586,6 +586,12 @@ extern const char kEnablePreinstalledWebAppDuplicationFixerDescription[];
@@ -577,6 +577,12 @@ extern const char kEnablePreinstalledWebAppDuplicationFixerDescription[];
extern const char kEnableTLS13EarlyDataName[];
extern const char kEnableTLS13EarlyDataDescription[];
@@ -89,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
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -111,6 +111,12 @@ const base::Feature kUseDnsHttpsSvcbAlpn{"UseDnsHttpsSvcbAlpn",
const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -61,6 +61,14 @@ const base::FeatureParam<base::TimeDelta> kUseDnsHttpsSvcbSecureExtraTimeMin{
&kUseDnsHttpsSvcb, "UseDnsHttpsSvcbSecureExtraTimeMin",
base::Milliseconds(5)};
+const base::Feature kDisableTLSResumption{"DisableTLSResumption",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kDisableTLSResumption,
+ "DisableTLSResumption",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+
+const base::Feature kLogTLSResumption{"LogTLSResumption",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kLogTLSResumption,
+ "LogTLSResumption",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
const base::Feature kEncryptedClientHello{"EncryptedClientHello",
base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kUseDnsHttpsSvcbAlpn,
"UseDnsHttpsSvcbAlpn",
base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/net/base/features.h b/net/base/features.h
--- a/net/base/features.h
+++ b/net/base/features.h
@@ -174,6 +174,12 @@ NET_EXPORT extern const base::Feature kUseDnsHttpsSvcbAlpn;
@@ -91,6 +91,12 @@ NET_EXPORT BASE_DECLARE_FEATURE(kUseDnsHttpsSvcbAlpn);
// Enables TLS 1.3 early data.
NET_EXPORT extern const base::Feature kEnableTLS13EarlyData;
NET_EXPORT BASE_DECLARE_FEATURE(kEnableTLS13EarlyData);
+// Disables TLS resumption.
+NET_EXPORT extern const base::Feature kDisableTLSResumption;
+NET_EXPORT BASE_DECLARE_FEATURE(kDisableTLSResumption);
+
+// Log TLS resumption.
+NET_EXPORT extern const base::Feature kLogTLSResumption;
+NET_EXPORT BASE_DECLARE_FEATURE(kLogTLSResumption);
+
// Enables the TLS Encrypted ClientHello feature.
// 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
--- a/net/http/http_network_session.cc
+++ b/net/http/http_network_session.cc
@@ -206,6 +206,7 @@ HttpNetworkSession::HttpNetworkSession(const HttpNetworkSessionParams& params,
@@ -211,6 +211,7 @@ HttpNetworkSession::HttpNetworkSession(const HttpNetworkSessionParams& params,
next_protos_.push_back(kProtoHTTP11);
@@ -132,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
--- a/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/platform/api/quic_flags.h"
#include "third_party/boringssl/src/include/openssl/aead.h"
@@ -140,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/scheme_host_port.h"
#include "url/url_constants.h"
@@ -248,6 +249,38 @@ quic::ParsedQuicVersion SelectQuicVersion(
@@ -245,6 +246,38 @@ quic::ParsedQuicVersion SelectQuicVersion(
} // namespace
@@ -179,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
// consumers are using it currently. When the last reference is freed, the
// QuicCryptoClientConfigHandle informs the owning QuicStreamFactory, moves it
@@ -2244,7 +2277,7 @@ QuicStreamFactory::CreateCryptoConfigHandle(
@@ -2249,7 +2282,7 @@ QuicStreamFactory::CreateCryptoConfigHandle(
sct_auditing_delegate_,
HostsFromOrigins(params_.origins_to_force_quic_on),
actual_network_isolation_key),
actual_network_anonymization_key),
- std::make_unique<quic::QuicClientSessionCache>(), this);
+ std::make_unique<BromiteSessionCache>(), this);
@@ -200,7 +202,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
+ LOG(INFO) << "SSL Log: "
+ << tag
+ << " host: " << host_and_port_.ToString()
+ << " NIK: " << ssl_config_.network_isolation_key.ToDebugString();
+ << " NIK: " << ssl_config_.network_anonymization_key.ToDebugString();
+ return;
+ }
+
@@ -214,7 +216,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
+ LOG(INFO) << "SSL Log: "
+ << tag
+ << " 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)
+ << (ticklen > 0 ? " ticket:" + base::HexEncode(ticket, ticklen) : "");
+}
@@ -225,7 +227,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
Disconnect();
}
@@ -787,6 +813,8 @@ int SSLClientSocketImpl::Init() {
@@ -786,6 +812,8 @@ int SSLClientSocketImpl::Init() {
}
if (session)
SSL_set_session(ssl_.get(), session.get());
@@ -234,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>(
@@ -1075,6 +1103,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) {
@@ -1077,6 +1105,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) {
: SSLHandshakeDetails::kTLS13Full;
}
}
@@ -270,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);
// Measure TLS connections that implement the renegotiation_info extension.
@@ -1748,6 +1805,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const {
@@ -1760,6 +1817,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const {
}
bool SSLClientSocketImpl::IsCachingEnabled() const {
+123 -100
View File
@@ -7,22 +7,21 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../chrome_hints_manager.cc | 1 +
.../optimization_guide_keyed_service.cc | 1 -
chrome/common/chrome_features.cc | 6 ++---
chrome/common/chrome_features.cc | 8 ++--
.../optimization_guide/core/hints_fetcher.cc | 1 +
.../optimization_guide/core/hints_manager.cc | 4 ++++
.../core/optimization_guide_features.cc | 24 +++++++++----------
.../core/prediction_model_download_manager.cc | 6 +++--
.../optimization_guide/core/hints_manager.cc | 5 +++
.../core/optimization_guide_features.cc | 38 +++++++++----------
.../core/prediction_model_download_manager.cc | 6 ++-
.../core/prediction_model_fetcher_impl.cc | 1 +
components/optimization_guide/features.gni | 4 +---
components/permissions/features.cc | 2 +-
.../segmentation_platform/public/features.cc | 2 +-
third_party/blink/common/features.cc | 2 +-
12 files changed, 30 insertions(+), 24 deletions(-)
components/optimization_guide/features.gni | 4 +-
components/permissions/features.cc | 8 ++--
third_party/blink/common/features.cc | 8 +---
11 files changed, 40 insertions(+), 41 deletions(-)
diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/browser/optimization_guide/chrome_hints_manager.cc
--- a/chrome/browser/optimization_guide/chrome_hints_manager.cc
+++ b/chrome/browser/optimization_guide/chrome_hints_manager.cc
@@ -29,6 +29,7 @@ bool IsAllowedToFetchForNavigationPrediction(
@@ -26,6 +26,7 @@ bool IsAllowedToFetchForNavigationPrediction(
const absl::optional<NavigationPredictorKeyedService::Prediction>
prediction) {
DCHECK(prediction);
@@ -33,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
--- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
+++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
@@ -354,7 +354,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
@@ -318,7 +318,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
void OptimizationGuideKeyedService::RegisterOptimizationTypes(
const std::vector<optimization_guide::proto::OptimizationType>&
optimization_types) {
@@ -44,30 +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
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -726,8 +726,8 @@ const base::Feature kPermissionAuditing{"PermissionAuditing",
@@ -889,8 +889,8 @@ BASE_FEATURE(kPermissionAuditing,
// Enables using the prediction service for permission prompts. We will keep
// this feature in order to allow us to update the holdback chance via finch.
-const base::Feature kPermissionPredictions{"PermissionPredictions",
- base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kPermissionPredictions{"PermissionPredictions", // always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
BASE_FEATURE(kPermissionPredictions,
- "PermissionPredictions",
- 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
// through finch if needed.
@@ -738,7 +738,7 @@ const base::FeatureParam<double> kPermissionPredictionsHoldbackChance(
@@ -901,8 +901,8 @@ const base::FeatureParam<double> kPermissionPredictionsHoldbackChance(
// Enables using the prediction service for geolocation permission prompts.
const base::Feature kPermissionGeolocationPredictions{
- "PermissionGeolocationPredictions", base::FEATURE_ENABLED_BY_DEFAULT};
+ "PermissionGeolocationPredictions", base::FEATURE_DISABLED_BY_DEFAULT}; // always disabled in Bromite
BASE_FEATURE(kPermissionGeolocationPredictions,
- "PermissionGeolocationPredictions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "PermissionGeolocationPredictions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::FeatureParam<double>
kPermissionGeolocationPredictionsHoldbackChance(
diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/optimization_guide/core/hints_fetcher.cc
--- a/components/optimization_guide/core/hints_fetcher.cc
+++ b/components/optimization_guide/core/hints_fetcher.cc
@@ -175,6 +175,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints(
@@ -174,6 +174,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints(
optimization_guide::proto::RequestContext request_context,
const std::string& locale,
HintsFetchedCallback hints_fetched_callback) {
@@ -78,7 +79,7 @@ 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
--- a/components/optimization_guide/core/hints_manager.cc
+++ b/components/optimization_guide/core/hints_manager.cc
@@ -348,6 +348,7 @@ void HintsManager::Shutdown() {
@@ -352,6 +352,7 @@ void HintsManager::Shutdown() {
OptimizationGuideDecision
HintsManager::GetOptimizationGuideDecisionFromOptimizationTypeDecision(
OptimizationTypeDecision optimization_type_decision) {
@@ -86,7 +87,15 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op
switch (optimization_type_decision) {
case OptimizationTypeDecision::kAllowedByOptimizationFilter:
case OptimizationTypeDecision::kAllowedByHint:
@@ -1239,6 +1240,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
@@ -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,
OptimizationMetadata* optimization_metadata) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -99,72 +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
--- a/components/optimization_guide/core/optimization_guide_features.cc
+++ b/components/optimization_guide/core/optimization_guide_features.cc
@@ -77,16 +77,16 @@ 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
// hints for what optimizations can be applied on a page load.
-const base::Feature kOptimizationHints{"OptimizationHints",
- base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kOptimizationHints{"OptimizationHints", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
BASE_FEATURE(kOptimizationHints,
- "OptimizationHints",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationHints", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Enables fetching from a remote Optimization Guide Service.
const base::Feature kRemoteOptimizationGuideFetching{
- "OptimizationHintsFetching", base::FEATURE_ENABLED_BY_DEFAULT};
+ "OptimizationHintsFetching", base::FEATURE_DISABLED_BY_DEFAULT}; // disabled by default in Bromite
BASE_FEATURE(kRemoteOptimizationGuideFetching,
- "OptimizationHintsFetching",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationHintsFetching", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kRemoteOptimizationGuideFetchingAnonymousDataConsent{
- "OptimizationHintsFetchingAnonymousDataConsent",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ "OptimizationHintsFetchingAnonymousDataConsent", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
BASE_FEATURE(kRemoteOptimizationGuideFetchingAnonymousDataConsent,
- "OptimizationHintsFetchingAnonymousDataConsent",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationHintsFetchingAnonymousDataConsent", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Enables performance info in the context menu and fetching from a remote
// Optimization Guide Service.
@@ -96,15 +96,15 @@ const base::Feature kContextMenuPerformanceInfoAndRemoteHintFetching{
@@ -98,17 +98,13 @@ BASE_FEATURE(kContextMenuPerformanceInfoAndRemoteHintFetching,
// Enables the prediction of optimization targets.
const base::Feature kOptimizationTargetPrediction{
- "OptimizationTargetPrediction", base::FEATURE_ENABLED_BY_DEFAULT};
+ "OptimizationTargetPrediction", base::FEATURE_DISABLED_BY_DEFAULT}; // disabled by default in Bromite
BASE_FEATURE(kOptimizationTargetPrediction,
- "OptimizationTargetPrediction",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationTargetPrediction", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Enables the downloading of models.
const base::Feature kOptimizationGuideModelDownloading {
"OptimizationGuideModelDownloading",
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
- base::FEATURE_ENABLED_BY_DEFAULT
BASE_FEATURE(kOptimizationGuideModelDownloading,
- "OptimizationGuideModelDownloading",
-#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
- base::FEATURE_ENABLED_BY_DEFAULT
-#else // BUILD_WITH_TFLITE_LIB
base::FEATURE_DISABLED_BY_DEFAULT
+#else // BUILD_WITH_TFLITE_LIB
+ base::FEATURE_DISABLED_BY_DEFAULT // guard this
#endif // !BUILD_WITH_TFLITE_LIB
};
- base::FEATURE_DISABLED_BY_DEFAULT
-#endif // !BUILD_WITH_TFLITE_LIB
+ "OptimizationGuideModelDownloading", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
);
@@ -134,7 +134,7 @@ const base::Feature kPageEntitiesModelResetOnShutdown{
// Enables page content to be annotated.
@@ -143,8 +139,8 @@ BASE_FEATURE(kPageEntitiesModelResetOnShutdown,
// Enables push notification of hints.
const base::Feature kPushNotifications{"OptimizationGuidePushNotifications",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
BASE_FEATURE(kPushNotifications,
- "OptimizationGuidePushNotifications",
- 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
// experiment parameters.
@@ -146,12 +146,12 @@ const base::Feature kOptimizationGuideMetadataValidation{
"OptimizationGuideMetadataValidation", base::FEATURE_DISABLED_BY_DEFAULT};
@@ -158,15 +154,15 @@ BASE_FEATURE(kOptimizationGuideMetadataValidation,
base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kPageTopicsBatchAnnotations{
- "PageTopicsBatchAnnotations", base::FEATURE_ENABLED_BY_DEFAULT};
+ "PageTopicsBatchAnnotations", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kPageVisibilityBatchAnnotations{
"PageVisibilityBatchAnnotations", base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kPageTopicsBatchAnnotations,
- "PageTopicsBatchAnnotations",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "PageTopicsBatchAnnotations", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
BASE_FEATURE(kPageVisibilityBatchAnnotations,
"PageVisibilityBatchAnnotations",
base::FEATURE_ENABLED_BY_DEFAULT);
const base::Feature kUseLocalPageEntitiesMetadataProvider{
- "UseLocalPageEntitiesMetadataProvider", base::FEATURE_DISABLED_BY_DEFAULT};
+ "UseLocalPageEntitiesMetadataProvider", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
BASE_FEATURE(kUseLocalPageEntitiesMetadataProvider,
- "UseLocalPageEntitiesMetadataProvider",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "UseLocalPageEntitiesMetadataProvider", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kPageContentAnnotationsValidation{
"PageContentAnnotationsValidation", base::FEATURE_DISABLED_BY_DEFAULT};
@@ -390,7 +390,7 @@ size_t MaxURLKeyedHintCacheSize() {
BASE_FEATURE(kPageContentAnnotationsValidation,
"PageContentAnnotationsValidation",
@@ -414,7 +410,7 @@ size_t MaxURLKeyedHintCacheSize() {
bool ShouldPersistHintsToDisk() {
return GetFieldTrialParamByFeatureAsBool(kOptimizationHints,
@@ -176,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
--- a/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.
constexpr uint8_t kPublisherKeyHash[] = {
0x66, 0xa1, 0xd9, 0x3e, 0x4e, 0x5a, 0x66, 0x8a, 0x0f, 0xd3, 0xfa,
@@ -185,7 +206,7 @@ diff --git a/components/optimization_guide/core/prediction_model_download_manage
0x5c, 0x7f, 0xd0, 0x0c, 0xa1, 0x6e, 0xef, 0xdd, 0x63, 0x7a};
const net::NetworkTrafficAnnotationTag
kOptimizationGuidePredictionModelsTrafficAnnotation =
@@ -99,7 +99,7 @@ PredictionModelDownloadManager::PredictionModelDownloadManager(
@@ -93,7 +93,7 @@ PredictionModelDownloadManager::PredictionModelDownloadManager(
const base::FilePath& models_dir_path,
scoped_refptr<base::SequencedTaskRunner> background_task_runner)
: download_service_(download_service),
@@ -194,7 +215,7 @@ diff --git a/components/optimization_guide/core/prediction_model_download_manage
api_key_(features::GetOptimizationGuideServiceAPIKey()),
models_dir_path_(models_dir_path),
background_task_runner_(background_task_runner) {}
@@ -114,6 +114,7 @@ base::FilePath::StringType PredictionModelDownloadManager::ModelInfoFileName() {
@@ -103,6 +103,7 @@ PredictionModelDownloadManager::~PredictionModelDownloadManager() = default;
void PredictionModelDownloadManager::StartDownload(
const GURL& download_url,
proto::OptimizationTarget optimization_target) {
@@ -202,7 +223,7 @@ diff --git a/components/optimization_guide/core/prediction_model_download_manage
download::DownloadParams download_params;
download_params.client =
download::DownloadClient::OPTIMIZATION_GUIDE_PREDICTION_MODELS;
@@ -250,6 +251,7 @@ void PredictionModelDownloadManager::OnDownloadFailed(
@@ -239,6 +240,7 @@ void PredictionModelDownloadManager::OnDownloadFailed(
absl::optional<std::pair<base::FilePath, base::FilePath>>
PredictionModelDownloadManager::VerifyDownload(const base::FilePath& file_path,
bool delete_file_on_error) {
@@ -238,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
--- a/components/permissions/features.cc
+++ b/components/permissions/features.cc
@@ -65,7 +65,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{
"PermissionOnDeviceNotificationPredictions",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
BASE_FEATURE(kPermissionOnDeviceNotificationPredictions,
- "PermissionOnDeviceNotificationPredictions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "PermissionOnDeviceNotificationPredictions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
#if BUILDFLAG(IS_ANDROID)
diff --git a/components/segmentation_platform/public/features.cc b/components/segmentation_platform/public/features.cc
--- a/components/segmentation_platform/public/features.cc
+++ b/components/segmentation_platform/public/features.cc
@@ -27,7 +27,7 @@ const base::Feature kSegmentationPlatformLowEngagementFeature{
const base::Feature kSegmentationPlatformFeedSegmentFeature{
"SegmentationPlatformFeedSegmentFeature",
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
- base::FEATURE_ENABLED_BY_DEFAULT
+ base::FEATURE_DISABLED_BY_DEFAULT
};
#else
base::FEATURE_DISABLED_BY_DEFAULT
BASE_FEATURE(kPermissionOnDeviceGeolocationPredictions,
"PermissionOnDeviceGeolocationPredictions",
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -185,7 +185,7 @@ const base::Feature kViewportHeightClientHintHeader{
const base::Feature kNavigationPredictor {
"NavigationPredictor",
#if BUILDFLAG(IS_ANDROID)
- base::FEATURE_ENABLED_BY_DEFAULT
+ base::FEATURE_DISABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
#endif
@@ -230,12 +230,8 @@ BASE_FEATURE(kMixedContentAutoupgrade,
// predictor may preconnect/prefetch to resources/origins to make the
// future navigations faster.
BASE_FEATURE(kNavigationPredictor,
- "NavigationPredictor",
-#if BUILDFLAG(IS_ANDROID)
- base::FEATURE_ENABLED_BY_DEFAULT
-#else
- base::FEATURE_DISABLED_BY_DEFAULT
-#endif
+ "NavigationPredictor", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
);
// Anchor Element Interaction
--
2.25.1
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -848,7 +848,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -856,7 +856,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
* displayed.
*/
private boolean triggerPromo(boolean intentWithEffect) {
@@ -19,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)) {
return false;
}
@@ -883,8 +883,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -891,8 +891,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
preferenceManager.writeBoolean(
ChromePreferenceKeys.PROMOS_SKIPPED_ON_FIRST_START, true);
}
@@ -29,6 +29,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
+ return false;
}
private boolean maybeShowPromo() {
@VisibleForTesting
--
2.25.1
@@ -11,43 +11,50 @@ 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
---
.../browser/flags/android/chrome_feature_list.cc | 2 +-
.../embedder_support/origin_trials/features.cc | 3 ++-
.../browser/flags/android/chrome_feature_list.cc | 4 ++--
.../embedder_support/origin_trials/features.cc | 8 ++++----
.../render_view_context_menu_base.cc | 3 ---
.../aggregatable_report_sender.cc | 15 +++++++--------
.../attribution_reporting/attribution_host.cc | 1 +
.../attribution_report_network_sender.cc | 15 ++++++++-------
.../attribution_storage_sql.cc | 2 +-
.../attribution_report_network_sender.cc | 11 ++++++++---
.../attribution_storage_sql.cc | 8 +++++---
content/browser/storage_partition_impl.cc | 7 +------
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 | 7 +++++++
11 files changed, 29 insertions(+), 29 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
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -487,7 +487,7 @@ const base::Feature kAppMenuMobileSiteOption{"AppMenuMobileSiteOption",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -522,8 +522,8 @@ BASE_FEATURE(kAppMenuMobileSiteOption,
base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kAppToWebAttribution{"AppToWebAttribution",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
BASE_FEATURE(kAppToWebAttribution,
- "AppToWebAttribution",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "AppToWebAttribution", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kBackgroundThreadPool{"BackgroundThreadPool",
base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kBackgroundThreadPool,
"BackgroundThreadPool",
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
+++ b/components/embedder_support/origin_trials/features.cc
@@ -17,8 +17,9 @@ const base::Feature kOriginTrialsSampleAPIThirdPartyAlternativeUsage{
"OriginTrialsSampleAPIThirdPartyAlternativeUsage",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -14,11 +14,11 @@ namespace embedder_support {
// Users from control group will have the feature disabled, excluding them
// 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.
const base::Feature kConversionMeasurementAPIAlternativeUsage{
"ConversionMeasurementAPIAlternativeUsage",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kConversionMeasurementAPIAlternativeUsage,
- "ConversionMeasurementAPIAlternativeUsage",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "ConversionMeasurementAPIAlternativeUsage", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
} // 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
@@ -96,7 +103,7 @@ diff --git a/content/browser/aggregation_service/aggregatable_report_sender.cc b
diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content/browser/attribution_reporting/attribution_host.cc
--- a/content/browser/attribution_reporting/attribution_host.cc
+++ b/content/browser/attribution_reporting/attribution_host.cc
@@ -124,6 +124,7 @@ void AttributionHost::DidRedirectNavigation(
@@ -126,6 +126,7 @@ void AttributionHost::DidRedirectNavigation(
return;
}
@@ -107,25 +114,21 @@ diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content
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
@@ -117,13 +117,8 @@ void AttributionReportNetworkSender::SendReport(
@@ -132,9 +132,8 @@ void AttributionReportNetworkSender::SendReport(GURL url,
network::SimpleURLLoader::RETRY_ON_NAME_NOT_RESOLVED;
simple_url_loader_ptr->SetRetryOptions(/*max_retries=*/1, retry_mode);
- // Unretained is safe because the URLLoader is owned by |this| and will be
- // deleted before |this|.
- simple_url_loader_ptr->DownloadHeadersOnly(
- url_loader_factory_.get(),
- base::BindOnce(&AttributionReportNetworkSender::OnReportSent,
- base::Unretained(this), std::move(it), std::move(report),
- is_debug_report, std::move(sent_callback)));
- base::BindOnce(std::move(callback), std::move(it)));
+ // this is never called on Bromite but nothing would be sent if it were
+ OnReportSent(std::move(it), report, is_debug_report, std::move(sent_callback), nullptr);
}
void AttributionReportNetworkSender::SetURLLoaderFactoryForTesting(
@@ -137,6 +132,12 @@ void AttributionReportNetworkSender::OnReportSent(
bool is_debug_report,
void AttributionReportNetworkSender::OnReportSent(
@@ -143,6 +142,12 @@ void AttributionReportNetworkSender::OnReportSent(
ReportSentCallback sent_callback,
UrlLoaderList::iterator it,
scoped_refptr<net::HttpResponseHeaders> headers) {
+ if ((true)) {
+ std::move(sent_callback)
@@ -139,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
--- a/content/browser/attribution_reporting/attribution_storage_sql.cc
+++ b/content/browser/attribution_reporting/attribution_storage_sql.cc
@@ -425,7 +425,7 @@ void AttributionStorageSql::RunInMemoryForTesting() {
@@ -514,6 +514,8 @@ DestinationLimitResult GetDestinationLimitResult(
}
}
// static
-bool AttributionStorageSql::g_run_in_memory_ = false;
+bool AttributionStorageSql::g_run_in_memory_ = true;
+bool g_run_in_memory = true;
+
} // namespace
// static
bool AttributionStorageSql::DeleteStorageForTesting(
@@ -525,9 +527,9 @@ bool AttributionStorageSql::DeleteStorageForTesting(
AttributionStorageSql::AttributionStorageSql(
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
--- a/content/browser/storage_partition_impl.cc
+++ b/content/browser/storage_partition_impl.cc
@@ -1318,12 +1318,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.
- if (!is_in_memory() &&
@@ -179,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
--- a/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.
const base::Feature kConversionMeasurement{"ConversionMeasurement",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kConversionMeasurement,
- "ConversionMeasurement",
- 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
// enabled, then the associated parameter sets the cutoff, expressed as the
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -106,6 +106,13 @@
@@ -201,6 +201,13 @@
},
data: [
+6 -6
View File
@@ -10,14 +10,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -227,8 +227,8 @@ const base::Feature kCooperativeScheduling{"CooperativeScheduling",
@@ -251,8 +251,8 @@ BASE_FEATURE(kCooperativeScheduling,
// Enables crash reporting via Reporting API.
// https://www.w3.org/TR/reporting/#crash-report
-const base::Feature kCrashReporting{"CrashReporting",
- base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kCrashReporting{"CrashReporting", // disabled by default on Bromite
+ base::FEATURE_DISABLED_BY_DEFAULT}; // ^
BASE_FEATURE(kCrashReporting,
- "CrashReporting",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "CrashReporting", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Enables support for the `Critical-CH` response header.
// https://github.com/WICG/client-hints-infrastructure/blob/master/reliability.md#critical-ch
@@ -5,14 +5,13 @@ 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 +-------
.../chromium/chrome/browser/flags/CachedFeatureFlags.java | 2 +-
components/feed/feed_feature_list.cc | 4 ++--
3 files changed, 4 insertions(+), 10 deletions(-)
components/feed/feed_feature_list.cc | 8 ++++----
2 files changed, 5 insertions(+), 11 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
--- 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
@@ -42,13 +42,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.
*/
public static boolean isWebFeedUIEnabled() {
@@ -26,36 +25,28 @@ diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/fe
+ return false;
}
/**
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
@@ -78,7 +78,7 @@ public class CachedFeatureFlags {
.put(ChromeFeatureList.INCOGNITO_REAUTHENTICATION_FOR_ANDROID, false)
.put(ChromeFeatureList.INSTANCE_SWITCHER, true)
.put(ChromeFeatureList.INSTANT_START, false)
- .put(ChromeFeatureList.INTEREST_FEED_V2, true)
+ .put(ChromeFeatureList.INTEREST_FEED_V2, false)
.put(ChromeFeatureList.LENS_CAMERA_ASSISTED_SEARCH, false)
.put(ChromeFeatureList.NEW_WINDOW_APP_MENU, true)
.put(ChromeFeatureList.OMNIBOX_ANDROID_AUXILIARY_SEARCH, false)
public static boolean shouldUseWebFeedAwarenessIPH() {
diff --git a/components/feed/feed_feature_list.cc b/components/feed/feed_feature_list.cc
--- a/components/feed/feed_feature_list.cc
+++ b/components/feed/feed_feature_list.cc
@@ -16,12 +16,12 @@
@@ -17,14 +17,14 @@
namespace feed {
const base::Feature kInterestFeedContentSuggestions{
- "InterestFeedContentSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
+ "InterestFeedContentSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kInterestFeedContentSuggestions,
- "InterestFeedContentSuggestions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "InterestFeedContentSuggestions", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default in Bromite
// InterestFeedV2 takes precedence over InterestFeedContentSuggestions.
// InterestFeedV2 is cached in ChromeCachedFlags. If the default value here is
// changed, please update the cached one's default value in CachedFeatureFlags.
const base::Feature kInterestFeedV2{"InterestFeedV2",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kInterestFeedV2,
- "InterestFeedV2",
- 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_DISABLED_BY_DEFAULT};
BASE_FEATURE(kInterestFeedV2Autoplay,
"InterestFeedV2Autoplay",
--
2.25.1
@@ -2,7 +2,8 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 8 Jul 2018 18:16:34 +0200
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
---
@@ -12,17 +13,17 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/ukm/ukm_recorder_impl.cc | 3 +++
.../firstrun/VariationsSeedBridge.java | 2 +-
.../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 +++
.../service/variations_field_trial_creator.cc | 3 ++-
.../variations/service/variations_service.cc | 15 +++--------
.../renderer/core/loader/document_loader.cc | 7 -----
11 files changed, 22 insertions(+), 47 deletions(-)
11 files changed, 23 insertions(+), 48 deletions(-)
diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/BUILD.gn
--- a/android_webview/nonembedded/BUILD.gn
+++ b/android_webview/nonembedded/BUILD.gn
@@ -105,7 +105,6 @@ android_library("services_java") {
@@ -107,7 +107,6 @@ android_library("services_java") {
sources = [
"java/src/org/chromium/android_webview/services/AwMinidumpUploadJobService.java",
"java/src/org/chromium/android_webview/services/AwMinidumpUploaderDelegate.java",
@@ -30,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/ComponentsProviderPathUtil.java",
"java/src/org/chromium/android_webview/services/ComponentsProviderService.java",
@@ -116,7 +115,6 @@ android_library("services_java") {
"java/src/org/chromium/android_webview/services/MetricsUploadService.java",
"java/src/org/chromium/android_webview/services/SafeModeContentProvider.java",
@@ -120,7 +119,6 @@ android_library("services_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/VariationsSeedServer.java",
]
@@ -41,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
--- 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
@@ -30,8 +30,6 @@ public class VariationsSeedServer extends Service {
@@ -31,8 +31,6 @@ public class VariationsSeedServer extends Service {
@Override
public void getSeed(ParcelFileDescriptor newSeedFile, long oldSeedDate,
IVariationsSeedServerCallback callback) {
@@ -53,19 +54,19 @@ diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/s
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_browser_sampling_trials.cc
+++ b/chrome/browser/metrics/chrome_browser_sampling_trials.cc
@@ -51,6 +51,8 @@ void CreateFallbackSamplingTrial(const std::string& trial_name,
const std::string& feature_name,
const int sampled_in_rate_per_mille,
base::FeatureList* feature_list) {
@@ -54,6 +54,8 @@ void CreateFallbackSamplingTrial(
const std::string& feature_name,
const int sampled_in_rate_per_mille,
base::FeatureList* feature_list) {
+ if ((true))
+ return;
scoped_refptr<base::FieldTrial> trial(
base::FieldTrialList::FactoryGetFieldTrial(
trial_name, /*total_probability=*/1000, "Default",
@@ -90,6 +92,8 @@ void CreateFallbackSamplingTrial(const std::string& trial_name,
// field trial controlling the sampling feature.
void CreateFallbackUkmSamplingTrial(bool is_stable_channel,
base::FeatureList* feature_list) {
trial_name, /*total_probability=*/1000, "Default", entropy_provider));
@@ -93,6 +95,8 @@ void CreateFallbackUkmSamplingTrial(
const base::FieldTrial::EntropyProvider& entropy_provider,
bool is_stable_channel,
base::FeatureList* feature_list) {
+ if ((true))
+ return;
static const char kSampledGroup_Stable[] = "Sampled_NoSeed_Stable";
@@ -74,7 +75,7 @@ diff --git a/chrome/browser/metrics/chrome_browser_sampling_trials.cc b/chrome/b
diff --git a/components/ukm/ukm_recorder_impl.cc b/components/ukm/ukm_recorder_impl.cc
--- a/components/ukm/ukm_recorder_impl.cc
+++ b/components/ukm/ukm_recorder_impl.cc
@@ -210,6 +210,9 @@ bool HasUnknownMetrics(const builders::DecodeMap& decode_map,
@@ -206,6 +206,9 @@ bool HasUnknownMetrics(const builders::DecodeMap& decode_map,
UkmRecorderImpl::UkmRecorderImpl()
: sampling_seed_(static_cast<uint32_t>(base::RandUint64())) {
@@ -145,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
--- a/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
// case of crashes.
const base::Feature kReportOmniboxOnDeviceSuggestionsHeader{
- "ReportOmniboxOnDeviceSuggestionsHeader", base::FEATURE_ENABLED_BY_DEFAULT};
+ "ReportOmniboxOnDeviceSuggestionsHeader", base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kReportOmniboxOnDeviceSuggestionsHeader,
- "ReportOmniboxOnDeviceSuggestionsHeader",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "ReportOmniboxOnDeviceSuggestionsHeader", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
std::string GetHeaderValue() {
const std::string group =
@@ -170,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
--- a/components/variations/service/variations_field_trial_creator.cc
+++ b/components/variations/service/variations_field_trial_creator.cc
@@ -161,7 +161,8 @@ Study::CpuArchitecture GetCurrentCpuArchitecture() {
@@ -158,7 +158,8 @@ Study::CpuArchitecture GetCurrentCpuArchitecture() {
// "--variations-server-url" switches are passed. It is however possible to
// apply the testing config as well as specify additional field trials (using
// "--force-fieldtrials") by using the "--enable-field-trial-config" switch.
@@ -183,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
--- a/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
// is specified on the command line, and for testing.
bool IsFetchingEnabled() {
@@ -202,8 +205,8 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
+ return false;
}
std::unique_ptr<SeedResponse> MaybeImportFirstRunSeed(
@@ -599,7 +590,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) {
// Returns the already downloaded first run seed, and clear the seed from the
@@ -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
// 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.
@@ -215,7 +218,7 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
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
@@ -172,13 +172,6 @@ Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
@@ -174,13 +174,6 @@ Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
WebVector<int> CopyInitiatorOriginTrials(
const Vector<OriginTrialFeature>& initiator_origin_trial_features) {
WebVector<int> result;
+5 -5
View File
@@ -10,14 +10,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -433,7 +433,7 @@ const base::Feature kIdentityInCanMakePaymentEventFeature{
@@ -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,
// or the site should obtain an Origin Trial token.
const base::Feature kIdleDetection{"IdleDetection",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
-BASE_FEATURE(kIdleDetection, "IdleDetection", base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kIdleDetection, "IdleDetection", base::FEATURE_DISABLED_BY_DEFAULT);
// A feature flag for the memory-backed code cache.
const base::Feature kInMemoryCodeCache{"InMemoryCodeCache",
BASE_FEATURE(kInMemoryCodeCache,
--
2.25.1
@@ -4,18 +4,20 @@ Subject: Disable lock icon in address bar by default
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
components/omnibox/common/omnibox_features.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
components/omnibox/common/omnibox_features.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/common/omnibox_features.cc
--- a/components/omnibox/common/omnibox_features.cc
+++ b/components/omnibox/common/omnibox_features.cc
@@ -320,7 +320,7 @@ const base::Feature kSiteSearchStarterPack{"OmniboxSiteSearchStarterPack",
@@ -459,8 +459,8 @@ BASE_FEATURE(kSiteSearchStarterPack,
// Experiment to introduce new security indicators for HTTPS.
const base::Feature kUpdatedConnectionSecurityIndicators{
"OmniboxUpdatedConnectionSecurityIndicators",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kUpdatedConnectionSecurityIndicators,
- "OmniboxUpdatedConnectionSecurityIndicators",
- 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
@@ -12,9 +12,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc
--- a/chrome/browser/media/router/media_router_feature.cc
+++ b/chrome/browser/media/router/media_router_feature.cc
@@ -51,26 +51,15 @@ const base::Feature kGlobalMediaControlsCastStartStop{
@@ -60,26 +60,15 @@ BASE_FEATURE(kGlobalMediaControlsCastStartStop,
#endif // !BUILDFLAG(IS_ANDROID)
#endif // BUILDFLAG(IS_ANDROID)
-namespace {
-const PrefService::Preference* GetMediaRouterPref(
@@ -45,7 +45,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
#if !BUILDFLAG(IS_ANDROID)
if (!base::FeatureList::IsEnabled(kMediaRouter))
return false;
@@ -98,7 +87,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
@@ -107,7 +96,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
return allowed;
}
return true;
@@ -54,7 +54,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
#if !BUILDFLAG(IS_ANDROID)
void RegisterLocalStatePrefs(PrefRegistrySimple* registry) {
@@ -111,7 +100,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -120,7 +109,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
PrefRegistry::PUBLIC);
registry->RegisterBooleanPref(
@@ -66,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
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -412,7 +412,7 @@ void ProfileImpl::RegisterProfilePrefs(
@@ -413,7 +413,7 @@ void ProfileImpl::RegisterProfilePrefs(
#endif
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);
@@ -11,9 +11,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -323,7 +323,7 @@ void EndpointFetcher::OnResponseFetched(
auto response = std::make_unique<EndpointResponse>();
// TODO(crbug.com/993393) Add more detailed error messaging
@@ -340,7 +340,7 @@ void EndpointFetcher::OnResponseFetched(
}
} else {
std::string net_error = net::ErrorToString(net_error_code);
- VLOG(1) << __func__ << " with response error: " << net_error;
+ LOG(ERROR) << __func__ << " with response error: " << net_error;
@@ -4,20 +4,22 @@ Subject: Disable offline pages in CCT
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
components/offline_pages/core/offline_page_feature.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
components/offline_pages/core/offline_page_feature.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/components/offline_pages/core/offline_page_feature.cc b/components/offline_pages/core/offline_page_feature.cc
--- a/components/offline_pages/core/offline_page_feature.cc
+++ b/components/offline_pages/core/offline_page_feature.cc
@@ -36,7 +36,7 @@ const base::Feature kOfflinePagesDescriptivePendingStatusFeature{
"OfflinePagesDescriptivePendingStatus", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -41,8 +41,8 @@ BASE_FEATURE(kOfflinePagesDescriptivePendingStatusFeature,
base::FEATURE_ENABLED_BY_DEFAULT);
const base::Feature kOfflinePagesInDownloadHomeOpenInCctFeature{
- "OfflinePagesInDownloadHomeOpenInCct", base::FEATURE_ENABLED_BY_DEFAULT};
+ "OfflinePagesInDownloadHomeOpenInCct", base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kOfflinePagesInDownloadHomeOpenInCctFeature,
- "OfflinePagesInDownloadHomeOpenInCct",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OfflinePagesInDownloadHomeOpenInCct", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kOfflineIndicatorFeature{"OfflineIndicator",
base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kOfflineIndicatorFeature,
"OfflineIndicator",
--
2.25.1
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -1958,9 +1958,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
@@ -1935,9 +1935,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
}
PluginData* LocalFrame::GetPluginData() const {
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
--- a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
+++ b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
@@ -298,7 +298,7 @@ bool DomDistillerViewerSource::ShouldServiceRequest(
@@ -301,7 +301,7 @@ bool DomDistillerViewerSource::ShouldServiceRequest(
std::string DomDistillerViewerSource::GetContentSecurityPolicy(
network::mojom::CSPDirectiveName directive) {
if (directive == network::mojom::CSPDirectiveName::StyleSrc) {
File diff suppressed because it is too large Load Diff
+28 -28
View File
@@ -13,36 +13,36 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -405,7 +405,6 @@ android_library("chrome_java") {
"//chrome/browser/privacy_sandbox/android:java",
"//chrome/browser/profiles/android:java",
"//chrome/browser/safe_browsing/android:java",
- "//chrome/browser/safety_check/android:java",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/search_resumption:java",
"//chrome/browser/segmentation_platform:factory_java",
@@ -1028,8 +1027,6 @@ robolectric_binary("chrome_junit_tests") {
"//chrome/browser/preferences:java",
"//chrome/browser/preferences:preferences_junit_tests",
"//chrome/browser/profiles/android:java",
- "//chrome/browser/safety_check/android:java",
- "//chrome/browser/safety_check/android:junit",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/search_resumption:junit",
"//chrome/browser/segmentation_platform:factory_java",
@@ -1554,8 +1551,6 @@ android_library("chrome_test_java") {
"//chrome/browser/profiles/android:java",
"//chrome/browser/safe_browsing/android:java",
"//chrome/browser/safe_browsing/android:javatests",
- "//chrome/browser/safety_check/android:java",
- "//chrome/browser/safety_check/android:javatests",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/selection/android:javatests",
"//chrome/browser/settings:java",
@@ -454,7 +454,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/privacy_sandbox/android:java",
"//chrome/browser/profiles/android:java",
"//chrome/browser/safe_browsing/android:java",
- "//chrome/browser/safety_check/android:java",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/search_resumption:java",
"//chrome/browser/segmentation_platform:factory_java",
@@ -1045,8 +1044,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/privacy_guide/android:java",
"//chrome/browser/privacy_guide/android:junit",
"//chrome/browser/profiles/android:java",
- "//chrome/browser/safety_check/android:java",
- "//chrome/browser/safety_check/android:junit",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/search_resumption:junit",
"//chrome/browser/segmentation_platform:factory_java",
@@ -1570,8 +1567,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/profiles/android:java",
"//chrome/browser/safe_browsing/android:java",
"//chrome/browser/safe_browsing/android:javatests",
- "//chrome/browser/safety_check/android:java",
- "//chrome/browser/safety_check/android:javatests",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/selection/android:javatests",
"//chrome/browser/settings:java",
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -936,7 +936,6 @@ chrome_java_sources = [
@@ -939,7 +939,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingPasswordReuseDialogBridge.java",
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingReferringAppBridge.java",
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingSettingsLauncher.java",
@@ -85,7 +85,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/Omn
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3288,7 +3288,6 @@ static_library("browser") {
@@ -3310,7 +3310,6 @@ static_library("browser") {
"//chrome/browser/privacy_sandbox/android:jni_headers",
"//chrome/browser/reading_list/android",
"//chrome/browser/safe_browsing/android:safe_browsing_enums",
@@ -11,12 +11,12 @@ the ChromeSmartSelection feature flag.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../contextualsearch/SelectionClientManager.java | 4 +++-
.../browser/flags/android/chrome_feature_list.cc | 4 ++++
.../browser/flags/android/chrome_feature_list.cc | 5 +++++
.../browser/flags/android/chrome_feature_list.h | 1 +
.../chrome/browser/flags/ChromeFeatureList.java | 1 +
.../selection/SelectionPopupControllerImpl.java | 2 +-
testing/variations/fieldtrial_testing_config.json | 15 +++++++++++++++
6 files changed, 25 insertions(+), 2 deletions(-)
6 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java
@@ -42,7 +42,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearc
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -185,6 +185,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -193,6 +193,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCCTBrandTransparency,
&kCCTClientDataHeader,
&kCCTIncognito,
@@ -50,32 +50,33 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kCCTIncognitoAvailableToThirdParty,
&kCCTNewDownloadTab,
&kCCTPackageNameRecording,
@@ -581,6 +582,9 @@ const base::Feature kChromeSharingHubLaunchAdjacent{
const base::Feature kChromeSurveyNextAndroid{"ChromeSurveyNextAndroid",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -984,6 +985,10 @@ BASE_FEATURE(kDiscoverFeedMultiColumn,
"DiscoverFeedMultiColumn",
base::FEATURE_DISABLED_BY_DEFAULT);
+const base::Feature kChromeSmartSelection{"ChromeSmartSelection",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kChromeSmartSelection,
+ "ChromeSmartSelection",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
const base::Feature kCommandLineOnNonRooted{"CommandLineOnNonRooted",
base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kTabStripRedesign,
"TabStripRedesign",
base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -59,6 +59,7 @@ extern const base::Feature kCacheDeprecatedSystemLocationSetting;
extern const base::Feature kChromeNewDownloadTab;
extern const base::Feature kChromeShareLongScreenshot;
extern const base::Feature kChromeShareScreenshot;
+extern const base::Feature kChromeSmartSelection;
extern const base::Feature kChromeSharingHub;
extern const base::Feature kChromeSharingHubLaunchAdjacent;
extern const base::Feature kChromeSurveyNextAndroid;
@@ -63,6 +63,7 @@ BASE_DECLARE_FEATURE(kDontAutoHideBrowserControls);
BASE_DECLARE_FEATURE(kCacheDeprecatedSystemLocationSetting);
BASE_DECLARE_FEATURE(kChromeNewDownloadTab);
BASE_DECLARE_FEATURE(kChromeShareLongScreenshot);
+BASE_DECLARE_FEATURE(kChromeSmartSelection);
BASE_DECLARE_FEATURE(kChromeShareScreenshot);
BASE_DECLARE_FEATURE(kChromeSharingHub);
BASE_DECLARE_FEATURE(kChromeSharingHubLaunchAdjacent);
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -255,6 +255,7 @@ public abstract class ChromeFeatureList {
public static final String CCT_POST_MESSAGE_API = "CCTPostMessageAPI";
@@ -227,6 +227,7 @@ public abstract class ChromeFeatureList {
public static final String CCT_PREFETCH_DELAY_SHOW_ON_START = "CCTPrefetchDelayShowOnStart";
public static final String CCT_REAL_TIME_ENGAGEMENT_SIGNALS = "CCTRealTimeEngagementSignals";
public static final String CCT_REDIRECT_PRECONNECT = "CCTRedirectPreconnect";
+ public static final String CHROME_SMART_SELECTION = "ChromeSmartSelection";
@@ -85,7 +86,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
@@ -818,7 +818,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
@@ -822,7 +822,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
menu.removeItem(R.id.select_action_menu_share);
}
@@ -97,7 +98,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -2415,6 +2415,21 @@
@@ -3088,6 +3088,21 @@
]
}
],
@@ -116,7 +117,7 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati
+ ]
+ }
+ ],
"ChromeStart": [
"CommerceHintAndroid": [
{
"platforms": [
--
@@ -4,29 +4,30 @@ Subject: Disable some signed exchange features
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
content/public/common/content_features.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
content/public/common/content_features.cc | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -850,7 +850,7 @@ const base::Feature kSharedArrayBufferOnDesktop{
@@ -1019,14 +1019,14 @@ BASE_FEATURE(kSharedArrayBufferOnDesktop,
// Signed Exchange Reporting for distributors
// https://www.chromestatus.com/feature/5687904902840320
const base::Feature kSignedExchangeReportingForDistributors{
- "SignedExchangeReportingForDistributors", base::FEATURE_ENABLED_BY_DEFAULT};
+ "SignedExchangeReportingForDistributors", base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kSignedExchangeReportingForDistributors,
- "SignedExchangeReportingForDistributors",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "SignedExchangeReportingForDistributors", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Subresource prefetching+loading via Signed HTTP Exchange
// https://www.chromestatus.com/feature/5126805474246656
@@ -860,7 +860,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
// Origin-Signed HTTP Exchanges (for WebPackage Loading)
// https://www.chromestatus.com/feature/5745285984681984
const base::Feature kSignedHTTPExchange{"SignedHTTPExchange",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kSignedHTTPExchange,
- "SignedHTTPExchange",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "SignedHTTPExchange", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
// Whether to send a ping to the inner URL upon navigation or not.
const base::Feature kSignedHTTPExchangePingValidity{
// Delays RenderProcessHost shutdown by a few seconds to allow the subframe's
// process to be potentially reused. This aims to reduce process churn in
--
2.25.1

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