Compare commits

..

No commits in common. "master" and "105.0.5195.41" have entirely different histories.

197 changed files with 15973 additions and 12002 deletions

2
.github/FUNDING.yml vendored
View file

@ -1,4 +1,4 @@
# These are supported funding model platforms
patreon: csagan5
liberapay: csagan5
custom: https://www.bromite.org/#donate

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 about the website, building Bromite, F-Droid or anything else)."
- label: "This is a bug report about the Bromite browser; not the website nor F-Droid nor anything else."
required: true
- type: dropdown
@ -76,7 +76,6 @@ body:
multiple: false
description: What version of Android are you running?
options:
- 13
- 12.1
- 12.0
- 11

View file

@ -1,52 +1,3 @@
# 108.0.5359.156
# 108.0.5359.109
* reintroduce adaptive-button-in-top-toolbar-customization flag
# 108.0.5359.106
* fix crash when using always incognito (fixes https://github.com/bromite/bromite/issues/2482)
* enable third-party storage partitioning (fixes https://github.com/bromite/bromite/issues/2337)
* disable features ExperimentsForAgsa, KeepPrefetchedContentSuggestions, CriticalClientHint, AcceptCHFrame (accidentally enabled but not effective in 108.0.5359.75)
# 108.0.5359.75
* drop patch to mark all favicons ON_DEMAND (fixed by upstream, see https://bugs.chromium.org/p/chromium/issues/detail?id=1096660)
* enable AutomaticLazyFrameLoadingToAds and AutomaticLazyFrameLoadingToEmbeds features
* drop patch for SDK21 to prevent crashes on download
* fix patch to ignore enterprise policies for secure DNS (fixes https://github.com/bromite/bromite/issues/2463)
* stop using SM-G960U as model provided via client hints and Javascript (fixes https://github.com/bromite/bromite/issues/2465)
* temptative fix for OfflinePageModelFactory crash (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2419)
* fix fingerprinting vector via Window.requestAnimationFrame() (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2370)
* remove patch for offline measurements background task (fixes https://github.com/bromite/bromite/issues/2468)
* enable PermuteTLSExtensions (fixes https://github.com/bromite/bromite/issues/2467)
* hide "turn on enhanced protection" in security interstitials
# 107.0.5304.114
* fix for drag selection not working with bottom toolbar (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2411)
* fix for navbar color not matching site color (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2416)
* clamp time resolution in WebWorkers' requestAnimationFrame (thanks to @uazo)
* drop patch for AV1 codec support (already in upstream)
# 107.0.5304.96
* bottom toolbar: fix for white strip at top in tab view (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2407)
* reverse tab order from top to bottom when using bottom toolbar (thanks to @uazo)
* dropped patches already merged upstream (partition DNS requests by top frame NIK, clipboard user gesture requirement removal)
* disable StartSurface feature
# 106.0.5249.163
* enable ECH (Encrypted ClientHello) by default
# 106.0.5249.72
* dropped patches already merged upstream
# 105.0.5195.147
* enable HEVC by default (fixes https://github.com/bromite/bromite/issues/2331)
* partition blobs by top frame URL (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2312)
* use first accept-language as system language for Blink (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2160)
* fix user scripts injection with back-forward cache enabled (thanks to @uazo)
* remove HTTP referrals in cross-origin navigation (thanks to @uazo)
* update noise factor for anti-fingerpriting mitigations only once per document (fixes https://github.com/bromite/bromite/issues/2352)
* disable add to home screen prompt (fixes https://github.com/bromite/bromite/issues/2340)
# 105.0.5195.41
* revert by-pass for clipboard permissions for NTP doodles (fixes https://bugs.chromium.org/p/chromium/issues/detail?id=1334203)
* prevent history detection via favicon (fixes https://github.com/bromite/bromite/issues/2269)

6
FAQ.md
View file

@ -85,11 +85,7 @@ 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 websites show ads, how can I fix this?
## Some sites show ads, how can I fix this?
You can compare the blocked URLs with a desktop browser and Bromite (using [remote debugging](https://developer.chrome.com/docs/devtools/remote-debugging/)) and figure out some new filter rules to be added.
If the ads are blocked via cosmetic filtering then blocking them is not possible with Bromite's engine and you might need something like an [user script](https://github.com/bromite/bromite/wiki/UserScripts) instead.
See also: https://github.com/bromite/bromite/wiki/AdBlocking
## 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.

View file

@ -1,5 +1,3 @@
[![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>
@ -29,9 +27,7 @@ Minimal UI changes are applied to help curbing the idea of "browser as an advert
Please donate to support development of Bromite and the costs for the build system.
## &rarr; Support development with a donation
Patreon: https://www.patreon.com/csagan5
[&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)
<a href="bitcoin:bc1qlx7h0lj9z88g2xfeuwsrtfs77sxuhrxf2t28sw">BTC donations address</a>: `bc1qlx7h0lj9z88g2xfeuwsrtfs77sxuhrxf2t28sw`
@ -156,9 +152,7 @@ New flags:
* `#enable-userscripts-log`, see https://github.com/bromite/bromite/wiki/UserScripts#flags
* `#certificate-transparency-enabled`, enabled by default; see https://chromium.googlesource.com/chromium/src/+/master/net/docs/certificate-transparency.md
* `#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-engagement`, enabled by default, can be used to disable the automatically-generated icons for most visited sites on the NTP
### Site settings
@ -216,8 +210,6 @@ 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

View file

@ -1,64 +0,0 @@
<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>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -1 +1 @@
56775bdf8d12f9d3e1a99fcf1dde6a7417522963-
e3a3a1fe718bf559be801d14660fb6f9dc9bf603-

View file

@ -1 +1 @@
108.0.5359.156
105.0.5195.41

View file

@ -1 +1 @@
1b133d62395a6ad11c65997a1c24acffb3f73d9e
5923fa90d4e3587c130983442b9cf90f4c76e851

View file

@ -43,6 +43,5 @@ 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

View file

@ -3,26 +3,7 @@ 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
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
AV1-codec-support.patch
Switch-to-fstack-protector-strong.patch
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
Bromite-package-name.patch
@ -47,7 +28,9 @@ 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
@ -69,6 +52,8 @@ 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
@ -83,6 +68,14 @@ 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
@ -94,8 +87,7 @@ Disable-offline-pages-in-CCT.patch
Disable-media-router-and-remoting-by-default.patch
Restore-Search-Ready-Omnibox-flag.patch
disable-AdsBlockedInfoBar.patch
Bromite-subresource-adblocker.patch
Bromite-auto-updater.patch
Bromite-AdBlockUpdaterService.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
@ -108,7 +100,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
Guard-for-user-agent-reduction.patch
Enable-user-agent-freeze-by-default.patch
AImageReader-CFI-crash-mitigations.patch
Add-menu-item-to-view-source.patch
Revert-removal-of-execution-context-address-space.patch
@ -121,8 +113,10 @@ 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
@ -130,24 +124,32 @@ 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
Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
Ask-user-before-closing-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
@ -174,10 +176,14 @@ 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
@ -188,17 +194,10 @@ 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
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
Add-new-cache-check-function.patch
Stop-cross-origin-cache-hits.patch
Revert-clipboard-user-gesture-requirement-removal.patch
Automated-domain-substitution.patch

View file

@ -22,6 +22,7 @@ enable_platform_dolby_vision=true
enable_platform_hevc=true
enable_remoting=false
enable_reporting=true
enable_supervised_users=false
enable_vr=false
exclude_unwind_tables=false
ffmpeg_branding="Chrome"
@ -43,6 +44,5 @@ 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

View file

@ -1,3 +1,4 @@
AV1-codec-support.patch
exit-on-failure-of-inclusion.patch
Reintroduce-override_build_timestamp.patch
do-not-hide-.orig-files.patch

View file

@ -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 | 5 +++++
media/base/media_switches.cc | 4 ++++
media/base/media_switches.h | 1 +
12 files changed, 66 insertions(+), 5 deletions(-)
12 files changed, 65 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
@@ -2501,9 +2501,9 @@
"expiry_milestone": 115
@@ -2392,9 +2392,9 @@
"expiry_milestone": 106
},
{
- "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
@@ -64,6 +64,11 @@ BASE_FEATURE(kUseGles2ForOopR,
@@ -63,6 +63,11 @@ const 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 BASE_DECLARE_FEATURE(kUseGles2ForOopR);
GPU_EXPORT extern const base::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 BASE_DECLARE_FEATURE(kAndroidSurfaceControl);
GPU_EXPORT extern const base::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
@@ -121,6 +121,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus(
@@ -122,6 +122,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;
@@ -344,6 +347,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) {
@@ -345,6 +348,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
@@ -626,6 +626,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
@@ -589,6 +589,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
}
#endif // BUILDFLAG(IS_WIN)
@ -231,28 +231,27 @@ 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
@@ -750,6 +750,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
@@ -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};
+// Enables the Android Image Reader path for Video decoding(for AVDA and MCVD)
+BASE_FEATURE(kAImageReaderVideoOutput,
+ "AImageReaderVideoOutput",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+const base::Feature kAImageReaderVideoOutput{"AImageReaderVideoOutput",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+
// in playback failures.
BASE_FEATURE(kHardwareSecureDecryptionFallback,
"HardwareSecureDecryptionFallback",
// Enable picture in picture web api for android.
const base::Feature kPictureInPictureAPI{"PictureInPictureAPI",
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
@@ -232,6 +232,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);
@@ -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;
--
2.25.1

View file

@ -0,0 +1,47 @@
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

View file

@ -0,0 +1,60 @@
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

View file

@ -5,22 +5,22 @@ 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 +++
.../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 +
.../chromium/chrome/browser/flags/CachedFeatureFlags.java | 1 +
.../org/chromium/chrome/browser/flags/ChromeFeatureList.java | 3 +++
net/android/java/src/org/chromium/net/X509Util.java | 5 +++++
10 files changed, 31 insertions(+)
.../src/org/chromium/chrome/browser/app/ChromeActivity.java | 3 +++
.../chrome/browser/app/flags/ChromeCachedFlags.java | 1 +
chrome/browser/about_flags.cc | 6 +++++-
chrome/browser/flag_descriptions.cc | 5 +++++
chrome/browser/flag_descriptions.h | 3 +++
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++++
chrome/browser/flags/android/chrome_feature_list.h | 1 +
.../chromium/chrome/browser/flags/CachedFeatureFlags.java | 1 +
.../chromium/chrome/browser/flags/ChromeFeatureList.java | 3 +++
net/android/java/src/org/chromium/net/X509Util.java | 5 +++++
10 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -226,6 +226,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
@@ -222,6 +222,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 +28,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;
@@ -951,6 +952,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -939,6 +940,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
UpdateMenuItemHelper.getInstance().onStart();
ChromeActivitySessionTracker.getInstance().onStartWithNative();
ChromeCachedFlags.getInstance().cacheNativeFlags();
@ -40,28 +40,30 @@ 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
@@ -78,6 +78,7 @@ public class ChromeCachedFlags {
@@ -74,6 +74,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
@@ -8830,6 +8830,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kWin10TabSearchCaptionButton)},
#endif // BUILDFLAG(IS_WIN)
@@ -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
+ {"allow-user-certificates",
+ flag_descriptions::kAllowUserCertificatesName,
+ flag_descriptions::kAllowUserCertificatesDescription, kOsAndroid,
+ FEATURE_VALUE_TYPE(chrome::android::kAllowUserCertificates)},
{"omnibox-updated-connection-security-indicators",
flag_descriptions::kOmniboxUpdatedConnectionSecurityIndicatorsName,
flag_descriptions::kOmniboxUpdatedConnectionSecurityIndicatorsDescription,
{"explore-sites", flag_descriptions::kExploreSitesName,
flag_descriptions::kExploreSitesDescription, kOsAndroid,
FEATURE_WITH_PARAMS_VALUE_TYPE(chrome::android::kExploreSites,
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@ -80,7 +82,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
@@ -40,6 +40,9 @@ namespace flag_descriptions {
@@ -39,6 +39,9 @@ namespace flag_descriptions {
// Cross-platform -------------------------------------------------------------
@ -93,36 +95,35 @@ 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
@@ -148,6 +148,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedNoViewCache,
&feed::kFeedReplaceAll,
@@ -145,6 +145,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedInteractiveRefresh,
&feed::kFeedLoadingPlaceholder,
&feed::kInterestFeedContentSuggestions,
+ &kAllowUserCertificates,
&feed::kInterestFeedV1ClicksAndViewsConditionalUpload,
&feed::kInterestFeedV2,
&feed::kInterestFeedV2Autoplay,
@@ -468,6 +469,10 @@ BASE_FEATURE(kAllowNewIncognitoTabIntents,
"AllowNewIncognitoTabIntents",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -438,6 +439,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{
"AdaptiveButtonInTopToolbarCustomizationV2",
base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kAllowUserCertificates,
+ "AllowUserCertificates",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+const base::Feature kAllowUserCertificates = {
+ "AllowUserCertificates", base::FEATURE_DISABLED_BY_DEFAULT};
+
BASE_FEATURE(kFocusOmniboxInIncognitoTabIntents,
"FocusOmniboxInIncognitoTabIntents",
base::FEATURE_ENABLED_BY_DEFAULT);
const base::Feature kAddToHomescreenIPH{"AddToHomescreenIPH",
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
@@ -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);
@@ -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
@ -132,8 +133,8 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
.put(ChromeFeatureList.APP_MENU_MOBILE_SITE_OPTION, false)
+ .put(ChromeFeatureList.ALLOW_USER_CERTIFICATES, false)
.put(ChromeFeatureList.BACK_GESTURE_REFACTOR, false)
.put(ChromeFeatureList.CCT_BRAND_TRANSPARENCY, false)
.put(ChromeFeatureList.CCT_INCOGNITO, true)
.put(ChromeFeatureList.CCT_INCOGNITO_AVAILABLE_TO_THIRD_PARTY, false)
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@ -145,8 +146,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 =
@@ -648,6 +649,8 @@ public abstract class ChromeFeatureList {
public static final String FEED_REPLACE_ALL = "FeedReplaceAll";
@@ -600,6 +601,8 @@ public abstract class ChromeFeatureList {
public static final String FEED_ABLATION = "FeedAblation";
/* Alphabetical: */
+ public static final CachedFlag sAllowUserCertificates =

View file

@ -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
@@ -42,7 +42,7 @@ const PrepopulatedEngine* const engines_AE[] = {
@@ -41,7 +41,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,
};
@@ -51,7 +51,7 @@ const PrepopulatedEngine* const engines_AL[] = {
@@ -50,7 +50,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,
};
@@ -60,7 +60,7 @@ const PrepopulatedEngine* const engines_AR[] = {
@@ -59,7 +59,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,
};
@@ -68,7 +68,7 @@ const PrepopulatedEngine* const engines_AR[] = {
@@ -67,7 +67,7 @@ const PrepopulatedEngine* const engines_AR[] = {
const PrepopulatedEngine* const engines_AT[] = {
&googleen, &google,
&bing,
@ -79,7 +79,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_at,
&ecosia,
};
@@ -78,7 +78,7 @@ const PrepopulatedEngine* const engines_AU[] = {
@@ -77,7 +77,7 @@ const PrepopulatedEngine* const engines_AU[] = {
&googleen, &google,
&bing,
&yahoo_au,
@ -88,7 +88,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -87,7 +87,7 @@ const PrepopulatedEngine* const engines_BA[] = {
@@ -86,7 +86,7 @@ const PrepopulatedEngine* const engines_BA[] = {
&googleen, &google,
&bing,
&yahoo,
@ -97,7 +97,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -97,7 +97,7 @@ const PrepopulatedEngine* const engines_BE[] = {
@@ -96,7 +96,7 @@ const PrepopulatedEngine* const engines_BE[] = {
&bing,
&yahoo,
&ecosia,
@ -106,7 +106,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Bulgaria
@@ -105,7 +105,7 @@ const PrepopulatedEngine* const engines_BG[] = {
@@ -104,7 +104,7 @@ const PrepopulatedEngine* const engines_BG[] = {
&googleen, &google,
&bing,
&yahoo,
@ -115,7 +115,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -114,7 +114,7 @@ const PrepopulatedEngine* const engines_BH[] = {
@@ -113,7 +113,7 @@ const PrepopulatedEngine* const engines_BH[] = {
&googleen, &google,
&bing,
&yahoo,
@ -124,7 +124,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -123,7 +123,7 @@ const PrepopulatedEngine* const engines_BI[] = {
@@ -122,7 +122,7 @@ const PrepopulatedEngine* const engines_BI[] = {
&googleen, &google,
&bing,
&yahoo,
@ -133,7 +133,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -132,7 +132,7 @@ const PrepopulatedEngine* const engines_BN[] = {
@@ -131,7 +131,7 @@ const PrepopulatedEngine* const engines_BN[] = {
&googleen, &google,
&bing,
&yahoo,
@ -142,7 +142,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -141,7 +141,7 @@ const PrepopulatedEngine* const engines_BO[] = {
@@ -140,7 +140,7 @@ const PrepopulatedEngine* const engines_BO[] = {
&googleen, &google,
&bing,
&yahoo,
@ -151,7 +151,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -150,7 +150,7 @@ const PrepopulatedEngine* const engines_BR[] = {
@@ -149,7 +149,7 @@ const PrepopulatedEngine* const engines_BR[] = {
&googleen, &google,
&bing,
&yahoo_br,
@ -160,7 +160,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -160,7 +160,7 @@ const PrepopulatedEngine* const engines_BY[] = {
@@ -159,7 +159,7 @@ const PrepopulatedEngine* const engines_BY[] = {
&yandex_by,
&mail_ru,
&bing,
@ -169,7 +169,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Belize
@@ -168,7 +168,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
@@ -167,7 +167,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
&googleen, &google,
&bing,
&yahoo,
@ -178,7 +178,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -177,7 +177,7 @@ const PrepopulatedEngine* const engines_CA[] = {
@@ -176,7 +176,7 @@ const PrepopulatedEngine* const engines_CA[] = {
&googleen, &google,
&bing,
&yahoo_ca,
@ -187,7 +187,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -185,7 +185,7 @@ const PrepopulatedEngine* const engines_CA[] = {
@@ -184,7 +184,7 @@ const PrepopulatedEngine* const engines_CA[] = {
const PrepopulatedEngine* const engines_CH[] = {
&googleen, &google,
&bing,
@ -196,7 +196,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
&yahoo_ch,
};
@@ -195,7 +195,7 @@ const PrepopulatedEngine* const engines_CL[] = {
@@ -194,7 +194,7 @@ const PrepopulatedEngine* const engines_CL[] = {
&googleen, &google,
&bing,
&yahoo_cl,
@ -205,7 +205,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -214,7 +214,7 @@ const PrepopulatedEngine* const engines_CO[] = {
@@ -213,7 +213,7 @@ const PrepopulatedEngine* const engines_CO[] = {
&bing,
&yahoo_co,
&ecosia,
@ -214,7 +214,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Costa Rica
@@ -222,7 +222,7 @@ const PrepopulatedEngine* const engines_CR[] = {
@@ -221,7 +221,7 @@ const PrepopulatedEngine* const engines_CR[] = {
&googleen, &google,
&bing,
&yahoo,
@ -223,7 +223,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -232,7 +232,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
@@ -231,7 +231,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
&seznam_cz,
&bing,
&yahoo,
@ -232,7 +232,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Germany
@@ -240,7 +240,7 @@ const PrepopulatedEngine* const engines_DE[] = {
@@ -239,7 +239,7 @@ const PrepopulatedEngine* const engines_DE[] = {
&googleen, &google,
&bing,
&ecosia,
@ -241,7 +241,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_de,
};
@@ -249,7 +249,7 @@ const PrepopulatedEngine* const engines_DK[] = {
@@ -248,7 +248,7 @@ const PrepopulatedEngine* const engines_DK[] = {
&googleen, &google,
&bing,
&yahoo_dk,
@ -250,7 +250,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -258,7 +258,7 @@ const PrepopulatedEngine* const engines_DO[] = {
@@ -257,7 +257,7 @@ const PrepopulatedEngine* const engines_DO[] = {
&googleen, &google,
&bing,
&yahoo,
@ -259,7 +259,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -268,7 +268,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
@@ -267,7 +267,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
&bing,
&yahoo_fr,
&yandex_com,
@ -268,7 +268,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Ecuador
@@ -277,7 +277,7 @@ const PrepopulatedEngine* const engines_EC[] = {
@@ -276,7 +276,7 @@ const PrepopulatedEngine* const engines_EC[] = {
&bing,
&yahoo,
&ecosia,
@ -277,7 +277,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Estonia
@@ -285,7 +285,7 @@ const PrepopulatedEngine* const engines_EE[] = {
@@ -284,7 +284,7 @@ const PrepopulatedEngine* const engines_EE[] = {
&googleen, &google,
&bing,
&yandex_ru,
@ -286,7 +286,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
};
@@ -295,7 +295,7 @@ const PrepopulatedEngine* const engines_EG[] = {
@@ -294,7 +294,7 @@ const PrepopulatedEngine* const engines_EG[] = {
&bing,
&yahoo,
&yandex_com,
@ -295,7 +295,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Spain
@@ -303,7 +303,7 @@ const PrepopulatedEngine* const engines_ES[] = {
@@ -302,7 +302,7 @@ const PrepopulatedEngine* const engines_ES[] = {
&googleen, &google,
&bing,
&yahoo_es,
@ -304,7 +304,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -312,7 +312,7 @@ const PrepopulatedEngine* const engines_FI[] = {
@@ -311,7 +311,7 @@ const PrepopulatedEngine* const engines_FI[] = {
&googleen, &google,
&bing,
&yahoo_fi,
@ -313,7 +313,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -321,7 +321,7 @@ const PrepopulatedEngine* const engines_FO[] = {
@@ -320,7 +320,7 @@ const PrepopulatedEngine* const engines_FO[] = {
&googleen, &google,
&bing,
&yahoo_dk,
@ -322,7 +322,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -339,7 +339,7 @@ const PrepopulatedEngine* const engines_GB[] = {
@@ -338,7 +338,7 @@ const PrepopulatedEngine* const engines_GB[] = {
&googleen, &google,
&bing,
&yahoo_uk,
@ -331,7 +331,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -348,7 +348,7 @@ const PrepopulatedEngine* const engines_GR[] = {
@@ -347,7 +347,7 @@ const PrepopulatedEngine* const engines_GR[] = {
&googleen, &google,
&bing,
&yahoo,
@ -340,7 +340,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -357,7 +357,7 @@ const PrepopulatedEngine* const engines_GT[] = {
@@ -356,7 +356,7 @@ const PrepopulatedEngine* const engines_GT[] = {
&googleen, &google,
&bing,
&yahoo,
@ -349,7 +349,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -367,7 +367,7 @@ const PrepopulatedEngine* const engines_HK[] = {
@@ -366,7 +366,7 @@ const PrepopulatedEngine* const engines_HK[] = {
&yahoo_hk,
&bing,
&baidu,
@ -358,7 +358,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Honduras
@@ -375,7 +375,7 @@ const PrepopulatedEngine* const engines_HN[] = {
@@ -374,7 +374,7 @@ const PrepopulatedEngine* const engines_HN[] = {
&googleen, &google,
&bing,
&yahoo,
@ -367,7 +367,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -384,7 +384,7 @@ const PrepopulatedEngine* const engines_HR[] = {
@@ -383,7 +383,7 @@ const PrepopulatedEngine* const engines_HR[] = {
&googleen, &google,
&bing,
&yahoo,
@ -376,7 +376,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -393,7 +393,7 @@ const PrepopulatedEngine* const engines_HU[] = {
@@ -392,7 +392,7 @@ const PrepopulatedEngine* const engines_HU[] = {
&googleen, &google,
&bing,
&yahoo,
@ -385,7 +385,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -403,7 +403,7 @@ const PrepopulatedEngine* const engines_ID[] = {
@@ -402,7 +402,7 @@ const PrepopulatedEngine* const engines_ID[] = {
&yahoo_id,
&bing,
&yandex_com,
@ -394,7 +394,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Ireland
@@ -411,7 +411,7 @@ const PrepopulatedEngine* const engines_IE[] = {
@@ -410,7 +410,7 @@ const PrepopulatedEngine* const engines_IE[] = {
&googleen, &google,
&bing,
&yahoo_uk,
@ -403,7 +403,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -421,7 +421,7 @@ const PrepopulatedEngine* const engines_IL[] = {
@@ -420,7 +420,7 @@ const PrepopulatedEngine* const engines_IL[] = {
&bing,
&yandex_ru,
&yahoo,
@ -412,7 +412,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// India
@@ -429,7 +429,7 @@ const PrepopulatedEngine* const engines_IN[] = {
@@ -428,7 +428,7 @@ const PrepopulatedEngine* const engines_IN[] = {
&googleen, &google,
&bing,
&yahoo_in,
@ -421,7 +421,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&info_com,
};
@@ -439,7 +439,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
@@ -438,7 +438,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
&bing,
&yahoo,
&yandex_tr,
@ -430,7 +430,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Iran
@@ -448,14 +448,14 @@ const PrepopulatedEngine* const engines_IR[] = {
@@ -447,14 +447,14 @@ const PrepopulatedEngine* const engines_IR[] = {
&bing,
&yahoo,
&ask,
@ -447,7 +447,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&ecosia,
};
@@ -465,7 +465,7 @@ const PrepopulatedEngine* const engines_IT[] = {
@@ -464,7 +464,7 @@ const PrepopulatedEngine* const engines_IT[] = {
&googleen, &google,
&bing,
&yahoo,
@ -456,7 +456,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -474,7 +474,7 @@ const PrepopulatedEngine* const engines_JM[] = {
@@ -473,7 +473,7 @@ const PrepopulatedEngine* const engines_JM[] = {
&googleen, &google,
&bing,
&yahoo,
@ -465,7 +465,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -483,7 +483,7 @@ const PrepopulatedEngine* const engines_JO[] = {
@@ -482,7 +482,7 @@ const PrepopulatedEngine* const engines_JO[] = {
&googleen, &google,
&bing,
&yahoo,
@ -474,7 +474,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -492,7 +492,7 @@ const PrepopulatedEngine* const engines_JP[] = {
@@ -491,7 +491,7 @@ const PrepopulatedEngine* const engines_JP[] = {
&googleen, &google,
&yahoo_jp,
&bing,
@ -483,7 +483,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&baidu,
};
@@ -501,7 +501,7 @@ const PrepopulatedEngine* const engines_KE[] = {
@@ -500,7 +500,7 @@ const PrepopulatedEngine* const engines_KE[] = {
&googleen, &google,
&bing,
&yahoo,
@ -492,7 +492,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -519,7 +519,7 @@ const PrepopulatedEngine* const engines_KW[] = {
@@ -518,7 +518,7 @@ const PrepopulatedEngine* const engines_KW[] = {
&googleen, &google,
&bing,
&yahoo,
@ -501,7 +501,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -529,7 +529,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
@@ -528,7 +528,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
&yandex_kz,
&mail_ru,
&bing,
@ -510,7 +510,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Lebanon
@@ -537,7 +537,7 @@ const PrepopulatedEngine* const engines_LB[] = {
@@ -536,7 +536,7 @@ const PrepopulatedEngine* const engines_LB[] = {
&googleen, &google,
&bing,
&yahoo,
@ -519,7 +519,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -545,7 +545,7 @@ const PrepopulatedEngine* const engines_LB[] = {
@@ -544,7 +544,7 @@ const PrepopulatedEngine* const engines_LB[] = {
const PrepopulatedEngine* const engines_LI[] = {
&googleen, &google,
&bing,
@ -528,7 +528,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&ecosia,
};
@@ -555,7 +555,7 @@ const PrepopulatedEngine* const engines_LT[] = {
@@ -554,7 +554,7 @@ const PrepopulatedEngine* const engines_LT[] = {
&googleen, &google,
&bing,
&yahoo,
@ -537,7 +537,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -563,7 +563,7 @@ const PrepopulatedEngine* const engines_LT[] = {
@@ -562,7 +562,7 @@ const PrepopulatedEngine* const engines_LT[] = {
const PrepopulatedEngine* const engines_LU[] = {
&googleen, &google,
&bing,
@ -546,7 +546,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&ecosia,
};
@@ -574,7 +574,7 @@ const PrepopulatedEngine* const engines_LV[] = {
@@ -573,7 +573,7 @@ const PrepopulatedEngine* const engines_LV[] = {
&bing,
&yandex_ru,
&yahoo,
@ -555,7 +555,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Libya
@@ -583,7 +583,7 @@ const PrepopulatedEngine* const engines_LY[] = {
@@ -582,7 +582,7 @@ const PrepopulatedEngine* const engines_LY[] = {
&bing,
&yahoo,
&yandex_com,
@ -564,7 +564,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Morocco
@@ -592,14 +592,14 @@ const PrepopulatedEngine* const engines_MA[] = {
@@ -591,14 +591,14 @@ const PrepopulatedEngine* const engines_MA[] = {
&bing,
&yahoo_fr,
&yandex_com,
@ -581,7 +581,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_fr,
&ecosia,
};
@@ -619,7 +619,7 @@ const PrepopulatedEngine* const engines_ME[] = {
@@ -618,7 +618,7 @@ const PrepopulatedEngine* const engines_ME[] = {
&bing,
&yahoo,
&yandex_ru,
@ -590,7 +590,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Macedonia
@@ -627,7 +627,7 @@ const PrepopulatedEngine* const engines_MK[] = {
@@ -626,7 +626,7 @@ const PrepopulatedEngine* const engines_MK[] = {
&googleen, &google,
&bing,
&yahoo,
@ -599,7 +599,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -636,7 +636,7 @@ const PrepopulatedEngine* const engines_MX[] = {
@@ -635,7 +635,7 @@ const PrepopulatedEngine* const engines_MX[] = {
&googleen, &google,
&bing,
&yahoo_mx,
@ -608,7 +608,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -645,7 +645,7 @@ const PrepopulatedEngine* const engines_MY[] = {
@@ -644,7 +644,7 @@ const PrepopulatedEngine* const engines_MY[] = {
&googleen, &google,
&bing,
&yahoo_my,
@ -617,7 +617,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -654,7 +654,7 @@ const PrepopulatedEngine* const engines_NI[] = {
@@ -653,7 +653,7 @@ const PrepopulatedEngine* const engines_NI[] = {
&googleen, &google,
&bing,
&yahoo,
@ -626,7 +626,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -663,7 +663,7 @@ const PrepopulatedEngine* const engines_NL[] = {
@@ -662,7 +662,7 @@ const PrepopulatedEngine* const engines_NL[] = {
&googleen, &google,
&bing,
&yahoo_nl,
@ -635,7 +635,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -672,7 +672,7 @@ const PrepopulatedEngine* const engines_NO[] = {
@@ -671,7 +671,7 @@ const PrepopulatedEngine* const engines_NO[] = {
&googleen, &google,
&bing,
&yahoo,
@ -644,7 +644,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -681,7 +681,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
@@ -680,7 +680,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
&googleen, &google,
&bing,
&yahoo_nz,
@ -653,7 +653,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -690,7 +690,7 @@ const PrepopulatedEngine* const engines_OM[] = {
@@ -689,7 +689,7 @@ const PrepopulatedEngine* const engines_OM[] = {
&googleen, &google,
&bing,
&yahoo,
@ -662,7 +662,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&petal_search,
};
@@ -699,7 +699,7 @@ const PrepopulatedEngine* const engines_PA[] = {
@@ -698,7 +698,7 @@ const PrepopulatedEngine* const engines_PA[] = {
&googleen, &google,
&bing,
&yahoo_es,
@ -671,7 +671,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -709,7 +709,7 @@ const PrepopulatedEngine* const engines_PE[] = {
@@ -708,7 +708,7 @@ const PrepopulatedEngine* const engines_PE[] = {
&bing,
&yahoo_pe,
&ecosia,
@ -680,7 +680,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Philippines
@@ -718,7 +718,7 @@ const PrepopulatedEngine* const engines_PH[] = {
@@ -717,7 +717,7 @@ const PrepopulatedEngine* const engines_PH[] = {
&bing,
&yahoo,
&ecosia,
@ -689,7 +689,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Pakistan
@@ -726,7 +726,7 @@ const PrepopulatedEngine* const engines_PK[] = {
@@ -725,7 +725,7 @@ const PrepopulatedEngine* const engines_PK[] = {
&googleen, &google,
&bing,
&yahoo,
@ -698,7 +698,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -735,7 +735,7 @@ const PrepopulatedEngine* const engines_PL[] = {
@@ -734,7 +734,7 @@ const PrepopulatedEngine* const engines_PL[] = {
&googleen, &google,
&bing,
&yahoo,
@ -707,7 +707,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -744,7 +744,7 @@ const PrepopulatedEngine* const engines_PR[] = {
@@ -743,7 +743,7 @@ const PrepopulatedEngine* const engines_PR[] = {
&googleen, &google,
&bing,
&yahoo,
@ -716,7 +716,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -753,7 +753,7 @@ const PrepopulatedEngine* const engines_PT[] = {
@@ -752,7 +752,7 @@ const PrepopulatedEngine* const engines_PT[] = {
&googleen, &google,
&bing,
&yahoo,
@ -725,7 +725,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -762,7 +762,7 @@ const PrepopulatedEngine* const engines_PY[] = {
@@ -761,7 +761,7 @@ const PrepopulatedEngine* const engines_PY[] = {
&googleen, &google,
&bing,
&yahoo_es,
@ -734,7 +734,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -771,7 +771,7 @@ const PrepopulatedEngine* const engines_QA[] = {
@@ -770,7 +770,7 @@ const PrepopulatedEngine* const engines_QA[] = {
&googleen, &google,
&bing,
&yahoo,
@ -743,7 +743,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_tr,
};
@@ -780,7 +780,7 @@ const PrepopulatedEngine* const engines_RO[] = {
@@ -779,7 +779,7 @@ const PrepopulatedEngine* const engines_RO[] = {
&googleen, &google,
&bing,
&yahoo,
@ -752,7 +752,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_tr,
};
@@ -789,7 +789,7 @@ const PrepopulatedEngine* const engines_RS[] = {
@@ -788,7 +788,7 @@ const PrepopulatedEngine* const engines_RS[] = {
&googleen, &google,
&bing,
&yahoo,
@ -761,7 +761,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
};
@@ -799,7 +799,7 @@ const PrepopulatedEngine* const engines_RU[] = {
@@ -798,7 +798,7 @@ const PrepopulatedEngine* const engines_RU[] = {
&yandex_ru,
&mail_ru,
&bing,
@ -770,7 +770,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Rwanda
@@ -807,7 +807,7 @@ const PrepopulatedEngine* const engines_RW[] = {
@@ -806,7 +806,7 @@ const PrepopulatedEngine* const engines_RW[] = {
&googleen, &google,
&bing,
&yahoo,
@ -779,7 +779,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -817,7 +817,7 @@ const PrepopulatedEngine* const engines_SA[] = {
@@ -816,7 +816,7 @@ const PrepopulatedEngine* const engines_SA[] = {
&bing,
&yahoo,
&yandex_com,
@ -788,7 +788,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Sweden
@@ -825,7 +825,7 @@ const PrepopulatedEngine* const engines_SE[] = {
@@ -824,7 +824,7 @@ const PrepopulatedEngine* const engines_SE[] = {
&googleen, &google,
&bing,
&yahoo_se,
@ -797,7 +797,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -834,7 +834,7 @@ const PrepopulatedEngine* const engines_SG[] = {
@@ -833,7 +833,7 @@ const PrepopulatedEngine* const engines_SG[] = {
&googleen, &google,
&bing,
&yahoo_sg,
@ -806,7 +806,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&baidu,
};
@@ -842,7 +842,7 @@ const PrepopulatedEngine* const engines_SG[] = {
@@ -841,7 +841,7 @@ const PrepopulatedEngine* const engines_SG[] = {
const PrepopulatedEngine* const engines_SI[] = {
&googleen, &google,
&bing,
@ -815,7 +815,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&yandex_com,
};
@@ -851,7 +851,7 @@ const PrepopulatedEngine* const engines_SI[] = {
@@ -850,7 +850,7 @@ const PrepopulatedEngine* const engines_SI[] = {
const PrepopulatedEngine* const engines_SK[] = {
&googleen, &google,
&bing,
@ -824,7 +824,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
&yandex_com,
};
@@ -861,7 +861,7 @@ const PrepopulatedEngine* const engines_SV[] = {
@@ -860,7 +860,7 @@ const PrepopulatedEngine* const engines_SV[] = {
&googleen, &google,
&bing,
&yahoo_es,
@ -833,7 +833,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -871,7 +871,7 @@ const PrepopulatedEngine* const engines_SY[] = {
@@ -870,7 +870,7 @@ const PrepopulatedEngine* const engines_SY[] = {
&bing,
&yahoo,
&yandex_com,
@ -842,7 +842,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Thailand
@@ -888,7 +888,7 @@ const PrepopulatedEngine* const engines_TN[] = {
@@ -887,7 +887,7 @@ const PrepopulatedEngine* const engines_TN[] = {
&googleen, &google,
&bing,
&yahoo_fr,
@ -851,7 +851,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_com,
};
@@ -898,7 +898,7 @@ const PrepopulatedEngine* const engines_TR[] = {
@@ -897,7 +897,7 @@ const PrepopulatedEngine* const engines_TR[] = {
&yandex_tr,
&yahoo_tr,
&bing,
@ -860,7 +860,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Trinidad and Tobago
@@ -906,7 +906,7 @@ const PrepopulatedEngine* const engines_TT[] = {
@@ -905,7 +905,7 @@ const PrepopulatedEngine* const engines_TT[] = {
&googleen, &google,
&bing,
&yahoo,
@ -869,7 +869,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -916,7 +916,7 @@ const PrepopulatedEngine* const engines_TW[] = {
@@ -915,7 +915,7 @@ const PrepopulatedEngine* const engines_TW[] = {
&yahoo_tw,
&bing,
&baidu,
@ -878,7 +878,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// Tanzania
@@ -924,7 +924,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
@@ -923,7 +923,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
&googleen, &google,
&bing,
&yahoo,
@ -887,7 +887,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&baidu,
};
@@ -933,7 +933,7 @@ const PrepopulatedEngine* const engines_UA[] = {
@@ -932,7 +932,7 @@ const PrepopulatedEngine* const engines_UA[] = {
&googleen, &google,
&yandex_ua,
&bing,
@ -896,7 +896,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo,
};
@@ -942,7 +942,7 @@ const PrepopulatedEngine* const engines_US[] = {
@@ -941,7 +941,7 @@ const PrepopulatedEngine* const engines_US[] = {
&googleen, &google,
&bing,
&yahoo,
@ -905,7 +905,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -951,7 +951,7 @@ const PrepopulatedEngine* const engines_UY[] = {
@@ -950,7 +950,7 @@ const PrepopulatedEngine* const engines_UY[] = {
&googleen, &google,
&bing,
&yahoo_es,
@ -914,7 +914,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -960,7 +960,7 @@ const PrepopulatedEngine* const engines_VE[] = {
@@ -959,7 +959,7 @@ const PrepopulatedEngine* const engines_VE[] = {
&googleen, &google,
&bing,
&yahoo_es,
@ -923,7 +923,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -979,7 +979,7 @@ const PrepopulatedEngine* const engines_YE[] = {
@@ -978,7 +978,7 @@ const PrepopulatedEngine* const engines_YE[] = {
&bing,
&yahoo,
&yandex_com,
@ -932,7 +932,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
};
// South Africa
@@ -987,7 +987,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
@@ -986,7 +986,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
&googleen, &google,
&bing,
&yahoo,
@ -941,7 +941,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&ecosia,
};
@@ -996,7 +996,7 @@ const PrepopulatedEngine* const engines_ZW[] = {
@@ -995,7 +995,7 @@ const PrepopulatedEngine* const engines_ZW[] = {
&googleen, &google,
&bing,
&yahoo,

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
@@ -137,6 +137,27 @@
@@ -135,6 +135,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
@@ -29,7 +29,7 @@ namespace {
@@ -28,7 +28,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,
};
@@ -39,7 +39,7 @@ const PrepopulatedEngine* const engines_default[] = {
@@ -38,7 +38,7 @@ const PrepopulatedEngine* const engines_default[] = {
// clang-format off
// United Arab Emirates
const PrepopulatedEngine* const engines_AE[] = {
@ -75,7 +75,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -48,7 +48,7 @@ const PrepopulatedEngine* const engines_AE[] = {
@@ -47,7 +47,7 @@ const PrepopulatedEngine* const engines_AE[] = {
// Albania
const PrepopulatedEngine* const engines_AL[] = {
@ -84,7 +84,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -57,7 +57,7 @@ const PrepopulatedEngine* const engines_AL[] = {
@@ -56,7 +56,7 @@ const PrepopulatedEngine* const engines_AL[] = {
// Argentina
const PrepopulatedEngine* const engines_AR[] = {
@ -93,7 +93,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_ar,
&duckduckgo,
@@ -66,7 +66,7 @@ const PrepopulatedEngine* const engines_AR[] = {
@@ -65,7 +65,7 @@ const PrepopulatedEngine* const engines_AR[] = {
// Austria
const PrepopulatedEngine* const engines_AT[] = {
@ -102,7 +102,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo_at,
@@ -75,7 +75,7 @@ const PrepopulatedEngine* const engines_AT[] = {
@@ -74,7 +74,7 @@ const PrepopulatedEngine* const engines_AT[] = {
// Australia
const PrepopulatedEngine* const engines_AU[] = {
@ -111,7 +111,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_au,
&duckduckgo,
@@ -84,7 +84,7 @@ const PrepopulatedEngine* const engines_AU[] = {
@@ -83,7 +83,7 @@ const PrepopulatedEngine* const engines_AU[] = {
// Bosnia and Herzegovina
const PrepopulatedEngine* const engines_BA[] = {
@ -120,7 +120,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -93,7 +93,7 @@ const PrepopulatedEngine* const engines_BA[] = {
@@ -92,7 +92,7 @@ const PrepopulatedEngine* const engines_BA[] = {
// Belgium
const PrepopulatedEngine* const engines_BE[] = {
@ -129,7 +129,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&ecosia,
@@ -102,7 +102,7 @@ const PrepopulatedEngine* const engines_BE[] = {
@@ -101,7 +101,7 @@ const PrepopulatedEngine* const engines_BE[] = {
// Bulgaria
const PrepopulatedEngine* const engines_BG[] = {
@ -138,7 +138,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -111,7 +111,7 @@ const PrepopulatedEngine* const engines_BG[] = {
@@ -110,7 +110,7 @@ const PrepopulatedEngine* const engines_BG[] = {
// Bahrain
const PrepopulatedEngine* const engines_BH[] = {
@ -147,7 +147,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -120,7 +120,7 @@ const PrepopulatedEngine* const engines_BH[] = {
@@ -119,7 +119,7 @@ const PrepopulatedEngine* const engines_BH[] = {
// Burundi
const PrepopulatedEngine* const engines_BI[] = {
@ -156,7 +156,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -129,7 +129,7 @@ const PrepopulatedEngine* const engines_BI[] = {
@@ -128,7 +128,7 @@ const PrepopulatedEngine* const engines_BI[] = {
// Brunei
const PrepopulatedEngine* const engines_BN[] = {
@ -165,7 +165,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -138,7 +138,7 @@ const PrepopulatedEngine* const engines_BN[] = {
@@ -137,7 +137,7 @@ const PrepopulatedEngine* const engines_BN[] = {
// Bolivia
const PrepopulatedEngine* const engines_BO[] = {
@ -174,7 +174,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -147,7 +147,7 @@ const PrepopulatedEngine* const engines_BO[] = {
@@ -146,7 +146,7 @@ const PrepopulatedEngine* const engines_BO[] = {
// Brazil
const PrepopulatedEngine* const engines_BR[] = {
@ -183,7 +183,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_br,
&duckduckgo,
@@ -156,7 +156,7 @@ const PrepopulatedEngine* const engines_BR[] = {
@@ -155,7 +155,7 @@ const PrepopulatedEngine* const engines_BR[] = {
// Belarus
const PrepopulatedEngine* const engines_BY[] = {
@ -192,7 +192,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_by,
&mail_ru,
&bing,
@@ -165,7 +165,7 @@ const PrepopulatedEngine* const engines_BY[] = {
@@ -164,7 +164,7 @@ const PrepopulatedEngine* const engines_BY[] = {
// Belize
const PrepopulatedEngine* const engines_BZ[] = {
@ -201,7 +201,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -174,7 +174,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
@@ -173,7 +173,7 @@ const PrepopulatedEngine* const engines_BZ[] = {
// Canada
const PrepopulatedEngine* const engines_CA[] = {
@ -210,7 +210,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_ca,
&duckduckgo,
@@ -183,7 +183,7 @@ const PrepopulatedEngine* const engines_CA[] = {
@@ -182,7 +182,7 @@ const PrepopulatedEngine* const engines_CA[] = {
// Switzerland
const PrepopulatedEngine* const engines_CH[] = {
@ -219,7 +219,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&ecosia,
@@ -192,7 +192,7 @@ const PrepopulatedEngine* const engines_CH[] = {
@@ -191,7 +191,7 @@ const PrepopulatedEngine* const engines_CH[] = {
// Chile
const PrepopulatedEngine* const engines_CL[] = {
@ -228,7 +228,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_cl,
&duckduckgo,
@@ -204,13 +204,13 @@ const PrepopulatedEngine* const engines_CN[] = {
@@ -203,13 +203,13 @@ const PrepopulatedEngine* const engines_CN[] = {
&sogou,
&baidu,
&bing,
@ -244,7 +244,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_co,
&ecosia,
@@ -219,7 +219,7 @@ const PrepopulatedEngine* const engines_CO[] = {
@@ -218,7 +218,7 @@ const PrepopulatedEngine* const engines_CO[] = {
// Costa Rica
const PrepopulatedEngine* const engines_CR[] = {
@ -253,7 +253,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -228,7 +228,7 @@ const PrepopulatedEngine* const engines_CR[] = {
@@ -227,7 +227,7 @@ const PrepopulatedEngine* const engines_CR[] = {
// Czech Republic
const PrepopulatedEngine* const engines_CZ[] = {
@ -262,7 +262,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&seznam_cz,
&bing,
&yahoo,
@@ -237,7 +237,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
@@ -236,7 +236,7 @@ const PrepopulatedEngine* const engines_CZ[] = {
// Germany
const PrepopulatedEngine* const engines_DE[] = {
@ -271,7 +271,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&ecosia,
&duckduckgo,
@@ -246,7 +246,7 @@ const PrepopulatedEngine* const engines_DE[] = {
@@ -245,7 +245,7 @@ const PrepopulatedEngine* const engines_DE[] = {
// Denmark
const PrepopulatedEngine* const engines_DK[] = {
@ -280,7 +280,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_dk,
&duckduckgo,
@@ -255,7 +255,7 @@ const PrepopulatedEngine* const engines_DK[] = {
@@ -254,7 +254,7 @@ const PrepopulatedEngine* const engines_DK[] = {
// Dominican Republic
const PrepopulatedEngine* const engines_DO[] = {
@ -289,7 +289,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -264,7 +264,7 @@ const PrepopulatedEngine* const engines_DO[] = {
@@ -263,7 +263,7 @@ const PrepopulatedEngine* const engines_DO[] = {
// Algeria
const PrepopulatedEngine* const engines_DZ[] = {
@ -298,7 +298,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_fr,
&yandex_com,
@@ -273,7 +273,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
@@ -272,7 +272,7 @@ const PrepopulatedEngine* const engines_DZ[] = {
// Ecuador
const PrepopulatedEngine* const engines_EC[] = {
@ -307,7 +307,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&ecosia,
@@ -282,7 +282,7 @@ const PrepopulatedEngine* const engines_EC[] = {
@@ -281,7 +281,7 @@ const PrepopulatedEngine* const engines_EC[] = {
// Estonia
const PrepopulatedEngine* const engines_EE[] = {
@ -316,7 +316,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yandex_ru,
&duckduckgo,
@@ -291,7 +291,7 @@ const PrepopulatedEngine* const engines_EE[] = {
@@ -290,7 +290,7 @@ const PrepopulatedEngine* const engines_EE[] = {
// Egypt
const PrepopulatedEngine* const engines_EG[] = {
@ -325,7 +325,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_com,
@@ -300,7 +300,7 @@ const PrepopulatedEngine* const engines_EG[] = {
@@ -299,7 +299,7 @@ const PrepopulatedEngine* const engines_EG[] = {
// Spain
const PrepopulatedEngine* const engines_ES[] = {
@ -334,7 +334,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_es,
&duckduckgo,
@@ -309,7 +309,7 @@ const PrepopulatedEngine* const engines_ES[] = {
@@ -308,7 +308,7 @@ const PrepopulatedEngine* const engines_ES[] = {
// Finland
const PrepopulatedEngine* const engines_FI[] = {
@ -343,7 +343,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_fi,
&duckduckgo,
@@ -318,7 +318,7 @@ const PrepopulatedEngine* const engines_FI[] = {
@@ -317,7 +317,7 @@ const PrepopulatedEngine* const engines_FI[] = {
// Faroe Islands
const PrepopulatedEngine* const engines_FO[] = {
@ -352,7 +352,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_dk,
&duckduckgo,
@@ -327,7 +327,7 @@ const PrepopulatedEngine* const engines_FO[] = {
@@ -326,7 +326,7 @@ const PrepopulatedEngine* const engines_FO[] = {
// France
const PrepopulatedEngine* const engines_FR[] = {
@ -361,7 +361,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_fr,
&qwant,
@@ -336,7 +336,7 @@ const PrepopulatedEngine* const engines_FR[] = {
@@ -335,7 +335,7 @@ const PrepopulatedEngine* const engines_FR[] = {
// United Kingdom
const PrepopulatedEngine* const engines_GB[] = {
@ -370,7 +370,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_uk,
&duckduckgo,
@@ -345,7 +345,7 @@ const PrepopulatedEngine* const engines_GB[] = {
@@ -344,7 +344,7 @@ const PrepopulatedEngine* const engines_GB[] = {
// Greece
const PrepopulatedEngine* const engines_GR[] = {
@ -379,7 +379,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -354,7 +354,7 @@ const PrepopulatedEngine* const engines_GR[] = {
@@ -353,7 +353,7 @@ const PrepopulatedEngine* const engines_GR[] = {
// Guatemala
const PrepopulatedEngine* const engines_GT[] = {
@ -388,7 +388,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -363,7 +363,7 @@ const PrepopulatedEngine* const engines_GT[] = {
@@ -362,7 +362,7 @@ const PrepopulatedEngine* const engines_GT[] = {
// Hong Kong
const PrepopulatedEngine* const engines_HK[] = {
@ -397,7 +397,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_hk,
&bing,
&baidu,
@@ -372,7 +372,7 @@ const PrepopulatedEngine* const engines_HK[] = {
@@ -371,7 +371,7 @@ const PrepopulatedEngine* const engines_HK[] = {
// Honduras
const PrepopulatedEngine* const engines_HN[] = {
@ -406,7 +406,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -381,7 +381,7 @@ const PrepopulatedEngine* const engines_HN[] = {
@@ -380,7 +380,7 @@ const PrepopulatedEngine* const engines_HN[] = {
// Croatia
const PrepopulatedEngine* const engines_HR[] = {
@ -415,7 +415,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -390,7 +390,7 @@ const PrepopulatedEngine* const engines_HR[] = {
@@ -389,7 +389,7 @@ const PrepopulatedEngine* const engines_HR[] = {
// Hungary
const PrepopulatedEngine* const engines_HU[] = {
@ -424,7 +424,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -399,7 +399,7 @@ const PrepopulatedEngine* const engines_HU[] = {
@@ -398,7 +398,7 @@ const PrepopulatedEngine* const engines_HU[] = {
// Indonesia
const PrepopulatedEngine* const engines_ID[] = {
@ -433,7 +433,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_id,
&bing,
&yandex_com,
@@ -408,7 +408,7 @@ const PrepopulatedEngine* const engines_ID[] = {
@@ -407,7 +407,7 @@ const PrepopulatedEngine* const engines_ID[] = {
// Ireland
const PrepopulatedEngine* const engines_IE[] = {
@ -442,7 +442,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_uk,
&duckduckgo,
@@ -417,7 +417,7 @@ const PrepopulatedEngine* const engines_IE[] = {
@@ -416,7 +416,7 @@ const PrepopulatedEngine* const engines_IE[] = {
// Israel
const PrepopulatedEngine* const engines_IL[] = {
@ -451,7 +451,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yandex_ru,
&yahoo,
@@ -426,7 +426,7 @@ const PrepopulatedEngine* const engines_IL[] = {
@@ -425,7 +425,7 @@ const PrepopulatedEngine* const engines_IL[] = {
// India
const PrepopulatedEngine* const engines_IN[] = {
@ -460,7 +460,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_in,
&duckduckgo,
@@ -435,7 +435,7 @@ const PrepopulatedEngine* const engines_IN[] = {
@@ -434,7 +434,7 @@ const PrepopulatedEngine* const engines_IN[] = {
// Iraq
const PrepopulatedEngine* const engines_IQ[] = {
@ -469,7 +469,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_tr,
@@ -444,7 +444,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
@@ -443,7 +443,7 @@ const PrepopulatedEngine* const engines_IQ[] = {
// Iran
const PrepopulatedEngine* const engines_IR[] = {
@ -478,7 +478,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&ask,
@@ -453,7 +453,7 @@ const PrepopulatedEngine* const engines_IR[] = {
@@ -452,7 +452,7 @@ const PrepopulatedEngine* const engines_IR[] = {
// Iceland
const PrepopulatedEngine* const engines_IS[] = {
@ -487,7 +487,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo,
@@ -462,7 +462,7 @@ const PrepopulatedEngine* const engines_IS[] = {
@@ -461,7 +461,7 @@ const PrepopulatedEngine* const engines_IS[] = {
// Italy
const PrepopulatedEngine* const engines_IT[] = {
@ -496,7 +496,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -471,7 +471,7 @@ const PrepopulatedEngine* const engines_IT[] = {
@@ -470,7 +470,7 @@ const PrepopulatedEngine* const engines_IT[] = {
// Jamaica
const PrepopulatedEngine* const engines_JM[] = {
@ -505,7 +505,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -480,7 +480,7 @@ const PrepopulatedEngine* const engines_JM[] = {
@@ -479,7 +479,7 @@ const PrepopulatedEngine* const engines_JM[] = {
// Jordan
const PrepopulatedEngine* const engines_JO[] = {
@ -514,7 +514,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -489,7 +489,7 @@ const PrepopulatedEngine* const engines_JO[] = {
@@ -488,7 +488,7 @@ const PrepopulatedEngine* const engines_JO[] = {
// Japan
const PrepopulatedEngine* const engines_JP[] = {
@ -523,7 +523,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_jp,
&bing,
&duckduckgo,
@@ -498,7 +498,7 @@ const PrepopulatedEngine* const engines_JP[] = {
@@ -497,7 +497,7 @@ const PrepopulatedEngine* const engines_JP[] = {
// Kenya
const PrepopulatedEngine* const engines_KE[] = {
@ -532,7 +532,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -507,7 +507,7 @@ const PrepopulatedEngine* const engines_KE[] = {
@@ -506,7 +506,7 @@ const PrepopulatedEngine* const engines_KE[] = {
// South Korea
const PrepopulatedEngine* const engines_KR[] = {
@ -541,7 +541,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&naver,
&daum,
&bing,
@@ -516,7 +516,7 @@ const PrepopulatedEngine* const engines_KR[] = {
@@ -515,7 +515,7 @@ const PrepopulatedEngine* const engines_KR[] = {
// Kuwait
const PrepopulatedEngine* const engines_KW[] = {
@ -550,7 +550,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -525,7 +525,7 @@ const PrepopulatedEngine* const engines_KW[] = {
@@ -524,7 +524,7 @@ const PrepopulatedEngine* const engines_KW[] = {
// Kazakhstan
const PrepopulatedEngine* const engines_KZ[] = {
@ -559,7 +559,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_kz,
&mail_ru,
&bing,
@@ -534,7 +534,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
@@ -533,7 +533,7 @@ const PrepopulatedEngine* const engines_KZ[] = {
// Lebanon
const PrepopulatedEngine* const engines_LB[] = {
@ -568,7 +568,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -543,7 +543,7 @@ const PrepopulatedEngine* const engines_LB[] = {
@@ -542,7 +542,7 @@ const PrepopulatedEngine* const engines_LB[] = {
// Liechtenstein
const PrepopulatedEngine* const engines_LI[] = {
@ -577,7 +577,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo,
@@ -552,7 +552,7 @@ const PrepopulatedEngine* const engines_LI[] = {
@@ -551,7 +551,7 @@ const PrepopulatedEngine* const engines_LI[] = {
// Lithuania
const PrepopulatedEngine* const engines_LT[] = {
@ -586,7 +586,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -561,7 +561,7 @@ const PrepopulatedEngine* const engines_LT[] = {
@@ -560,7 +560,7 @@ const PrepopulatedEngine* const engines_LT[] = {
// Luxembourg
const PrepopulatedEngine* const engines_LU[] = {
@ -595,7 +595,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo,
@@ -570,7 +570,7 @@ const PrepopulatedEngine* const engines_LU[] = {
@@ -569,7 +569,7 @@ const PrepopulatedEngine* const engines_LU[] = {
// Latvia
const PrepopulatedEngine* const engines_LV[] = {
@ -604,7 +604,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yandex_ru,
&yahoo,
@@ -579,7 +579,7 @@ const PrepopulatedEngine* const engines_LV[] = {
@@ -578,7 +578,7 @@ const PrepopulatedEngine* const engines_LV[] = {
// Libya
const PrepopulatedEngine* const engines_LY[] = {
@ -613,7 +613,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_com,
@@ -588,7 +588,7 @@ const PrepopulatedEngine* const engines_LY[] = {
@@ -587,7 +587,7 @@ const PrepopulatedEngine* const engines_LY[] = {
// Morocco
const PrepopulatedEngine* const engines_MA[] = {
@ -622,7 +622,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_fr,
&yandex_com,
@@ -597,7 +597,7 @@ const PrepopulatedEngine* const engines_MA[] = {
@@ -596,7 +596,7 @@ const PrepopulatedEngine* const engines_MA[] = {
// Monaco
const PrepopulatedEngine* const engines_MC[] = {
@ -631,7 +631,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo_fr,
@@ -606,7 +606,7 @@ const PrepopulatedEngine* const engines_MC[] = {
@@ -605,7 +605,7 @@ const PrepopulatedEngine* const engines_MC[] = {
// Moldova
const PrepopulatedEngine* const engines_MD[] = {
@ -640,7 +640,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
&bing,
&mail_ru,
@@ -615,7 +615,7 @@ const PrepopulatedEngine* const engines_MD[] = {
@@ -614,7 +614,7 @@ const PrepopulatedEngine* const engines_MD[] = {
// Montenegro
const PrepopulatedEngine* const engines_ME[] = {
@ -649,7 +649,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_ru,
@@ -624,7 +624,7 @@ const PrepopulatedEngine* const engines_ME[] = {
@@ -623,7 +623,7 @@ const PrepopulatedEngine* const engines_ME[] = {
// Macedonia
const PrepopulatedEngine* const engines_MK[] = {
@ -658,7 +658,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -633,7 +633,7 @@ const PrepopulatedEngine* const engines_MK[] = {
@@ -632,7 +632,7 @@ const PrepopulatedEngine* const engines_MK[] = {
// Mexico
const PrepopulatedEngine* const engines_MX[] = {
@ -667,7 +667,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_mx,
&duckduckgo,
@@ -642,7 +642,7 @@ const PrepopulatedEngine* const engines_MX[] = {
@@ -641,7 +641,7 @@ const PrepopulatedEngine* const engines_MX[] = {
// Malaysia
const PrepopulatedEngine* const engines_MY[] = {
@ -676,7 +676,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_my,
&duckduckgo,
@@ -651,7 +651,7 @@ const PrepopulatedEngine* const engines_MY[] = {
@@ -650,7 +650,7 @@ const PrepopulatedEngine* const engines_MY[] = {
// Nicaragua
const PrepopulatedEngine* const engines_NI[] = {
@ -685,7 +685,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -660,7 +660,7 @@ const PrepopulatedEngine* const engines_NI[] = {
@@ -659,7 +659,7 @@ const PrepopulatedEngine* const engines_NI[] = {
// Netherlands
const PrepopulatedEngine* const engines_NL[] = {
@ -694,7 +694,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_nl,
&duckduckgo,
@@ -669,7 +669,7 @@ const PrepopulatedEngine* const engines_NL[] = {
@@ -668,7 +668,7 @@ const PrepopulatedEngine* const engines_NL[] = {
// Norway
const PrepopulatedEngine* const engines_NO[] = {
@ -703,7 +703,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -678,7 +678,7 @@ const PrepopulatedEngine* const engines_NO[] = {
@@ -677,7 +677,7 @@ const PrepopulatedEngine* const engines_NO[] = {
// New Zealand
const PrepopulatedEngine* const engines_NZ[] = {
@ -712,7 +712,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_nz,
&duckduckgo,
@@ -687,7 +687,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
@@ -686,7 +686,7 @@ const PrepopulatedEngine* const engines_NZ[] = {
// Oman
const PrepopulatedEngine* const engines_OM[] = {
@ -721,7 +721,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -696,7 +696,7 @@ const PrepopulatedEngine* const engines_OM[] = {
@@ -695,7 +695,7 @@ const PrepopulatedEngine* const engines_OM[] = {
// Panama
const PrepopulatedEngine* const engines_PA[] = {
@ -730,7 +730,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_es,
&duckduckgo,
@@ -705,7 +705,7 @@ const PrepopulatedEngine* const engines_PA[] = {
@@ -704,7 +704,7 @@ const PrepopulatedEngine* const engines_PA[] = {
// Peru
const PrepopulatedEngine* const engines_PE[] = {
@ -739,7 +739,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_pe,
&ecosia,
@@ -714,7 +714,7 @@ const PrepopulatedEngine* const engines_PE[] = {
@@ -713,7 +713,7 @@ const PrepopulatedEngine* const engines_PE[] = {
// Philippines
const PrepopulatedEngine* const engines_PH[] = {
@ -748,7 +748,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&ecosia,
@@ -723,7 +723,7 @@ const PrepopulatedEngine* const engines_PH[] = {
@@ -722,7 +722,7 @@ const PrepopulatedEngine* const engines_PH[] = {
// Pakistan
const PrepopulatedEngine* const engines_PK[] = {
@ -757,7 +757,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -732,7 +732,7 @@ const PrepopulatedEngine* const engines_PK[] = {
@@ -731,7 +731,7 @@ const PrepopulatedEngine* const engines_PK[] = {
// Poland
const PrepopulatedEngine* const engines_PL[] = {
@ -766,7 +766,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -741,7 +741,7 @@ const PrepopulatedEngine* const engines_PL[] = {
@@ -740,7 +740,7 @@ const PrepopulatedEngine* const engines_PL[] = {
// Puerto Rico
const PrepopulatedEngine* const engines_PR[] = {
@ -775,7 +775,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -750,7 +750,7 @@ const PrepopulatedEngine* const engines_PR[] = {
@@ -749,7 +749,7 @@ const PrepopulatedEngine* const engines_PR[] = {
// Portugal
const PrepopulatedEngine* const engines_PT[] = {
@ -784,7 +784,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -759,7 +759,7 @@ const PrepopulatedEngine* const engines_PT[] = {
@@ -758,7 +758,7 @@ const PrepopulatedEngine* const engines_PT[] = {
// Paraguay
const PrepopulatedEngine* const engines_PY[] = {
@ -793,7 +793,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_es,
&duckduckgo,
@@ -768,7 +768,7 @@ const PrepopulatedEngine* const engines_PY[] = {
@@ -767,7 +767,7 @@ const PrepopulatedEngine* const engines_PY[] = {
// Qatar
const PrepopulatedEngine* const engines_QA[] = {
@ -802,7 +802,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -777,7 +777,7 @@ const PrepopulatedEngine* const engines_QA[] = {
@@ -776,7 +776,7 @@ const PrepopulatedEngine* const engines_QA[] = {
// Romania
const PrepopulatedEngine* const engines_RO[] = {
@ -811,7 +811,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -786,7 +786,7 @@ const PrepopulatedEngine* const engines_RO[] = {
@@ -785,7 +785,7 @@ const PrepopulatedEngine* const engines_RO[] = {
// Serbia
const PrepopulatedEngine* const engines_RS[] = {
@ -820,7 +820,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -795,7 +795,7 @@ const PrepopulatedEngine* const engines_RS[] = {
@@ -794,7 +794,7 @@ const PrepopulatedEngine* const engines_RS[] = {
// Russia
const PrepopulatedEngine* const engines_RU[] = {
@ -829,7 +829,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ru,
&mail_ru,
&bing,
@@ -804,7 +804,7 @@ const PrepopulatedEngine* const engines_RU[] = {
@@ -803,7 +803,7 @@ const PrepopulatedEngine* const engines_RU[] = {
// Rwanda
const PrepopulatedEngine* const engines_RW[] = {
@ -838,7 +838,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -813,7 +813,7 @@ const PrepopulatedEngine* const engines_RW[] = {
@@ -812,7 +812,7 @@ const PrepopulatedEngine* const engines_RW[] = {
// Saudi Arabia
const PrepopulatedEngine* const engines_SA[] = {
@ -847,7 +847,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_com,
@@ -822,7 +822,7 @@ const PrepopulatedEngine* const engines_SA[] = {
@@ -821,7 +821,7 @@ const PrepopulatedEngine* const engines_SA[] = {
// Sweden
const PrepopulatedEngine* const engines_SE[] = {
@ -856,7 +856,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_se,
&duckduckgo,
@@ -831,7 +831,7 @@ const PrepopulatedEngine* const engines_SE[] = {
@@ -830,7 +830,7 @@ const PrepopulatedEngine* const engines_SE[] = {
// Singapore
const PrepopulatedEngine* const engines_SG[] = {
@ -865,7 +865,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_sg,
&duckduckgo,
@@ -840,7 +840,7 @@ const PrepopulatedEngine* const engines_SG[] = {
@@ -839,7 +839,7 @@ const PrepopulatedEngine* const engines_SG[] = {
// Slovenia
const PrepopulatedEngine* const engines_SI[] = {
@ -874,7 +874,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo,
@@ -849,7 +849,7 @@ const PrepopulatedEngine* const engines_SI[] = {
@@ -848,7 +848,7 @@ const PrepopulatedEngine* const engines_SI[] = {
// Slovakia
const PrepopulatedEngine* const engines_SK[] = {
@ -883,7 +883,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&duckduckgo,
&yahoo,
@@ -858,7 +858,7 @@ const PrepopulatedEngine* const engines_SK[] = {
@@ -857,7 +857,7 @@ const PrepopulatedEngine* const engines_SK[] = {
// El Salvador
const PrepopulatedEngine* const engines_SV[] = {
@ -892,7 +892,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_es,
&duckduckgo,
@@ -867,7 +867,7 @@ const PrepopulatedEngine* const engines_SV[] = {
@@ -866,7 +866,7 @@ const PrepopulatedEngine* const engines_SV[] = {
// Syria
const PrepopulatedEngine* const engines_SY[] = {
@ -901,7 +901,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_com,
@@ -876,7 +876,7 @@ const PrepopulatedEngine* const engines_SY[] = {
@@ -875,7 +875,7 @@ const PrepopulatedEngine* const engines_SY[] = {
// Thailand
const PrepopulatedEngine* const engines_TH[] = {
@ -910,7 +910,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_th,
&yandex_ru,
@@ -885,7 +885,7 @@ const PrepopulatedEngine* const engines_TH[] = {
@@ -884,7 +884,7 @@ const PrepopulatedEngine* const engines_TH[] = {
// Tunisia
const PrepopulatedEngine* const engines_TN[] = {
@ -919,7 +919,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_fr,
&duckduckgo,
@@ -894,7 +894,7 @@ const PrepopulatedEngine* const engines_TN[] = {
@@ -893,7 +893,7 @@ const PrepopulatedEngine* const engines_TN[] = {
// Turkey
const PrepopulatedEngine* const engines_TR[] = {
@ -928,7 +928,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_tr,
&yahoo_tr,
&bing,
@@ -903,7 +903,7 @@ const PrepopulatedEngine* const engines_TR[] = {
@@ -902,7 +902,7 @@ const PrepopulatedEngine* const engines_TR[] = {
// Trinidad and Tobago
const PrepopulatedEngine* const engines_TT[] = {
@ -937,7 +937,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -912,7 +912,7 @@ const PrepopulatedEngine* const engines_TT[] = {
@@ -911,7 +911,7 @@ const PrepopulatedEngine* const engines_TT[] = {
// Taiwan
const PrepopulatedEngine* const engines_TW[] = {
@ -946,7 +946,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yahoo_tw,
&bing,
&baidu,
@@ -921,7 +921,7 @@ const PrepopulatedEngine* const engines_TW[] = {
@@ -920,7 +920,7 @@ const PrepopulatedEngine* const engines_TW[] = {
// Tanzania
const PrepopulatedEngine* const engines_TZ[] = {
@ -955,7 +955,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -930,7 +930,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
@@ -929,7 +929,7 @@ const PrepopulatedEngine* const engines_TZ[] = {
// Ukraine
const PrepopulatedEngine* const engines_UA[] = {
@ -964,7 +964,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&yandex_ua,
&bing,
&duckduckgo,
@@ -939,7 +939,7 @@ const PrepopulatedEngine* const engines_UA[] = {
@@ -938,7 +938,7 @@ const PrepopulatedEngine* const engines_UA[] = {
// United States
const PrepopulatedEngine* const engines_US[] = {
@ -973,7 +973,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -948,7 +948,7 @@ const PrepopulatedEngine* const engines_US[] = {
@@ -947,7 +947,7 @@ const PrepopulatedEngine* const engines_US[] = {
// Uruguay
const PrepopulatedEngine* const engines_UY[] = {
@ -982,7 +982,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_es,
&duckduckgo,
@@ -957,7 +957,7 @@ const PrepopulatedEngine* const engines_UY[] = {
@@ -956,7 +956,7 @@ const PrepopulatedEngine* const engines_UY[] = {
// Venezuela
const PrepopulatedEngine* const engines_VE[] = {
@ -991,7 +991,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo_es,
&duckduckgo,
@@ -966,7 +966,7 @@ const PrepopulatedEngine* const engines_VE[] = {
@@ -965,7 +965,7 @@ const PrepopulatedEngine* const engines_VE[] = {
// Vietnam
const PrepopulatedEngine* const engines_VN[] = {
@ -1000,7 +1000,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&coccoc,
&yahoo,
&bing,
@@ -975,7 +975,7 @@ const PrepopulatedEngine* const engines_VN[] = {
@@ -974,7 +974,7 @@ const PrepopulatedEngine* const engines_VN[] = {
// Yemen
const PrepopulatedEngine* const engines_YE[] = {
@ -1009,7 +1009,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&yandex_com,
@@ -984,7 +984,7 @@ const PrepopulatedEngine* const engines_YE[] = {
@@ -983,7 +983,7 @@ const PrepopulatedEngine* const engines_YE[] = {
// South Africa
const PrepopulatedEngine* const engines_ZA[] = {
@ -1018,7 +1018,7 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
&bing,
&yahoo,
&duckduckgo,
@@ -993,7 +993,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
@@ -992,7 +992,7 @@ const PrepopulatedEngine* const engines_ZA[] = {
// Zimbabwe
const PrepopulatedEngine* const engines_ZW[] = {

View file

@ -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 | 4 ++++
net/base/features.cc | 3 +++
net/base/features.h | 2 ++
net/url_request/url_request_http_job.cc | 4 ++++
6 files changed, 21 insertions(+)
6 files changed, 20 insertions(+)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -9070,6 +9070,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8561,6 +8561,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
@@ -1710,6 +1710,10 @@ const char kHttpsOnlyModeDescription[] =
@@ -1629,6 +1629,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
@@ -960,6 +960,9 @@ extern const char kHideShelfControlsInTabletModeDescription[];
@@ -915,6 +915,9 @@ extern const char kHideShelfControlsInTabletModeDescription[];
extern const char kHttpsOnlyModeName[];
extern const char kHttpsOnlyModeDescription[];
@ -57,33 +57,32 @@ 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
@@ -113,6 +113,10 @@ BASE_FEATURE(kPartitionNelAndReportingByNetworkIsolationKey,
"PartitionNelAndReportingByNetworkIsolationKey", // must be enabled
base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
@@ -114,6 +114,9 @@ const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
const base::Feature kEncryptedClientHello{"EncryptedClientHello",
base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kIsCleartextPermitted,
+ "IsCleartextPermitted",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+const base::Feature kIsCleartextPermitted{"IsCleartextPermitted",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+
BASE_FEATURE(kEnableDoubleKeyNetworkAnonymizationKey,
"EnableDoubleKeyNetworkAnonymizationKey",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kNetworkQualityEstimator{"NetworkQualityEstimator",
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
@@ -29,6 +29,8 @@ NET_EXPORT BASE_DECLARE_FEATURE(kAvoidH2Reprioritization);
@@ -33,6 +33,8 @@ NET_EXPORT extern const base::Feature kAvoidH2Reprioritization;
// origin requests are restricted to contain at most the source origin.
NET_EXPORT BASE_DECLARE_FEATURE(kCapReferrerToOriginOnCrossOrigin);
NET_EXPORT extern const base::Feature kCapReferrerToOriginOnCrossOrigin;
+NET_EXPORT BASE_DECLARE_FEATURE(kIsCleartextPermitted);
+NET_EXPORT extern const base::Feature kIsCleartextPermitted;
+
// Support for altering the parameters used for DNS transaction timeout. See
// ResolveContext::SecureTransactionTimeout().
NET_EXPORT BASE_DECLARE_FEATURE(kDnsTransactionDynamicTimeouts);
NET_EXPORT extern const base::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
@@ -212,6 +212,10 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
@@ -211,6 +211,10 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
}
#if BUILDFLAG(IS_ANDROID)

View file

@ -3,15 +3,11 @@ 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;
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.
Store proxy settings in LocalState instead of Profile, so that proxy is used
for SimpleURLLoaders as well.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
@ -25,8 +21,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 | 78 ++++
chrome/browser/resources/proxy_config.js | 267 +++++++++++
chrome/browser/resources/proxy_config.html | 79 ++++
chrome/browser/resources/proxy_config.js | 266 +++++++++++
chrome/browser/ui/BUILD.gn | 2 +
.../webui/chrome_web_ui_controller_factory.cc | 3 +
chrome/browser/ui/webui/proxy_config_ui.cc | 418 ++++++++++++++++++
@ -49,7 +45,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
@@ -27,6 +27,9 @@ found in the LICENSE file.
@@ -25,6 +25,9 @@
<!-- Compositor Tab Title Text -->
<bool name="compositor_tab_title_fake_bold_text">true</bool>
@ -62,7 +58,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
@@ -8,6 +8,10 @@ found in the LICENSE file.
@@ -6,6 +6,10 @@
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
@ -76,18 +72,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
@@ -59,6 +59,7 @@ public class PrivacySettings
@@ -57,6 +57,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_GUIDE = "privacy_guide";
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
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
@@ -284,6 +284,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
@@ -271,6 +271,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
#endif
@ -99,8 +95,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
@@ -81,6 +81,12 @@
<include name="IDR_DESK_API_MANIFEST" file="resources\chromeos\desk_api\manifest.json" type="BINDATA" />
@@ -80,6 +80,12 @@
<include name="IDR_CONTACT_CENTER_INSIGHTS_MANIFEST" file="resources\chromeos\contact_center_insights\manifest.json" type="BINDATA" />
</if>
+ <!-- Bromite Proxy Configuration UI -->
@ -134,18 +130,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<ash::ProxyConfigServiceImpl>(
return std::make_unique<chromeos::ProxyConfigServiceImpl>(
profile_prefs, local_state_prefs, nullptr);
#else
- return std::make_unique<PrefProxyConfigTrackerImpl>(profile_prefs, nullptr);
+ // Migrate from profile_prefs to local_state_prefs
+ if (local_state_prefs->GetBoolean("proxy_migrated") == false) {
+ const base::Value::Dict& dict =
+ profile_prefs->GetDict(proxy_config::prefs::kProxy);
+ const base::Value* dict =
+ profile_prefs->GetDictionary(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);
@ -187,16 +183,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
@@ -165,6 +165,8 @@
@@ -163,6 +163,8 @@
#include "printing/buildflags/buildflags.h"
#include "rlz/buildflags/buildflags.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
+#include "chrome/browser/net/proxy_service_factory.h"
+
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
#include "chrome/browser/background/background_mode_manager.h"
#endif
@@ -1013,6 +1015,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -1045,6 +1047,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
chrome::enterprise_util::RegisterLocalStatePrefs(registry);
component_updater::RegisterPrefs(registry);
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
@ -208,13 +204,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
@@ -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);
@@ -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);
}
}
diff --git a/chrome/browser/resources/proxy_config.css b/chrome/browser/resources/proxy_config.css
@ -287,7 +283,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,78 @@
@@ -0,0 +1,79 @@
+<!doctype html>
+<html>
+<head>
@ -301,7 +297,8 @@ new file mode 100644
+<script src="chrome://resources/js/ios/web_ui.js"></script>
+</if>
+
+<script type="module" src="chrome://resources/js/assert.js"></script>
+<script src="chrome://resources/js/assert.js"></script>
+<script src="chrome://resources/js/util.js"></script>
+<script type="module" src="chrome://proxy/proxy_config.js"></script>
+<link rel="stylesheet" href="chrome://resources/css/text_defaults.css">
+<link rel="stylesheet" href="proxy_config.css">
@ -370,7 +367,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,267 @@
@@ -0,0 +1,266 @@
+/*
+ This file is part of Bromite.
+
@ -388,7 +385,6 @@ 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';
+
+/**
@ -641,8 +637,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
@@ -285,6 +285,8 @@ static_library("ui") {
"webui/metrics_internals/metrics_internals_ui.h",
@@ -283,6 +283,8 @@ static_library("ui") {
"webui/metrics_handler.h",
"webui/net_export_ui.cc",
"webui/net_export_ui.h",
+ "webui/proxy_config_ui.cc",
@ -653,7 +649,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
@@ -60,6 +60,7 @@
@@ -57,6 +57,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"
@ -661,8 +657,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"
@@ -795,6 +796,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<MetricsInternalsUI>;
@@ -779,6 +780,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<MemoryInternalsUI>;
if (url.host_piece() == chrome::kChromeUINetExportHost)
return &NewWebUI<NetExportUI>;
+ if (url.host_piece() == chrome::kChromeUIProxyConfigHost)
@ -934,9 +930,9 @@ new file mode 100644
+ net::ProxyConfigWithAnnotation config;
+ auto availability = proxy_config_service_->GetLatestProxyConfig(&config);
+
+ const PrefService::Preference* const pref =
+ pref_service_->FindPreference(proxy_config::prefs::kProxy);
+ ProxyConfigDictionary proxy_dict(pref->GetValue()->GetDict().Clone());
+ const base::Value* dict =
+ pref_service_->GetDictionary(proxy_config::prefs::kProxy);
+ ProxyConfigDictionary proxy_dict(dict->Clone());
+ ProxyPrefs::ProxyMode mode;
+ if (!proxy_dict.GetMode(&mode) || mode == ProxyPrefs::MODE_SYSTEM) {
+ availability = net::ProxyConfigService::CONFIG_UNSET;
@ -948,8 +944,8 @@ new file mode 100644
+void ProxyConfigMessageHandler::OnClear(const base::Value::List& list) {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreateSystem();
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ const base::Value cfg = ProxyConfigDictionary::CreateSystem();
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg);
+ pref_service_->CommitPendingWrite();
+ OnEnableNotifyUIWithState(list);
+}
@ -1060,22 +1056,22 @@ new file mode 100644
+
+void ProxyConfigMessageHandler::apply(const net::ProxyConfig& proxyConfig) {
+ if (proxyConfig.auto_detect()) {
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreateAutoDetect();
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ const base::Value cfg = ProxyConfigDictionary::CreateAutoDetect();
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg);
+ } else if (proxyConfig.has_pac_url()) {
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreatePacScript(proxyConfig.pac_url().spec(), proxyConfig.pac_mandatory());
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ const base::Value cfg = ProxyConfigDictionary::CreatePacScript(proxyConfig.pac_url().spec(), proxyConfig.pac_mandatory());
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg);
+ } else if (proxyConfig.proxy_rules().type == net::ProxyConfig::ProxyRules::Type::EMPTY) {
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreateDirect();
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ const base::Value cfg = ProxyConfigDictionary::CreateDirect();
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg);
+ } else {
+ auto proxyRulesAsString = proxyConfig.proxy_rules().ToString();
+ auto bypassRulesAsString = proxyConfig.proxy_rules().bypass_rules.ToString();
+
+ // fixed servers
+ const base::Value::Dict cfg = ProxyConfigDictionary::CreateFixedServers(proxyRulesAsString,
+ const base::Value cfg = ProxyConfigDictionary::CreateFixedServers(proxyRulesAsString,
+ bypassRulesAsString, proxyConfig.proxy_rules().reverse_bypass);
+ pref_service_->SetDict(proxy_config::prefs::kProxy, cfg.Clone());
+ pref_service_->Set(proxy_config::prefs::kProxy, cfg);
+ }
+ pref_service_->CommitPendingWrite();
+
@ -1132,7 +1128,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
@@ -47,6 +47,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
@@ -46,6 +46,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
const char kChromeUICertificateViewerURL[] = "chrome://view-cert/";
const char kChromeUIChromeSigninHost[] = "chrome-signin";
const char kChromeUIChromeSigninURL[] = "chrome://chrome-signin/";
@ -1141,7 +1137,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";
@@ -439,6 +441,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
@@ -432,6 +434,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
kChromeUILockScreenNetworkHost,
kChromeUILockScreenStartReauthHost,
kChromeUIMobileSetupHost,
@ -1149,7 +1145,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
kChromeUIMultiDeviceSetupHost,
kChromeUINetworkHost,
kChromeUINotificationTesterHost,
@@ -704,6 +707,7 @@ const char* const kChromeHostURLs[] = {
@@ -692,6 +695,7 @@ const char* const kChromeHostURLs[] = {
#if !BUILDFLAG(IS_ANDROID)
#if !BUILDFLAG(IS_CHROMEOS_ASH)
kChromeUIAppLauncherPageHost,
@ -1160,7 +1156,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
@@ -134,6 +134,8 @@ extern const char kChromeUIMetricsInternalsHost[];
@@ -133,6 +133,8 @@ extern const char kChromeUIMemoryInternalsHost[];
extern const char kChromeUINTPTilesInternalsHost[];
extern const char kChromeUINaClHost[];
extern const char kChromeUINetExportHost[];
@ -1172,7 +1168,7 @@ diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_const
diff --git a/components/proxy_config/pref_proxy_config_tracker_impl.cc b/components/proxy_config/pref_proxy_config_tracker_impl.cc
--- a/components/proxy_config/pref_proxy_config_tracker_impl.cc
+++ b/components/proxy_config/pref_proxy_config_tracker_impl.cc
@@ -380,6 +380,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig(
@@ -381,6 +381,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig(
if (proxy_dict.GetBypassList(&proxy_bypass)) {
proxy_config.proxy_rules().bypass_rules.ParseFromString(proxy_bypass);
}
@ -1192,47 +1188,46 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
} // namespace
@@ -76,6 +78,14 @@ bool ProxyConfigDictionary::HasBypassList() const {
return dict_.Find(kProxyBypassList);
@@ -78,6 +80,14 @@ bool ProxyConfigDictionary::HasBypassList() const {
return dict_.FindKey(kProxyBypassList);
}
+bool ProxyConfigDictionary::HasReverseBypass() const {
+ const base::Value* value = dict_.Find(kProxyReverseBypass);
+ const base::Value* value = dict_.FindKey(kProxyReverseBypass);
+ if (!value || !value->is_bool()) {
+ return false;
+ }
+ return value->GetBool();
+}
+
const base::Value::Dict& ProxyConfigDictionary::GetDictionary() const {
const base::Value& ProxyConfigDictionary::GetDictionary() const {
return dict_;
}
@@ -83,13 +93,13 @@ const base::Value::Dict& ProxyConfigDictionary::GetDictionary() const {
@@ -85,29 +95,30 @@ const base::Value& ProxyConfigDictionary::GetDictionary() const {
// static
base::Value::Dict ProxyConfigDictionary::CreateDirect() {
base::Value ProxyConfigDictionary::CreateDirect() {
return CreateDictionary(ProxyPrefs::MODE_DIRECT, std::string(), false,
- std::string(), std::string());
+ std::string(), std::string(), false);
}
// static
base::Value::Dict ProxyConfigDictionary::CreateAutoDetect() {
base::Value ProxyConfigDictionary::CreateAutoDetect() {
return CreateDictionary(ProxyPrefs::MODE_AUTO_DETECT, std::string(), false,
- std::string(), std::string());
+ std::string(), std::string(), false);
}
// static
@@ -97,16 +107,17 @@ base::Value::Dict ProxyConfigDictionary::CreatePacScript(
const std::string& pac_url,
bool pac_mandatory) {
base::Value 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::Dict ProxyConfigDictionary::CreateFixedServers(
base::Value ProxyConfigDictionary::CreateFixedServers(
const std::string& proxy_server,
- const std::string& bypass_list) {
+ const std::string& bypass_list,
@ -1244,33 +1239,33 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro
} else {
return CreateDirect();
}
@@ -115,7 +126,7 @@ base::Value::Dict ProxyConfigDictionary::CreateFixedServers(
@@ -116,7 +127,7 @@ base::Value ProxyConfigDictionary::CreateFixedServers(
// static
base::Value::Dict ProxyConfigDictionary::CreateSystem() {
base::Value ProxyConfigDictionary::CreateSystem() {
return CreateDictionary(ProxyPrefs::MODE_SYSTEM, std::string(), false,
- std::string(), std::string());
+ std::string(), std::string(), false);
}
// static
@@ -124,7 +135,8 @@ base::Value::Dict ProxyConfigDictionary::CreateDictionary(
@@ -125,7 +136,8 @@ base::Value 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 dict;
dict.Set(kProxyMode, base::Value(ProxyModeToString(mode)));
base::Value dict(base::Value::Type::DICTIONARY);
dict.SetKey(kProxyMode, base::Value(ProxyModeToString(mode)));
if (!pac_url.empty()) {
@@ -133,8 +145,10 @@ base::Value::Dict ProxyConfigDictionary::CreateDictionary(
@@ -134,8 +146,10 @@ base::Value ProxyConfigDictionary::CreateDictionary(
}
if (!proxy_server.empty())
dict.Set(kProxyServer, base::Value(proxy_server));
dict.SetKey(kProxyServer, base::Value(proxy_server));
- if (!bypass_list.empty())
+ if (!bypass_list.empty()) {
dict.Set(kProxyBypassList, base::Value(bypass_list));
+ dict.Set(kProxyReverseBypass, base::Value(reverse_bypass));
dict.SetKey(kProxyBypassList, base::Value(bypass_list));
+ dict.SetKey(kProxyReverseBypass, base::Value(reverse_bypass));
+ }
return dict;
}
@ -1284,37 +1279,37 @@ diff --git a/components/proxy_config/proxy_config_dictionary.h b/components/prox
bool HasBypassList() const;
+ bool HasReverseBypass() const;
const base::Value::Dict& GetDictionary() const;
const base::Value& GetDictionary() const;
@@ -50,7 +51,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary {
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();
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();
// 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 dict_;
base::Value 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
@@ -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));
@@ -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));
}
break;
}

File diff suppressed because it is too large Load diff

View file

@ -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 | 6 +
.../flags/android/chrome_feature_list.cc | 5 +
.../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, 848 insertions(+), 29 deletions(-)
35 files changed, 847 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
@@ -61,7 +61,6 @@ by a child template that "extends" this file.
@@ -59,7 +59,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
@@ -23,6 +23,20 @@ found in the LICENSE file.
@@ -21,6 +21,20 @@
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
@@ -84,6 +84,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -88,6 +88,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();
@@ -135,6 +141,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -139,6 +145,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);
}
@@ -144,6 +152,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -148,6 +156,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);
}
@@ -173,6 +183,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -177,6 +187,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;
@@ -42,6 +55,32 @@ import java.util.HashMap;
@@ -46,6 +59,32 @@ import java.util.HashMap;
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.
@@ -442,6 +481,209 @@ class BookmarkBridge {
@@ -737,6 +776,209 @@ public 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.
@@ -990,6 +1232,39 @@ class BookmarkBridge {
@@ -1303,6 +1545,39 @@ public 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++) {
@@ -1061,6 +1336,9 @@ class BookmarkBridge {
@@ -1374,6 +1649,9 @@ public class BookmarkBridge {
int getChildCount(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type);
void getChildIDs(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type,
List<BookmarkId> bookmarksList);
@ -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
@@ -79,6 +79,16 @@ public interface BookmarkDelegate {
@@ -66,6 +66,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;
@@ -59,6 +61,8 @@ public class BookmarkManager
@@ -58,6 +60,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;
@@ -344,6 +348,14 @@ public class BookmarkManager
@@ -352,6 +356,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
@@ -540,6 +552,16 @@ public class BookmarkManager
@@ -532,6 +544,16 @@ public class BookmarkManager
}
}
@ -704,7 +704,7 @@ 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
@@ -1887,6 +1887,13 @@ static_library("browser") {
@@ -1862,6 +1862,13 @@ static_library("browser") {
]
}
@ -718,7 +718,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
configs += [
"//build/config/compiler:wexit_time_destructors",
"//build/config:precompiled_headers",
@@ -2904,6 +2911,8 @@ static_library("browser") {
@@ -2877,6 +2884,8 @@ static_library("browser") {
"autofill/manual_filling_controller.h",
"autofill/manual_filling_controller_impl.cc",
"autofill/manual_filling_controller_impl.h",
@ -727,19 +727,19 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"autofill/manual_filling_utils.cc",
"autofill/manual_filling_utils.h",
"autofill/manual_filling_view_interface.h",
@@ -3583,8 +3592,6 @@ static_library("browser") {
@@ -3544,8 +3553,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
@@ -9039,6 +9039,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8559,6 +8559,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
@@ -60,6 +60,25 @@
@@ -58,6 +58,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;
@@ -77,8 +96,92 @@ using bookmarks::android::JavaBookmarkIdGetType;
@@ -75,8 +94,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,
@@ -164,6 +267,10 @@ BookmarkBridge::~BookmarkBridge() {
@@ -162,6 +265,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>&) {
@@ -574,6 +681,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
@@ -572,6 +679,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
return count;
}
@ -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
@@ -6836,6 +6836,11 @@ const char kVcControlsUiDescription[] =
@@ -6279,6 +6279,11 @@ const char kDisableLacrosTtsSupportDescription[] =
#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
@@ -3942,6 +3942,9 @@ extern const char kDisableLacrosTtsSupportDescription[];
extern const char kVcControlsUiName[];
extern const char kVcControlsUiDescription[];
@@ -3625,6 +3625,9 @@ extern const char kDisableLacrosTtsSupportName[];
extern const char kDisableLacrosTtsSupportDescription[];
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+extern const char kBookmarksExportUseSafName[];
+extern const char kBookmarksExportUseSafDescription[];
@ -1279,22 +1279,21 @@ 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
@@ -181,6 +181,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -178,6 +178,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kBulkTabRestore,
&kCastDeviceFilter,
&kClearOmniboxFocusAfterNavigation,
&kCloseTabSuggestions,
+ &kBookmarksExportUseSaf,
&kCriticalPersistedTabData,
&kCommerceCoupons,
&kCCTBackgroundTab,
@@ -1114,6 +1115,11 @@ BASE_FEATURE(kWebApkTrampolineOnInitialIntent,
"WebApkTrampolineOnInitialIntent",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -933,6 +934,10 @@ const base::Feature kWebApkInstallService{"WebApkInstallService",
const base::Feature kWebApkTrampolineOnInitialIntent{
"WebApkTrampolineOnInitialIntent", base::FEATURE_ENABLED_BY_DEFAULT};
+// disabled by default because of an issue on Android 6.0
+BASE_FEATURE(kBookmarksExportUseSaf,
+ "BookmarksExportUseSaf",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+const base::Feature kBookmarksExportUseSaf{"BookmarksExportUseSaf",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+
static jboolean JNI_ChromeFeatureList_IsEnabled(
JNIEnv* env,
@ -1302,20 +1301,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 @@ 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);
@@ -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;
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
@@ -620,6 +620,7 @@ public abstract class ChromeFeatureList {
public static final String USE_LIBUNWINDSTACK_NATIVE_UNWINDER_ANDROID =
"UseLibunwindstackNativeUnwinderAndroid";
@@ -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";
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";
@ -1324,7 +1323,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
@@ -106,12 +106,14 @@ void ProfileWriter::AddHistoryPage(const history::URLRows& page,
@@ -105,12 +105,14 @@ void ProfileWriter::AddHistoryPage(const history::URLRows& page,
HistoryServiceFactory::GetForProfile(profile_,
ServiceAccessType::EXPLICIT_ACCESS)
->AddPagesWithDetails(page, visit_source);
@ -1339,7 +1338,7 @@ diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer
}
void ProfileWriter::AddHomepage(const GURL& home_page) {
@@ -132,6 +134,16 @@ void ProfileWriter::AddBookmarks(
@@ -131,6 +133,16 @@ void ProfileWriter::AddBookmarks(
return;
BookmarkModel* model = BookmarkModelFactory::GetForBrowserContext(profile_);
@ -1382,7 +1381,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
@@ -113,6 +113,8 @@ public final class ChromePreferenceKeys {
@@ -99,6 +99,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";
@ -1391,8 +1390,8 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/**
* Whether Chrome is set as the default browser.
@@ -1049,6 +1051,7 @@ public final class ChromePreferenceKeys {
AUTOFILL_ASSISTANT_PROACTIVE_HELP_ENABLED,
@@ -983,6 +985,7 @@ public final class ChromePreferenceKeys {
ASSISTANT_VOICE_SEARCH_ENABLED,
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
+ BOOKMARKS_LAST_EXPORT_URI,
@ -1430,7 +1429,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
@@ -401,6 +401,9 @@ static_library("common_lib") {
@@ -403,6 +403,9 @@ static_library("common_lib") {
sources += [
"media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h",
@ -1443,7 +1442,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
@@ -89,8 +89,6 @@ static_library("utility") {
@@ -85,8 +85,6 @@ static_library("utility") {
if (!is_android) {
sources += [
@ -1452,7 +1451,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",
@@ -215,6 +213,11 @@ static_library("utility") {
@@ -208,6 +206,11 @@ static_library("utility") {
]
}
@ -1657,8 +1656,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
@@ -210,6 +210,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
const GURL* caller = nullptr);
@@ -205,6 +205,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
void* params);
bool HasMultipleFileTypeChoices();
+ virtual void ShowToast(const std::string& message) = 0;
@ -1669,7 +1668,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
@@ -142,6 +142,12 @@ void SelectFileDialogImpl::SelectFileImpl(
@@ -140,6 +140,12 @@ void SelectFileDialogImpl::SelectFileImpl(
owning_window->GetJavaObject());
}
@ -1685,9 +1684,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
@@ -58,6 +58,8 @@ class SelectFileDialogImpl : public SelectFileDialog {
void* params,
const GURL* caller) override;
@@ -57,6 +57,8 @@ class SelectFileDialogImpl : public SelectFileDialog {
gfx::NativeWindow owning_window,
void* params) override;
+ void ShowToast(const std::string& message) override;
+

View file

@ -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
@@ -58,6 +58,16 @@ found in the LICENSE file.
@@ -55,6 +55,16 @@
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
android:key="do_not_track"
android:title="@string/do_not_track_title"/>
@ -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
@@ -45,6 +45,7 @@ import org.chromium.chrome.browser.notifications.NotificationPlatformBridge;
@@ -44,6 +44,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;
@@ -58,6 +59,8 @@ import java.lang.annotation.Retention;
@@ -57,6 +58,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.
@@ -268,6 +271,9 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
@@ -267,6 +270,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;
@@ -287,6 +293,10 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
@@ -286,6 +292,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());
@@ -433,6 +443,18 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
@@ -413,6 +423,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
@@ -76,6 +76,9 @@ public class PrivacySettings
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
@@ -81,6 +81,9 @@ public class PrivacySettings
private ViewGroup mDialogContainer;
private BottomSheetController mBottomSheetController;
+ 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 =
@@ -135,6 +138,9 @@ public class PrivacySettings
@@ -148,6 +151,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();
@@ -151,6 +157,14 @@ public class PrivacySettings
@@ -164,6 +170,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;
}
@@ -173,6 +187,16 @@ public class PrivacySettings
@@ -186,6 +200,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
@@ -4788,6 +4788,21 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4756,6 +4756,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>

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
@@ -161,6 +161,9 @@ found in the LICENSE file.
@@ -159,6 +159,9 @@
<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 -->
@@ -190,6 +193,9 @@ found in the LICENSE file.
@@ -185,6 +188,9 @@
<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
@@ -224,6 +224,8 @@ import java.util.HashSet;
@@ -223,6 +223,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.
@@ -2188,6 +2190,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2179,6 +2181,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
@@ -63,6 +63,7 @@ import org.chromium.chrome.R;
@@ -61,6 +61,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;
@@ -2292,6 +2293,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2311,6 +2312,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
@@ -3470,6 +3470,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3484,6 +3484,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>

View file

@ -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
@@ -525,6 +525,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
@@ -494,6 +494,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[] = {
@@ -4371,7 +4387,11 @@ const FeatureEntry kFeatureEntries[] = {
kOsMac | kOsLinux | kOsWin,
@@ -4118,7 +4134,11 @@ const FeatureEntry kFeatureEntries[] = {
kOsMac | kOsLinux | kOsLacros | 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"
@@ -338,6 +340,15 @@ AutocompleteController::AutocompleteController(
is_cros_launcher_(is_cros_launcher),
@@ -295,6 +297,15 @@ AutocompleteController::AutocompleteController(
in_start_(false),
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
@@ -475,6 +475,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input,
@@ -483,6 +483,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"
@@ -677,6 +678,9 @@ void SearchProvider::Run(bool query_is_private) {
@@ -652,6 +653,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
@@ -7,6 +7,8 @@
#include <stddef.h>
@@ -9,6 +9,8 @@
#include <algorithm>
#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/i18n/char_iterator.h"
@@ -608,6 +610,8 @@ GURL FixupURL(const std::string& text, const std::string& desired_tld) {
#include "base/ranges/algorithm.h"
@@ -607,6 +609,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())

View file

@ -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 | 2 +-
6 files changed, 25 insertions(+), 2 deletions(-)
services/network/public/cpp/features.h | 3 ++-
6 files changed, 26 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
@@ -4981,7 +4981,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4718,7 +4718,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
@@ -1261,6 +1261,10 @@ const char kDeprecateAltBasedSixPackDescription[] =
@@ -1214,6 +1214,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
@@ -662,6 +662,9 @@ extern const char kDeprecateAltClickDescription[];
@@ -634,6 +634,9 @@ extern const char kDeprecateAltClickDescription[];
extern const char kDeprecateAltBasedSixPackName[];
extern const char kDeprecateAltBasedSixPackDescription[];
@ -84,29 +84,30 @@ 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 @@ BASE_FEATURE(kExpectCTReporting,
"ExpectCTReporting",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -20,6 +20,11 @@ namespace features {
const base::Feature kExpectCTReporting{"ExpectCTReporting",
base::FEATURE_ENABLED_BY_DEFAULT};
+// Enable save-data header separately (without enabled data reduction service).
+BASE_FEATURE(kEnableSaveDataHeader,
+ "EnableSaveDataHeader",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
BASE_FEATURE(kNetworkErrorLogging,
"NetworkErrorLogging",
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};
+
const base::Feature kNetworkErrorLogging{"NetworkErrorLogging",
base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
--- a/services/network/public/cpp/features.h
+++ b/services/network/public/cpp/features.h
@@ -50,7 +50,7 @@ extern const base::FeatureParam<TrustTokenOriginTrialSpec>
kTrustTokenOperationsRequiringOriginTrial;
@@ -45,7 +45,8 @@ COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kMdnsResponderGeneratedNameListing;
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::FeatureParam<bool> kPlatformProvidedTrustTokenIssuance;
extern const base::Feature kOpaqueResponseBlockingV01;
-
+COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kEnableSaveDataHeader);
+COMPONENT_EXPORT(NETWORK_CPP)
+extern const base::Feature kEnableSaveDataHeader;
COMPONENT_EXPORT(NETWORK_CPP)
BASE_DECLARE_FEATURE(kWebSocketReassembleShortMessages);
extern const base::Feature kTrustTokens;
--
2.25.1

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
@@ -1040,6 +1040,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
@@ -979,6 +979,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,
@@ -4884,6 +4889,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4647,6 +4652,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
@@ -1875,6 +1875,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
@@ -1777,6 +1777,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
@@ -1050,6 +1050,9 @@ extern const char kLogJsConsoleMessagesDescription[];
@@ -996,6 +996,9 @@ extern const char kLogJsConsoleMessagesDescription[];
extern const char kUnthrottledNestedTimeoutName[];
extern const char kUnthrottledNestedTimeoutDescription[];

View file

@ -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 | 8 ++------
4 files changed, 14 insertions(+), 6 deletions(-)
media/base/media_switches.cc | 4 ----
4 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3661,6 +3661,10 @@ const FeatureEntry kFeatureEntries[] = {
SINGLE_VALUE_TYPE(extensions::switches::kExtensionsOnChromeURLs)},
#endif // ENABLE_EXTENSIONS
#if BUILDFLAG(IS_ANDROID)
@@ -3349,6 +3349,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebRtcRemoteEventLogName,
flag_descriptions::kWebRtcRemoteEventLogDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kWebRtcRemoteEventLog)},
+ {"resume-background-video",
+ flag_descriptions::kResumeBackgroundVideoName,
+ flag_descriptions::kResumeBackgroundVideoDescription, kOsAll,
+ FEATURE_VALUE_TYPE(media::kResumeBackgroundVideo)},
{"osk-resizes-visual-viewport-by-default",
flag_descriptions::kEnableOskResizesVisualViewportByDefaultName,
flag_descriptions::kEnableOskResizesVisualViewportByDefaultDescription,
#endif
{"enable-webrtc-srtp-aes-gcm", flag_descriptions::kWebrtcSrtpAesGcmName,
flag_descriptions::kWebrtcSrtpAesGcmDescription, kOsAll,
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1363,6 +1363,11 @@ const char kEnablePenetratingImageSelectionDescription[] =
@@ -1305,6 +1305,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
@@ -744,6 +744,9 @@ extern const char kEnablePortalsDescription[];
@@ -713,6 +713,9 @@ extern const char kEnablePortalsDescription[];
extern const char kEnablePortalsCrossOriginName[];
extern const char kEnablePortalsCrossOriginDescription[];
@ -57,19 +57,16 @@ 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
@@ -302,12 +302,8 @@ BASE_FEATURE(kPreloadMetadataLazyLoad,
// Let videos be resumed via remote controls (for example, the notification)
@@ -287,11 +287,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
// when in background.
BASE_FEATURE(kResumeBackgroundVideo,
- "resume-background-video",
const 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
--

View file

@ -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 | 5 +++++
services/network/public/cpp/features.h | 1 +
services/network/public/cpp/features.cc | 4 ++++
services/network/public/cpp/features.h | 2 ++
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
@@ -6036,6 +6036,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5586,6 +5586,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)
{"shopping-list", commerce::flag_descriptions::kShoppingListName,
#if !BUILDFLAG(IS_ANDROID)
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
@@ -3578,6 +3578,10 @@ const char kCCTRealTimeEngagementSignalsDescription[] =
@@ -3305,6 +3305,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
@@ -807,6 +807,9 @@ extern const char kEnableWasmLazyCompilationName[];
@@ -785,6 +785,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"
@@ -3727,8 +3728,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
@@ -4092,8 +4093,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,14 +128,13 @@ 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
@@ -38,6 +38,11 @@ BASE_FEATURE(kThrottleDelayable,
"ThrottleDelayable",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -36,6 +36,10 @@ const base::Feature kReporting{"Reporting", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kThrottleDelayable{"ThrottleDelayable",
base::FEATURE_ENABLED_BY_DEFAULT};
+// Enable IPv6 ping probes to RIPE DNS.
+BASE_FEATURE(kIPv6Probing,
+ "IPv6Probing",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+const 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
@ -143,13 +142,14 @@ 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
@@ -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);
@@ -18,6 +18,8 @@ extern const base::Feature kExpectCTReporting;
COMPONENT_EXPORT(NETWORK_CPP)
BASE_DECLARE_FEATURE(kDelayRequestsOnMultiplexedConnections);
extern const base::Feature kNetworkErrorLogging;
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

View file

@ -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
@@ -3621,6 +3621,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3348,6 +3348,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
@@ -3966,6 +3966,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
@@ -3673,6 +3673,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
@@ -2274,6 +2274,9 @@ extern const char kQueryTilesNTPDescription[];
extern const char kQueryTilesOnStartName[];
extern const char kQueryTilesOnStartDescription[];
@@ -2100,6 +2100,9 @@ extern const char kQueryTilesDescription[];
extern const char kQueryTilesNTPName[];
extern const char kQueryTilesNTPDescription[];
extern const char kQueryTilesSingleTierName[];
+extern const char kDisableExternalIntentRequestsName[];
+extern const char kDisableExternalIntentRequestsDescription[];

View file

@ -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 | 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(+)
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(+)
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
@@ -7467,6 +7467,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -6983,6 +6983,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)},
#endif
@ -33,7 +33,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
@@ -6463,6 +6463,9 @@ extern const char kLacrosScreenCoordinatesDescription[];
@@ -5952,6 +5952,9 @@ extern const char kLacrosScreenCoordinatesDescription[];
#endif // #if BUILDFLAG(IS_CHROMEOS_LACROS)
@ -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
@@ -3938,6 +3938,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
@@ -3627,6 +3627,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
@@ -101,6 +101,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
@@ -100,6 +100,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
#if BUILDFLAG(IS_ANDROID)
if (command_line.HasSwitch(switches::kDisableMediaSessionAPI))
WebRuntimeFeatures::EnableMediaSession(false);
@ -69,14 +69,13 @@ 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
@@ -130,6 +130,11 @@ BASE_FEATURE(kBackForwardCacheMemoryControls,
@@ -121,6 +121,10 @@ const base::Feature kBackForwardCacheMemoryControls {
#endif
);
};
+// Enables vibration; an user gesture will still be required if enabled.
+BASE_FEATURE(kVibration,
+ "Vibration",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+const 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.
@ -84,38 +83,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
@@ -322,6 +322,8 @@ CONTENT_EXPORT extern const base::FeatureParam<base::TimeDelta>
@@ -321,6 +321,8 @@ CONTENT_EXPORT extern const base::FeatureParam<base::TimeDelta>
kCompositorLockTimeout;
#endif // BUILDFLAG(IS_ANDROID)
+CONTENT_EXPORT BASE_DECLARE_FEATURE(kVibration);
+CONTENT_EXPORT extern const base::Feature kVibration;
+
#if BUILDFLAG(IS_MAC)
CONTENT_EXPORT BASE_DECLARE_FEATURE(kDeviceMonitorMac);
CONTENT_EXPORT extern const base::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
@@ -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;
};
@@ -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);
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
@@ -29,6 +29,7 @@
#include "third_party/blink/renderer/core/frame/local_frame.h"
@@ -30,6 +30,7 @@
#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;
@@ -152,6 +153,8 @@ bool VibrationController::vibrate(Navigator& navigator,
@@ -153,6 +154,8 @@ bool VibrationController::vibrate(Navigator& navigator,
// reference to |window| or |navigator| was retained in another window.
if (!navigator.DomWindow())
return false;
@ -127,21 +126,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
@@ -52,6 +52,10 @@ void WebRuntimeFeatures::EnableTestOnlyFeatures(bool enable) {
RuntimeEnabledFeatures::SetTestFeaturesEnabled(enable);
@@ -156,6 +156,10 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
RuntimeEnabledFeatures::SetScrollTopLeftInteropEnabled(enable);
}
+void WebRuntimeFeatures::EnableVibration(bool enable) {
+ RuntimeEnabledFeatures::SetVibrationEnabled(enable);
+}
+
void WebRuntimeFeatures::EnableOriginTrialControlledFeatures(bool enable) {
RuntimeEnabledFeatures::SetOriginTrialControlledFeaturesEnabled(enable);
void WebRuntimeFeatures::EnableKeyboardAccessibleTooltip(bool enable) {
RuntimeEnabledFeatures::SetKeyboardAccessibleTooltipEnabled(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
@@ -1827,6 +1827,10 @@
@@ -1611,6 +1611,10 @@
name: "OrientationEvent",
status: {"Android": "stable"},
},

View file

@ -65,6 +65,9 @@ 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 ++-
@ -80,14 +83,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 | 49 ++++++++++-
.../permissions/permission_context_base.cc | 50 ++++++++++--
.../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 ++-
35 files changed, 472 insertions(+), 56 deletions(-)
38 files changed, 480 insertions(+), 62 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
@ -171,17 +174,19 @@ 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
@@ -31,5 +31,5 @@ bool LastTabStandingTrackerFactory::ServiceIsCreatedWithBrowserContext() const {
@@ -33,7 +33,7 @@ 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
@@ -411,10 +411,7 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -400,10 +400,7 @@ void ChromeBrowserMainExtraPartsProfiles::
LacrosFirstRunServiceFactory::GetInstance();
#endif
LanguageModelManagerFactory::GetInstance();
@ -196,9 +201,9 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
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
@@ -491,6 +491,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
PolicyAuditorBridge::CreateForWebContents(web_contents);
PluginObserverAndroid::CreateForWebContents(web_contents);
@@ -488,6 +488,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
web_contents);
}
video_tutorials::VideoTutorialTabHelper::CreateForWebContents(web_contents);
+ LastTabStandingTrackerTabHelper::CreateForWebContents(web_contents);
#else
@ -250,15 +255,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
@@ -35,6 +35,7 @@ import org.chromium.components.browser_ui.settings.SettingsUtils;
import org.chromium.components.browser_ui.settings.TextMessagePreference;
@@ -34,6 +34,7 @@ import org.chromium.components.browser_ui.settings.ManagedPreferencesUtils;
import org.chromium.components.browser_ui.settings.SettingsUtils;
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;
import org.chromium.content_public.browser.ContentFeatureList;
@@ -539,6 +540,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -523,6 +524,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
}
}
@ -270,7 +275,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();
@@ -963,6 +969,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -909,6 +915,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
if (contentType == mHighlightedPermission) {
switchPreference.setBackgroundColor(mHighlightColor);
}
@ -292,7 +297,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;
@@ -55,7 +56,8 @@ public class WebsitePreferenceBridge {
@@ -54,7 +55,8 @@ public class WebsitePreferenceBridge {
@CalledByNative
private static void insertPermissionInfoIntoList(@ContentSettingsType int type,
@ -302,7 +307,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) {
@@ -64,7 +66,7 @@ public class WebsitePreferenceBridge {
@@ -63,7 +65,7 @@ public class WebsitePreferenceBridge {
}
}
}
@ -314,7 +319,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
@@ -122,7 +122,8 @@ typedef void (*InfoListInsertionFunction)(
@@ -119,7 +119,8 @@ typedef void (*InfoListInsertionFunction)(
const base::android::JavaRef<jobject>&,
const base::android::JavaRef<jstring>&,
const base::android::JavaRef<jstring>&,
@ -324,16 +329,16 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
void GetOrigins(JNIEnv* env,
const JavaParamRef<jobject>& jbrowser_context_handle,
@@ -164,7 +165,7 @@ void GetOrigins(JNIEnv* env,
@@ -161,7 +162,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.metadata.session_model));
+ /*is_embargoed=*/false, static_cast<int>(settings_it.session_model));
}
// Add any origins which have a default content setting value (thus skipped
@@ -186,7 +187,7 @@ void GetOrigins(JNIEnv* env,
@@ -183,7 +184,7 @@ void GetOrigins(JNIEnv* env,
seen_origins.push_back(origin);
insertionFunc(env, static_cast<int>(content_type), list,
ConvertOriginToJavaString(env, origin), jembedder,
@ -345,7 +350,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
@@ -608,6 +608,11 @@
@@ -594,6 +594,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>
@ -371,7 +376,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
@@ -189,6 +189,35 @@ base::Time GetConstraintExpiration(const base::TimeDelta duration) {
@@ -184,4 +184,33 @@ base::Time GetConstraintExpiration(const base::TimeDelta duration) {
return base::Time::Now() + duration;
}
@ -389,13 +394,13 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
+
+bool IsConstraintSessionExpiration(const ContentSettingPatternSource& source,
+ LifetimeMode lifetime_mode) {
+ if (source.metadata.session_model != content_settings::SessionModel::UserSession)
+ if (source.session_model != content_settings::SessionModel::UserSession)
+ return false;
+
+ LifetimeMode type;
+ if (source.metadata.expiration == base::Time()) {
+ if (source.expiration == base::Time()) {
+ type = LifetimeMode::UntilBrowserClosed;
+ } else if (source.metadata.expiration == (base::Time() + base::Hours(1))) {
+ } else if (source.expiration == (base::Time() + base::Hours(1))) {
+ type = LifetimeMode::OnlyThisTime;
+ } else {
+ type = LifetimeMode::UntilOriginClosed;
@ -404,15 +409,13 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
+ return lifetime_mode == type;
+}
+
bool CanTrackLastVisit(ContentSettingsType type) {
#if BUILDFLAG(IS_ANDROID)
// The notification provider on Android does not support last visit tracking.
} // namespace content_settings
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
@@ -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);
@@ -73,6 +73,12 @@ bool IsConstraintPersistent(const ContentSettingConstraints& constraints);
// Returns the expiration time for a supplied |duration|.
base::Time GetConstraintExpiration(const base::TimeDelta duration);
+ContentSettingConstraints GetConstraintSessionExpiration(LifetimeMode lifetime_mode);
+
@ -420,9 +423,71 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.h b
+ const ContentSettingPatternSource& source,
+ LifetimeMode lifetime_mode);
+
// Get a timestamp with week-precision.
base::Time GetCoarseTime(base::Time time);
} // namespace content_settings
#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
@ -492,7 +557,7 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_
}
}
@@ -124,13 +129,15 @@ public class PermissionParamsListBuilder {
@@ -123,13 +128,15 @@ public class PermissionParamsListBuilder {
public final String nameMidSentence;
public final int type;
public final @ContentSettingValues int setting;
@ -512,7 +577,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
@@ -171,6 +171,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -162,6 +162,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
std::map<ContentSettingsType, ContentSetting>
user_specified_settings_to_display;
@ -521,7 +586,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)) {
@@ -179,6 +181,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -170,6 +172,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
if (setting_to_display) {
user_specified_settings_to_display[permission.type] =
*setting_to_display;
@ -530,7 +595,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
}
}
}
@@ -195,7 +199,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -186,7 +190,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
ConvertUTF16ToJavaString(env, setting_title),
ConvertUTF16ToJavaString(env, setting_title_mid_sentence),
static_cast<jint>(permission),
@ -540,7 +605,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
}
}
@@ -208,7 +213,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -199,7 +204,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),
@ -553,19 +618,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
@@ -1189,6 +1189,8 @@ void PageInfo::PresentSitePermissions() {
@@ -1055,6 +1055,8 @@ void PageInfo::PresentSitePermissions() {
permission_info.source = info.source;
permission_info.is_one_time = (info.metadata.session_model ==
content_settings::SessionModel::OneTime);
permission_info.is_one_time =
(info.session_model == content_settings::SessionModel::OneTime);
+ permission_info.is_user_session =
+ (info.metadata.session_model == content_settings::SessionModel::UserSession);
+ (info.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
@@ -180,6 +180,7 @@ class PageInfo : private content_settings::CookieControlsView {
@@ -175,6 +175,7 @@ class PageInfo {
content_settings::SettingSource source =
content_settings::SETTING_SOURCE_NONE;
bool is_one_time = false;
@ -771,7 +836,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
@@ -41,6 +41,14 @@ void PermissionPromptAndroid::Accept() {
@@ -40,6 +40,14 @@ void PermissionPromptAndroid::Accept() {
delegate_->Accept();
}
@ -829,7 +894,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
@@ -153,6 +153,19 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -158,6 +158,19 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
ContentSetting content_setting,
bool is_one_time) {
DCHECK(!is_one_time);
@ -849,7 +914,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()) {
@@ -165,7 +178,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -170,7 +183,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
if (IsInLocationSettingsBackOff(is_default_search)) {
FinishNotifyPermissionSet(id, requesting_origin, embedding_origin,
std::move(callback), false /* persist */,
@ -859,7 +924,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
LogLocationSettingsMetric(
kLocationSettingsSuppressMetricBase, is_default_search,
LocationSettingsBackOffLevel(is_default_search));
@@ -190,7 +204,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -195,7 +209,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
!location_settings_dialog_callback_.is_null()) {
FinishNotifyPermissionSet(id, requesting_origin, embedding_origin,
std::move(callback), false /* persist */,
@ -869,7 +934,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(
@@ -207,12 +222,13 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -212,12 +227,13 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
base::BindOnce(
&GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown,
weak_factory_.GetWeakPtr(), requesting_origin, embedding_origin,
@ -885,7 +950,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
}
PermissionResult
@@ -379,6 +395,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
@@ -384,6 +400,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
const GURL& embedding_origin,
bool persist,
ContentSetting content_setting,
@ -893,7 +958,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) {
@@ -402,7 +419,8 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
@@ -411,7 +428,8 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
FinishNotifyPermissionSet(
location_settings_dialog_request_id_, requesting_origin, embedding_origin,
@ -903,7 +968,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
location_settings_dialog_request_id_ =
PermissionRequestID(0, 0, PermissionRequestID::RequestLocalId());
@@ -414,10 +432,11 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
@@ -423,10 +441,11 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
const GURL& embedding_origin,
BrowserPermissionCallback callback,
bool persist,
@ -958,7 +1023,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
@@ -226,6 +226,20 @@ PermissionContextBase::CreatePermissionRequest(
@@ -250,6 +250,20 @@ PermissionContextBase::CreatePermissionRequest(
std::move(delete_callback));
}
@ -979,7 +1044,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,
@@ -405,7 +419,8 @@ void PermissionContextBase::PermissionDecided(
@@ -441,7 +455,8 @@ void PermissionContextBase::PermissionDecided(
const GURL& embedding_origin,
BrowserPermissionCallback callback,
ContentSetting content_setting,
@ -989,7 +1054,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);
@@ -413,9 +428,9 @@ void PermissionContextBase::PermissionDecided(
@@ -449,9 +464,9 @@ void PermissionContextBase::PermissionDecided(
content_setting);
bool persist = content_setting != CONTENT_SETTING_DEFAULT;
@ -1001,7 +1066,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
}
content::BrowserContext* PermissionContextBase::browser_context() const {
@@ -465,11 +480,26 @@ void PermissionContextBase::NotifyPermissionSet(
@@ -501,11 +516,26 @@ void PermissionContextBase::NotifyPermissionSet(
bool persist,
ContentSetting content_setting,
bool is_one_time) {
@ -1029,7 +1094,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
}
UpdateTabContext(id, requesting_origin,
@@ -490,6 +520,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
@@ -526,6 +556,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
const GURL& embedding_origin,
ContentSetting content_setting,
bool is_one_time) {
@ -1045,19 +1110,20 @@ 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 ||
@@ -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);
@@ -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());
}
#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
@@ -139,6 +139,14 @@ class PermissionContextBase : public content_settings::Observer {
@@ -141,6 +141,14 @@ class PermissionContextBase : public KeyedService,
// Updates stored content setting if persist is set, updates tab indicators
// and runs the callback to finish the request.
@ -1072,7 +1138,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,
@@ -159,6 +167,11 @@ class PermissionContextBase : public content_settings::Observer {
@@ -161,6 +169,11 @@ class PermissionContextBase : public KeyedService,
// Store the decided permission as a content setting.
// virtual since the permission might be stored with different restrictions
// (for example for desktop notifications).
@ -1084,7 +1150,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,
@@ -191,6 +204,14 @@ class PermissionContextBase : public content_settings::Observer {
@@ -193,6 +206,14 @@ class PermissionContextBase : public KeyedService,
PermissionRequest::PermissionDecidedCallback permission_decided_callback,
base::OnceClosure delete_callback) const;
@ -1099,7 +1165,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
ContentSettingsType content_settings_type() const {
return content_settings_type_;
}
@@ -217,7 +238,8 @@ class PermissionContextBase : public content_settings::Observer {
@@ -219,7 +240,8 @@ class PermissionContextBase : public KeyedService,
const GURL& embedding_origin,
BrowserPermissionCallback callback,
ContentSetting content_setting,
@ -1126,7 +1192,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
@@ -31,6 +31,18 @@ PermissionRequest::PermissionRequest(
@@ -30,6 +30,18 @@ PermissionRequest::PermissionRequest(
permission_decided_callback_(std::move(permission_decided_callback)),
delete_callback_(std::move(delete_callback)) {}
@ -1145,7 +1211,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
PermissionRequest::~PermissionRequest() {
DCHECK(delete_callback_.is_null());
}
@@ -235,17 +247,35 @@ std::u16string PermissionRequest::GetMessageTextFragment() const {
@@ -237,17 +249,35 @@ std::u16string PermissionRequest::GetMessageTextFragment() const {
}
#endif
@ -1210,7 +1276,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
PermissionRequest(const PermissionRequest&) = delete;
PermissionRequest& operator=(const PermissionRequest&) = delete;
@@ -106,10 +116,10 @@ class PermissionRequest {
@@ -97,10 +107,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.
@ -1223,7 +1289,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
@@ -147,6 +157,9 @@ class PermissionRequest {
@@ -138,6 +148,9 @@ class PermissionRequest {
// Called once a decision is made about the permission.
PermissionDecidedCallback permission_decided_callback_;
@ -1236,7 +1302,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
@@ -148,7 +148,7 @@ void PermissionRequestManager::AddRequest(
@@ -152,7 +152,7 @@ void PermissionRequestManager::AddRequest(
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDenyPermissionPrompts)) {
@ -1245,7 +1311,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
request->RequestFinished();
return;
}
@@ -224,7 +224,7 @@ void PermissionRequestManager::AddRequest(
@@ -228,7 +228,7 @@ void PermissionRequestManager::AddRequest(
if (auto_approval_origin) {
if (url::Origin::Create(request->requesting_origin()) ==
auto_approval_origin.value()) {
@ -1254,16 +1320,14 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
request->RequestFinished();
return;
@@ -541,14 +541,15 @@ void PermissionRequestManager::Accept() {
(*requests_iter)->request_type(),
PermissionAction::GRANTED);
@@ -487,12 +487,13 @@ void PermissionRequestManager::Accept() {
for (requests_iter = requests_.begin(); requests_iter != requests_.end();
requests_iter++) {
PermissionGrantedIncludingDuplicates(*requests_iter,
- /*is_one_time=*/false);
+ /*is_one_time=*/false,
+ content_settings::LifetimeMode::Always);
}
NotifyRequestDecided(PermissionAction::GRANTED);
FinalizeCurrentRequests(PermissionAction::GRANTED);
}
@ -1272,17 +1336,15 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_)
return;
DCHECK(view_);
@@ -559,7 +560,8 @@ void PermissionRequestManager::AcceptThisTime() {
(*requests_iter)->request_type(),
PermissionAction::GRANTED_ONCE);
@@ -500,12 +501,22 @@ void PermissionRequestManager::AcceptThisTime() {
for (requests_iter = requests_.begin(); requests_iter != requests_.end();
requests_iter++) {
PermissionGrantedIncludingDuplicates(*requests_iter,
- /*is_one_time=*/true);
+ /*is_one_time=*/true,
+ mode);
}
NotifyRequestDecided(PermissionAction::GRANTED_ONCE);
@@ -567,6 +569,15 @@ void PermissionRequestManager::AcceptThisTime() {
FinalizeCurrentRequests(PermissionAction::GRANTED_ONCE);
}
void PermissionRequestManager::Deny() {
@ -1298,16 +1360,16 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_)
return;
DCHECK(view_);
@@ -589,7 +600,7 @@ void PermissionRequestManager::Deny() {
StorePermissionActionForUMA((*requests_iter)->requesting_origin(),
(*requests_iter)->request_type(),
PermissionAction::DENIED);
@@ -527,7 +538,7 @@ void PermissionRequestManager::Deny() {
std::vector<PermissionRequest*>::iterator requests_iter;
for (requests_iter = requests_.begin(); requests_iter != requests_.end();
requests_iter++) {
- PermissionDeniedIncludingDuplicates(*requests_iter);
+ PermissionDeniedIncludingDuplicates(*requests_iter, is_one_time, lifetime_option);
}
NotifyRequestDecided(PermissionAction::DENIED);
@@ -967,25 +978,25 @@ PermissionRequest* PermissionRequestManager::GetExistingRequest(
FinalizeCurrentRequests(PermissionAction::DENIED);
}
@@ -892,25 +903,25 @@ PermissionRequest* PermissionRequestManager::GetExistingRequest(
void PermissionRequestManager::PermissionGrantedIncludingDuplicates(
PermissionRequest* request,
@ -1339,7 +1401,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
void PermissionRequestManager::CancelledIncludingDuplicates(
@@ -1187,7 +1198,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
@@ -1090,7 +1101,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
void PermissionRequestManager::DoAutoResponseForTesting() {
switch (auto_response_for_test_) {
case ACCEPT_ONCE:
@ -1351,7 +1413,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
@@ -141,8 +141,10 @@ class PermissionRequestManager
@@ -134,8 +134,10 @@ class PermissionRequestManager
GURL GetRequestingOrigin() const override;
GURL GetEmbeddingOrigin() const override;
void Accept() override;
@ -1363,7 +1425,7 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe
void Dismiss() override;
void Ignore() override;
bool WasCurrentRequestAlreadyDisplayed() override;
@@ -303,9 +305,12 @@ class PermissionRequestManager
@@ -272,9 +274,12 @@ class PermissionRequestManager
// Calls PermissionGranted on a request and all its duplicates.
void PermissionGrantedIncludingDuplicates(PermissionRequest* request,

View file

@ -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 | 24 ++++++++
.../browser/bookmarks/BookmarkBridge.java | 61 +++++++++++++++++++
.../chrome/browser/ChromeTabbedActivity.java | 26 ++++++++
.../browser/bookmarks/BookmarkBridge.java | 60 +++++++++++++++++++
.../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, 201 insertions(+), 10 deletions(-)
21 files changed, 202 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
@@ -66,6 +66,10 @@ found in the LICENSE file.
@@ -64,6 +64,10 @@
<item android:id="@+id/all_bookmarks_menu_id"
android:title="@string/menu_bookmarks"
android:icon="@drawable/btn_star_filled" />
@ -41,28 +41,29 @@ 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" />
@@ -184,6 +188,9 @@ found in the LICENSE file.
@@ -182,6 +186,9 @@
<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/menu_select_tabs"
android:title="@string/menu_select_tabs"
android:icon="@drawable/ic_select_tabs" />
<item android:id="@+id/track_prices_row_menu_id"
android:title="@string/menu_track_prices"
android:icon="@drawable/ic_trending_down_black" />
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
@@ -77,6 +77,7 @@ import org.chromium.chrome.browser.back_press.MinimizeAppAndCloseTabBackPressHan
@@ -75,6 +75,8 @@ 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;
@@ -2203,6 +2204,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2193,6 +2195,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
() -> getTabModelSelector().closeAllTabs(), /*isIncognito=*/false);
RecordUserAction.record("MobileMenuCloseAllTabs");
@ -71,7 +72,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(),
@@ -2255,6 +2258,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2245,6 +2249,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
mTabModalHandler.onOmniboxFocusChanged(hasFocus);
}
@ -83,16 +84,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
+ return;
+ }
+
+ final BookmarkModel bookmarkModel = mBookmarkModelSupplier.get();
+ final BookmarkBridge bridge = mBookmarkBridgeSupplier.get();
+ final BookmarkModel bookmarkModel = new BookmarkModel();
+ bookmarkModel.finishLoadingBookmarkModel(() -> {
+ for (int i = 0; i < tabModel.getCount(); i++) {
+ Tab tab = tabModel.getTabAt(i);
+ if (tab.isNativePage()) {
+ continue;
+ }
+ bookmarkModel.addToTabsCollection(this, tab);
+ bridge.addToTabsCollection(this, tab);
+ }
+ bookmarkModel.finishedAddingToTabsCollection(this, getSnackbarManager());
+ bridge.finishedAddingToTabsCollection(this, getSnackbarManager());
+ });
+ }
+
@ -110,7 +112,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;
@@ -40,6 +41,10 @@ import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
@@ -39,6 +40,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;
@ -119,18 +121,17 @@ 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;
@@ -86,6 +91,8 @@ import java.io.File;
import org.chromium.components.commerce.PriceTracking.ProductPrice;
@@ -86,6 +91,7 @@ import java.io.File;
* bookmark model stored in native.
*/
class BookmarkBridge {
public class BookmarkBridge {
+ private static final String TAG = "BookmarkBridge";
+
private final Profile mProfile;
private boolean mIsDestroyed;
private boolean mIsDoingExtensiveChanges;
@@ -393,6 +400,16 @@ class BookmarkBridge {
@@ -603,6 +609,16 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this);
}
@ -147,7 +148,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @return Id representing the special "other" folder from bookmark model.
*/
@@ -1030,6 +1047,49 @@ class BookmarkBridge {
@@ -1258,6 +1274,49 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, title, url);
}
@ -197,7 +198,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.
@@ -1327,6 +1387,7 @@ class BookmarkBridge {
@@ -1555,6 +1614,7 @@ public class BookmarkBridge {
void getAllFoldersWithDepths(long nativeBookmarkBridge, BookmarkBridge caller,
List<BookmarkId> folderList, List<Integer> depthList);
BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
@ -208,7 +209,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
@@ -648,6 +648,7 @@ public class BookmarkUtils {
@@ -614,6 +614,7 @@ public class BookmarkUtils {
List<BookmarkId> topLevelFolders = new ArrayList<>();
BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId();
BookmarkId mobileNodeId = bookmarkModel.getMobileFolderId();
@ -216,7 +217,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
BookmarkId othersNodeId = bookmarkModel.getOtherFolderId();
List<BookmarkId> specialFoldersIds =
@@ -673,6 +674,9 @@ public class BookmarkUtils {
@@ -639,6 +640,9 @@ public class BookmarkUtils {
if (bookmarkModel.isFolderVisible(mobileNodeId)) {
topLevelFolders.add(mobileNodeId);
}
@ -229,7 +230,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
@@ -437,6 +437,11 @@ void BookmarkBridge::GetTopLevelFolderIDs(
@@ -435,6 +435,11 @@ void BookmarkBridge::GetTopLevelFolderIDs(
top_level_folders.push_back(node.get());
}
@ -241,7 +242,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());
@@ -484,6 +489,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
@@ -482,6 +487,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
// Vector to temporarily contain all child bookmarks at same level for sorting
std::vector<const BookmarkNode*> bookmarks = {
bookmark_model_->mobile_node(),
@ -249,7 +250,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
bookmark_model_->bookmark_bar_node(),
bookmark_model_->other_node(),
};
@@ -536,6 +542,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId(
@@ -534,6 +540,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId(
return folder_id_obj;
}
@ -316,7 +317,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
@@ -144,6 +144,8 @@ bool ChromeBookmarkClient::IsPermanentNodeVisibleWhenEmpty(
@@ -117,6 +117,8 @@ bool ChromeBookmarkClient::IsPermanentNodeVisibleWhenEmpty(
return !is_mobile;
case bookmarks::BookmarkNode::MOBILE:
return is_mobile;
@ -349,7 +350,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3606,6 +3606,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -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
</message>
@ -385,7 +386,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
@@ -35,6 +35,7 @@ const char BookmarkCodec::kBookmarkBarFolderNameKey[] = "bookmark_bar";
@@ -34,6 +34,7 @@ const char BookmarkCodec::kBookmarkBarFolderNameKey[] = "bookmark_bar";
const char BookmarkCodec::kOtherBookmarkFolderNameKey[] = "other";
// The value is left as 'synced' for historical reasons.
const char BookmarkCodec::kMobileBookmarkFolderNameKey[] = "synced";
@ -393,33 +394,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";
@@ -78,7 +79,8 @@ BookmarkCodec::~BookmarkCodec() = default;
@@ -75,7 +76,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));
}
@@ -87,6 +89,7 @@ base::Value BookmarkCodec::Encode(
@@ -83,6 +85,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) {
@@ -109,6 +112,7 @@ base::Value BookmarkCodec::Encode(
ids_reassigned_ = false;
@@ -104,6 +107,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));
if (model_unsynced_meta_info_map) {
@@ -130,6 +134,7 @@ bool BookmarkCodec::Decode(const base::Value& value,
FinalizeChecksum();
@@ -120,6 +124,7 @@ bool BookmarkCodec::Decode(const base::Value& value,
BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node,
@ -427,7 +428,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
int64_t* max_id,
std::string* sync_metadata_str) {
ids_.clear();
@@ -137,7 +142,8 @@ bool BookmarkCodec::Decode(const base::Value& value,
@@ -127,7 +132,8 @@ bool BookmarkCodec::Decode(const base::Value& value,
base::GUID::ParseLowercase(BookmarkNode::kBookmarkBarNodeGuid),
base::GUID::ParseLowercase(BookmarkNode::kOtherBookmarksNodeGuid),
base::GUID::ParseLowercase(BookmarkNode::kMobileBookmarksNodeGuid),
@ -437,7 +438,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
ids_reassigned_ = false;
guids_reassigned_ = false;
ids_valid_ = true;
@@ -145,12 +151,13 @@ bool BookmarkCodec::Decode(const base::Value& value,
@@ -135,12 +141,13 @@ bool BookmarkCodec::Decode(const base::Value& value,
stored_checksum_.clear();
InitializeChecksum();
bool success = DecodeHelper(bb_node, other_folder_node, mobile_folder_node,
@ -452,7 +453,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
*max_id = maximum_id_ + 1;
return success;
}
@@ -207,6 +214,7 @@ base::Value BookmarkCodec::EncodeMetaInfo(
@@ -190,6 +197,7 @@ base::Value BookmarkCodec::EncodeMetaInfo(
bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node,
@ -460,7 +461,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())
@@ -238,6 +246,12 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
@@ -221,6 +229,12 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
return false;
DecodeNode(*bb_value, nullptr, bb_node);
@ -473,7 +474,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);
@@ -508,11 +522,13 @@ void BookmarkCodec::DecodeMetaInfoHelper(
@@ -456,11 +470,13 @@ void BookmarkCodec::DecodeMetaInfoHelper(
void BookmarkCodec::ReassignIDs(BookmarkNode* bb_node,
BookmarkNode* other_node,
@ -491,15 +492,15 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmarks/browser/bookmark_codec.h
--- a/components/bookmarks/browser/bookmark_codec.h
+++ b/components/bookmarks/browser/bookmark_codec.h
@@ -49,6 +49,7 @@ class BookmarkCodec {
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 {
@@ -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 {
BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node,
@ -507,15 +508,15 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
int64_t* max_node_id,
std::string* sync_metadata_str);
@@ -113,6 +115,7 @@ class BookmarkCodec {
@@ -105,6 +107,7 @@ class BookmarkCodec {
// Allows the BookmarkClient to read and a write a string blob from the JSON
// file. That string captures the bookmarks sync metadata.
static const char kSyncMetadata[];
+ static const char kTabsBookmarkFolderNameKey[];
static const char kDateLastUsed[];
// Possible values for kTypeKey.
@@ -130,6 +133,7 @@ class BookmarkCodec {
static const char kTypeURL[];
@@ -121,6 +124,7 @@ class BookmarkCodec {
bool DecodeHelper(BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node,
@ -523,7 +524,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
const base::Value& value,
std::string* sync_metadata_str);
@@ -141,7 +145,8 @@ class BookmarkCodec {
@@ -132,7 +136,8 @@ class BookmarkCodec {
// Reassigns bookmark IDs for all nodes.
void ReassignIDs(BookmarkNode* bb_node,
BookmarkNode* other_node,
@ -558,7 +559,7 @@ 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_); }
@@ -110,6 +111,7 @@ class BookmarkLoadDetails {
@@ -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;
@ -569,7 +570,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
@@ -670,7 +670,7 @@ bool BookmarkModel::HasBookmarks() {
@@ -571,7 +571,7 @@ bool BookmarkModel::HasBookmarks() {
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return bookmark_bar_node_->children().empty() &&
@ -578,7 +579,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
}
bool BookmarkModel::IsBookmarked(const GURL& url) {
@@ -926,6 +926,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
@@ -825,6 +825,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
bookmark_bar_node_ = details->bb_node();
other_node_ = details->other_folder_node();
mobile_node_ = details->mobile_folder_node();
@ -589,7 +590,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
@@ -122,6 +122,12 @@ class BookmarkModel : public BookmarkUndoProvider,
@@ -121,6 +121,12 @@ class BookmarkModel : public BookmarkUndoProvider,
return mobile_node_;
}
@ -602,7 +603,7 @@ 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_;
@@ -445,6 +451,7 @@ class BookmarkModel : public BookmarkUndoProvider,
@@ -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;
@ -624,7 +625,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.cc b/components/bookmark
// static
const char BookmarkNode::kManagedNodeGuid[] =
"323123f4-9381-5aee-80e6-ea5fca2f7672";
@@ -275,6 +279,17 @@ BookmarkPermanentNode::CreateMobileBookmarks(int64_t id,
@@ -225,6 +229,17 @@ BookmarkPermanentNode::CreateMobileBookmarks(int64_t id,
visible_when_empty));
}
@ -661,7 +662,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.
@@ -270,6 +272,9 @@ class BookmarkPermanentNode : public BookmarkNode {
@@ -250,6 +252,9 @@ class BookmarkPermanentNode : public BookmarkNode {
static std::unique_ptr<BookmarkPermanentNode> CreateMobileBookmarks(
int64_t id,
bool visible_when_empty);
@ -674,7 +675,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
@@ -58,7 +58,8 @@ void LoadBookmarks(const base::FilePath& path,
@@ -57,7 +57,8 @@ void LoadBookmarks(const base::FilePath& path,
std::string sync_metadata_str;
BookmarkCodec codec;
codec.Decode(*root, details->bb_node(), details->other_folder_node(),
@ -687,7 +688,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
@@ -446,6 +446,7 @@ sync_pb::BookmarkSpecifics::Type GetProtoTypeFromBookmarkNode(
@@ -419,6 +419,7 @@ sync_pb::BookmarkSpecifics::Type GetProtoTypeFromBookmarkNode(
case bookmarks::BookmarkNode::BOOKMARK_BAR:
case bookmarks::BookmarkNode::OTHER_NODE:
case bookmarks::BookmarkNode::MOBILE:

View file

@ -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
---
.../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(+)
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(+)
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
@@ -51,6 +51,9 @@ found in the LICENSE file.
@@ -46,6 +46,9 @@
<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
@@ -108,6 +108,9 @@ found in the LICENSE file.
@@ -106,6 +106,9 @@
<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
@@ -2229,6 +2229,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2219,6 +2219,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
@@ -2445,6 +2445,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2417,6 +2417,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
@@ -543,6 +543,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -527,6 +527,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);
@@ -1242,6 +1243,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
stopPriceTrackingMenuItem.setVisible(false);
@@ -1157,6 +1158,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
stopPriceTrackingMenuItem.setVisible(false);
}
+ /**
@ -90,12 +90,8 @@ 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);
+ boolean visible = false;
+ if (currentTab != null) {
+ String url = currentTab.getUrl().getSpec();
+ visible = !url.isEmpty() && !url.startsWith("view-source:");
+ }
+ viewSourceMenuItem.setVisible(visible);
+ String url = currentTab.getUrl().getSpec();
+ viewSourceMenuItem.setVisible(!url.isEmpty() && !url.startsWith("view-source:"));
+ }
+
/**
@ -104,7 +100,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
@@ -228,6 +228,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -220,6 +220,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
updateRequestDesktopSiteMenuItem(
menu, currentTab, requestDesktopSiteVisible, isChromeScheme);

View file

@ -0,0 +1,191 @@
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

View file

@ -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
@@ -430,6 +430,7 @@ public final class ChromePreferenceKeys {
@@ -372,6 +372,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
@@ -67,6 +67,7 @@ public class LegacyChromePreferenceKeys {
@@ -66,6 +66,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
@@ -376,7 +376,7 @@ public class LocationBarCoordinator implements LocationBar, NativeInitObserver,
@@ -355,7 +355,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
@@ -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.">
@@ -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.">
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
@@ -138,22 +138,6 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
mToolbarContainer.setPostInitializationDependencies(mToolbar, constraintsSupplier,
tabSupplier, compositorInMotionSupplier,
browserStateBrowserControlsVisibilityDelegate, isVisible);
@@ -109,22 +109,6 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
public void setToolbar(Toolbar toolbar, boolean isIncognito) {
mToolbar = toolbar;
mToolbarContainer.setToolbar(mToolbar);
-
- 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
@@ -671,7 +671,7 @@ test("components_unittests") {
@@ -663,7 +663,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.
@ -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
@@ -36,6 +36,11 @@ found in the LICENSE file.
@@ -34,6 +34,11 @@
android:summary="@string/accessibility_tab_switcher_summary"
android:title="@string/accessibility_tab_switcher_title" />
@ -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
@@ -374,6 +374,8 @@ android_library("ui_no_recycler_view_java") {
@@ -369,6 +369,8 @@ android_library("ui_no_recycler_view_java") {
deps = [
":ui_java_resources",
":ui_utils_java",

View file

@ -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
@@ -45,6 +45,11 @@ found in the LICENSE file.
@@ -42,6 +42,11 @@
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
@@ -40,6 +40,7 @@ import androidx.lifecycle.LifecycleRegistry;
import org.chromium.base.BuildInfo;
@@ -38,6 +38,7 @@ import androidx.lifecycle.LifecycleRegistry;
import org.chromium.base.CallbackController;
import org.chromium.base.CommandLine;
+import org.chromium.base.ContextUtils;
import org.chromium.base.IntentUtils;
import org.chromium.base.Log;
import org.chromium.base.MemoryPressureListener;
@@ -1322,8 +1323,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1317,8 +1318,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;
@@ -15,6 +16,8 @@ import androidx.preference.Preference;
@@ -16,6 +17,8 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
@ -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;
@@ -67,6 +70,8 @@ public class PrivacySettings
SharedPreferencesManager.getInstance();
private final PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
@@ -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";
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
+
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
@@ -132,7 +137,11 @@ public class PrivacySettings
private ViewGroup mDialogContainer;
@@ -128,7 +133,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)) {
@@ -176,6 +185,11 @@ public class PrivacySettings
@@ -169,6 +178,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
@@ -4420,6 +4420,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4437,6 +4437,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>

View file

@ -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
@@ -14,6 +14,11 @@ found in the LICENSE file.
@@ -12,6 +12,11 @@
android:summaryOn="@string/text_on"
android:summaryOff="@string/text_off" />
@ -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
@@ -441,6 +441,7 @@ public final class ChromePreferenceKeys {
@@ -383,6 +383,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
@@ -72,6 +72,7 @@ public class LegacyChromePreferenceKeys {
@@ -71,6 +71,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.LEGACY_FIRST_RUN_AND_BACKUP_SIGNIN_COMPLETE,
ChromePreferenceKeys.LOCALE_MANAGER_AUTO_SWITCH,
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
@@ -1254,6 +1254,9 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1248,6 +1248,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>
@ -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
@@ -388,6 +388,7 @@ extern const char kRestrictedManagedGuestSessionExtensionCleanupExemptList[];
@@ -373,6 +373,7 @@ extern const char kSettingsShowOSBanner[];
extern const char kUsedPolicyCertificates[];
#endif // BUILDFLAG(IS_CHROMEOS)
extern const char kShowHomeButton[];

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
@@ -142,6 +142,7 @@
@@ -138,6 +138,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"
@@ -9174,6 +9175,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8669,6 +8670,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
@@ -3461,6 +3461,11 @@ const char kSkipServiceWorkerFetchHandlerDescription[] =
"Skips starting the service worker and run the fetch handler if the fetch "
"handler is recognized as skippable.";
@@ -3221,6 +3221,11 @@ const char kReduceUserAgentPlatformOsCpuDescription[] =
"The platform and oscpu in the User-Agent string will be reported as "
"<unifiedPlatform>";
+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
@@ -1975,6 +1975,9 @@ extern const char kReduceUserAgentPlatformOsCpuDescription[];
extern const char kSkipServiceWorkerFetchHandlerName[];
extern const char kSkipServiceWorkerFetchHandlerDescription[];
@@ -1825,6 +1825,9 @@ extern const char kReduceUserAgentMinorVersionDescription[];
extern const char kReduceUserAgentPlatformOsCpuName[];
extern const char kReduceUserAgentPlatformOsCpuDescription[];
+extern const char kSiteEngagementName[];
+extern const char kSiteEngagementDescription[];

View file

@ -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
@@ -66,6 +66,7 @@ import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFacto
@@ -67,6 +67,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;
@@ -329,9 +330,13 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -333,9 +334,13 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
finish();
return true;
} else if (item.getItemId() == R.id.menu_id_general_help) {

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
@@ -92,6 +92,9 @@ android_library("java") {
@@ -79,6 +79,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" formatter_data="android_java">
<message name="IDS_GOT_IT" desc="Button for the user to accept a disclosure/message">
Got it
diff --git a/components/browser_ui/strings/android/webgl.grdp b/components/browser_ui/strings/android/webgl.grdp
new file mode 100644
@ -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" />
<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
@@ -669,6 +669,20 @@ void ContentSettingsRegistry::Init() {
@@ -679,6 +679,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::TOP_ORIGIN_ONLY_SCOPE,
+ WebsiteSettingsInfo::SINGLE_ORIGIN_WITH_EMBEDDED_EXCEPTIONS_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
@@ -156,6 +156,8 @@ void GetRendererContentSettingRules(const HostContentSettingsMap* map,
@@ -155,6 +155,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
@@ -206,7 +206,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
@@ -205,7 +205,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(
@@ -218,6 +219,7 @@ void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
@@ -217,6 +218,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
@@ -96,6 +96,7 @@ struct RendererContentSettingRules {
@@ -97,6 +97,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
@@ -105,7 +105,8 @@ bool StructTraits<content_settings::mojom::RendererContentSettingRulesDataView,
@@ -104,7 +104,8 @@ bool StructTraits<content_settings::mojom::RendererContentSettingRulesDataView,
data.ReadMixedContentRules(&out->mixed_content_rules) &&
data.ReadAutoDarkContentRules(&out->auto_dark_content_rules) &&
data.ReadTimezoneOverrideRules(&out->timezone_override_rules) &&
@ -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
@@ -277,6 +277,8 @@ enum class ContentSettingsType : int32_t {
@@ -280,6 +280,8 @@ enum class ContentSettingsType : int32_t {
// site instead of the mobile one.
REQUEST_DESKTOP_SITE,
@ -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
@@ -96,6 +96,7 @@ class SecurityOrigin;
@@ -97,6 +97,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,
@@ -104,6 +105,10 @@ enum ReasonForCallingCanExecuteScripts {
@@ -105,6 +106,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
@@ -246,6 +246,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
@@ -244,6 +244,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_);
@@ -492,25 +499,6 @@ static String ExtractWebGLContextCreationError(
@@ -490,25 +497,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('.');
@@ -578,6 +566,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
@@ -576,6 +564,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
@@ -1920,6 +1920,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
@@ -1808,6 +1808,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
DOMArrayBufferView* pixels,
int64_t offset);

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 | 6 ++
19 files changed, 161 insertions(+), 4 deletions(-)
.../peer_connection_dependency_factory.cc | 5 ++
19 files changed, 160 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
@@ -95,6 +95,9 @@ android_library("java") {
@@ -82,6 +82,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" formatter_data="android_java">
<message name="IDS_GOT_IT" desc="Button for the user to accept a disclosure/message">
Got it
diff --git a/components/browser_ui/strings/android/webrtc.grdp b/components/browser_ui/strings/android/webrtc.grdp
new file mode 100644
@ -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
@@ -683,6 +683,20 @@ void ContentSettingsRegistry::Init() {
@@ -693,6 +693,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::TOP_ORIGIN_ONLY_SCOPE,
+ WebsiteSettingsInfo::SINGLE_ORIGIN_WITH_EMBEDDED_EXCEPTIONS_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
@@ -158,6 +158,8 @@ void GetRendererContentSettingRules(const HostContentSettingsMap* map,
@@ -157,6 +157,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
@@ -207,7 +207,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
@@ -206,7 +206,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(
@@ -220,6 +221,7 @@ void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
@@ -219,6 +220,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
@@ -97,6 +97,7 @@ struct RendererContentSettingRules {
@@ -98,6 +98,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
@@ -106,7 +106,8 @@ bool StructTraits<content_settings::mojom::RendererContentSettingRulesDataView,
@@ -105,7 +105,8 @@ bool StructTraits<content_settings::mojom::RendererContentSettingRulesDataView,
data.ReadAutoDarkContentRules(&out->auto_dark_content_rules) &&
data.ReadTimezoneOverrideRules(&out->timezone_override_rules) &&
data.ReadTimezoneOverrideValue(&out->timezone_override_value) &&
@ -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
@@ -279,6 +279,8 @@ enum class ContentSettingsType : int32_t {
@@ -282,6 +282,8 @@ enum class ContentSettingsType : int32_t {
WEBGL,
@ -377,15 +377,7 @@ 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
@@ -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"
@@ -765,6 +766,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
@@ -758,6 +758,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
// origin.
WebRTCIPHandlingPolicy policy =
GetWebRTCIPHandlingPolicy(webrtc_ip_handling_policy);

View file

@ -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 ++
.../cross_origin_embedder_policy_reporter.cc | 7 +++++--
.../cross_origin_opener_policy_reporter.cc | 16 +++++++---------
.../browser/network/reporting_service_proxy.cc | 3 +++
.../net/cross_origin_embedder_policy_reporter.cc | 4 +++-
.../net/cross_origin_opener_policy_reporter.cc | 16 +++++++---------
content/browser/net/reporting_service_proxy.cc | 3 +++
.../renderer_host/render_frame_host_impl.cc | 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, 50 insertions(+), 25 deletions(-)
15 files changed, 48 insertions(+), 24 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
@@ -1291,6 +1291,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) {
@@ -1289,6 +1289,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;
@@ -1308,6 +1309,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
@@ -1306,6 +1307,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
}
return urls;
}
@ -40,48 +40,38 @@ diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/brow
} // namespace
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
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
@@ -4,6 +4,7 @@
#include "content/browser/network/cross_origin_embedder_policy_reporter.h"
#include "content/browser/net/cross_origin_embedder_policy_reporter.h"
+#include "net/base/features.h"
#include "base/strings/string_piece.h"
#include "base/values.h"
#include "content/public/browser/storage_partition.h"
@@ -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(
@@ -112,6 +113,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
kType, context_url_, blink::mojom::ReportBody::New(std::move(list))));
}
+#if BUILDFLAG(ENABLE_REPORTING)
+ const absl::optional<std::string>& endpoint =
+ report_only ? report_only_endpoint_ : endpoint_;
if (endpoint) {
+#if BUILDFLAG(ENABLE_REPORTING)
base::Value::Dict body_to_pass;
for (const auto& pair : body) {
@@ -125,6 +127,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
body_to_pass.Set(pair.first, pair.second);
@@ -123,7 +125,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
kType, *endpoint, context_url_, reporting_source_,
network_isolation_key_,
/*user_agent=*/absl::nullopt, std::move(body_to_pass));
}
}
- }
+#endif
}
}
} // 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 @@
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 @@
#include "services/network/public/mojom/network_context.mojom.h"
#include "services/network/public/mojom/source_location.mojom.h"
#include "url/origin.h"
@ -108,7 +98,7 @@ diff --git a/content/browser/network/cross_origin_opener_policy_reporter.cc b/co
constexpr char kType[] = "type";
// Report attribute values:
@@ -45,6 +37,7 @@ constexpr char kDispositionReporting[] = "reporting";
@@ -44,6 +36,7 @@ constexpr char kDispositionReporting[] = "reporting";
constexpr char kTypeFromResponse[] = "navigation-from-response";
constexpr char kTypeToResponse[] = "navigation-to-response";
@ -116,7 +106,7 @@ diff --git a/content/browser/network/cross_origin_opener_policy_reporter.cc b/co
std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
switch (coop_value) {
case network::mojom::CrossOriginOpenerPolicyValue::kUnsafeNone:
@@ -62,6 +55,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
@@ -61,6 +54,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
return "restrict-properties-plus-coep";
}
}
@ -124,7 +114,7 @@ diff --git a/content/browser/network/cross_origin_opener_policy_reporter.cc b/co
FrameTreeNode* TopLevelOpener(FrameTreeNode* frame) {
FrameTreeNode* opener =
@@ -233,6 +227,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
@@ -232,6 +226,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
network::mojom::SourceLocationPtr source_location,
const std::string& reported_window_url,
const std::string& initial_popup_url) const {
@ -132,10 +122,10 @@ diff --git a/content/browser/network/cross_origin_opener_policy_reporter.cc b/co
// Cross-Origin-Opener-Policy-Report-Only is not required to provide
// endpoints.
if (!coop_.report_only_reporting_endpoint)
@@ -280,12 +275,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
@@ -279,12 +274,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
storage_partition_->GetNetworkContext()->QueueReport(
"coop", endpoint, context_url_, reporting_source_,
network_anonymization_key_, absl::nullopt, std::move(body));
"coop", endpoint, context_url_, reporting_source_, network_isolation_key_,
absl::nullopt, std::move(body));
+#endif
}
@ -147,17 +137,17 @@ diff --git a/content/browser/network/cross_origin_opener_policy_reporter.cc b/co
body.Set(kDisposition,
is_report_only ? kDispositionReporting : kDispositionEnforce);
body.Set(kEffectivePolicy,
@@ -294,6 +291,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
"coop", endpoint, context_url_, reporting_source_,
network_anonymization_key_,
@@ -292,6 +289,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
storage_partition_->GetNetworkContext()->QueueReport(
"coop", endpoint, context_url_, reporting_source_, network_isolation_key_,
/*user_agent=*/absl::nullopt, std::move(body));
+#endif
}
} // namespace content
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
diff --git a/content/browser/net/reporting_service_proxy.cc b/content/browser/net/reporting_service_proxy.cc
--- a/content/browser/net/reporting_service_proxy.cc
+++ b/content/browser/net/reporting_service_proxy.cc
@@ -11,6 +11,7 @@
#include "base/memory/ref_counted.h"
#include "base/unguessable_token.h"
@ -175,7 +165,7 @@ diff --git a/content/browser/network/reporting_service_proxy.cc b/content/browse
if (!rph)
return;
rph->GetStoragePartition()->GetNetworkContext()->QueueReport(
type, group, url, reporting_source_, network_anonymization_key_,
type, group, url, reporting_source_, network_isolation_key_,
/*user_agent=*/absl::nullopt, std::move(body));
+#endif
}
@ -184,7 +174,7 @@ diff --git a/content/browser/network/reporting_service_proxy.cc b/content/browse
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
@@ -12373,12 +12373,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
@@ -12081,12 +12081,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
base::Value::Dict body;
if (!reason.empty())
body.Set("reason", reason);
@ -192,7 +182,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_anonymization_key(),
- GetReportingSource(), isolation_info_.network_isolation_key(),
- absl::nullopt /* user_agent */, std::move(body));
}
@ -203,7 +193,7 @@ diff --git a/content/browser/web_package/signed_exchange_reporter.cc b/content/b
@@ -127,6 +127,7 @@ bool ShouldDowngradeReport(const char* result_string,
void ReportResult(int frame_tree_node_id,
network::mojom::SignedExchangeReportPtr report,
const net::NetworkAnonymizationKey& network_isolation_key) {
const net::NetworkIsolationKey& network_isolation_key) {
+#if BUILDFLAG(ENABLE_REPORTING)
FrameTreeNode* frame_tree_node =
FrameTreeNode::GloballyFindByID(frame_tree_node_id);
@ -219,7 +209,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
@@ -8,6 +8,7 @@
@@ -7,6 +7,7 @@
#include "content/public/common/content_features.h"
#include "content/public/common/content_switches.h"
#include "net/base/features.h"
@ -230,7 +220,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
@@ -211,6 +211,12 @@ class ReportingServiceImpl : public ReportingService {
@@ -208,6 +208,12 @@ class ReportingServiceImpl : public ReportingService {
base::Value::Dict body,
int depth,
base::TimeTicks queued_ticks) {
@ -242,27 +232,27 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic
+#endif
DCHECK(initialized_);
context_->cache()->AddReport(
reporting_source, network_anonymization_key, sanitized_url, user_agent,
reporting_source, network_isolation_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
@@ -461,10 +461,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -454,10 +454,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
const absl::optional<base::UnguessableToken>& reporting_source,
const net::NetworkAnonymizationKey& network_anonymization_key,
const net::NetworkIsolationKey& network_isolation_key,
const absl::optional<std::string>& user_agent,
- base::Value::Dict body) override;
+ base::Value::Dict body);
void QueueSignedExchangeReport(
mojom::SignedExchangeReportPtr report,
- const net::NetworkAnonymizationKey& network_anonymization_key) override;
+ const net::NetworkAnonymizationKey& network_anonymization_key);
- const net::NetworkIsolationKey& network_isolation_key) override;
+ const net::NetworkIsolationKey& network_isolation_key);
void AddDomainReliabilityContextForTesting(
const url::Origin& origin,
const GURL& origin,
const GURL& upload_url,
diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn
--- a/services/network/public/mojom/BUILD.gn
+++ b/services/network/public/mojom/BUILD.gn
@@ -1120,7 +1120,6 @@ mojom("mojom") {
@@ -965,7 +965,6 @@ mojom("mojom") {
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/blink/public/platform/web_common.h"
if (enable_reporting) {
@ -273,7 +263,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
@@ -1064,6 +1064,7 @@ interface NetworkContext {
@@ -1059,6 +1059,7 @@ interface NetworkContext {
// provided |network_isolation_key|.
//
// Spec: https://w3c.github.io/reporting/#concept-reports
@ -281,13 +271,13 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
QueueReport(string type,
string group,
url.mojom.Url url,
@@ -1077,6 +1078,7 @@ interface NetworkContext {
@@ -1072,6 +1073,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,
NetworkAnonymizationKey network_anonymization_key);
NetworkIsolationKey network_isolation_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
@ -300,7 +290,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"
@@ -2307,9 +2308,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
@@ -2382,9 +2383,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
return base::UnguessableToken::Null();
}
@ -326,7 +316,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"
@@ -593,9 +593,9 @@ class CORE_EXPORT LocalFrame final
@@ -576,9 +576,9 @@ class CORE_EXPORT LocalFrame final
}
SmoothScrollSequencer& GetSmoothScrollSequencer();

View file

@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -1226,6 +1226,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
@@ -1218,6 +1218,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
return pipeline_metadata_.has_audio;
}
@ -24,7 +24,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
void WebMediaPlayerImpl::EnabledAudioTracksChanged(
const WebVector<WebMediaPlayer::TrackId>& enabledTrackIds) {
DCHECK(main_task_runner_->BelongsToCurrentThread());
@@ -3627,7 +3633,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
@@ -3612,7 +3618,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
// Audio only stream is allowed to play when in background.
// TODO: We should check IsBackgroundOptimizationCandidate here. But we need
// to move the logic of checking video frames out of that function.
@ -40,7 +40,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
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
@@ -195,6 +195,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl
@@ -192,6 +192,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl
bool HasVideo() const override;
bool HasAudio() const override;

View file

@ -0,0 +1,25 @@
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

View file

@ -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
@@ -508,7 +508,9 @@ double AudioContext::baseLatency() const {
@@ -497,7 +497,9 @@ double AudioContext::baseLatency() const {
DCHECK(IsMainThread());
DCHECK(destination());

File diff suppressed because one or more lines are too long

View file

@ -23,7 +23,7 @@ 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
@@ -693,4 +693,20 @@ bool ExecutionContext::RequireTrustedTypes() const {
@@ -674,4 +674,20 @@ bool ExecutionContext::RequireTrustedTypes() const {
return require_safe_types_;
}
@ -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
@@ -396,6 +396,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
@@ -386,6 +386,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
@@ -552,6 +552,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
@@ -528,6 +528,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
@@ -168,6 +168,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
@@ -166,6 +166,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,
network::mojom::blink::IPAddressSpace target_address_space,
const absl::optional<ResourceRequest::RedirectInfo>& redirect_info,
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
@@ -62,6 +62,7 @@ class WorkerFetchContext final : public BaseFetchContext {
@@ -61,6 +61,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,
network::mojom::blink::IPAddressSpace target_address_space,
const absl::optional<ResourceRequest::RedirectInfo>& redirect_info,
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
@@ -102,6 +102,30 @@ bool ShouldBlockDanglingMarkup(const KURL& request_url) {
@@ -101,6 +101,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) {
@@ -221,6 +245,13 @@ ScriptPromise BackgroundFetchManager::fetch(
@@ -220,6 +244,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
@@ -276,6 +276,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) {
@@ -274,6 +274,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) {
return false;
}

View file

@ -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
@@ -22,6 +22,7 @@ bool CanAddURLToHistory(const GURL& url) {
@@ -21,6 +21,7 @@ bool CanAddURLToHistory(const GURL& url) {
url.SchemeIs(content::kChromeDevToolsScheme) ||
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);
}
@@ -573,7 +578,8 @@ void AutocompleteInput::ParseForEmphasizeComponents(
@@ -571,7 +576,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
@@ -563,6 +563,10 @@ GURL FixupURL(const std::string& text, const std::string& desired_tld) {
@@ -562,6 +562,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
@@ -756,6 +756,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
@@ -755,6 +755,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
@@ -1030,6 +1030,8 @@ component("net") {
@@ -1020,6 +1020,8 @@ component("net") {
"url_request/url_request_http_job.cc",
"url_request/url_request_http_job.h",
"url_request/url_request_interceptor.cc",
@ -212,7 +212,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
using base::Time;
using std::string;
@@ -597,6 +599,12 @@ URLRequest::URLRequest(const GURL& url,
@@ -587,6 +589,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
@@ -48,6 +48,7 @@
@@ -47,6 +47,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"
#include "net/url_request/url_request_throttler_manager.h"
@@ -571,6 +572,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
@@ -631,6 +632,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();
context->set_job_factory(std::move(job_factory));
storage->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
@@ -46,6 +46,7 @@ struct SchemeRegistry {
@@ -45,6 +45,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
@@ -89,6 +90,7 @@ struct SchemeRegistry {
@@ -88,6 +89,7 @@ struct SchemeRegistry {
kAboutScheme,
kJavaScriptScheme,
kDataScheme,

View file

@ -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
@@ -23,6 +23,13 @@ found in the LICENSE file.
@@ -21,6 +21,13 @@
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
@@ -27,6 +27,7 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectableListT
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
@@ -31,6 +31,7 @@ import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.url.GURL;
import java.util.List;
+import java.util.HashSet;
/**
* Main action bar of bookmark UI. It is responsible for displaying title and buttons
@@ -132,6 +133,17 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
/*openInNewTab=*/true, /*incognito=*/true);
@@ -136,6 +137,17 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
new TabDelegate(true), mDelegate.getModel());
selectionDelegate.clearSelection();
return true;
+ } else if (menuItem.getItemId() == R.id.select_all_menu_id) {
@ -55,7 +55,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
assert false : "Unhandled menu click.";
@@ -141,6 +153,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -145,6 +157,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);
@@ -152,6 +165,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -156,6 +169,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);
@@ -183,6 +197,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -187,6 +201,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@Override
public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);

View file

@ -1,6 +1,6 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 14 Sep 2019 10:20:08 +0200
Subject: Bromite subresource adblocker
Subject: Bromite AdBlockUpdaterService
Add option to configure the ad blocker filters URL
Disable look-alike, metrics, ablation and navigation throttles
@ -8,7 +8,6 @@ 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
---
@ -50,8 +49,7 @@ 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 -
third_party/blink/common/features.cc | 12 +-
39 files changed, 1166 insertions(+), 135 deletions(-)
38 files changed, 1160 insertions(+), 129 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
@ -64,26 +62,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
@@ -372,6 +372,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",
@@ -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",
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
@@ -447,6 +447,7 @@ chrome_java_resources = [
@@ -452,6 +452,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",
@@ -641,6 +642,7 @@ chrome_java_resources = [
@@ -645,6 +646,7 @@ chrome_java_resources = [
"java/res/values/values.xml",
"java/res/xml/about_chrome_preferences.xml",
"java/res/xml/account_management_preferences.xml",
@ -94,15 +92,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
@@ -907,6 +907,8 @@ chrome_java_sources = [
@@ -899,6 +899,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
@ -178,7 +176,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
@@ -180,6 +180,24 @@ found in the LICENSE file.
@@ -178,6 +178,24 @@
</item>
</style>
@ -206,7 +204,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
@@ -27,6 +27,8 @@ found in the LICENSE file.
@@ -25,6 +25,8 @@
<!-- Compositor Tab Title Text -->
<bool name="compositor_tab_title_fake_bold_text">true</bool>
@ -248,7 +246,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
@@ -44,6 +44,11 @@ found in the LICENSE file.
@@ -42,6 +42,11 @@
android:key="privacy"
android:order="10"
android:title="@string/prefs_privacy_security"/>
@ -425,7 +423,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
@@ -705,7 +705,7 @@ public class TabModelImpl extends TabModelJniBridge {
@@ -693,7 +693,7 @@ public class TabModelImpl extends TabModelJniBridge {
protected boolean createTabWithWebContents(
Tab parent, Profile profile, WebContents webContents) {
return getTabCreator(profile.isOffTheRecord())
@ -437,7 +435,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
@@ -12468,6 +12468,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
@@ -12074,6 +12074,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
Never show this again.
</message>
@ -508,7 +506,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
@@ -1071,6 +1071,26 @@ BrowserProcessImpl::component_updater() {
@@ -1077,6 +1077,26 @@ BrowserProcessImpl::component_updater() {
return component_updater_.get();
}
@ -546,7 +544,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;
@@ -375,6 +376,7 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -372,6 +373,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_;
@ -557,16 +555,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
@@ -415,6 +415,9 @@ StartupProfileInfo CreateInitialProfile(
// missing code in the above test.
CHECK(profile_info.profile) << "Cannot get default profile.";
@@ -1746,6 +1746,9 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// will be initialized when the app enters foreground mode.
variations_service->set_policy_pref_service(profile->GetPrefs());
+ // force AdBlock updater initialisation
+ g_browser_process->adblock_updater();
+
#else
#if BUILDFLAG(IS_CHROMEOS_LACROS)
// Lacros has a special "primary" profile that is tied to the active ChromeOS
// We are in regular browser boot sequence. Open initial tabs and enter the
// main message loop.
diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/browser/flags/android/cached_feature_flags.cc
--- a/chrome/browser/flags/android/cached_feature_flags.cc
+++ b/chrome/browser/flags/android/cached_feature_flags.cc
@ -595,7 +593,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
@@ -278,6 +278,14 @@ public class CachedFeatureFlags {
@@ -267,6 +267,14 @@ public class CachedFeatureFlags {
ChromeFeatureList.isEnabled(ChromeFeatureList.BACKGROUND_THREAD_POOL));
}
@ -610,7 +608,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.
*/
@@ -524,5 +532,7 @@ public class CachedFeatureFlags {
@@ -513,5 +521,7 @@ public class CachedFeatureFlags {
@NativeMethods
interface Natives {
boolean isNetworkServiceWarmUpEnabled();
@ -621,7 +619,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
@@ -421,6 +421,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
@@ -449,6 +449,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
ssl_config_service_manager_(local_state_),
proxy_config_monitor_(local_state_),
stub_resolver_config_reader_(local_state_) {
@ -630,7 +628,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 =
@@ -499,6 +501,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
@@ -529,6 +531,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
StubResolverConfigReader::RegisterPrefs(registry);
@ -680,7 +678,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
@@ -2383,6 +2383,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
@@ -2306,6 +2306,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
// capture devices without prompt.
const char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls";
@ -704,7 +702,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
@@ -303,8 +303,8 @@
@@ -262,8 +262,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>
@ -1157,8 +1155,8 @@ new file mode 100644
+
+namespace adblock_updater {
+
+// maximum 20MB for the filters file
+const int kMaxBodySize = 1024 * 1024 * 20;
+// maximum 10MB for the filters file
+const int kMaxBodySize = 1024 * 1024 * 10;
+
+const int kMaxRetriesOnNetworkChange = 3;
+
@ -1487,7 +1485,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
@@ -667,6 +667,17 @@ ContentSubresourceFilterThrottleManager::
@@ -666,6 +666,17 @@ ContentSubresourceFilterThrottleManager::
throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
ad_tagging_state);
}
@ -1682,7 +1680,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
@@ -54,72 +54,7 @@ class CommaSeparatedStrings {
@@ -55,72 +55,7 @@ class CommaSeparatedStrings {
const std::vector<base::StringPiece> pieces_;
};
@ -1756,7 +1754,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 {
@@ -127,23 +62,16 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
@@ -128,23 +63,16 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
bool enabled_by_default;
Configuration (*factory_method)();
} kAvailablePresetConfigurations[] = {
@ -1782,7 +1780,7 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
enabled_configurations.push_back(available_preset.factory_method());
}
}
@@ -151,46 +79,10 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
@@ -152,46 +80,10 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
return enabled_configurations;
}
@ -1856,7 +1854,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
@@ -190,11 +190,6 @@ void NavigationThrottleRunner::RegisterNavigationThrottles() {
@@ -182,11 +182,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));
@ -1868,41 +1866,5 @@ 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
@@ -28,8 +28,8 @@ BASE_FEATURE(kAnonymousIframeOriginTrial,
// 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
@@ -49,8 +49,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
@@ -72,8 +72,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

View file

@ -3,7 +3,6 @@ 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
@ -25,13 +24,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 | 5 +
.../flags/android/chrome_feature_list.cc | 4 +
.../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, 897 insertions(+), 53 deletions(-)
23 files changed, 896 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
@ -50,7 +49,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
@@ -2242,6 +2242,9 @@ if (enable_java_templates) {
@@ -2153,6 +2153,9 @@ if (enable_java_templates) {
if (defined(testonly) && testonly) {
defines += [ "_IS_FOR_TEST" ]
}
@ -63,7 +62,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
@@ -812,6 +812,9 @@ chrome_java_sources = [
@@ -802,6 +802,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",
@ -76,7 +75,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
@@ -9,6 +9,11 @@ found in the LICENSE file.
@@ -7,6 +7,11 @@
<Preference
android:key="application_version"
android:title="@string/application_version_title" />
@ -729,7 +728,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
@@ -48,7 +48,8 @@ public class VersionNumberGetter {
@@ -42,7 +42,8 @@ public class VersionNumberGetter {
private static VersionNumberGetter sInstanceForTests;
/** If false, OmahaClient will never report that a newer version is available. */
@ -1251,7 +1250,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
@@ -251,6 +251,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -261,6 +261,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kNewWindowAppMenu,
&kNotificationPermissionVariant,
&kPageAnnotationsService,
@ -1259,35 +1258,34 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kBookmarksImprovedSaveFlow,
&kBookmarksRefresh,
&kBackGestureRefactorAndroid,
@@ -693,6 +694,10 @@ BASE_FEATURE(kContextMenuTranslateWithGoogleLens,
"ContextMenuTranslateWithGoogleLens",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -709,6 +710,9 @@ const base::Feature kIncognitoReauthenticationForAndroid{
const base::Feature kIncognitoScreenshot{"IncognitoScreenshot",
base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kInlineUpdateFlow,
+ "InlineUpdateFlow",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+const base::Feature kInlineUpdateFlow{"InlineUpdateFlow",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+
BASE_FEATURE(kLensCameraAssistedSearch,
"LensCameraAssistedSearch",
base::FEATURE_ENABLED_BY_DEFAULT);
const base::Feature kInstantStart{"InstantStart",
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
@@ -91,6 +91,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);
@@ -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;
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
@@ -385,6 +385,7 @@ public abstract class ChromeFeatureList {
@@ -379,6 +379,7 @@ public abstract class ChromeFeatureList {
public static final String INCOGNITO_REAUTHENTICATION_FOR_ANDROID =
"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";
@ -1295,7 +1293,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
@@ -1837,6 +1837,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1887,6 +1887,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>
@ -1308,7 +1306,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]">
@@ -3453,7 +3459,10 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3492,7 +3498,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]">
@ -1320,7 +1318,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
@@ -3464,6 +3473,18 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3503,6 +3512,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>
@ -1342,9 +1340,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
@@ -17,6 +17,11 @@
@@ -15,6 +15,11 @@
#include "services/network/public/cpp/shared_url_loader_factory.h"
#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"
@ -1354,7 +1352,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";
@@ -61,6 +66,7 @@ EndpointFetcher::EndpointFetcher(
@@ -59,6 +64,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
@ -1362,7 +1360,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
post_data_(post_data),
headers_(headers),
annotation_tag_(annotation_tag),
@@ -78,6 +84,7 @@ EndpointFetcher::EndpointFetcher(
@@ -76,6 +82,7 @@ EndpointFetcher::EndpointFetcher(
http_method_("GET"),
content_type_(std::string()),
timeout_ms_(0),
@ -1370,7 +1368,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),
@@ -101,6 +108,7 @@ EndpointFetcher::EndpointFetcher(
@@ -99,6 +106,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
@ -1378,7 +1376,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),
@@ -127,6 +135,7 @@ EndpointFetcher::EndpointFetcher(
@@ -125,6 +133,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
@ -1386,7 +1384,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),
@@ -138,10 +147,28 @@ EndpointFetcher::EndpointFetcher(
@@ -136,10 +145,28 @@ EndpointFetcher::EndpointFetcher(
EndpointFetcher::EndpointFetcher(
const net::NetworkTrafficAnnotationTag& annotation_tag)
: timeout_ms_(kDefaultTimeOutMs),
@ -1415,7 +1413,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
EndpointFetcher::~EndpointFetcher() = default;
void EndpointFetcher::Fetch(EndpointFetcherCallback endpoint_fetcher_callback) {
@@ -198,6 +225,8 @@ void EndpointFetcher::PerformRequest(
@@ -192,6 +219,8 @@ void EndpointFetcher::PerformRequest(
resource_request->method = http_method_;
resource_request->url = url_;
resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit;
@ -1424,7 +1422,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_);
}
@@ -228,25 +257,52 @@ void EndpointFetcher::PerformRequest(
@@ -222,25 +251,52 @@ void EndpointFetcher::PerformRequest(
default:
break;
}
@ -1483,7 +1481,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
}
void EndpointFetcher::OnResponseFetched(
@@ -315,3 +371,37 @@ void EndpointFetcher::OnSanitizationResult(
@@ -293,3 +349,37 @@ void EndpointFetcher::OnSanitizationResult(
std::string EndpointFetcher::GetUrlForTesting() {
return url_.spec();
}
@ -1524,25 +1522,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
@@ -16,6 +16,8 @@
@@ -15,6 +15,8 @@
#include "components/signin/public/identity_manager/scope_set.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
#include "services/data_decoder/public/cpp/json_sanitizer.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
+#include "services/network/public/cpp/resource_request.h"
+#include "services/network/public/mojom/url_response_head.mojom.h"
namespace network {
struct ResourceRequest;
@@ -38,6 +40,8 @@ enum class FetchErrorType {
@@ -31,6 +33,8 @@ class GURL;
struct EndpointResponse {
std::string response;
+ long last_modified;
+ std::string redirect_url;
int http_status_code{-1};
absl::optional<FetchErrorType> error_type;
// TODO(crbug.com/993393) Add more detailed error messaging
};
@@ -90,6 +94,14 @@ class EndpointFetcher {
@@ -82,6 +86,14 @@ class EndpointFetcher {
const GURL& url,
const net::NetworkTrafficAnnotationTag& annotation_tag);
@ -1557,9 +1555,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(
@@ -144,6 +156,10 @@ class EndpointFetcher {
void OnSanitizationResult(std::unique_ptr<EndpointResponse> response,
EndpointFetcherCallback endpoint_fetcher_callback,
@@ -135,6 +147,10 @@ class EndpointFetcher {
std::unique_ptr<std::string> response_body);
void OnSanitizationResult(EndpointFetcherCallback endpoint_fetcher_callback,
data_decoder::JsonSanitizer::Result result);
+ void OnURLLoadComplete(scoped_refptr<net::HttpResponseHeaders> headers);
+ void OnSimpleLoaderRedirect(const net::RedirectInfo& redirect_info,
@ -1568,7 +1566,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
enum AuthType { CHROME_API_KEY, OAUTH, NO_AUTH };
AuthType auth_type_;
@@ -151,10 +167,11 @@ class EndpointFetcher {
@@ -142,10 +158,11 @@ class EndpointFetcher {
// Members set in constructor to be passed to network::ResourceRequest or
// network::SimpleURLLoader.
const std::string oauth_consumer_name_;
@ -1581,7 +1579,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_;
@@ -172,6 +189,9 @@ class EndpointFetcher {
@@ -163,6 +180,9 @@ class EndpointFetcher {
access_token_fetcher_;
std::unique_ptr<network::SimpleURLLoader> simple_url_loader_;

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
@@ -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"
@@ -46,7 +46,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) {
assert(current_toolchain != android_secondary_abi_toolchain)
}
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") {
-_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
--
2.25.1

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
@@ -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"
@@ -46,7 +46,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) {
assert(current_toolchain != android_secondary_abi_toolchain)
}
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") {
-_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
--
2.25.1

View file

@ -1,40 +0,0 @@
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

View file

@ -3,24 +3,40 @@ Date: Thu, 22 Jul 2021 23:10:52 +0200
Subject: Client hints overrides
Disable critical client hints
Use Google Chrome branding for client hints
Hard-code model to SAMSUNG SM-G960U
use Google Chrome branding for client hints
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
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(-)
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(-)
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
@@ -265,9 +265,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList(
@@ -253,9 +253,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList(
bool parse_result = base::StringToInt(major_version, &major_version_number);
DCHECK(parse_result);
absl::optional<std::string> brand;
@ -34,8 +50,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
@@ -478,7 +478,8 @@ void AddPrefersReducedMotionHeader(net::HttpRequestHeaders* headers,
: network::kPrefersReducedMotionNoPreference);
@@ -433,7 +433,8 @@ void AddPrefersColorSchemeHeader(net::HttpRequestHeaders* headers,
is_dark_mode ? "dark" : "light");
}
-bool IsValidURLForClientHints(const url::Origin& origin) {
@ -47,7 +63,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
@@ -1024,6 +1024,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
@@ -1034,6 +1034,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
return;
}
@ -59,24 +75,41 @@ 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
@@ -247,8 +247,8 @@ BASE_FEATURE(kCrashReporting,
@@ -233,7 +233,7 @@ const base::Feature kCrashReporting{"CrashReporting",
// Enables support for the `Critical-CH` response header.
// https://github.com/WICG/client-hints-infrastructure/blob/master/reliability.md#critical-ch
BASE_FEATURE(kCriticalClientHint,
- "CriticalClientHint",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "CriticalClientHint", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kCriticalClientHint{"CriticalClientHint",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Enable debugging the issue crbug.com/1201355
BASE_FEATURE(kDebugHistoryInterventionNoUserActivation,
const 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
@@ -105,6 +105,7 @@ const DecodeMap& GetDecodeMap() {
@@ -97,6 +97,7 @@ const DecodeMap& GetDecodeMap() {
absl::optional<std::vector<network::mojom::WebClientHintsType>>
ParseClientHintsHeader(const std::string& header) {
@ -87,19 +120,21 @@ 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
@@ -197,7 +197,7 @@ BASE_FEATURE(kWebSocketReassembleShortMessages,
@@ -179,8 +179,8 @@ const 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
-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 kAcceptCHFrame{"AcceptCHFrame",
- base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kAcceptCHFrame{"AcceptCHFrame", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
BASE_FEATURE(kSCTAuditingRetryReports,
"SCTAuditingRetryReports",
const base::Feature kSCTAuditingRetryReports{"SCTAuditingRetryReports",
base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party/blink/common/client_hints/client_hints.cc
--- a/third_party/blink/common/client_hints/client_hints.cc
+++ b/third_party/blink/common/client_hints/client_hints.cc
@@ -113,6 +113,7 @@ const size_t kWebEffectiveConnectionTypeMappingCount =
@@ -111,6 +111,7 @@ const size_t kWebEffectiveConnectionTypeMappingCount =
std::size(kWebEffectiveConnectionTypeMapping);
bool IsClientHintSentByDefault(network::mojom::WebClientHintsType type) {
@ -118,7 +153,7 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi
switch (type) {
case WebClientHintsType::kUA:
case WebClientHintsType::kUAArch:
@@ -138,7 +139,7 @@ bool IsOriginTrialEnabled(const GURL& url,
@@ -127,7 +128,7 @@ bool IsOriginTrialEnabled(const GURL& url,
} // namespace
bool EnabledClientHints::IsEnabled(const WebClientHintsType type) const {
@ -127,7 +162,7 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi
}
void EnabledClientHints::SetIsEnabled(const WebClientHintsType type,
@@ -167,6 +168,7 @@ void EnabledClientHints::SetIsEnabled(
@@ -156,6 +157,7 @@ void EnabledClientHints::SetIsEnabled(
std::vector<WebClientHintsType> EnabledClientHints::GetEnabledHints() const {
std::vector<WebClientHintsType> hints;
@ -135,5 +170,26 @@ 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

View file

@ -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 | 30 +-
.../site_settings/SingleCategorySettings.java | 28 +-
.../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, 733 insertions(+), 28 deletions(-)
23 files changed, 731 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
@@ -88,6 +88,10 @@ android_library("java") {
"java/src/org/chromium/components/browser_ui/site_settings/WebsiteRowPreference.java",
@@ -75,6 +75,10 @@ android_library("java") {
"java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.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.getType() != cs.getSiteSettingsCategory()) {
+ if (!category.showSites(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.getType() == cs.getSiteSettingsCategory()) {
+ if (category.showSites(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.getType() == cs.getSiteSettingsCategory()) {
+ if (category.showSites(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.getType() == cs.getSiteSettingsCategory()) {
+ if (category.showSites(cs.getSiteSettingsCategory())) {
+ return cs.isExceptionAllowed();
+ }
+ }
@ -655,7 +655,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
/**
@@ -570,6 +573,8 @@ public class ContentSettingsResources {
@@ -564,6 +567,8 @@ public class ContentSettingsResources {
* Blocked states, in that order.
*/
public static int[] getTriStateSettingDescriptionIDs(int contentType) {
@ -667,26 +667,24 @@ 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
@@ -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
@@ -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
? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS))
: null;
+ BromiteCustomContentSettingImpl.onActivityCreated(this);
configureGlobalToggles();
if (mCategory.getType() == SiteSettingsCategory.Type.REQUEST_DESKTOP_SITE) {
RecordUserAction.record("DesktopSiteContentSetting.SettingsPage.Entered");
@@ -508,6 +513,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
setHasOptionsMenu(true);
@@ -483,6 +486,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
BrowserContextHandle browserContextHandle =
getSiteSettingsDelegate().getBrowserContextHandle();
PrefService prefService = UserPrefs.get(browserContextHandle);
@ -698,8 +696,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();
@@ -672,6 +682,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
} else if (mCategory.getType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
@@ -638,6 +646,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
} else if (mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE)) {
resource = R.string.website_settings_category_timezone_override_allowed;
}
+ if (resource == 0)
@ -707,9 +705,9 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
assert resource > 0;
return getString(resource);
}
@@ -790,6 +802,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -750,6 +760,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
allowSpecifyingExceptions = true;
} else if (mCategory.getType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
} else if (mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE)) {
allowSpecifyingExceptions = true;
+ } else {
+ Boolean allow = BromiteCustomContentSettingImpl.allowSpecifyingExceptions(mCategory);
@ -717,7 +715,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
if (allowSpecifyingExceptions) {
getPreferenceScreen().addPreference(new AddExceptionPreference(getStyledContext(),
@@ -961,6 +976,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -921,6 +934,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
TriStateSiteSettingsPreference triStateToggle =
(TriStateSiteSettingsPreference) getPreferenceScreen().findPreference(
TRI_STATE_TOGGLE_KEY);
@ -728,15 +726,15 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (triStateToggle != null)
return (triStateToggle.getCheckedSetting() == ContentSettingValues.BLOCK);
@@ -1039,6 +1058,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
if (mCategory.getType() != SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
@@ -999,6 +1016,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
if (!(mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE))) {
screen.removePreference(screen.findPreference(TIMEOVERRIDE_INFO_TEXT));
}
+ BromiteCustomContentSettingImpl.configureGlobalToggles(mCategory, screen);
if (permissionBlockedByOs) {
maybeShowOsWarning(screen);
@@ -1170,7 +1190,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -1125,7 +1143,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
getSiteSettingsDelegate().getBrowserContextHandle(), contentType);
int[] descriptionIds =
ContentSettingsResources.getTriStateSettingDescriptionIDs(contentType);
@ -745,7 +743,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
private void configureTimeOverrideStateToggle(
@@ -1281,6 +1301,14 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -1236,6 +1254,14 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@ContentSettingValues
Integer value = site.getContentSetting(browserContextHandle, contentSettingsType);
@ -758,12 +756,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(
ContentSettingValues.ALLOW, contentSettingsType));
descriptions[0] =
getString(ContentSettingsResources.getSiteSummary(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
@@ -42,6 +42,7 @@ import org.chromium.content_public.browser.ContentFeatureList;
@@ -41,6 +41,7 @@ import org.chromium.content_public.browser.BrowserContextHandle;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@ -771,7 +769,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.
@@ -171,7 +172,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -168,7 +169,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
case ContentSettingsType.CLIPBOARD_READ_WRITE:
return "clipboard_permission_list";
default:
@ -780,7 +778,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
}
@@ -504,7 +505,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -493,7 +494,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private void setupContentSettingsPreferences() {
mMaxPermissionOrder = findPreference(PREF_PERMISSIONS_HEADER).getOrder();
@ -790,7 +788,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
Preference preference = new ChromeSwitchPreference(getStyledContext());
preference.setKey(getPreferenceKey(type));
@@ -945,16 +947,22 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -899,16 +901,22 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private void setupContentSettingsPreference(Preference preference,
@ContentSettingValues @Nullable Integer value, boolean isEmbargoed) {
@ -818,7 +816,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
switchPreference.setOnPreferenceChangeListener(this);
@ContentSettingsType
int contentType = getContentSettingsTypeFromPreferenceKey(preference.getKey());
@@ -1206,7 +1214,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -1157,7 +1165,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
}
mSite.setContentSetting(browserContextHandle, type, permission);
@ -929,7 +927,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
@@ -277,6 +277,10 @@ public final class Website implements WebsiteEntry {
@@ -265,6 +265,10 @@ public final class Website implements Serializable {
/*isEmbargoed=*/false);
setContentSettingException(type, exception);
}
@ -943,7 +941,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
@@ -92,7 +92,7 @@ public class WebsitePermissionsFetcher {
@@ -89,7 +89,7 @@ public class WebsitePermissionsFetcher {
case ContentSettingsType.USB_GUARD:
return WebsitePermissionsType.CHOSEN_OBJECT_INFO;
default:
@ -955,7 +953,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
@@ -246,7 +246,7 @@ public class WebsitePreferenceBridge {
@@ -227,7 +227,7 @@ public class WebsitePreferenceBridge {
case ContentSettingsType.TIMEZONE_OVERRIDE:
return true;
default:
@ -976,7 +974,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
#if BUILDFLAG(IS_ANDROID)
#include "media/base/android/media_drm_bridge.h"
@@ -680,7 +682,10 @@ void ContentSettingsRegistry::Register(
@@ -690,7 +692,10 @@ void ContentSettingsRegistry::Register(
Platforms platforms,
ContentSettingsInfo::IncognitoBehavior incognito_behavior,
ContentSettingsInfo::StorageBehavior storage_behavior,
@ -988,7 +986,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));
@@ -689,7 +694,9 @@ void ContentSettingsRegistry::Register(
@@ -699,7 +704,9 @@ void ContentSettingsRegistry::Register(
website_settings_registry_->Register(
type, name, std::move(default_value), sync_status,
WebsiteSettingsInfo::NOT_LOSSY, scoping_type, platforms,
@ -1044,7 +1042,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
@@ -88,7 +88,10 @@ class WebsiteSettingsInfo {
@@ -69,7 +69,10 @@ class WebsiteSettingsInfo {
SyncStatus sync_status,
LossyStatus lossy_status,
ScopingType scoping_type,
@ -1056,7 +1054,7 @@ diff --git a/components/content_settings/core/browser/website_settings_info.h b/
WebsiteSettingsInfo(const WebsiteSettingsInfo&) = delete;
WebsiteSettingsInfo& operator=(const WebsiteSettingsInfo&) = delete;
@@ -113,6 +116,10 @@ class WebsiteSettingsInfo {
@@ -94,6 +97,10 @@ class WebsiteSettingsInfo {
ScopingType scoping_type() const { return scoping_type_; }
IncognitoBehavior incognito_behavior() const { return incognito_behavior_; }
@ -1067,7 +1065,7 @@ diff --git a/components/content_settings/core/browser/website_settings_info.h b/
private:
const ContentSettingsType type_;
const std::string name_;
@@ -124,6 +131,9 @@ class WebsiteSettingsInfo {
@@ -105,6 +112,9 @@ class WebsiteSettingsInfo {
const LossyStatus lossy_status_;
const ScopingType scoping_type_;
const IncognitoBehavior incognito_behavior_;
@ -1120,7 +1118,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
@@ -104,6 +104,7 @@ public class PermissionParamsListBuilder {
@@ -109,6 +109,7 @@ public class PermissionParamsListBuilder {
permissionParams.allowed = true;
break;
case ContentSettingValues.BLOCK:
@ -1153,8 +1151,8 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
+
std::map<ContentSettingsType, ContentSetting>
user_specified_settings_to_display;
@@ -236,6 +245,15 @@ absl::optional<ContentSetting> PageInfoControllerAndroid::GetSettingToDisplay(
std::map<ContentSettingsType, bool>
@@ -242,6 +251,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;
@ -1173,15 +1171,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
@@ -24,6 +24,7 @@
@@ -23,6 +23,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"
@@ -167,6 +168,15 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info,
#include "components/content_settings/core/browser/host_content_settings_map.h"
@@ -162,6 +163,15 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info,
return true;
}
@ -1197,7 +1195,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
@@ -1150,7 +1160,18 @@ void PageInfo::PresentSitePermissions() {
@@ -1037,7 +1047,18 @@ void PageInfo::PresentSitePermissions() {
PermissionInfo permission_info;
HostContentSettingsMap* content_settings = GetContentSettings();
DCHECK(web_contents_);
@ -1228,7 +1226,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"
@@ -572,6 +573,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
@@ -563,6 +564,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
if (info.type == type)
return l10n_util::GetStringUTF16(info.string_id);
}
@ -1241,7 +1239,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
NOTREACHED();
return std::u16string();
}
@@ -583,6 +590,12 @@ std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence(
@@ -574,6 +581,12 @@ std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence(
if (info.type == type)
return l10n_util::GetStringUTF16(info.string_id_mid_sentence);
}
@ -1254,7 +1252,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
NOTREACHED();
return std::u16string();
}
@@ -970,6 +983,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
@@ -958,6 +971,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
if (info.type == type)
return true;
}

View file

@ -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
@@ -15,5 +15,6 @@ found in the LICENSE file.
@@ -13,5 +13,6 @@
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
@@ -222,8 +222,7 @@ public abstract class UrlBar extends AutocompleteEditText {
setFocusableInTouchMode(mAllowFocus);
});
@@ -214,8 +214,7 @@ public abstract class UrlBar extends AutocompleteEditText {
// the first draw.
setFocusable(false);
setFocusableInTouchMode(false);
- 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);

View file

@ -13,39 +13,39 @@ 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 | 4 +--
.../flags/android/chrome_feature_list.cc | 2 +-
.../browser/flags/CachedFeatureFlags.java | 2 +-
chrome/browser/ui/android/omnibox/BUILD.gn | 2 --
.../browser/omnibox/LocationBarMediator.java | 1 -
13 files changed, 4 insertions(+), 78 deletions(-)
13 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
@@ -408,7 +408,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",
@@ -1002,7 +1001,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",
@@ -1517,7 +1515,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",
@@ -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",
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
@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator;
import org.chromium.chrome.browser.profiles.Profile;
@@ -265,8 +264,6 @@ public class IntentHandler {
@@ -246,8 +245,6 @@ public class IntentHandler {
private static int sReferrerId;
private static String sPendingIncognitoUrl;
@ -77,7 +77,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";
@@ -496,8 +493,6 @@ public class IntentHandler {
@@ -477,8 +474,6 @@ public class IntentHandler {
return ExternalAppId.LINE;
} else if (packageName.equals(PACKAGE_WHATSAPP)) {
return ExternalAppId.WHATSAPP;
@ -89,7 +89,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
@@ -112,10 +112,6 @@ import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
@@ -111,10 +111,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 +100,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;
@@ -374,8 +370,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -370,8 +366,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
private LaunchCauseMetrics mLaunchCauseMetrics;
@ -109,7 +109,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<>();
@@ -1172,10 +1166,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1159,10 +1153,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@Override
public void onStopWithNative() {
@ -120,10 +120,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
super.onStopWithNative();
}
@@ -1267,23 +1257,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1251,23 +1241,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
FontSizePrefs.getInstance(Profile.getLastUsedRegularProfile())
.recordUserFontPrefOnStartup();
});
-
- // GSA connection is not needed on low-end devices because Icing is disabled.
- if (!SysUtils.isLowEndDevice()) {
- if (isActivityFinishingOrDestroyed()) return;
@ -140,10 +141,9 @@ 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 +155,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;
@@ -987,12 +986,6 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -997,12 +996,6 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
LensMetrics.LensSupportStatus.ACTIVITY_NOT_ACCESSIBLE);
return false;
}
@ -196,7 +196,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
@@ -360,14 +360,6 @@ public class ProcessInitializationHandler {
@@ -359,14 +359,6 @@ public class ProcessInitializationHandler {
}
});
@ -262,17 +262,15 @@ 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
@@ -750,8 +750,8 @@ BASE_FEATURE(kDuetTabStripIntegrationAndroid,
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -688,7 +688,7 @@ const base::Feature kDynamicColorButtonsAndroid{
"DynamicColorButtonsAndroid", base::FEATURE_ENABLED_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 kExperimentsForAgsa{"ExperimentsForAgsa",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ 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
@ -283,12 +281,12 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
- .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, true)
.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
@@ -146,7 +146,6 @@ android_library("java") {
@@ -140,7 +140,6 @@ android_library("java") {
"//chrome/browser/device:java",
"//chrome/browser/feature_engagement:java",
"//chrome/browser/flags:java",
@ -296,7 +294,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",
@@ -440,7 +439,6 @@ robolectric_library("junit") {
@@ -425,7 +424,6 @@ robolectric_library("junit") {
"//chrome/browser/commerce/merchant_viewer/android:java",
"//chrome/browser/device:java",
"//chrome/browser/flags:java",

View file

@ -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
@@ -1500,6 +1500,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1494,6 +1494,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
@@ -7,6 +7,11 @@ found in the LICENSE file.
@@ -5,6 +5,11 @@
<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
@@ -899,6 +899,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
@@ -947,6 +947,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
structure.setChildCount(0);
return;
}

View file

@ -13,19 +13,19 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -98,12 +98,8 @@ BASE_FEATURE(kAppShimNewCloseBehavior,
@@ -81,12 +81,8 @@ const base::Feature kAppShimNewCloseBehavior{"AppShimNewCloseBehavior",
// Enables the built-in DNS resolver.
BASE_FEATURE(kAsyncDns,
- "AsyncDns",
const base::Feature kAsyncDns {
- "AsyncDns",
-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || 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
+ "AsyncDns", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
);
+ "AsyncDns", // Bromite guard for this feature to be always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT // ^
};
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
--

View file

@ -4,20 +4,18 @@ 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 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
media/base/media_switches.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -843,8 +843,8 @@ BASE_FEATURE(kMediaDrmPersistentLicense,
@@ -748,7 +748,7 @@ const base::Feature kMediaDrmPersistentLicense{
// MediaDrmBridge. If disabled, MediaDrmBridge will get unprovisioned origin IDs
// which will trigger provisioning process after MediaDrmBridge is created.
BASE_FEATURE(kMediaDrmPreprovisioning,
- "MediaDrmPreprovisioning",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "MediaDrmPreprovisioning", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Determines if MediaDrmOriginIdManager should attempt to pre-provision origin
// IDs at startup (whenever a profile is loaded). Also used by tests that

View file

@ -11,18 +11,19 @@ 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 | 23 ------------
.../privacy/settings/PrivacySettings.java | 22 ------------
.../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 -
7 files changed, 25 insertions(+), 56 deletions(-)
8 files changed, 26 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
@@ -68,10 +68,6 @@ found in the LICENSE file.
@@ -65,10 +65,6 @@
android:title="@string/open_external_links_incognito_title"
android:summary="@string/open_external_links_incognito_summary"
android:defaultValue="false" />
@ -36,16 +37,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/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
@@ -58,8 +58,6 @@ public class PrivacySettings
@@ -61,7 +61,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_GUIDE = "privacy_guide";
private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
@@ -86,21 +84,6 @@ public class PrivacySettings
@@ -91,21 +90,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 privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE);
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_GUIDE)) {
getPreferenceScreen().removePreference(privacyGuidePreference);
@@ -220,12 +203,6 @@ public class PrivacySettings
Preference privacyReviewPreference = findPreference(PREF_PRIVACY_REVIEW);
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_REVIEW)) {
getPreferenceScreen().removePreference(privacyReviewPreference);
@@ -233,12 +217,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
@@ -3091,6 +3091,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* source_origin,
const url::Origin* destination_origin,
@@ -2976,6 +2976,9 @@ bool ChromeContentBrowserClient::IsConversionMeasurementOperationAllowed(
const url::Origin* impression_origin,
const url::Origin* conversion_origin,
const url::Origin* reporting_origin) {
+ // make sure that this is always disabled in Bromite even if privacy sandbox is already disabled in the prefs
+ if ((true))
@ -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
@@ -495,18 +495,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
@@ -490,18 +490,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
if (!visit_id)
return;
@ -116,10 +116,22 @@ 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
@@ -66,7 +66,7 @@ namespace privacy_sandbox {
@@ -60,7 +60,7 @@ namespace privacy_sandbox {
void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
@ -131,7 +143,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
@@ -68,8 +68,7 @@ PrivacySandboxSettings::PrivacySandboxSettings(
@@ -67,8 +67,7 @@ PrivacySandboxSettings::PrivacySandboxSettings(
: delegate_(std::move(delegate)),
host_content_settings_map_(host_content_settings_map),
cookie_settings_(cookie_settings),
@ -141,7 +153,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
DCHECK(pref_service_);
DCHECK(host_content_settings_map_);
DCHECK(cookie_settings_);
@@ -94,7 +93,8 @@ PrivacySandboxSettings::PrivacySandboxSettings(
@@ -88,7 +87,8 @@ PrivacySandboxSettings::PrivacySandboxSettings(
PrivacySandboxSettings::~PrivacySandboxSettings() = default;
@ -151,19 +163,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 =
@@ -119,7 +119,8 @@ bool PrivacySandboxSettings::IsTopicsAllowedForContext(
@@ -113,7 +113,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;
const auto& blocked_topics =
auto* blocked_topics =
pref_service_->GetList(prefs::kPrivacySandboxBlockedTopics);
@@ -187,9 +188,8 @@ base::Time PrivacySandboxSettings::TopicsDataAccessibleSince() const {
@@ -181,9 +182,8 @@ base::Time PrivacySandboxSettings::TopicsDataAccessibleSince() const {
bool PrivacySandboxSettings::IsAttributionReportingAllowed(
bool PrivacySandboxSettings::IsConversionMeasurementAllowed(
const url::Origin& top_frame_origin,
- const url::Origin& reporting_origin) const {
- return IsPrivacySandboxEnabledForContext(reporting_origin.GetURL(),
@ -172,18 +184,18 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
+ return false;
}
bool PrivacySandboxSettings::MaySendAttributionReport(
@@ -278,7 +278,8 @@ void PrivacySandboxSettings::ClearFledgeJoiningAllowedSettings(
bool PrivacySandboxSettings::ShouldSendConversionReport(
@@ -277,7 +277,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;
ScopedDictPrefUpdate scoped_pref_update(
DictionaryPrefUpdate scoped_pref_update(
pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked);
auto& pref_data = scoped_pref_update.Get();
@@ -334,7 +335,9 @@ bool PrivacySandboxSettings::IsPrivateAggregationAllowed(
auto* pref_data = scoped_pref_update.Get();
@@ -328,7 +329,9 @@ bool PrivacySandboxSettings::IsSharedStorageAllowed(
top_frame_origin);
}
@ -194,7 +206,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;
@@ -349,7 +352,7 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
@@ -343,7 +346,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.
@ -203,7 +215,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
return false;
if (should_override_setting_for_local_testing) {
@@ -367,7 +370,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
@@ -361,7 +364,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
return pref_service_->GetBoolean(prefs::kPrivacySandboxApisEnabled);
}
@ -213,7 +225,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);
@@ -376,7 +380,8 @@ void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) {
@@ -370,7 +374,8 @@ void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) {
}
}
@ -223,8 +235,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))
@@ -441,9 +446,9 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabledForContext(
content_settings::CookieSettings::QueryReason::kPrivacySandbox);
@@ -424,9 +429,9 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabledForContext(
top_frame_origin);
}
-void PrivacySandboxSettings::SetTopicsDataAccessibleFromNow() const {
@ -239,7 +251,7 @@ 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
@@ -227,7 +227,6 @@ class PrivacySandboxSettings : public KeyedService {
@@ -215,7 +215,6 @@ class PrivacySandboxSettings : public KeyedService {
scoped_refptr<content_settings::CookieSettings> cookie_settings_;
raw_ptr<PrefService> pref_service_;
PrefChangeRegistrar pref_change_registrar_;

View file

@ -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 | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
components/ntp_snippets/features.cc | 4 ++--
2 files changed, 4 insertions(+), 4 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,27 +25,23 @@ diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/c
diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc
--- a/components/ntp_snippets/features.cc
+++ b/components/ntp_snippets/features.cc
@@ -39,8 +39,8 @@ const base::Feature* const kAllFeatures[] = {
@@ -38,7 +38,7 @@ const base::Feature* const kAllFeatures[] = {
&kOptionalImagesEnabledFeature};
BASE_FEATURE(kArticleSuggestionsFeature,
- "NTPArticleSuggestions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "NTPArticleSuggestions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kArticleSuggestionsFeature{
- "NTPArticleSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
+ "NTPArticleSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kRemoteSuggestionsEmulateM58FetchingSchedule,
"RemoteSuggestionsEmulateM58FetchingSchedule",
@@ -71,8 +71,8 @@ const char kNotificationsDailyLimit[] = "daily_limit";
const base::Feature kRemoteSuggestionsEmulateM58FetchingSchedule{
"RemoteSuggestionsEmulateM58FetchingSchedule",
@@ -68,7 +68,7 @@ const char kNotificationsDailyLimit[] = "daily_limit";
const char kNotificationsIgnoredLimitParam[] = "ignored_limit";
BASE_FEATURE(kKeepPrefetchedContentSuggestions,
- "KeepPrefetchedContentSuggestions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "KeepPrefetchedContentSuggestions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kKeepPrefetchedContentSuggestions{
- "KeepPrefetchedContentSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
+ "KeepPrefetchedContentSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kOptionalImagesEnabledFeature,
"NTPRemoteSuggestionsOptionalImages",
const base::Feature kOptionalImagesEnabledFeature{
"NTPRemoteSuggestionsOptionalImages", base::FEATURE_ENABLED_BY_DEFAULT};
--
2.25.1

View file

@ -4,35 +4,36 @@ Subject: Disable PrivacyGuide
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/common/chrome_features.cc | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
chrome/common/chrome_features.cc | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -500,8 +500,8 @@ BASE_FEATURE(kHaTSDesktopDevToolsIssuesCSP,
@@ -445,8 +445,8 @@ const base::Feature kHaTSDesktopDevToolsIssuesCSP{
// Enables or disables the Happiness Tracking System for Desktop Privacy Guide.
BASE_FEATURE(kHappinessTrackingSurveysForDesktopPrivacyGuide,
- "HappinessTrackingSurveysForDesktopPrivacyGuide",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "HappinessTrackingSurveysForDesktopPrivacyGuide", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::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",
@@ -910,11 +910,11 @@ BASE_FEATURE(kPrerenderFallbackToPreconnect,
"PrerenderFallbackToPreconnect",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -759,11 +759,11 @@ const base::Feature kPrefixWebAppWindowsWithAppName{
const base::Feature kPrerenderFallbackToPreconnect{
"PrerenderFallbackToPreconnect", base::FEATURE_ENABLED_BY_DEFAULT};
-BASE_FEATURE(kPrivacyGuide2, "PrivacyGuide2", base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kPrivacyGuide2, "PrivacyGuide2", base::FEATURE_DISABLED_BY_DEFAULT); // always disabled in Bromite
-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(kPrivacyGuideAndroid,
- "PrivacyGuideAndroid",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "PrivacyGuideAndroid", // always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // 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
// Enables or disables push subscriptions keeping Chrome running in the
// background when closed.

View file

@ -1,27 +0,0 @@
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
@@ -1081,8 +1081,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

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 | 8 ++++
net/base/features.cc | 6 +++
net/base/features.h | 6 +++
net/http/http_network_session.cc | 1 +
net/quic/quic_stream_factory.cc | 35 ++++++++++++++++-
net/socket/ssl_client_socket_impl.cc | 59 ++++++++++++++++++++++++++++
net/socket/ssl_client_socket_impl.h | 2 +
9 files changed, 130 insertions(+), 1 deletion(-)
9 files changed, 128 insertions(+), 1 deletion(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -5016,6 +5016,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4747,6 +4747,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
@@ -1036,6 +1036,14 @@ const char kEnableTLS13EarlyDataDescription[] =
@@ -1023,6 +1023,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
@@ -595,6 +595,12 @@ extern const char kEnablePreinstalledWebAppDuplicationFixerDescription[];
@@ -586,6 +586,12 @@ extern const char kEnablePreinstalledWebAppDuplicationFixerDescription[];
extern const char kEnableTLS13EarlyDataName[];
extern const char kEnableTLS13EarlyDataDescription[];
@ -89,41 +89,39 @@ 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
@@ -61,6 +61,14 @@ const base::FeatureParam<base::TimeDelta> kUseDnsHttpsSvcbSecureExtraTimeMin{
&kUseDnsHttpsSvcb, "UseDnsHttpsSvcbSecureExtraTimeMin",
base::Milliseconds(5)};
@@ -111,6 +111,12 @@ const base::Feature kUseDnsHttpsSvcbAlpn{"UseDnsHttpsSvcbAlpn",
const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kDisableTLSResumption,
+ "DisableTLSResumption",
+ base::FEATURE_ENABLED_BY_DEFAULT);
+const base::Feature kDisableTLSResumption{"DisableTLSResumption",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+
+BASE_FEATURE(kLogTLSResumption,
+ "LogTLSResumption",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+const base::Feature kLogTLSResumption{"LogTLSResumption",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+
BASE_FEATURE(kUseDnsHttpsSvcbAlpn,
"UseDnsHttpsSvcbAlpn",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kEncryptedClientHello{"EncryptedClientHello",
base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/net/base/features.h b/net/base/features.h
--- a/net/base/features.h
+++ b/net/base/features.h
@@ -91,6 +91,12 @@ NET_EXPORT BASE_DECLARE_FEATURE(kUseDnsHttpsSvcbAlpn);
@@ -174,6 +174,12 @@ NET_EXPORT extern const base::Feature kUseDnsHttpsSvcbAlpn;
// Enables TLS 1.3 early data.
NET_EXPORT BASE_DECLARE_FEATURE(kEnableTLS13EarlyData);
NET_EXPORT extern const base::Feature kEnableTLS13EarlyData;
+// Disables TLS resumption.
+NET_EXPORT BASE_DECLARE_FEATURE(kDisableTLSResumption);
+NET_EXPORT extern const base::Feature kDisableTLSResumption;
+
+// Log TLS resumption.
+NET_EXPORT BASE_DECLARE_FEATURE(kLogTLSResumption);
+NET_EXPORT extern const base::Feature kLogTLSResumption;
+
// Enables the TLS Encrypted ClientHello feature.
// https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni-13
NET_EXPORT BASE_DECLARE_FEATURE(kEncryptedClientHello);
NET_EXPORT extern const base::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
@@ -212,6 +212,7 @@ HttpNetworkSession::HttpNetworkSession(const HttpNetworkSessionParams& params,
@@ -206,6 +206,7 @@ HttpNetworkSession::HttpNetworkSession(const HttpNetworkSessionParams& params,
next_protos_.push_back(kProtoHTTP11);
@ -134,7 +132,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
@@ -72,6 +72,7 @@
@@ -73,6 +73,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"
@ -142,7 +140,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"
@@ -245,6 +246,38 @@ quic::ParsedQuicVersion SelectQuicVersion(
@@ -248,6 +249,38 @@ quic::ParsedQuicVersion SelectQuicVersion(
} // namespace
@ -181,10 +179,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
@@ -2249,7 +2282,7 @@ QuicStreamFactory::CreateCryptoConfigHandle(
@@ -2244,7 +2277,7 @@ QuicStreamFactory::CreateCryptoConfigHandle(
sct_auditing_delegate_,
HostsFromOrigins(params_.origins_to_force_quic_on),
actual_network_anonymization_key),
actual_network_isolation_key),
- std::make_unique<quic::QuicClientSessionCache>(), this);
+ std::make_unique<BromiteSessionCache>(), this);
@ -202,7 +200,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_anonymization_key.ToDebugString();
+ << " NIK: " << ssl_config_.network_isolation_key.ToDebugString();
+ return;
+ }
+
@ -216,7 +214,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_anonymization_key.ToDebugString()
+ << " NIK: " << ssl_config_.network_isolation_key.ToDebugString()
+ << " sessionid: " << base::HexEncode(session_id, len)
+ << (ticklen > 0 ? " ticket:" + base::HexEncode(ticket, ticklen) : "");
+}
@ -227,7 +225,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
Disconnect();
}
@@ -786,6 +812,8 @@ int SSLClientSocketImpl::Init() {
@@ -787,6 +813,8 @@ int SSLClientSocketImpl::Init() {
}
if (session)
SSL_set_session(ssl_.get(), session.get());
@ -236,7 +234,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
}
transport_adapter_ = std::make_unique<SocketBIOAdapter>(
@@ -1074,6 +1102,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) {
@@ -1075,6 +1103,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) {
: SSLHandshakeDetails::kTLS13Full;
}
}
@ -272,7 +270,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.
@@ -1746,6 +1803,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const {
@@ -1748,6 +1805,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const {
}
bool SSLClientSocketImpl::IsCachingEnabled() const {

View file

@ -1,26 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 28 Sep 2022 00:54:10 +0200
Subject: Disable add to home screen prompt
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../webapps/AddToHomescreenMostVisitedTileClickObserver.java | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/AddToHomescreenMostVisitedTileClickObserver.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/AddToHomescreenMostVisitedTileClickObserver.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/AddToHomescreenMostVisitedTileClickObserver.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/AddToHomescreenMostVisitedTileClickObserver.java
@@ -43,10 +43,7 @@ public class AddToHomescreenMostVisitedTileClickObserver implements MostVisitedT
ntp.addMostVisitedTileClickObserver(
AddToHomescreenMostVisitedTileClickObserver.this);
} else {
- // If it is a regular web page, and started from a most visited tile, show IPH.
- if (url.getOrigin().equals(mLastClickedMostVisitedTileUrl)) {
- addToHomescreenIPHController.showAddToHomescreenIPH(tab);
- }
+ // do not show any add to home screen IPH in Bromite
removeObserver(tab);
}
mLastClickedMostVisitedTileUrl = null;
--
2.25.1

View file

@ -7,21 +7,22 @@ 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 | 8 ++--
chrome/common/chrome_features.cc | 6 ++---
.../optimization_guide/core/hints_fetcher.cc | 1 +
.../optimization_guide/core/hints_manager.cc | 5 +++
.../core/optimization_guide_features.cc | 38 +++++++++----------
.../core/prediction_model_download_manager.cc | 6 ++-
.../optimization_guide/core/hints_manager.cc | 4 ++++
.../core/optimization_guide_features.cc | 24 +++++++++----------
.../core/prediction_model_download_manager.cc | 6 +++--
.../core/prediction_model_fetcher_impl.cc | 1 +
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(-)
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(-)
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
@@ -26,6 +26,7 @@ bool IsAllowedToFetchForNavigationPrediction(
@@ -29,6 +29,7 @@ bool IsAllowedToFetchForNavigationPrediction(
const absl::optional<NavigationPredictorKeyedService::Prediction>
prediction) {
DCHECK(prediction);
@ -32,7 +33,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
@@ -320,7 +320,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
@@ -354,7 +354,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
void OptimizationGuideKeyedService::RegisterOptimizationTypes(
const std::vector<optimization_guide::proto::OptimizationType>&
optimization_types) {
@ -43,32 +44,30 @@ 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
@@ -883,8 +883,8 @@ BASE_FEATURE(kPermissionAuditing,
@@ -726,8 +726,8 @@ const base::Feature kPermissionAuditing{"PermissionAuditing",
// Enables using the prediction service for permission prompts. We will keep
// this feature in order to allow us to update the holdback chance via finch.
BASE_FEATURE(kPermissionPredictions,
- "PermissionPredictions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "PermissionPredictions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
-const base::Feature kPermissionPredictions{"PermissionPredictions",
- base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kPermissionPredictions{"PermissionPredictions", // always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
// The holdback chance is 30% but it can also be configured/updated
// through finch if needed.
@@ -895,8 +895,8 @@ const base::FeatureParam<double> kPermissionPredictionsHoldbackChance(
@@ -738,7 +738,7 @@ const base::FeatureParam<double> kPermissionPredictionsHoldbackChance(
// Enables using the prediction service for geolocation permission prompts.
BASE_FEATURE(kPermissionGeolocationPredictions,
- "PermissionGeolocationPredictions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "PermissionGeolocationPredictions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kPermissionGeolocationPredictions{
- "PermissionGeolocationPredictions", base::FEATURE_ENABLED_BY_DEFAULT};
+ "PermissionGeolocationPredictions", base::FEATURE_DISABLED_BY_DEFAULT}; // always disabled 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
@@ -174,6 +174,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints(
@@ -175,6 +175,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints(
optimization_guide::proto::RequestContext request_context,
const std::string& locale,
HintsFetchedCallback hints_fetched_callback) {
@ -79,7 +78,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
@@ -352,6 +352,7 @@ void HintsManager::Shutdown() {
@@ -348,6 +348,7 @@ void HintsManager::Shutdown() {
OptimizationGuideDecision
HintsManager::GetOptimizationGuideDecisionFromOptimizationTypeDecision(
OptimizationTypeDecision optimization_type_decision) {
@ -87,15 +86,7 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op
switch (optimization_type_decision) {
case OptimizationTypeDecision::kAllowedByOptimizationFilter:
case OptimizationTypeDecision::kAllowedByHint:
@@ -1056,6 +1057,7 @@ void HintsManager::CanApplyOptimizationOnDemand(
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
// TODO(crbug/1275612): Check whether we have consent to fetch.
+ if ((true)) return; // no consent on bromite
// This set contains URLs that require some information to be fetched, whether
// that be a URL-keyed hint or a host-keyed hint.
@@ -1263,6 +1265,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
@@ -1239,6 +1240,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
proto::OptimizationType optimization_type,
OptimizationMetadata* optimization_metadata) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@ -108,84 +99,72 @@ 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
@@ -78,17 +78,17 @@ bool IsSupportedLocaleForFeature(const std::string locale,
@@ -77,16 +77,16 @@ 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.
BASE_FEATURE(kOptimizationHints,
- "OptimizationHints",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationHints", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
-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
// Enables fetching from a remote Optimization Guide Service.
BASE_FEATURE(kRemoteOptimizationGuideFetching,
- "OptimizationHintsFetching",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationHintsFetching", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kRemoteOptimizationGuideFetching{
- "OptimizationHintsFetching", base::FEATURE_ENABLED_BY_DEFAULT};
+ "OptimizationHintsFetching", base::FEATURE_DISABLED_BY_DEFAULT}; // 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
const 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.
@@ -98,17 +98,13 @@ BASE_FEATURE(kContextMenuPerformanceInfoAndRemoteHintFetching,
@@ -96,15 +96,15 @@ const base::Feature kContextMenuPerformanceInfoAndRemoteHintFetching{
// Enables the prediction of optimization targets.
BASE_FEATURE(kOptimizationTargetPrediction,
- "OptimizationTargetPrediction",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "OptimizationTargetPrediction", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kOptimizationTargetPrediction{
- "OptimizationTargetPrediction", base::FEATURE_ENABLED_BY_DEFAULT};
+ "OptimizationTargetPrediction", base::FEATURE_DISABLED_BY_DEFAULT}; // disabled by default in Bromite
// Enables the downloading of models.
BASE_FEATURE(kOptimizationGuideModelDownloading,
- "OptimizationGuideModelDownloading",
-#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
- base::FEATURE_ENABLED_BY_DEFAULT
const base::Feature kOptimizationGuideModelDownloading {
"OptimizationGuideModelDownloading",
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
- base::FEATURE_ENABLED_BY_DEFAULT
-#else // BUILD_WITH_TFLITE_LIB
- base::FEATURE_DISABLED_BY_DEFAULT
-#endif // !BUILD_WITH_TFLITE_LIB
+ "OptimizationGuideModelDownloading", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
);
base::FEATURE_DISABLED_BY_DEFAULT
+#else // BUILD_WITH_TFLITE_LIB
+ base::FEATURE_DISABLED_BY_DEFAULT // guard this
#endif // !BUILD_WITH_TFLITE_LIB
};
// Enables page content to be annotated.
@@ -143,8 +139,8 @@ BASE_FEATURE(kPageEntitiesModelResetOnShutdown,
@@ -134,7 +134,7 @@ const base::Feature kPageEntitiesModelResetOnShutdown{
// Enables push notification of hints.
BASE_FEATURE(kPushNotifications,
- "OptimizationGuidePushNotifications",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "OptimizationGuidePushNotifications", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kPushNotifications{"OptimizationGuidePushNotifications",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
// This feature flag does not turn off any behavior, it is only used for
// experiment parameters.
@@ -158,15 +154,15 @@ BASE_FEATURE(kOptimizationGuideMetadataValidation,
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -146,12 +146,12 @@ const base::Feature kOptimizationGuideMetadataValidation{
"OptimizationGuideMetadataValidation", base::FEATURE_DISABLED_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 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(kUseLocalPageEntitiesMetadataProvider,
- "UseLocalPageEntitiesMetadataProvider",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "UseLocalPageEntitiesMetadataProvider", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kUseLocalPageEntitiesMetadataProvider{
- "UseLocalPageEntitiesMetadataProvider", base::FEATURE_DISABLED_BY_DEFAULT};
+ "UseLocalPageEntitiesMetadataProvider", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
BASE_FEATURE(kPageContentAnnotationsValidation,
"PageContentAnnotationsValidation",
@@ -408,7 +404,7 @@ size_t MaxURLKeyedHintCacheSize() {
const base::Feature kPageContentAnnotationsValidation{
"PageContentAnnotationsValidation", base::FEATURE_DISABLED_BY_DEFAULT};
@@ -390,7 +390,7 @@ size_t MaxURLKeyedHintCacheSize() {
bool ShouldPersistHintsToDisk() {
return GetFieldTrialParamByFeatureAsBool(kOptimizationHints,
@ -259,40 +238,38 @@ 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
@@ -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
@@ -65,7 +65,7 @@ const base::Feature kPermissionPredictionServiceUseUrlOverride{
BASE_FEATURE(kPermissionOnDeviceNotificationPredictions,
- "PermissionOnDeviceNotificationPredictions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "PermissionOnDeviceNotificationPredictions", // 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(kPermissionOnDeviceGeolocationPredictions,
"PermissionOnDeviceGeolocationPredictions",
#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
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
@@ -214,12 +214,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
@@ -185,7 +185,7 @@ const base::Feature kViewportHeightClientHintHeader{
const base::Feature kNavigationPredictor {
"NavigationPredictor",
#if BUILDFLAG(IS_ANDROID)
- base::FEATURE_ENABLED_BY_DEFAULT
+ base::FEATURE_DISABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
#endif
--
2.25.1

View file

@ -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
@@ -851,7 +851,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -848,7 +848,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;
}
@@ -886,8 +886,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -883,8 +883,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;
}
@VisibleForTesting
private boolean maybeShowPromo() {
--
2.25.1

View file

@ -11,50 +11,43 @@ 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 | 4 ++--
.../embedder_support/origin_trials/features.cc | 8 ++++----
.../browser/flags/android/chrome_feature_list.cc | 2 +-
.../embedder_support/origin_trials/features.cc | 3 ++-
.../render_view_context_menu_base.cc | 3 ---
.../aggregatable_report_sender.cc | 15 +++++++--------
.../attribution_reporting/attribution_host.cc | 1 +
.../attribution_report_network_sender.cc | 15 ++++++++-------
.../attribution_storage_sql.cc | 8 +++++---
.../attribution_storage_sql.cc | 2 +-
content/browser/storage_partition_impl.cc | 7 +------
content/public/browser/navigation_controller.cc | 1 -
third_party/blink/common/features.cc | 4 ++--
third_party/blink/common/features.cc | 2 +-
.../platform/runtime_enabled_features.json5 | 7 +++++++
11 files changed, 37 insertions(+), 36 deletions(-)
11 files changed, 29 insertions(+), 29 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
@@ -521,8 +521,8 @@ BASE_FEATURE(kAppMenuMobileSiteOption,
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -487,7 +487,7 @@ const base::Feature kAppMenuMobileSiteOption{"AppMenuMobileSiteOption",
base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kAppToWebAttribution,
- "AppToWebAttribution",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "AppToWebAttribution", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kAppToWebAttribution{"AppToWebAttribution",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
BASE_FEATURE(kBackgroundThreadPool,
"BackgroundThreadPool",
const base::Feature kBackgroundThreadPool{"BackgroundThreadPool",
base::FEATURE_DISABLED_BY_DEFAULT};
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
@@ -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
@@ -17,8 +17,9 @@ const base::Feature kOriginTrialsSampleAPIThirdPartyAlternativeUsage{
"OriginTrialsSampleAPIThirdPartyAlternativeUsage",
base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kConversionMeasurementAPIAlternativeUsage,
- "ConversionMeasurementAPIAlternativeUsage",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "ConversionMeasurementAPIAlternativeUsage", // 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};
} // 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
@ -114,7 +107,7 @@ 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
@@ -110,13 +110,8 @@ void AttributionReportNetworkSender::SendReport(
@@ -117,13 +117,8 @@ void AttributionReportNetworkSender::SendReport(
network::SimpleURLLoader::RETRY_ON_NAME_NOT_RESOLVED;
simple_url_loader_ptr->SetRetryOptions(/*max_retries=*/1, retry_mode);
@ -129,8 +122,8 @@ diff --git a/content/browser/attribution_reporting/attribution_report_network_se
+ OnReportSent(std::move(it), report, is_debug_report, std::move(sent_callback), nullptr);
}
void AttributionReportNetworkSender::OnReportSent(
@@ -125,6 +120,12 @@ void AttributionReportNetworkSender::OnReportSent(
void AttributionReportNetworkSender::SetURLLoaderFactoryForTesting(
@@ -137,6 +132,12 @@ void AttributionReportNetworkSender::OnReportSent(
bool is_debug_report,
ReportSentCallback sent_callback,
scoped_refptr<net::HttpResponseHeaders> headers) {
@ -146,34 +139,21 @@ 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
@@ -422,6 +422,8 @@ DestinationLimitResult GetDestinationLimitResult(
}
@@ -425,7 +425,7 @@ void AttributionStorageSql::RunInMemoryForTesting() {
}
+bool g_run_in_memory = true;
+
} // namespace
// static
-bool AttributionStorageSql::g_run_in_memory_ = false;
+bool AttributionStorageSql::g_run_in_memory_ = true;
// static
@@ -433,9 +435,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_);
bool AttributionStorageSql::DeleteStorageForTesting(
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
@@ -1353,12 +1353,7 @@ void StoragePartitionImpl::Initialize(
@@ -1318,12 +1318,7 @@ void StoragePartitionImpl::Initialize(
bucket_manager_ = std::make_unique<BucketManager>(this);
bucket_manager_ = std::make_unique<BucketManager>(quota_manager_proxy);
- // The Conversion Measurement API is not available in Incognito mode.
- if (!is_in_memory() &&
@ -199,21 +179,19 @@ 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
@@ -105,8 +105,8 @@ BASE_FEATURE(kBlockingDownloadsInAdFrameWithoutUserActivation,
@@ -49,7 +49,7 @@ const base::Feature kCSSContainerQueries{"CSSContainerQueries",
// Controls whether the Conversion Measurement API infrastructure is enabled.
BASE_FEATURE(kConversionMeasurement,
- "ConversionMeasurement",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "ConversionMeasurement", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kConversionMeasurement{"ConversionMeasurement",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Controls whether LCP calculations should exclude low-entropy images. If
// enabled, then the associated parameter sets the cutoff, expressed as the
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -176,6 +176,13 @@
@@ -106,6 +106,13 @@
},
data: [

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
@@ -241,8 +241,8 @@ BASE_FEATURE(kCooperativeScheduling,
@@ -227,8 +227,8 @@ const base::Feature kCooperativeScheduling{"CooperativeScheduling",
// Enables crash reporting via Reporting API.
// https://www.w3.org/TR/reporting/#crash-report
BASE_FEATURE(kCrashReporting,
- "CrashReporting",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "CrashReporting", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
-const base::Feature kCrashReporting{"CrashReporting",
- base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kCrashReporting{"CrashReporting", // disabled by default on Bromite
+ base::FEATURE_DISABLED_BY_DEFAULT}; // ^
// Enables support for the `Critical-CH` response header.
// https://github.com/WICG/client-hints-infrastructure/blob/master/reliability.md#critical-ch

View file

@ -6,13 +6,13 @@ 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 | 8 ++++----
3 files changed, 6 insertions(+), 12 deletions(-)
components/feed/feed_feature_list.cc | 4 ++--
3 files changed, 4 insertions(+), 10 deletions(-)
diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
--- 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
@@ -50,13 +50,7 @@ public final class FeedFeatures {
@@ -42,13 +42,7 @@ public final class FeedFeatures {
* the user is signed in and confirms it's not a child profile.
*/
public static boolean isWebFeedUIEnabled() {
@ -26,7 +26,7 @@ diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/fe
+ return false;
}
public static boolean shouldUseWebFeedAwarenessIPH() {
/**
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
@ -38,28 +38,24 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
+ .put(ChromeFeatureList.INTEREST_FEED_V2, false)
.put(ChromeFeatureList.LENS_CAMERA_ASSISTED_SEARCH, false)
.put(ChromeFeatureList.NEW_WINDOW_APP_MENU, true)
.put(ChromeFeatureList.OMAHA_MIN_SDK_VERSION_ANDROID, false)
.put(ChromeFeatureList.OMNIBOX_ANDROID_AUXILIARY_SEARCH, false)
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
@@ -17,14 +17,14 @@
@@ -16,12 +16,12 @@
namespace feed {
BASE_FEATURE(kInterestFeedContentSuggestions,
- "InterestFeedContentSuggestions",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "InterestFeedContentSuggestions", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default in Bromite
const base::Feature kInterestFeedContentSuggestions{
- "InterestFeedContentSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
+ "InterestFeedContentSuggestions", base::FEATURE_DISABLED_BY_DEFAULT};
// 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.
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 kInterestFeedV2{"InterestFeedV2",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kInterestFeedV2Autoplay,
"InterestFeedV2Autoplay",
const base::Feature kInterestFeedV2Autoplay{"InterestFeedV2Autoplay",
base::FEATURE_DISABLED_BY_DEFAULT};
--
2.25.1

View file

@ -2,8 +2,7 @@ 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 reporting of Omnibox suggestions header.
Disable seed-based field trials
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
@ -13,17 +12,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 | 4 +--
.../variations/net/omnibox_http_headers.cc | 2 +-
.../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, 23 insertions(+), 48 deletions(-)
11 files changed, 22 insertions(+), 47 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
@@ -106,7 +106,6 @@ android_library("services_java") {
@@ -105,7 +105,6 @@ android_library("services_java") {
sources = [
"java/src/org/chromium/android_webview/services/AwMinidumpUploadJobService.java",
"java/src/org/chromium/android_webview/services/AwMinidumpUploaderDelegate.java",
@ -31,10 +30,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",
@@ -119,7 +118,6 @@ android_library("services_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",
"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",
]
@ -42,7 +41,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
@@ -31,8 +31,6 @@ public class VariationsSeedServer extends Service {
@@ -30,8 +30,6 @@ public class VariationsSeedServer extends Service {
@Override
public void getSeed(ParcelFileDescriptor newSeedFile, long oldSeedDate,
IVariationsSeedServerCallback callback) {
@ -54,19 +53,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
@@ -54,6 +54,8 @@ void CreateFallbackSamplingTrial(
const std::string& feature_name,
const int sampled_in_rate_per_mille,
base::FeatureList* feature_list) {
@@ -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) {
+ if ((true))
+ return;
scoped_refptr<base::FieldTrial> trial(
base::FieldTrialList::FactoryGetFieldTrial(
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) {
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) {
+ if ((true))
+ return;
static const char kSampledGroup_Stable[] = "Sampled_NoSeed_Stable";
@ -75,7 +74,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
@@ -206,6 +206,9 @@ bool HasUnknownMetrics(const builders::DecodeMap& decode_map,
@@ -210,6 +210,9 @@ bool HasUnknownMetrics(const builders::DecodeMap& decode_map,
UkmRecorderImpl::UkmRecorderImpl()
: sampling_seed_(static_cast<uint32_t>(base::RandUint64())) {
@ -146,14 +145,12 @@ 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,8 +21,8 @@ const char kOmniboxOnDeviceSuggestionsHeader[] =
@@ -21,7 +21,7 @@ const char kOmniboxOnDeviceSuggestionsHeader[] =
// Whether to enable reporting the header. Included as a quick escape hatch in
// case of crashes.
BASE_FEATURE(kReportOmniboxOnDeviceSuggestionsHeader,
- "ReportOmniboxOnDeviceSuggestionsHeader",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "ReportOmniboxOnDeviceSuggestionsHeader", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kReportOmniboxOnDeviceSuggestionsHeader{
- "ReportOmniboxOnDeviceSuggestionsHeader", base::FEATURE_ENABLED_BY_DEFAULT};
+ "ReportOmniboxOnDeviceSuggestionsHeader", base::FEATURE_DISABLED_BY_DEFAULT};
std::string GetHeaderValue() {
const std::string group =
@ -186,7 +183,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
@@ -220,17 +220,8 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
@@ -235,17 +235,8 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
// Variations seed fetching is only enabled in official Chrome builds, if a URL
// is specified on the command line, and for testing.
bool IsFetchingEnabled() {
@ -205,8 +202,8 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
+ return false;
}
// 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) {
std::unique_ptr<SeedResponse> MaybeImportFirstRunSeed(
@@ -599,7 +590,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.
@ -218,7 +215,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
@@ -173,13 +173,6 @@ Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
@@ -172,13 +172,6 @@ Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
WebVector<int> CopyInitiatorOriginTrials(
const Vector<OriginTrialFeature>& initiator_origin_trial_features) {
WebVector<int> result;

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
@@ -479,7 +479,7 @@ BASE_FEATURE(kGreaseUACH, "GreaseUACH", base::FEATURE_ENABLED_BY_DEFAULT);
// This is intended as a kill switch for the Idle Detection feature. To enable
@@ -433,7 +433,7 @@ const base::Feature kIdentityInCanMakePaymentEventFeature{
// this feature, the experimental web platform features flag should be set,
// or the site should obtain an Origin Trial token.
-BASE_FEATURE(kIdleDetection, "IdleDetection", base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kIdleDetection, "IdleDetection", base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kIdleDetection{"IdleDetection",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// A feature flag for the memory-backed code cache.
BASE_FEATURE(kInMemoryCodeCache,
const base::Feature kInMemoryCodeCache{"InMemoryCodeCache",
--
2.25.1

View file

@ -4,20 +4,18 @@ 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 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
components/omnibox/common/omnibox_features.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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
@@ -433,8 +433,8 @@ BASE_FEATURE(kSiteSearchStarterPack,
@@ -320,7 +320,7 @@ const base::Feature kSiteSearchStarterPack{"OmniboxSiteSearchStarterPack",
// Experiment to introduce new security indicators for HTTPS.
BASE_FEATURE(kUpdatedConnectionSecurityIndicators,
- "OmniboxUpdatedConnectionSecurityIndicators",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "OmniboxUpdatedConnectionSecurityIndicators", // enabled by default
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
const base::Feature kUpdatedConnectionSecurityIndicators{
"OmniboxUpdatedConnectionSecurityIndicators",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
// 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

View file

@ -12,7 +12,7 @@ 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
@@ -59,26 +59,15 @@ BASE_FEATURE(kGlobalMediaControlsCastStartStop,
@@ -51,26 +51,15 @@ const base::Feature kGlobalMediaControlsCastStartStop{
#endif // !BUILDFLAG(IS_ANDROID)
@ -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;
@@ -106,7 +95,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
@@ -98,7 +87,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) {
@@ -119,7 +108,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -111,7 +100,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
@@ -411,7 +411,7 @@ void ProfileImpl::RegisterProfilePrefs(
@@ -412,7 +412,7 @@ void ProfileImpl::RegisterProfilePrefs(
#endif
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);

View file

@ -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
@@ -340,7 +340,7 @@ void EndpointFetcher::OnResponseFetched(
}
} else {
@@ -323,7 +323,7 @@ void EndpointFetcher::OnResponseFetched(
auto response = std::make_unique<EndpointResponse>();
// TODO(crbug.com/993393) Add more detailed error messaging
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;

View file

@ -4,22 +4,20 @@ 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 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
components/offline_pages/core/offline_page_feature.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/offline_pages/core/offline_page_feature.cc b/components/offline_pages/core/offline_page_feature.cc
--- a/components/offline_pages/core/offline_page_feature.cc
+++ b/components/offline_pages/core/offline_page_feature.cc
@@ -41,8 +41,8 @@ BASE_FEATURE(kOfflinePagesDescriptivePendingStatusFeature,
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -36,7 +36,7 @@ const base::Feature kOfflinePagesDescriptivePendingStatusFeature{
"OfflinePagesDescriptivePendingStatus", base::FEATURE_ENABLED_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 kOfflinePagesInDownloadHomeOpenInCctFeature{
- "OfflinePagesInDownloadHomeOpenInCct", base::FEATURE_ENABLED_BY_DEFAULT};
+ "OfflinePagesInDownloadHomeOpenInCct", base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kOfflineIndicatorFeature,
"OfflineIndicator",
const base::Feature kOfflineIndicatorFeature{"OfflineIndicator",
base::FEATURE_DISABLED_BY_DEFAULT};
--
2.25.1

View file

@ -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
@@ -1920,9 +1920,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
@@ -1958,9 +1958,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
}
PluginData* LocalFrame::GetPluginData() const {

View file

@ -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
@@ -299,7 +299,7 @@ bool DomDistillerViewerSource::ShouldServiceRequest(
@@ -298,7 +298,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

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
@@ -442,7 +442,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",
@@ -1032,8 +1031,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",
@@ -1556,8 +1553,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",
@@ -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",
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
@@ -946,7 +946,6 @@ chrome_java_sources = [
@@ -936,7 +936,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
@@ -3346,7 +3346,6 @@ static_library("browser") {
@@ -3288,7 +3288,6 @@ static_library("browser") {
"//chrome/browser/privacy_sandbox/android:jni_headers",
"//chrome/browser/reading_list/android",
"//chrome/browser/safe_browsing/android:safe_browsing_enums",

View file

@ -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 | 5 +++++
.../browser/flags/android/chrome_feature_list.cc | 4 ++++
.../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, 26 insertions(+), 2 deletions(-)
6 files changed, 25 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
@@ -188,6 +188,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -185,6 +185,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCCTBrandTransparency,
&kCCTClientDataHeader,
&kCCTIncognito,
@ -50,28 +50,27 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kCCTIncognitoAvailableToThirdParty,
&kCCTNewDownloadTab,
&kCCTPackageNameRecording,
@@ -996,6 +997,10 @@ BASE_FEATURE(kDiscoverFeedMultiColumn,
"DiscoverFeedMultiColumn",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -581,6 +582,9 @@ const base::Feature kChromeSharingHubLaunchAdjacent{
const base::Feature kChromeSurveyNextAndroid{"ChromeSurveyNextAndroid",
base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kChromeSmartSelection,
+ "ChromeSmartSelection",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+const base::Feature kChromeSmartSelection{"ChromeSmartSelection",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+
BASE_FEATURE(kTabStripRedesign,
"TabStripRedesign",
base::FEATURE_DISABLED_BY_DEFAULT);
const base::Feature kCommandLineOnNonRooted{"CommandLineOnNonRooted",
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
@@ -62,6 +62,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);
@@ -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;
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
@ -86,7 +85,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
@@ -822,7 +822,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
@@ -818,7 +818,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
menu.removeItem(R.id.select_action_menu_share);
}
@ -98,7 +97,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
@@ -3045,6 +3045,21 @@
@@ -2400,6 +2400,21 @@
]
}
],
@ -117,7 +116,7 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati
+ ]
+ }
+ ],
"CommerceHintAndroid": [
"ChromeStart": [
{
"platforms": [
--

View file

@ -4,30 +4,29 @@ 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 | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
content/public/common/content_features.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -999,14 +999,14 @@ BASE_FEATURE(kSharedArrayBufferOnDesktop,
@@ -850,7 +850,7 @@ const base::Feature kSharedArrayBufferOnDesktop{
// Signed Exchange Reporting for distributors
// https://www.chromestatus.com/feature/5687904902840320
BASE_FEATURE(kSignedExchangeReportingForDistributors,
- "SignedExchangeReportingForDistributors",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "SignedExchangeReportingForDistributors", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kSignedExchangeReportingForDistributors{
- "SignedExchangeReportingForDistributors", base::FEATURE_ENABLED_BY_DEFAULT};
+ "SignedExchangeReportingForDistributors", base::FEATURE_DISABLED_BY_DEFAULT};
// 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
BASE_FEATURE(kSignedHTTPExchange,
- "SignedHTTPExchange",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "SignedHTTPExchange", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kSignedHTTPExchange{"SignedHTTPExchange",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Delays RenderProcessHost shutdown by a few seconds to allow the subframe's
// process to be potentially reused. This aims to reduce process churn in
// Whether to send a ping to the inner URL upon navigation or not.
const base::Feature kSignedHTTPExchangePingValidity{
--
2.25.1

View file

@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
--- a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
+++ b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
@@ -95,7 +95,7 @@ void FileAnalyzer::Start(const base::FilePath& target_path,
@@ -97,7 +97,7 @@ void FileAnalyzer::Start(const base::FilePath& target_path,
if (inspection_type == DownloadFileType::ZIP) {
StartExtractZipFeatures();
} else if (inspection_type == DownloadFileType::RAR) {
@ -63,14 +63,14 @@ diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/
if (is_linux || is_win) {
source_set("document_analyzer") {
sources = [
@@ -184,7 +152,6 @@ source_set("safe_browsing") {
@@ -182,7 +150,6 @@ source_set("safe_browsing") {
":archive_analyzer_results",
":binary_feature_extractor",
":download_type_util",
- ":rar_analyzer",
"//components/safe_browsing/core/common",
"//third_party/lzma_sdk/google:seven_zip_reader",
]
diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/services/file_util/safe_archive_analyzer.cc
--- a/chrome/services/file_util/safe_archive_analyzer.cc
+++ b/chrome/services/file_util/safe_archive_analyzer.cc
@ -79,10 +79,10 @@ diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/service
#include "build/build_config.h"
#include "chrome/common/safe_browsing/archive_analyzer_results.h"
-#include "chrome/common/safe_browsing/rar_analyzer.h"
#include "chrome/common/safe_browsing/seven_zip_analyzer.h"
#include "chrome/common/safe_browsing/zip_analyzer.h"
@@ -47,9 +46,8 @@ void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
#if BUILDFLAG(IS_MAC)
@@ -46,8 +45,7 @@ void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
AnalyzeRarFileCallback callback) {
DCHECK(rar_file.IsValid());
@ -92,6 +92,5 @@ diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/service
- std::move(rar_file), std::move(temporary_file), &results);
std::move(callback).Run(results);
}
--
2.25.1

View file

@ -12,17 +12,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++
chrome/browser/ui/prefs/prefs_tab_helper.cc | 2 +-
content/child/runtime_features.cc | 1 +
third_party/blink/common/features.cc | 5 +++++
third_party/blink/public/common/features.h | 1 +
content/child/runtime_features.cc | 2 +-
third_party/blink/common/features.cc | 2 +-
third_party/blink/renderer/core/dom/document.cc | 5 +++++
.../blink/renderer/platform/runtime_enabled_features.json5 | 5 ++---
10 files changed, 32 insertions(+), 4 deletions(-)
.../blink/renderer/platform/runtime_enabled_features.json5 | 3 +--
9 files changed, 26 insertions(+), 5 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -6275,6 +6275,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5815,6 +5815,11 @@ const FeatureEntry kFeatureEntries[] = {
"")},
#endif
@ -37,9 +36,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
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
@@ -2706,6 +2706,11 @@
"owners": [ "robsc", "napper", "alanlxl" ],
"expiry_milestone": 130
@@ -2651,6 +2651,11 @@
"owners": [ "alionadangla", "bwwilliams", "bling-flags@google.com"],
"expiry_milestone": 105
},
+ {
+ "name": "enable-text-fragment-anchor",
@ -47,35 +46,35 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
+ "expiry_milestone": -1
+ },
{
"name": "enable-neural-stylus-palm-rejection",
"owners": [ "robsc", "napper", "adlr" ],
"name": "enable-payment-request-basic-card",
"owners": [ "web-payments-team@google.com" ],
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
@@ -1387,6 +1387,10 @@ extern const char kDropInputEventsBeforeFirstPaintDescription[] =
"intentionally interact with elements on that page. By dropping the events "
"we prevent accidental interaction with a page the user has not seen yet.";
@@ -1360,6 +1360,10 @@ const char kEnableRestrictedWebApisDescription[] =
"Enable the restricted web APIs for dev trial. This will be replaced with "
"permission policies to control the capabilities afterwards.";
+const char kEnableTextFragmentAnchorName[] = "Enable Text Fragment Anchor.";
+const char kEnableTextFragmentAnchorDescription[] =
+ "Enables scrolling to text specified in URL's fragment.";
+
const char kEnableCssSelectorFragmentAnchorName[] =
"Enables CSS selector fragment anchors";
const char kEnableCssSelectorFragmentAnchorDescription[] =
const char kEnableUseZoomForDsfName[] =
"Use Blink's zoom for device scale factor.";
const char kEnableUseZoomForDsfDescription[] =
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
@@ -767,6 +767,9 @@ extern const char kReduceHorizontalFlingVelocityDescription[];
@@ -754,6 +754,9 @@ extern const char
extern const char kEnableRestrictedWebApisName[];
extern const char kEnableRestrictedWebApisDescription[];
extern const char kRetailCouponsName[];
extern const char kRetailCouponsDescription[];
+extern const char kEnableTextFragmentAnchorName[];
+extern const char kEnableTextFragmentAnchorDescription[];
+
extern const char kDropInputEventsBeforeFirstPaintName[];
extern const char kDropInputEventsBeforeFirstPaintDescription[];
extern const char kEnableUseZoomForDsfName[];
extern const char kEnableUseZoomForDsfDescription[];
extern const char kEnableUseZoomForDsfChoiceDefault[];
diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/prefs/prefs_tab_helper.cc
--- a/chrome/browser/ui/prefs/prefs_tab_helper.cc
+++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc
@ -91,44 +90,31 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre
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
@@ -270,6 +270,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
features::kSharedArrayBufferOnDesktop},
{wf::EnableSharedAutofill, autofill::features::kAutofillSharedAutofill},
@@ -279,7 +279,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
{wf::EnableSpeculationRulesPrefetchProxy,
blink::features::kSpeculationRulesPrefetchProxy, kSetOnlyIfOverridden},
{wf::EnableSubresourceWebBundles, features::kSubresourceWebBundles},
- {wf::EnableTextFragmentAnchor, blink::features::kTextFragmentAnchor},
+ {wf::EnableTextFragmentAnchor, blink::features::kTextFragmentAnchor}, // will set the TextFragmentIdentifiers runtime feature
{wf::EnableTouchDragAndContextMenu, features::kTouchDragAndContextMenu},
+ {wf::EnableTextFragmentIdentifiers, blink::features::kTextFragmentAnchor},
{wf::EnableUserActivationSameOriginVisibility,
features::kUserActivationSameOriginVisibility},
{wf::EnableVideoPlaybackQuality, features::kVideoPlaybackQuality},
{wf::EnableCSSSelectorFragmentAnchor,
blink::features::kCssSelectorFragmentAnchor},
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
@@ -496,6 +496,11 @@ BASE_FEATURE(kDropInputEventsBeforeFirstPaint,
"DropInputEventsBeforeFirstPaint",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -457,7 +457,7 @@ const base::Feature kStopInBackground {
+// Enable text snippets in URL fragments. https://crbug.com/919204.
+BASE_FEATURE(kTextFragmentAnchor,
+ "TextFragmentAnchor",
+ base::FEATURE_DISABLED_BY_DEFAULT);
+
// File handling icons. https://crbug.com/1218213
BASE_FEATURE(kFileHandlingIcons,
"FileHandlingIcons",
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
@@ -224,6 +224,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDecodeJpeg420ImagesToYUV);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDecodeLossyWebPImagesToYUV);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kWebFontsCacheAwareTimeoutAdaption);
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kTextFragmentAnchor);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kAudioWorkletThreadRealtimePriority);
// Enable text snippets in URL fragments. https://crbug.com/919204.
const base::Feature kTextFragmentAnchor{"TextFragmentAnchor",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Enables CSS selector fragment anchors. https://crbug.com/1252460
const base::Feature kCssSelectorFragmentAnchor{
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -4262,9 +4262,14 @@ void Document::SetURL(const KURL& url) {
@@ -4244,9 +4244,14 @@ void Document::SetURL(const KURL& url) {
TRACE_EVENT1("navigation", "Document::SetURL", "url",
new_url.GetString().Utf8());
@ -146,15 +132,12 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
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
@@ -2583,10 +2583,9 @@
@@ -2280,8 +2280,7 @@
},
{
name: "TextFragmentIdentifiers",
- origin_trial_feature_name: "TextFragmentIdentifiers",
public: true,
- status: "stable",
- base_feature: "TextFragmentAnchor",
+ status: "test",
+ origin_trial_feature_name: "TextFragmentIdentifiers"
},
{

View file

@ -60,7 +60,7 @@ diff --git a/components/embedder_support/origin_trials/origin_trial_policy_impl.
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
--- a/content/browser/renderer_host/navigation_request.cc
+++ b/content/browser/renderer_host/navigation_request.cc
@@ -7455,7 +7455,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() {
@@ -7174,7 +7174,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() {
void NavigationRequest::ForceEnableOriginTrials(
const std::vector<std::string>& trials) {
DCHECK(!HasCommitted());
@ -71,7 +71,7 @@ diff --git a/content/browser/renderer_host/navigation_request.cc b/content/brows
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -475,10 +475,6 @@ void FillNavigationParamsRequest(
@@ -472,10 +472,6 @@ void FillNavigationParamsRequest(
common_params.initiator_origin.value();
}
@ -82,7 +82,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
navigation_params->was_discarded = commit_params.was_discarded;
navigation_params->document_ukm_source_id =
commit_params.document_ukm_source_id;
@@ -511,12 +507,6 @@ void FillNavigationParamsRequest(
@@ -508,12 +504,6 @@ void FillNavigationParamsRequest(
navigation_params->web_bundle_claimed_url =
commit_params.web_bundle_claimed_url;
@ -95,7 +95,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
if (!commit_params.early_hints_preloaded_resources.empty()) {
navigation_params->early_hints_preloaded_resources = WebVector<WebURL>();
for (const auto& resource : commit_params.early_hints_preloaded_resources) {
@@ -570,11 +560,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
@@ -560,11 +550,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
info->url_request.GetURLRequestExtraData().get());
DCHECK(url_request_extra_data);
@ -107,7 +107,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
blink::NavigationDownloadPolicy download_policy;
download_policy.ApplyDownloadFramePolicy(
info->is_opener_navigation, info->url_request.HasUserGesture(),
@@ -592,7 +577,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
@@ -582,7 +567,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
info->url_request.HasUserGesture(),
info->url_request.HasTextFragmentToken(),
info->should_check_main_world_content_security_policy,
@ -159,7 +159,7 @@ diff --git a/third_party/blink/common/origin_trials/trial_token_validator.cc b/t
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
@@ -160,13 +160,6 @@ namespace {
@@ -159,13 +159,6 @@ constexpr base::FeatureParam<bool> kCacheInlineScriptCodeFixConfiguring{
Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
const WebVector<int>& initiator_origin_trial_features) {
Vector<OriginTrialFeature> result;
@ -173,7 +173,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
return result;
}
@@ -179,18 +172,12 @@ WebVector<int> CopyInitiatorOriginTrials(
@@ -178,18 +171,12 @@ WebVector<int> CopyInitiatorOriginTrials(
Vector<String> CopyForceEnabledOriginTrials(
const WebVector<WebString>& force_enabled_origin_trials) {
Vector<String> result;
@ -192,7 +192,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
return result;
}
@@ -2663,10 +2650,6 @@ void DocumentLoader::CreateParserPostCommit() {
@@ -2557,10 +2544,6 @@ void DocumentLoader::CreateParserPostCommit() {
OriginTrialFeature::kTouchEventFeatureDetection);
}

View file

@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/component_updater/android/java/src/org/chromium/components/component_updater/UpdateScheduler.java b/components/component_updater/android/java/src/org/chromium/components/component_updater/UpdateScheduler.java
--- a/components/component_updater/android/java/src/org/chromium/components/component_updater/UpdateScheduler.java
+++ b/components/component_updater/android/java/src/org/chromium/components/component_updater/UpdateScheduler.java
@@ -33,9 +33,7 @@ public class UpdateScheduler {
@@ -34,9 +34,7 @@ public class UpdateScheduler {
@CalledByNative
/* package */ static boolean isAvailable() {

View file

@ -13,23 +13,23 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../android/ntp/most_visited_sites_bridge.cc | 17 -----------------
chrome/browser/browser_process_impl.cc | 2 +-
chrome/browser/chrome_content_browser_client.cc | 15 ---------------
.../chrome_metrics_services_manager_client.cc | 8 ++++----
.../chrome_metrics_services_manager_client.cc | 4 ++--
components/ntp_tiles/BUILD.gn | 3 ---
components/ntp_tiles/most_visited_sites.cc | 2 --
services/metrics/public/cpp/ukm_recorder.cc | 2 +-
8 files changed, 7 insertions(+), 44 deletions(-)
8 files changed, 5 insertions(+), 42 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
@@ -48,7 +48,7 @@ public abstract class FirstRunActivityBase extends AsyncInitializationActivity {
@@ -47,7 +47,7 @@ public abstract class FirstRunActivityBase extends AsyncInitializationActivity {
static final String SHOW_SEARCH_ENGINE_PAGE = "ShowSearchEnginePage";
static final String SHOW_SYNC_CONSENT_PAGE = "ShowSyncConsent";
- public static final boolean DEFAULT_METRICS_AND_CRASH_REPORTING = true;
+ public static final boolean DEFAULT_METRICS_AND_CRASH_REPORTING = false;
private static PolicyLoadListenerFactory sPolicyLoadListenerFactory;
private boolean mNativeInitialized;
diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/browser/android/ntp/most_visited_sites_bridge.cc
--- a/chrome/browser/android/ntp/most_visited_sites_bridge.cc
@ -89,7 +89,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
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
@@ -991,7 +991,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -997,7 +997,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled,
@ -101,7 +101,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
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
@@ -66,7 +66,6 @@
@@ -64,7 +64,6 @@
#include "chrome/browser/hid/chrome_hid_delegate.h"
#include "chrome/browser/interstitials/enterprise_util.h"
#include "chrome/browser/lifetime/browser_shutdown.h"
@ -109,7 +109,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#include "chrome/browser/media/audio_service_util.h"
#include "chrome/browser/media/router/media_router_feature.h"
#include "chrome/browser/media/webrtc/audio_debug_recordings_handler.h"
@@ -4509,16 +4508,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -4355,16 +4354,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
content::NavigationHandle* handle) {
std::vector<std::unique_ptr<content::NavigationThrottle>> throttles;
@ -123,10 +123,10 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
- page_load_metrics::MetricsNavigationThrottle::Create(handle));
- }
-
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
#if BUILDFLAG(IS_CHROMEOS_ASH)
MaybeAddThrottle(
SupervisedUserNavigationThrottle::MaybeCreateThrottleFor(handle),
@@ -4603,10 +4592,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
ash::WebTimeLimitNavigationThrottle::MaybeCreateThrottleFor(handle),
@@ -4455,10 +4444,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
throttle_manager->MaybeAppendNavigationThrottles(handle, &throttles);
}
@ -140,25 +140,21 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
--- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
+++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
@@ -73,8 +73,8 @@ namespace internal {
@@ -75,7 +75,7 @@ namespace internal {
// recording and reporting are enabled. If the feature is enabled, but no
// consent is given, then there will be no recording or reporting.
BASE_FEATURE(kMetricsReportingFeature,
- "MetricsReporting",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "MetricsReporting", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kMetricsReportingFeature{"MetricsReporting",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
#if BUILDFLAG(IS_ANDROID)
// Same as |kMetricsReportingFeature|, but this feature is associated with a
@@ -83,8 +83,8 @@ BASE_FEATURE(kMetricsReportingFeature,
@@ -84,7 +84,7 @@ const base::Feature kMetricsReportingFeature{"MetricsReporting",
// the fix to not affect the overall sampling rate, this new feature was
// created. See crbug/1306481.
BASE_FEATURE(kPostFREFixMetricsReportingFeature,
- "PostFREFixMetricsReporting",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "PostFREFixMetricsReporting", // disabled by deault
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature kPostFREFixMetricsReportingFeature{
- "PostFREFixMetricsReporting", base::FEATURE_ENABLED_BY_DEFAULT};
+ "PostFREFixMetricsReporting", base::FEATURE_DISABLED_BY_DEFAULT};
#endif // BUILDFLAG(IS_ANDROID)
// Name of the variations param that defines the sampling rate.
@ -201,8 +197,8 @@ diff --git a/services/metrics/public/cpp/ukm_recorder.cc b/services/metrics/publ
namespace ukm {
-BASE_FEATURE(kUkmFeature, "Ukm", base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kUkmFeature, "Ukm", base::FEATURE_DISABLED_BY_DEFAULT); // disabled in Bromite
-const base::Feature kUkmFeature = {"Ukm", base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kUkmFeature = {"Ukm", base::FEATURE_DISABLED_BY_DEFAULT}; // disabled in Bromite
UkmRecorder::UkmRecorder() = default;

View file

@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -1304,8 +1304,6 @@ static_library("ui") {
@@ -1281,8 +1281,6 @@ static_library("ui") {
"singleton_tabs.h",
"startup/automation_infobar_delegate.cc",
"startup/automation_infobar_delegate.h",

View file

@ -14,7 +14,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/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
@@ -99,7 +99,6 @@ import org.chromium.chrome.browser.share.ShareButtonController;
@@ -94,7 +94,6 @@ import org.chromium.chrome.browser.share.ShareButtonController;
import org.chromium.chrome.browser.share.ShareDelegate;
import org.chromium.chrome.browser.share.ShareDelegate.ShareOrigin;
import org.chromium.chrome.browser.share.ShareUtils;
@ -22,7 +22,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
import org.chromium.chrome.browser.share.scroll_capture.ScrollCaptureManager;
import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler;
import org.chromium.chrome.browser.tab.AutofillSessionLifetimeController;
@@ -498,10 +497,6 @@ public class RootUiCoordinator
@@ -484,10 +483,6 @@ public class RootUiCoordinator
}
public void onAttachFragment(Fragment fragment) {
@ -44,17 +44,17 @@ diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/s
import org.chromium.chrome.browser.share.screenshot.ScreenshotCoordinator;
import org.chromium.chrome.browser.share.send_tab_to_self.SendTabToSelfAndroidBridge;
import org.chromium.chrome.browser.share.send_tab_to_self.SendTabToSelfCoordinator;
@@ -311,9 +310,6 @@ public class ChromeProvidedSharingOptionsProvider {
@@ -312,9 +311,6 @@ public class ChromeProvidedSharingOptionsProvider {
|| !ChromeFeatureList.isEnabled(ChromeFeatureList.SEND_TAB_TO_SELF_SIGNIN_PROMO)) {
mOrderedFirstPartyOptions.add(createSendTabToSelfFirstPartyOption());
}
- if (!mIsIncognito) {
- mOrderedFirstPartyOptions.add(createQrCodeFirstPartyOption());
- }
if (mTabProvider.hasValue() && UserPrefs.get(mProfile).getBoolean(Pref.PRINTING_ENABLED)) {
if (mTabProvider.hasValue() && UserPrefs.get(profile).getBoolean(Pref.PRINTING_ENABLED)) {
mOrderedFirstPartyOptions.add(createPrintingFirstPartyOption());
}
@@ -456,21 +452,6 @@ public class ChromeProvidedSharingOptionsProvider {
@@ -457,21 +453,6 @@ public class ChromeProvidedSharingOptionsProvider {
.build();
}

View file

@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
--- a/extensions/common/extension.cc
+++ b/extensions/common/extension.cc
@@ -465,9 +465,8 @@ bool Extension::ShouldDisplayInNewTabPage() const {
@@ -459,9 +459,8 @@ bool Extension::ShouldDisplayInNewTabPage() const {
}
bool Extension::ShouldExposeViaManagementAPI() const {

View file

@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/base/BUILD.gn b/base/BUILD.gn
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -1561,7 +1561,7 @@ mixed_component("base") {
@@ -1509,7 +1509,7 @@ mixed_component("base") {
# more robust check for this.
if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos)) &&
host_toolchain != "//build/toolchain/cros:host") {

View file

@ -50,7 +50,7 @@ diff --git a/chrome/browser/net/stub_resolver_config_reader.cc b/chrome/browser/
diff --git a/net/dns/dns_client.cc b/net/dns/dns_client.cc
--- a/net/dns/dns_client.cc
+++ b/net/dns/dns_client.cc
@@ -244,11 +244,14 @@ class DnsClientImpl : public DnsClient {
@@ -245,11 +245,14 @@ class DnsClientImpl : public DnsClient {
private:
absl::optional<DnsConfig> BuildEffectiveConfig() const {
DnsConfig config;
@ -67,7 +67,7 @@ diff --git a/net/dns/dns_client.cc b/net/dns/dns_client.cc
config = config_overrides_.ApplyOverrides(system_config_.value());
}
@@ -263,8 +266,10 @@ class DnsClientImpl : public DnsClient {
@@ -264,8 +267,10 @@ class DnsClientImpl : public DnsClient {
if (config.unhandled_options)
config.nameservers.clear();
@ -82,7 +82,7 @@ diff --git a/net/dns/dns_client.cc b/net/dns/dns_client.cc
diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
--- a/net/dns/host_resolver_manager.cc
+++ b/net/dns/host_resolver_manager.cc
@@ -2933,6 +2933,7 @@ void HostResolverManager::SetDnsConfigOverrides(DnsConfigOverrides overrides) {
@@ -3302,6 +3302,7 @@ void HostResolverManager::SetDnsConfigOverrides(DnsConfigOverrides overrides) {
bool changed = dns_client_->SetConfigOverrides(std::move(overrides));
if (changed) {

View file

@ -3,28 +3,26 @@ Date: Fri, 10 Jun 2022 14:20:02 +0200
Subject: Enable Certificate Transparency
Reporting/auditing functionalities are disabled; a flag is exposed.
Add guard to make sure that certificate transparency stays enabled
by default.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/about_flags.cc | 5 +++++
chrome/browser/browser_features.cc | 4 ++--
chrome/browser/browser_features.cc | 2 +-
chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++
chrome/browser/net/system_network_context_manager.cc | 4 ----
chrome/browser/ssl/sct_reporting_service.cc | 5 +++++
chrome/common/chrome_features.cc | 6 +-----
net/http/transport_security_state.cc | 9 +++++----
chrome/common/chrome_features.cc | 6 +++---
net/http/transport_security_state.cc | 5 +++--
net/url_request/report_sender.cc | 3 ++-
services/network/network_context.cc | 2 +-
services/network/sct_auditing/sct_auditing_handler.cc | 2 ++
11 files changed, 30 insertions(+), 17 deletions(-)
11 files changed, 29 insertions(+), 12 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
@@ -9060,6 +9060,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8552,6 +8552,11 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebMidiDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kWebMidi)},
#if BUILDFLAG(IS_ANDROID)
@ -39,21 +37,19 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_features.cc
--- a/chrome/browser/browser_features.cc
+++ b/chrome/browser/browser_features.cc
@@ -155,8 +155,8 @@ BASE_FEATURE(kWebUsbDeviceDetection,
@@ -138,7 +138,7 @@ const base::Feature kWebUsbDeviceDetection{"WebUsbDeviceDetection",
#if BUILDFLAG(IS_ANDROID)
// Enables Certificate Transparency on Android.
BASE_FEATURE(kCertificateTransparencyAndroid,
- "CertificateTransparencyAndroid",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "CertificateTransparencyAndroid", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
const base::Feature kCertificateTransparencyAndroid{
- "CertificateTransparencyAndroid", base::FEATURE_ENABLED_BY_DEFAULT};
+ "CertificateTransparencyAndroid", base::FEATURE_ENABLED_BY_DEFAULT}; // enabled by default in Bromite
#endif
BASE_FEATURE(kLargeFaviconFromGoogle,
const base::Feature kLargeFaviconFromGoogle{"LargeFaviconFromGoogle",
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
@@ -6874,6 +6874,10 @@ const char kAutofillCreditCardUploadDescription[] =
@@ -6342,6 +6342,10 @@ const char kAutofillCreditCardUploadDescription[] =
#endif // defined(TOOLKIT_VIEWS) || BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID)
@ -67,7 +63,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
@@ -3969,6 +3969,9 @@ extern const char kAutofillCreditCardUploadDescription[];
@@ -3667,6 +3667,9 @@ extern const char kAutofillCreditCardUploadDescription[];
#endif // defined(TOOLKIT_VIEWS) || BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID)
@ -80,7 +76,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
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
@@ -851,7 +851,6 @@ void SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting(
@@ -904,7 +904,6 @@ void SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting(
bool SystemNetworkContextManager::IsCertificateTransparencyEnabled() {
if (certificate_transparency_enabled_for_testing_.has_value())
return certificate_transparency_enabled_for_testing_.value();
@ -88,7 +84,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
// TODO(carlosil): Figure out if we can/should remove the OFFICIAL_BUILD and
// GOOGLE_CHROME_BRANDING checks now that enforcement does not rely on build
// dates, and allow embedders to enforce.
@@ -865,9 +864,6 @@ bool SystemNetworkContextManager::IsCertificateTransparencyEnabled() {
@@ -918,9 +917,6 @@ bool SystemNetworkContextManager::IsCertificateTransparencyEnabled() {
#else
return true;
#endif // BUILDFLAG(IS_ANDROID)
@ -101,7 +97,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
diff --git a/chrome/browser/ssl/sct_reporting_service.cc b/chrome/browser/ssl/sct_reporting_service.cc
--- a/chrome/browser/ssl/sct_reporting_service.cc
+++ b/chrome/browser/ssl/sct_reporting_service.cc
@@ -211,6 +211,11 @@ void SetSCTAuditingEnabledForStoragePartition(
@@ -200,6 +200,11 @@ void SetSCTAuditingEnabledForStoragePartition(
} // namespace
network::mojom::SCTAuditingMode SCTReportingService::GetReportingMode() {
@ -116,23 +112,23 @@ diff --git a/chrome/browser/ssl/sct_reporting_service.cc b/chrome/browser/ssl/sc
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
@@ -995,11 +995,7 @@ BASE_FEATURE(kSchedulerConfiguration,
@@ -814,9 +814,9 @@ const base::Feature kSchedulerConfiguration{"SchedulerConfiguration",
// Controls whether SCT audit reports are queued and the rate at which they
// should be sampled. Default sampling rate is 1/10,000 certificates.
-#if BUILDFLAG(IS_ANDROID)
-BASE_FEATURE(kSCTAuditing, "SCTAuditing", base::FEATURE_DISABLED_BY_DEFAULT);
-#else
-BASE_FEATURE(kSCTAuditing, "SCTAuditing", base::FEATURE_ENABLED_BY_DEFAULT);
-#endif
+BASE_FEATURE(kSCTAuditing, "SCTAuditing", base::FEATURE_DISABLED_BY_DEFAULT); // disabled in Bromite
constexpr base::FeatureParam<double> kSCTAuditingSamplingRate{
&kSCTAuditing, "sampling_rate", 0.0001};
-const base::Feature kSCTAuditing{"SCTAuditing",
- base::FEATURE_DISABLED_BY_DEFAULT};
+#if BUILDFLAG(IS_ANDROID) // SCT auditing
+const base::Feature kSCTAuditing{"SCTAuditing", // must be always
+ base::FEATURE_DISABLED_BY_DEFAULT}; // disabled in Bromite
#else
const base::Feature kSCTAuditing{"SCTAuditing",
base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_state.cc
--- a/net/http/transport_security_state.cc
+++ b/net/http/transport_security_state.cc
@@ -337,6 +337,7 @@ class HSTSPreloadDecoder : public net::extras::PreloadDecoder {
@@ -338,6 +338,7 @@ class HSTSPreloadDecoder : public net::extras::PreloadDecoder {
bool DecodeHSTSPreload(const std::string& search_hostname, PreloadResult* out) {
#if !BUILDFLAG(INCLUDE_TRANSPORT_SECURITY_STATE_PRELOAD_LIST)
@ -140,28 +136,24 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
if (g_hsts_source == nullptr)
return false;
#endif
@@ -382,13 +383,13 @@ bool DecodeHSTSPreload(const std::string& search_hostname, PreloadResult* out) {
@@ -383,11 +384,11 @@ bool DecodeHSTSPreload(const std::string& search_hostname, PreloadResult* out) {
// static
BASE_FEATURE(kDynamicExpectCTFeature,
- "DynamicExpectCT",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "DynamicExpectCT", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
const base::Feature TransportSecurityState::kDynamicExpectCTFeature{
- "DynamicExpectCT", base::FEATURE_ENABLED_BY_DEFAULT};
+ "DynamicExpectCT", base::FEATURE_DISABLED_BY_DEFAULT}; // disabled in Bromite
// static
BASE_FEATURE(kCertificateTransparencyEnforcement,
- "CertificateTransparencyEnforcement",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "CertificateTransparencyEnforcement", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
const base::Feature TransportSecurityState::kCertificateTransparencyEnforcement{
- "CertificateTransparencyEnforcement", base::FEATURE_ENABLED_BY_DEFAULT};
+ "CertificateTransparencyEnforcement", base::FEATURE_ENABLED_BY_DEFAULT}; // always enabled in Bromite
void SetTransportSecurityStateSourceForTesting(
const TransportSecurityStateSource* source) {
diff --git a/net/url_request/report_sender.cc b/net/url_request/report_sender.cc
--- a/net/url_request/report_sender.cc
+++ b/net/url_request/report_sender.cc
@@ -87,7 +87,8 @@ void ReportSender::Send(
@@ -86,7 +86,8 @@ void ReportSender::Send(const GURL& report_uri,
URLRequest* raw_url_request = url_request.get();
inflight_requests_[raw_url_request] = std::move(url_request);
@ -174,7 +166,7 @@ diff --git a/net/url_request/report_sender.cc b/net/url_request/report_sender.cc
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -2652,7 +2652,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
@@ -2654,7 +2654,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
// TransportSecurityState. Since no requests have been made yet, safe to do
// this even after the call to Build().
@ -186,7 +178,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
diff --git a/services/network/sct_auditing/sct_auditing_handler.cc b/services/network/sct_auditing/sct_auditing_handler.cc
--- a/services/network/sct_auditing/sct_auditing_handler.cc
+++ b/services/network/sct_auditing/sct_auditing_handler.cc
@@ -113,6 +113,7 @@ void SCTAuditingHandler::MaybeEnqueueReport(
@@ -115,6 +115,7 @@ void SCTAuditingHandler::MaybeEnqueueReport(
if (mode_ == mojom::SCTAuditingMode::kDisabled) {
return;
}
@ -194,7 +186,7 @@ diff --git a/services/network/sct_auditing/sct_auditing_handler.cc b/services/ne
// Only audit valid SCTs. This ensures that they come from a known log, have
// a valid signature, and thus are expected to be public certificates. If
@@ -327,6 +328,7 @@ void SCTAuditingHandler::AddReporter(
@@ -330,6 +331,7 @@ void SCTAuditingHandler::AddReporter(
if (mode_ == mojom::SCTAuditingMode::kDisabled) {
return;
}

View file

@ -1,25 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 30 Oct 2022 18:11:19 +0100
Subject: Enable ECH by default
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
net/base/features.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -76,8 +76,8 @@ BASE_FEATURE(kEnableTLS13EarlyData,
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kEncryptedClientHello,
- "EncryptedClientHello",
- base::FEATURE_DISABLED_BY_DEFAULT);
+ "EncryptedClientHello", // enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
BASE_FEATURE(kNetworkQualityEstimator,
"NetworkQualityEstimator",
--
2.25.1

View file

@ -1,27 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Tue, 27 Sep 2022 23:39:54 +0200
Subject: Enable HEVC by default
Add a guard to avoid setting to be disabled upstream.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
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
@@ -289,8 +289,8 @@ BASE_FEATURE(kPictureInPicture,
#if BUILDFLAG(ENABLE_PLATFORM_HEVC)
// Enables HEVC hardware accelerated decoding.
BASE_FEATURE(kPlatformHEVCDecoderSupport,
- "PlatformHEVCDecoderSupport",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ "PlatformHEVCDecoderSupport", // must be enabled
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
#endif // BUILDFLAG(ENABLE_PLATFORM_HEVC)
// Only decode preload=metadata elements upon visibility.
--
2.25.1

View file

@ -0,0 +1,23 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Tue, 25 May 2021 19:33:41 +0200
Subject: Enable IntentBlockExternalFormRedirectsNoGesture
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../external_intents/android/external_intents_features.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/external_intents/android/external_intents_features.cc b/components/external_intents/android/external_intents_features.cc
--- a/components/external_intents/android/external_intents_features.cc
+++ b/components/external_intents/android/external_intents_features.cc
@@ -34,7 +34,7 @@ const base::Feature kAutofillAssistantGoogleInitiatorOriginCheck{
const base::Feature kIntentBlockExternalFormRedirectsNoGesture{
"IntentBlockExternalFormRedirectsNoGesture",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kScaryExternalNavigationRefactoring{
"ScaryExternalNavigationRefactoring", base::FEATURE_ENABLED_BY_DEFAULT};
--
2.25.1

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