merge with upstream
This commit is contained in:
@@ -3,7 +3,26 @@ do-not-hide-.orig-files.patch
|
||||
Do-not-link-with-libatomic.patch
|
||||
do-not-add-suffix-to-package-name.patch
|
||||
exit-on-failure-of-inclusion.patch
|
||||
AV1-codec-support.patch
|
||||
Disable-safe-browsing.patch
|
||||
Remove-signin-and-sync-integrations.patch
|
||||
Move-some-account-settings-back-to-privacy-settings.patch
|
||||
Remove-contextual-search-manager.patch
|
||||
kill-Vision.patch
|
||||
kill-Location-fall-back-to-system.patch
|
||||
kill-Auth.patch
|
||||
Remove-binary-blob-integrations.patch
|
||||
Remove-SMS-integration.patch
|
||||
Remove-price-shopping-commerce-integrations.patch
|
||||
Remove-voice-recognition-integration.patch
|
||||
Do-not-compile-QR-code-sharing.patch
|
||||
Timezone-customization.patch
|
||||
Revert-the-removal-of-an-option-to-block-autoplay.patch
|
||||
Add-support-for-ISupportHelpAndFeedback.patch
|
||||
JIT-site-settings.patch
|
||||
Site-setting-for-images.patch
|
||||
Content-settings-infrastructure.patch
|
||||
Add-webGL-site-setting.patch
|
||||
Add-webRTC-site-settings.patch
|
||||
Switch-to-fstack-protector-strong.patch
|
||||
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
|
||||
Bromite-package-name.patch
|
||||
@@ -28,9 +47,7 @@ ungoogled-chromium-Disable-intranet-detector.patch
|
||||
ungoogled-chromium-no-special-hosts-domains.patch
|
||||
ungoogled-chromium-Disable-Gaia.patch
|
||||
ungoogled-chromium-Disable-Network-Time-Tracker.patch
|
||||
Disable-safe-browsing.patch
|
||||
Disable-all-promo-dialogs.patch
|
||||
Remove-signin-and-sync-integrations.patch
|
||||
Disable-update-scheduler.patch
|
||||
Add-English-only-search-engine.patch
|
||||
Add-DuckDuckGo-Lite-search-engine.patch
|
||||
@@ -41,7 +58,6 @@ Allow-playing-audio-in-background.patch
|
||||
Add-flag-to-control-video-playback-resume-feature.patch
|
||||
Add-exit-menu-item.patch
|
||||
Remove-help-menu-item.patch
|
||||
AudioBuffer-AnalyserNode-fp-mitigations.patch
|
||||
Multiple-fingerprinting-mitigations.patch
|
||||
Add-flag-to-configure-maximum-connections-per-host.patch
|
||||
Do-not-ignore-download-location-prompt-setting.patch
|
||||
@@ -52,8 +68,6 @@ Add-an-always-incognito-mode.patch
|
||||
Keep-flag-to-allow-screenshots-in-Incognito-mode.patch
|
||||
Add-option-to-not-persist-tabs-across-sessions.patch
|
||||
Add-a-proxy-configuration-page.patch
|
||||
Move-some-account-settings-back-to-privacy-settings.patch
|
||||
Remove-contextual-search-manager.patch
|
||||
Add-custom-tab-intents-privacy-option.patch
|
||||
Disable-FLoC-and-privacy-sandbox.patch
|
||||
History-number-of-days-privacy-setting.patch
|
||||
@@ -68,14 +82,6 @@ autofill-miscellaneous.patch
|
||||
Enable-native-Android-autofill.patch
|
||||
first_run-deactivate-autoupdate-globally.patch
|
||||
translate-disable-fetching-of-languages-from-server.patch
|
||||
kill-Vision.patch
|
||||
kill-Location-fall-back-to-system.patch
|
||||
kill-Auth.patch
|
||||
Remove-binary-blob-integrations.patch
|
||||
Remove-SMS-integration.patch
|
||||
Remove-price-shopping-commerce-integrations.patch
|
||||
Remove-voice-recognition-integration.patch
|
||||
Do-not-compile-QR-code-sharing.patch
|
||||
Offer-builtin-autocomplete-for-chrome-flags.patch
|
||||
Use-4-tile-rows-never-show-logo.patch
|
||||
Disable-various-metrics.patch
|
||||
@@ -87,7 +93,8 @@ Disable-offline-pages-in-CCT.patch
|
||||
Disable-media-router-and-remoting-by-default.patch
|
||||
Restore-Search-Ready-Omnibox-flag.patch
|
||||
disable-AdsBlockedInfoBar.patch
|
||||
Bromite-AdBlockUpdaterService.patch
|
||||
Bromite-subresource-adblocker.patch
|
||||
Bromite-auto-updater.patch
|
||||
Replace-DoH-probe-domain-with-RIPE-domain.patch
|
||||
Increase-number-of-autocomplete-matches-to-10.patch
|
||||
Disable-requests-for-single-word-Omnibar-searches.patch
|
||||
@@ -100,6 +107,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
|
||||
AImageReader-CFI-crash-mitigations.patch
|
||||
Add-menu-item-to-view-source.patch
|
||||
Revert-removal-of-execution-context-address-space.patch
|
||||
@@ -112,10 +120,8 @@ Disable-the-DIAL-repeating-discovery.patch
|
||||
Block-qjz9zk-or-trk-requests.patch
|
||||
Hardening-against-incognito-mode-detection.patch
|
||||
Remove-weblayer-dependency-on-Play-Services.patch
|
||||
Timezone-customization.patch
|
||||
Restore-Simplified-NTP-launch.patch
|
||||
Add-option-to-use-home-page-as-NTP.patch
|
||||
Revert-the-removal-of-an-option-to-block-autoplay.patch
|
||||
Disable-text-fragments-by-default.patch
|
||||
disable-WebView-variations-support.patch
|
||||
Enable-network-isolation-features.patch
|
||||
@@ -123,32 +129,24 @@ Revert-flags-remove-num-raster-threads.patch
|
||||
webview-Hard-no-to-persistent-histograms.patch
|
||||
Ignore-enterprise-policies-for-secure-DNS.patch
|
||||
Add-menu-item-to-bookmark-all-tabs.patch
|
||||
Ask-user-before-closing-all-tabs.patch
|
||||
Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
|
||||
Add-option-to-force-tablet-UI.patch
|
||||
Make-all-favicon-requests-on-demand.patch
|
||||
Add-Alt-D-hotkey-to-focus-address-bar.patch
|
||||
Remove-offline-measurement-background-task.patch
|
||||
User-agent-customization.patch
|
||||
Add-AllowUserCertificates-flag.patch
|
||||
Add-IsCleartextPermitted-flag.patch
|
||||
Unexpire-tab-groups-flags.patch
|
||||
Add-flag-for-omnibox-autocomplete-filtering.patch
|
||||
Revert-Delete-block-external-form-redirects.patch
|
||||
Enable-IntentBlockExternalFormRedirectsNoGesture.patch
|
||||
Add-flag-to-disable-external-intent-requests.patch
|
||||
Enable-share-intent.patch
|
||||
Logcat-crash-reports-UI.patch
|
||||
Add-support-for-ISupportHelpAndFeedback.patch
|
||||
JIT-site-settings.patch
|
||||
API-level-21-prevent-crash-on-download.patch
|
||||
Add-flag-to-disable-vibration.patch
|
||||
mime_util-force-text-x-suse-ymp-to-be-downloaded.patch
|
||||
Client-hints-overrides.patch
|
||||
Disable-AGSA-by-default.patch
|
||||
Allow-building-without-enable_reporting.patch
|
||||
Disable-lock-icon-in-address-bar-by-default.patch
|
||||
Enable-share-intent.patch
|
||||
Site-setting-for-images.patch
|
||||
Bromite-auto-updater.patch
|
||||
Experimental-user-scripts-support.patch
|
||||
Keep-empty-tabs-between-sessions.patch
|
||||
Disable-third-party-origin-trials.patch
|
||||
@@ -178,10 +176,7 @@ Disable-TLS-resumption.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
|
||||
@@ -192,19 +187,21 @@ 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
|
||||
Revert-clipboard-user-gesture-requirement-removal.patch
|
||||
Viewport-Protection.patch
|
||||
Enable-HEVC-by-default.patch
|
||||
Partition-blobs-by-top-frame-URL.patch
|
||||
Override-Navigator-Language.patch
|
||||
Partition-blobs-by-top-frame-url.patch
|
||||
Disable-add-to-home-screen-prompt.patch
|
||||
Remove-http-referrals-in-cross-origin-navigation.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-kill-switch-for-unsupported-clangd-flags.patch
|
||||
Fix-WebWorker-requestAnimationFrame.patch
|
||||
|
||||
00Enable-ThirdPartyStoragePartitioning-flag.patch
|
||||
00OpenSearch--miscellaneous--fixup-.patch
|
||||
00Eyeo-Adblock.patch
|
||||
00Eyeo-Adblock-Remove-Privacy-Issues.patch
|
||||
@@ -234,17 +231,28 @@ Fix-WebWorker-requestAnimationFrame.patch
|
||||
00Timezone-customization--win-fixup-.patch
|
||||
00Add-webGL-site-setting--win-fixup-.patch
|
||||
00Add-webRTC-site-settings--win-fixup-.patch
|
||||
00Viewport-Protection--win-fixup-.patch
|
||||
00Eyeo-Adblock--win-fixup-.patch
|
||||
00Content-settings-infrastructure--win-fixup-.patch
|
||||
00ungoogled-chromium--no-special-hosts-d--win-fixup-.patch
|
||||
00Client-hints-overrides--win-fixup-.patch
|
||||
00Logcat-crash-reports-UI--win-fixup-.patch
|
||||
00Fix-windows-build.patch
|
||||
00ungoogled-chr-no-special-hosts-domains--add-fixup-.patch
|
||||
00Disable-fetching-of-all-field-trials--add-fixup-.patch
|
||||
00Add-menu-item-to-view-source--add-fixup-.patch
|
||||
00Add-AudioContextAPI-flags.patch
|
||||
AudioBuffer-AnalyserNode-fp-mitigations.patch
|
||||
00Disable-Component-Updates.patch
|
||||
00wip-add-browser-policy.patch
|
||||
00temporary-fix-libaom-build-error.patch
|
||||
00temporary-fix-libaom-build-error.patch
|
||||
00Guard-for-user-agent-reduction--add-fixup-.patch
|
||||
00Client-hints-overrides--add-fixup-.patch
|
||||
00Add-AllowUserCertificates-flag--win-fixup-.patch
|
||||
00Viewport-Protection-flag.patch
|
||||
00Viewport-Protection-Site-Setting.patch
|
||||
00Temp-Disable-kAutomaticLazyFrameLoadingToEmbeds.patch
|
||||
00Enable-kPostMessageDifferentPartitionSameOriginBlocked.patch
|
||||
00Move-navigation-bar-to-bottom--add-fixup-.patch
|
||||
00Always-open-browser-controls-in-new-tab.patch
|
||||
00Eyeo-Adblock-Remove--fixup-.patch
|
||||
00Remove-HTTP-referrals-in-cross-origin-navi--fixup-.patch
|
||||
00win-enable-pdf-plugin.patch
|
||||
00win-disable-annotate-downloads.patch
|
||||
00win-enable-HighEfficiencyMode-by-default.patch
|
||||
@@ -0,0 +1,26 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Mon, 19 Dec 2022 11:23:10 +0000
|
||||
Subject: Add AllowUserCertificates flag (win fixup)
|
||||
|
||||
---
|
||||
chrome/browser/about_flags.cc | 2 ++
|
||||
1 file changed, 2 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
|
||||
@@ -8897,10 +8897,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(features::kWin10TabSearchCaptionButton)},
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
{"allow-user-certificates",
|
||||
flag_descriptions::kAllowUserCertificatesName,
|
||||
flag_descriptions::kAllowUserCertificatesDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(chrome::android::kAllowUserCertificates)},
|
||||
+#endif
|
||||
{"omnibox-updated-connection-security-indicators",
|
||||
flag_descriptions::kOmniboxUpdatedConnectionSecurityIndicatorsName,
|
||||
flag_descriptions::kOmniboxUpdatedConnectionSecurityIndicatorsDescription,
|
||||
--
|
||||
2.25.1
|
||||
@@ -1,542 +0,0 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Mon, 7 Nov 2022 16:45:13 +0000
|
||||
Subject: Add AudioContextAPI flags
|
||||
|
||||
---
|
||||
chrome/browser/about_flags.cc | 8 ++++
|
||||
chrome/browser/flag_descriptions.cc | 9 ++++
|
||||
chrome/browser/flag_descriptions.h | 5 +++
|
||||
third_party/blink/common/features.cc | 5 +++
|
||||
third_party/blink/public/common/features.h | 3 ++
|
||||
.../modules/webaudio/analyser_handler.h | 16 +++----
|
||||
.../modules/webaudio/analyser_node.cc | 20 +++++----
|
||||
.../renderer/modules/webaudio/analyser_node.h | 8 ++--
|
||||
.../modules/webaudio/analyser_node.idl | 8 ++--
|
||||
.../renderer/modules/webaudio/audio_buffer.cc | 34 ++++++++++++--
|
||||
.../renderer/modules/webaudio/audio_buffer.h | 7 +--
|
||||
.../modules/webaudio/audio_buffer.idl | 6 +++
|
||||
.../modules/webaudio/audio_context.cc | 5 +++
|
||||
.../modules/webaudio/base_audio_context.cc | 12 +++++
|
||||
.../modules/webaudio/base_audio_context.h | 2 +
|
||||
.../modules/webaudio/realtime_analyser.cc | 45 +++++++++++++++++--
|
||||
.../modules/webaudio/realtime_analyser.h | 10 +++--
|
||||
17 files changed, 164 insertions(+), 39 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
|
||||
@@ -3667,6 +3667,14 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kKioskEnableAppServiceDescription, kOsCrOS,
|
||||
FEATURE_VALUE_TYPE(features::kKioskEnableAppService)},
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
+ {"audio-context-api",
|
||||
+ flag_descriptions::kAudioContextAPIEnabledName,
|
||||
+ flag_descriptions::kAudioContextAPIEnabledDescription, kOsAll,
|
||||
+ FEATURE_VALUE_TYPE(blink::features::kAudioContextAPIEnabled)},
|
||||
+ {"fingerprinting-audio-context-data-noise",
|
||||
+ flag_descriptions::kAudioContextShuffleEnabledName,
|
||||
+ flag_descriptions::kAudioContextShuffleEnabledDescription, kOsAll,
|
||||
+ FEATURE_VALUE_TYPE(blink::features::kAudioContextShuffleEnabled)},
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
{"enable-webrtc-remote-event-log",
|
||||
flag_descriptions::kWebRtcRemoteEventLogName,
|
||||
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
|
||||
@@ -3353,6 +3353,15 @@ const char kWebrtcUseMinMaxVEADimensionsDescription[] =
|
||||
"When enabled, WebRTC will only use the Video Encode Accelerator for "
|
||||
"video resolutions inside those published as supported.";
|
||||
|
||||
+const char kAudioContextAPIEnabledName[] =
|
||||
+ "Audio Context API";
|
||||
+const char kAudioContextAPIEnabledDescription[] =
|
||||
+ "When enabled, api are available for the audio context.";
|
||||
+const char kAudioContextShuffleEnabledName[] =
|
||||
+ "Enable Audio Context fingerprint deception";
|
||||
+const char kAudioContextShuffleEnabledDescription[] =
|
||||
+ "Scale the output values of xxx with a randomly selected factor.";
|
||||
+
|
||||
const char kWebUsbDeviceDetectionName[] =
|
||||
"Automatic detection of WebUSB-compatible devices";
|
||||
const char kWebUsbDeviceDetectionDescription[] =
|
||||
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
|
||||
@@ -1905,6 +1905,11 @@ extern const char kWebrtcSrtpAesGcmDescription[];
|
||||
extern const char kWebrtcUseMinMaxVEADimensionsName[];
|
||||
extern const char kWebrtcUseMinMaxVEADimensionsDescription[];
|
||||
|
||||
+extern const char kAudioContextAPIEnabledName[];
|
||||
+extern const char kAudioContextAPIEnabledDescription[];
|
||||
+extern const char kAudioContextShuffleEnabledName[];
|
||||
+extern const char kAudioContextShuffleEnabledDescription[];
|
||||
+
|
||||
extern const char kWebUsbDeviceDetectionName[];
|
||||
extern const char kWebUsbDeviceDetectionDescription[];
|
||||
|
||||
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
|
||||
@@ -621,6 +621,11 @@ BASE_FEATURE(kWebRtcUseMinMaxVEADimensions,
|
||||
#endif
|
||||
);
|
||||
|
||||
+const base::Feature kAudioContextAPIEnabled {
|
||||
+ "AudioContextAPIEnabled", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+const base::Feature kAudioContextShuffleEnabled {
|
||||
+ "AudioContextShuffleEnabled", base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+
|
||||
// Blink garbage collection.
|
||||
// Enables compaction of backing stores on Blink's heap.
|
||||
BASE_FEATURE(kBlinkHeapCompaction,
|
||||
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
|
||||
@@ -247,6 +247,9 @@ BLINK_COMMON_EXPORT bool IsPlzDedicatedWorkerEnabled();
|
||||
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kWebRtcUseMinMaxVEADimensions);
|
||||
|
||||
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kAudioContextAPIEnabled);
|
||||
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kAudioContextShuffleEnabled);
|
||||
+
|
||||
// Blink garbage collection.
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBlinkHeapCompaction);
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBlinkHeapConcurrentMarking);
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/analyser_handler.h b/third_party/blink/renderer/modules/webaudio/analyser_handler.h
|
||||
--- a/third_party/blink/renderer/modules/webaudio/analyser_handler.h
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/analyser_handler.h
|
||||
@@ -40,17 +40,17 @@ class AnalyserHandler final : public AudioBasicInspectorHandler {
|
||||
return analyser_.SmoothingTimeConstant();
|
||||
}
|
||||
|
||||
- void GetFloatFrequencyData(DOMFloat32Array* array, double current_time) {
|
||||
- analyser_.GetFloatFrequencyData(array, current_time);
|
||||
+ void GetFloatFrequencyData(DOMFloat32Array* array, double current_time, ExceptionState& exception_state) {
|
||||
+ analyser_.GetFloatFrequencyData(array, current_time, exception_state);
|
||||
}
|
||||
- void GetByteFrequencyData(DOMUint8Array* array, double current_time) {
|
||||
- analyser_.GetByteFrequencyData(array, current_time);
|
||||
+ void GetByteFrequencyData(DOMUint8Array* array, double current_time, ExceptionState& exception_state) {
|
||||
+ analyser_.GetByteFrequencyData(array, current_time, exception_state);
|
||||
}
|
||||
- void GetFloatTimeDomainData(DOMFloat32Array* array) {
|
||||
- analyser_.GetFloatTimeDomainData(array);
|
||||
+ void GetFloatTimeDomainData(DOMFloat32Array* array, ExceptionState& exception_state) {
|
||||
+ analyser_.GetFloatTimeDomainData(array, exception_state);
|
||||
}
|
||||
- void GetByteTimeDomainData(DOMUint8Array* array) {
|
||||
- analyser_.GetByteTimeDomainData(array);
|
||||
+ void GetByteTimeDomainData(DOMUint8Array* array, ExceptionState& exception_state) {
|
||||
+ analyser_.GetByteTimeDomainData(array, exception_state);
|
||||
}
|
||||
|
||||
// AnalyserNode needs special handling when updating the pull status
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/analyser_node.cc b/third_party/blink/renderer/modules/webaudio/analyser_node.cc
|
||||
--- a/third_party/blink/renderer/modules/webaudio/analyser_node.cc
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/analyser_node.cc
|
||||
@@ -117,22 +117,26 @@ double AnalyserNode::smoothingTimeConstant() const {
|
||||
return GetAnalyserHandler().SmoothingTimeConstant();
|
||||
}
|
||||
|
||||
-void AnalyserNode::getFloatFrequencyData(NotShared<DOMFloat32Array> array) {
|
||||
+void AnalyserNode::getFloatFrequencyData(NotShared<DOMFloat32Array> array,
|
||||
+ ExceptionState& exception_state) {
|
||||
GetAnalyserHandler().GetFloatFrequencyData(array.Get(),
|
||||
- context()->currentTime());
|
||||
+ context()->currentTime(), exception_state);
|
||||
}
|
||||
|
||||
-void AnalyserNode::getByteFrequencyData(NotShared<DOMUint8Array> array) {
|
||||
+void AnalyserNode::getByteFrequencyData(NotShared<DOMUint8Array> array,
|
||||
+ ExceptionState& exception_state) {
|
||||
GetAnalyserHandler().GetByteFrequencyData(array.Get(),
|
||||
- context()->currentTime());
|
||||
+ context()->currentTime(), exception_state);
|
||||
}
|
||||
|
||||
-void AnalyserNode::getFloatTimeDomainData(NotShared<DOMFloat32Array> array) {
|
||||
- GetAnalyserHandler().GetFloatTimeDomainData(array.Get());
|
||||
+void AnalyserNode::getFloatTimeDomainData(NotShared<DOMFloat32Array> array,
|
||||
+ ExceptionState& exception_state) {
|
||||
+ GetAnalyserHandler().GetFloatTimeDomainData(array.Get(), exception_state);
|
||||
}
|
||||
|
||||
-void AnalyserNode::getByteTimeDomainData(NotShared<DOMUint8Array> array) {
|
||||
- GetAnalyserHandler().GetByteTimeDomainData(array.Get());
|
||||
+void AnalyserNode::getByteTimeDomainData(NotShared<DOMUint8Array> array,
|
||||
+ ExceptionState& exception_state) {
|
||||
+ GetAnalyserHandler().GetByteTimeDomainData(array.Get(), exception_state);
|
||||
}
|
||||
|
||||
void AnalyserNode::ReportDidCreate() {
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/analyser_node.h b/third_party/blink/renderer/modules/webaudio/analyser_node.h
|
||||
--- a/third_party/blink/renderer/modules/webaudio/analyser_node.h
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/analyser_node.h
|
||||
@@ -57,10 +57,10 @@ class AnalyserNode final : public AudioBasicInspectorNode {
|
||||
double maxDecibels() const;
|
||||
void setSmoothingTimeConstant(double, ExceptionState&);
|
||||
double smoothingTimeConstant() const;
|
||||
- void getFloatFrequencyData(NotShared<DOMFloat32Array>);
|
||||
- void getByteFrequencyData(NotShared<DOMUint8Array>);
|
||||
- void getFloatTimeDomainData(NotShared<DOMFloat32Array>);
|
||||
- void getByteTimeDomainData(NotShared<DOMUint8Array>);
|
||||
+ void getFloatFrequencyData(NotShared<DOMFloat32Array>, ExceptionState&);
|
||||
+ void getByteFrequencyData(NotShared<DOMUint8Array>, ExceptionState&);
|
||||
+ void getFloatTimeDomainData(NotShared<DOMFloat32Array>, ExceptionState&);
|
||||
+ void getByteTimeDomainData(NotShared<DOMUint8Array>, ExceptionState&);
|
||||
|
||||
// InspectorHelperMixin
|
||||
void ReportDidCreate() final;
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/analyser_node.idl b/third_party/blink/renderer/modules/webaudio/analyser_node.idl
|
||||
--- a/third_party/blink/renderer/modules/webaudio/analyser_node.idl
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/analyser_node.idl
|
||||
@@ -40,10 +40,10 @@
|
||||
|
||||
// Copies the current frequency data into the passed array.
|
||||
// If the array has fewer elements than the frequencyBinCount, the excess elements will be dropped.
|
||||
- //[HighEntropy, Measure] void getFloatFrequencyData(Float32Array array);
|
||||
- //[HighEntropy, Measure] void getByteFrequencyData(Uint8Array array);
|
||||
+ [HighEntropy, Measure, RaisesException] void getFloatFrequencyData(Float32Array array);
|
||||
+ [HighEntropy, Measure, RaisesException] void getByteFrequencyData(Uint8Array array);
|
||||
|
||||
// Real-time waveform data
|
||||
- //[HighEntropy, Measure] void getFloatTimeDomainData(Float32Array array);
|
||||
- //[HighEntropy, Measure] void getByteTimeDomainData(Uint8Array array);
|
||||
+ [HighEntropy, Measure, RaisesException] void getFloatTimeDomainData(Float32Array array);
|
||||
+ [HighEntropy, Measure, RaisesException] void getByteTimeDomainData(Uint8Array array);
|
||||
};
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc
|
||||
--- a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "third_party/blink/renderer/modules/webaudio/audio_buffer.h"
|
||||
|
||||
#include <memory>
|
||||
+#include "third_party/blink/public/common/features.h"
|
||||
#include "third_party/blink/renderer/bindings/modules/v8/v8_audio_buffer_options.h"
|
||||
#include "third_party/blink/renderer/modules/webaudio/base_audio_context.h"
|
||||
#include "third_party/blink/renderer/platform/audio/audio_bus.h"
|
||||
@@ -197,8 +198,14 @@ AudioBuffer::AudioBuffer(AudioBus* bus)
|
||||
}
|
||||
|
||||
NotShared<DOMFloat32Array> AudioBuffer::getChannelData(
|
||||
+ ScriptState* script_state,
|
||||
unsigned channel_index,
|
||||
ExceptionState& exception_state) {
|
||||
+ if (!base::FeatureList::IsEnabled(features::kAudioContextAPIEnabled)) {
|
||||
+ exception_state.ThrowDOMException(
|
||||
+ DOMExceptionCode::kNotSupportedError, "getChannelData() is unavailable");
|
||||
+ return NotShared<DOMFloat32Array>(nullptr);
|
||||
+ }
|
||||
if (channel_index >= channels_.size()) {
|
||||
exception_state.ThrowDOMException(
|
||||
DOMExceptionCode::kIndexSizeError,
|
||||
@@ -208,7 +215,16 @@ NotShared<DOMFloat32Array> AudioBuffer::getChannelData(
|
||||
return NotShared<DOMFloat32Array>(nullptr);
|
||||
}
|
||||
|
||||
- return getChannelData(channel_index);
|
||||
+ NotShared<DOMFloat32Array> array = getChannelData(channel_index);
|
||||
+ DOMFloat32Array* destination_array = array.Get();
|
||||
+ size_t len = destination_array->length();
|
||||
+ if (len > 0) {
|
||||
+ float* destination = destination_array->Data();
|
||||
+ for (unsigned i = 0; i < len; ++i) {
|
||||
+ destination[i] = BaseAudioContext::ShuffleAudioData(destination[i], i);
|
||||
+ }
|
||||
+ }
|
||||
+ return array;
|
||||
}
|
||||
|
||||
NotShared<DOMFloat32Array> AudioBuffer::getChannelData(unsigned channel_index) {
|
||||
@@ -219,13 +235,20 @@ NotShared<DOMFloat32Array> AudioBuffer::getChannelData(unsigned channel_index) {
|
||||
return NotShared<DOMFloat32Array>(channels_[channel_index].Get());
|
||||
}
|
||||
|
||||
-void AudioBuffer::copyFromChannel(NotShared<DOMFloat32Array> destination,
|
||||
+void AudioBuffer::copyFromChannel(ScriptState* script_state,
|
||||
+ NotShared<DOMFloat32Array> destination,
|
||||
int32_t channel_number,
|
||||
ExceptionState& exception_state) {
|
||||
- return copyFromChannel(destination, channel_number, 0, exception_state);
|
||||
+ if (!base::FeatureList::IsEnabled(features::kAudioContextAPIEnabled)) {
|
||||
+ exception_state.ThrowDOMException(
|
||||
+ DOMExceptionCode::kNotSupportedError, "copyFromChannel() is unavailable");
|
||||
+ return;
|
||||
+ }
|
||||
+ return copyFromChannel(script_state, destination, channel_number, 0, exception_state);
|
||||
}
|
||||
|
||||
-void AudioBuffer::copyFromChannel(NotShared<DOMFloat32Array> destination,
|
||||
+void AudioBuffer::copyFromChannel(ScriptState* script_state,
|
||||
+ NotShared<DOMFloat32Array> destination,
|
||||
int32_t channel_number,
|
||||
size_t buffer_offset,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -264,6 +287,9 @@ void AudioBuffer::copyFromChannel(NotShared<DOMFloat32Array> destination,
|
||||
DCHECK_LE(buffer_offset + count, data_length);
|
||||
|
||||
memmove(dst, src + buffer_offset, count * sizeof(*src));
|
||||
+ for (unsigned i = 0; i < count; i++) {
|
||||
+ dst[i] = BaseAudioContext::ShuffleAudioData(dst[i], i);
|
||||
+ }
|
||||
}
|
||||
|
||||
void AudioBuffer::copyToChannel(NotShared<DOMFloat32Array> source,
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.h b/third_party/blink/renderer/modules/webaudio/audio_buffer.h
|
||||
--- a/third_party/blink/renderer/modules/webaudio/audio_buffer.h
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.h
|
||||
@@ -44,6 +44,7 @@ class AudioBus;
|
||||
class AudioBufferOptions;
|
||||
class ExceptionState;
|
||||
class SharedAudioBuffer;
|
||||
+class ScriptState;
|
||||
|
||||
class MODULES_EXPORT AudioBuffer final : public ScriptWrappable {
|
||||
DEFINE_WRAPPERTYPEINFO();
|
||||
@@ -88,13 +89,13 @@ class MODULES_EXPORT AudioBuffer final : public ScriptWrappable {
|
||||
|
||||
// Channel data access
|
||||
unsigned numberOfChannels() const { return channels_.size(); }
|
||||
- NotShared<DOMFloat32Array> getChannelData(unsigned channel_index,
|
||||
+ NotShared<DOMFloat32Array> getChannelData(ScriptState*, unsigned channel_index,
|
||||
ExceptionState&);
|
||||
NotShared<DOMFloat32Array> getChannelData(unsigned channel_index);
|
||||
- void copyFromChannel(NotShared<DOMFloat32Array>,
|
||||
+ void copyFromChannel(ScriptState*, NotShared<DOMFloat32Array>,
|
||||
int32_t channel_number,
|
||||
ExceptionState&);
|
||||
- void copyFromChannel(NotShared<DOMFloat32Array>,
|
||||
+ void copyFromChannel(ScriptState*, NotShared<DOMFloat32Array>,
|
||||
int32_t channel_number,
|
||||
size_t buffer_offset,
|
||||
ExceptionState&);
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.idl b/third_party/blink/renderer/modules/webaudio/audio_buffer.idl
|
||||
--- a/third_party/blink/renderer/modules/webaudio/audio_buffer.idl
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.idl
|
||||
@@ -37,6 +37,12 @@
|
||||
|
||||
// Channel access
|
||||
readonly attribute unsigned long numberOfChannels;
|
||||
+ [CallWith=ScriptState, HighEntropy=Direct, Measure, RaisesException] Float32Array getChannelData(
|
||||
+ unsigned long channelIndex);
|
||||
+ [CallWith=ScriptState, HighEntropy, Measure, RaisesException] void copyFromChannel(
|
||||
+ Float32Array destination,
|
||||
+ unsigned long channelNumber,
|
||||
+ optional unsigned long bufferOffset = 0);
|
||||
[RaisesException] void copyToChannel(
|
||||
Float32Array source,
|
||||
unsigned long channelNumber,
|
||||
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
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "services/metrics/public/cpp/ukm_builders.h"
|
||||
#include "services/metrics/public/cpp/ukm_recorder.h"
|
||||
#include "third_party/blink/public/common/browser_interface_broker_proxy.h"
|
||||
+#include "third_party/blink/public/common/features.h"
|
||||
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
|
||||
#include "third_party/blink/public/platform/web_audio_latency_hint.h"
|
||||
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
|
||||
@@ -508,6 +509,10 @@ double AudioContext::baseLatency() const {
|
||||
DCHECK(IsMainThread());
|
||||
DCHECK(destination());
|
||||
|
||||
+ if (!base::FeatureList::IsEnabled(features::kAudioContextShuffleEnabled) &&
|
||||
+ !base::FeatureList::IsEnabled(features::kAudioContextAPIEnabled)) {
|
||||
+ return base_latency_;
|
||||
+ }
|
||||
// remove precision past two decimal digits
|
||||
int l = base_latency_ * 100;
|
||||
return double(l)/100;
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc b/third_party/blink/renderer/modules/webaudio/base_audio_context.cc
|
||||
--- a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/base_audio_context.cc
|
||||
@@ -29,6 +29,7 @@
|
||||
|
||||
#include "base/metrics/histogram_functions.h"
|
||||
#include "build/build_config.h"
|
||||
+#include "third_party/blink/public/common/features.h"
|
||||
#include "third_party/blink/public/mojom/devtools/console_message.mojom-blink.h"
|
||||
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-shared.h"
|
||||
#include "third_party/blink/public/platform/platform.h"
|
||||
@@ -702,6 +703,17 @@ Document* BaseAudioContext::GetDocument() const {
|
||||
return window ? window->document() : nullptr;
|
||||
}
|
||||
|
||||
+/*static*/
|
||||
+float BaseAudioContext::ShuffleAudioData(float data, unsigned index) {
|
||||
+ if (base::FeatureList::IsEnabled(features::kAudioContextShuffleEnabled)) {
|
||||
+ float rnd = 1.0f +
|
||||
+ (base::RandDouble() / 10000.0) *
|
||||
+ (base::RandInt(0,10) > 5 ? 1.f : -1.f);
|
||||
+ return data * rnd;
|
||||
+ }
|
||||
+ return data;
|
||||
+}
|
||||
+
|
||||
void BaseAudioContext::NotifySourceNodeStartedProcessing(AudioNode* node) {
|
||||
DCHECK(IsMainThread());
|
||||
GraphAutoLocker locker(this);
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.h b/third_party/blink/renderer/modules/webaudio/base_audio_context.h
|
||||
--- a/third_party/blink/renderer/modules/webaudio/base_audio_context.h
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/base_audio_context.h
|
||||
@@ -338,6 +338,8 @@ class MODULES_EXPORT BaseAudioContext
|
||||
// if the execution context does not exist.
|
||||
bool CheckExecutionContextAndThrowIfNecessary(ExceptionState&);
|
||||
|
||||
+ static float ShuffleAudioData(float data, unsigned index);
|
||||
+
|
||||
protected:
|
||||
enum ContextType { kRealtimeContext, kOfflineContext };
|
||||
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc
|
||||
--- a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc
|
||||
@@ -29,6 +29,9 @@
|
||||
#include <algorithm>
|
||||
#include <complex>
|
||||
|
||||
+#include "third_party/blink/public/common/features.h"
|
||||
+#include "third_party/blink/renderer/modules/webaudio/realtime_analyser.h"
|
||||
+#include "third_party/blink/renderer/modules/webaudio/base_audio_context.h"
|
||||
#include "third_party/blink/renderer/platform/audio/audio_bus.h"
|
||||
#include "third_party/blink/renderer/platform/audio/audio_utilities.h"
|
||||
#include "third_party/blink/renderer/platform/audio/vector_math.h"
|
||||
@@ -95,10 +98,17 @@ bool RealtimeAnalyser::SetFftSize(uint32_t size) {
|
||||
}
|
||||
|
||||
void RealtimeAnalyser::GetFloatFrequencyData(DOMFloat32Array* destination_array,
|
||||
- double current_time) {
|
||||
+ double current_time,
|
||||
+ ExceptionState& exception_state) {
|
||||
DCHECK(IsMainThread());
|
||||
DCHECK(destination_array);
|
||||
|
||||
+ if (!base::FeatureList::IsEnabled(features::kAudioContextAPIEnabled)) {
|
||||
+ exception_state.ThrowDOMException(
|
||||
+ DOMExceptionCode::kNotSupportedError, "GetFloatFrequencyData() is unavailable");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
if (current_time <= last_analysis_time_) {
|
||||
ConvertFloatToDb(destination_array);
|
||||
return;
|
||||
@@ -112,10 +122,17 @@ void RealtimeAnalyser::GetFloatFrequencyData(DOMFloat32Array* destination_array,
|
||||
}
|
||||
|
||||
void RealtimeAnalyser::GetByteFrequencyData(DOMUint8Array* destination_array,
|
||||
- double current_time) {
|
||||
+ double current_time,
|
||||
+ ExceptionState& exception_state) {
|
||||
DCHECK(IsMainThread());
|
||||
DCHECK(destination_array);
|
||||
|
||||
+ if (!base::FeatureList::IsEnabled(features::kAudioContextAPIEnabled)) {
|
||||
+ exception_state.ThrowDOMException(
|
||||
+ DOMExceptionCode::kNotSupportedError, "GetByteFrequencyData() is unavailable");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
if (current_time <= last_analysis_time_) {
|
||||
// FIXME: Is it worth caching the data so we don't have to do the conversion
|
||||
// every time? Perhaps not, since we expect many calls in the same
|
||||
@@ -132,10 +149,17 @@ void RealtimeAnalyser::GetByteFrequencyData(DOMUint8Array* destination_array,
|
||||
}
|
||||
|
||||
void RealtimeAnalyser::GetFloatTimeDomainData(
|
||||
- DOMFloat32Array* destination_array) {
|
||||
+ DOMFloat32Array* destination_array,
|
||||
+ ExceptionState& exception_state) {
|
||||
DCHECK(IsMainThread());
|
||||
DCHECK(destination_array);
|
||||
|
||||
+ if (!base::FeatureList::IsEnabled(features::kAudioContextAPIEnabled)) {
|
||||
+ exception_state.ThrowDOMException(
|
||||
+ DOMExceptionCode::kNotSupportedError, "GetFloatTimeDomainData() is unavailable");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
unsigned fft_size = FftSize();
|
||||
size_t len =
|
||||
std::min(static_cast<size_t>(fft_size), destination_array->length());
|
||||
@@ -154,15 +178,23 @@ void RealtimeAnalyser::GetFloatTimeDomainData(
|
||||
input_buffer[(i + write_index - fft_size + kInputBufferSize) %
|
||||
kInputBufferSize];
|
||||
|
||||
+ value = BaseAudioContext::ShuffleAudioData(value, i);
|
||||
destination[i] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
-void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array) {
|
||||
+void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array,
|
||||
+ ExceptionState& exception_state) {
|
||||
DCHECK(IsMainThread());
|
||||
DCHECK(destination_array);
|
||||
|
||||
+ if (!base::FeatureList::IsEnabled(features::kAudioContextAPIEnabled)) {
|
||||
+ exception_state.ThrowDOMException(
|
||||
+ DOMExceptionCode::kNotSupportedError, "GetByteTimeDomainData() is unavailable");
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
unsigned fft_size = FftSize();
|
||||
size_t len =
|
||||
std::min(static_cast<size_t>(fft_size), destination_array->length());
|
||||
@@ -181,6 +213,8 @@ void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array) {
|
||||
input_buffer[(i + write_index - fft_size + kInputBufferSize) %
|
||||
kInputBufferSize];
|
||||
|
||||
+ value = BaseAudioContext::ShuffleAudioData(value, i);
|
||||
+
|
||||
// Scale from nominal -1 -> +1 to unsigned byte.
|
||||
double scaled_value = 128 * (value + 1);
|
||||
|
||||
@@ -308,6 +342,8 @@ void RealtimeAnalyser::ConvertToByteData(DOMUint8Array* destination_array) {
|
||||
double scaled_value =
|
||||
UCHAR_MAX * (db_mag - min_decibels) * range_scale_factor;
|
||||
|
||||
+ scaled_value = BaseAudioContext::ShuffleAudioData(scaled_value, i);
|
||||
+
|
||||
// Clip to valid range.
|
||||
if (scaled_value < 0) {
|
||||
scaled_value = 0;
|
||||
@@ -333,6 +369,7 @@ void RealtimeAnalyser::ConvertFloatToDb(DOMFloat32Array* destination_array) {
|
||||
float linear_value = source[i];
|
||||
double db_mag = audio_utilities::LinearToDecibels(linear_value);
|
||||
destination[i] = static_cast<float>(db_mag);
|
||||
+ destination[i] = BaseAudioContext::ShuffleAudioData(destination[i], i);
|
||||
}
|
||||
}
|
||||
}
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.h b/third_party/blink/renderer/modules/webaudio/realtime_analyser.h
|
||||
--- a/third_party/blink/renderer/modules/webaudio/realtime_analyser.h
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/realtime_analyser.h
|
||||
@@ -32,6 +32,8 @@
|
||||
#include "third_party/blink/renderer/core/typed_arrays/dom_typed_array.h"
|
||||
#include "third_party/blink/renderer/platform/audio/audio_array.h"
|
||||
#include "third_party/blink/renderer/platform/audio/fft_frame.h"
|
||||
+#include "third_party/blink/renderer/platform/bindings/exception_messages.h"
|
||||
+#include "third_party/blink/renderer/platform/bindings/exception_state.h"
|
||||
|
||||
namespace blink {
|
||||
|
||||
@@ -71,10 +73,10 @@ class RealtimeAnalyser final {
|
||||
void SetSmoothingTimeConstant(double k) { smoothing_time_constant_ = k; }
|
||||
double SmoothingTimeConstant() const { return smoothing_time_constant_; }
|
||||
|
||||
- void GetFloatFrequencyData(DOMFloat32Array*, double);
|
||||
- void GetByteFrequencyData(DOMUint8Array*, double);
|
||||
- void GetFloatTimeDomainData(DOMFloat32Array*);
|
||||
- void GetByteTimeDomainData(DOMUint8Array*);
|
||||
+ void GetFloatFrequencyData(DOMFloat32Array*, double, ExceptionState&);
|
||||
+ void GetByteFrequencyData(DOMUint8Array*, double, ExceptionState&);
|
||||
+ void GetFloatTimeDomainData(DOMFloat32Array*, ExceptionState&);
|
||||
+ void GetByteTimeDomainData(DOMUint8Array*, ExceptionState&);
|
||||
|
||||
// The audio thread writes input data here.
|
||||
void WriteInput(AudioBus*, uint32_t frames_to_process);
|
||||
--
|
||||
2.25.1
|
||||
@@ -13,7 +13,7 @@ Subject: Add bookmark import/export actions (win fixup)
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3632,6 +3632,8 @@ static_library("browser") {
|
||||
@@ -3630,6 +3630,8 @@ static_library("browser") {
|
||||
"badging/badge_manager_factory.h",
|
||||
"banners/app_banner_manager_desktop.cc",
|
||||
"banners/app_banner_manager_desktop.h",
|
||||
@@ -25,7 +25,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -9145,11 +9145,13 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -9138,11 +9138,13 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(net::features::kIsCleartextPermitted)},
|
||||
#endif
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Add flag to configure maximum connecti (win fixup)
|
||||
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
|
||||
@@ -1070,10 +1070,12 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
|
||||
@@ -1064,10 +1064,12 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
|
||||
switches::kForceDisplayColorProfile, "hdr10"},
|
||||
};
|
||||
|
||||
|
||||
@@ -10,14 +10,12 @@ Subject: Add flag to disable IPv6 probes (win fixup)
|
||||
net/base/features.cc | 4 ++++
|
||||
net/base/features.h | 3 +++
|
||||
net/dns/host_resolver_manager.cc | 2 +-
|
||||
services/network/public/cpp/features.cc | 4 ----
|
||||
services/network/public/cpp/features.h | 2 --
|
||||
9 files changed, 11 insertions(+), 16 deletions(-)
|
||||
7 files changed, 11 insertions(+), 10 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
|
||||
@@ -6098,7 +6098,7 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -6087,7 +6087,7 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"ipv6-probing",
|
||||
flag_descriptions::kIPv6ProbingName,
|
||||
flag_descriptions::kIPv6ProbingDescription, kOsAll,
|
||||
@@ -102,7 +100,7 @@ diff --git a/net/base/features.h b/net/base/features.h
|
||||
kUseDnsHttpsSvcbEnforceSecureResponse;
|
||||
|
||||
+// Enable IPv6 ping probes to RIPE DNS.
|
||||
+NET_EXPORT extern const base::Feature kIPv6Probing;
|
||||
+NET_EXPORT BASE_DECLARE_FEATURE(kIPv6Probing);
|
||||
+
|
||||
// If we are still waiting for an HTTPS transaction after all the
|
||||
// other transactions in an insecure DnsTask have completed, we will compute a
|
||||
@@ -119,31 +117,5 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
||||
// pretend IPv6 connectivy probe is successful when probing is disabled
|
||||
SetLastIPv6ProbeResult(true);
|
||||
} else {
|
||||
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
|
||||
@@ -42,10 +42,6 @@ BASE_FEATURE(kThrottleDelayable,
|
||||
"ThrottleDelayable",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
-// Enable IPv6 ping probes to RIPE DNS.
|
||||
-const base::Feature kIPv6Probing{"IPv6Probing",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
-
|
||||
// When kPriorityRequestsDelayableOnSlowConnections is enabled, HTTP
|
||||
// requests fetched from a SPDY/QUIC/H2 proxies can be delayed by the
|
||||
// ResourceScheduler just as HTTP/1.1 resources are. However, requests from such
|
||||
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
|
||||
--- a/services/network/public/cpp/features.h
|
||||
+++ b/services/network/public/cpp/features.h
|
||||
@@ -48,8 +48,6 @@ COMPONENT_EXPORT(NETWORK_CPP)
|
||||
extern const base::FeatureParam<TrustTokenOriginTrialSpec>
|
||||
kTrustTokenOperationsRequiringOriginTrial;
|
||||
COMPONENT_EXPORT(NETWORK_CPP)
|
||||
-extern const base::Feature kIPv6Probing;
|
||||
-COMPONENT_EXPORT(NETWORK_CPP)
|
||||
extern const base::FeatureParam<bool> kPlatformProvidedTrustTokenIssuance;
|
||||
|
||||
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kEnableSaveDataHeader);
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Add flag to disable external intent re (win fixup)
|
||||
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
|
||||
@@ -3628,9 +3628,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3621,9 +3621,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName,
|
||||
flag_descriptions::kUiPartialSwapDescription, kOsAll,
|
||||
SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)},
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Mon, 7 Nov 2022 16:10:21 +0000
|
||||
Subject: Add menu item to view source (add fixup)
|
||||
|
||||
---
|
||||
.../app/appmenu/AppMenuPropertiesDelegateImpl.java | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
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
|
||||
@@ -1212,8 +1212,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
protected void updateViewSourceMenuItem(
|
||||
Menu menu, Tab currentTab) {
|
||||
MenuItem viewSourceMenuItem = menu.findItem(R.id.view_source_id);
|
||||
- String url = currentTab.getUrl().getSpec();
|
||||
- viewSourceMenuItem.setVisible(!url.isEmpty() && !url.startsWith("view-source:"));
|
||||
+ if (currentTab != null) {
|
||||
+ String url = currentTab.getUrl().getSpec();
|
||||
+ viewSourceMenuItem.setVisible(!url.isEmpty() && !url.startsWith("view-source:"));
|
||||
+ } else {
|
||||
+ // currentTab maybe null with start surface
|
||||
+ viewSourceMenuItem.setVisible(false);
|
||||
+ }
|
||||
}
|
||||
|
||||
/**
|
||||
--
|
||||
2.25.1
|
||||
@@ -17,8 +17,7 @@ Subject: Add webRTC site settings (win fixup)
|
||||
.../views/page_info/page_info_view_factory.cc | 3 +++
|
||||
.../settings_localized_strings_provider.cc | 7 ++++++
|
||||
.../ui/webui/settings/site_settings_helper.cc | 1 +
|
||||
.../core/browser/content_settings_registry.cc | 2 +-
|
||||
15 files changed, 76 insertions(+), 1 deletion(-)
|
||||
14 files changed, 75 insertions(+)
|
||||
|
||||
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
@@ -236,17 +235,5 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
|
||||
|
||||
// Add new content settings here if a corresponding Javascript string
|
||||
// representation for it is not required, for example if the content setting
|
||||
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
|
||||
@@ -709,7 +709,7 @@ void ContentSettingsRegistry::Init() {
|
||||
ValidSettings(CONTENT_SETTING_ALLOW,
|
||||
CONTENT_SETTING_BLOCK),
|
||||
WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
||||
- WebsiteSettingsRegistry::PLATFORM_ANDROID,
|
||||
+ WebsiteSettingsRegistry::ALL_PLATFORMS,
|
||||
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
ContentSettingsInfo::PERSISTENT,
|
||||
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS,
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Wed, 28 Dec 2022 07:19:58 +0000
|
||||
Subject: Always open browser controls in new tab
|
||||
|
||||
---
|
||||
.../chrome/browser/tab/TabContextMenuItemDelegate.java | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
|
||||
@@ -19,6 +19,7 @@ import org.chromium.base.IntentUtils;
|
||||
import org.chromium.base.PackageManagerUtils;
|
||||
import org.chromium.base.metrics.RecordUserAction;
|
||||
import org.chromium.base.supplier.Supplier;
|
||||
+import org.chromium.cc.input.BrowserControlsState;
|
||||
import org.chromium.chrome.browser.DefaultBrowserInfo;
|
||||
import org.chromium.chrome.browser.IntentHandler;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
|
||||
@@ -33,6 +34,7 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
|
||||
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
|
||||
import org.chromium.chrome.browser.offlinepages.RequestCoordinatorBridge;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
+import org.chromium.chrome.browser.tab.TabBrowserControlsConstraintsHelper;
|
||||
import org.chromium.chrome.browser.tab.state.CriticalPersistedTabData;
|
||||
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
||||
import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
|
||||
@@ -202,6 +204,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
||||
|
||||
@Override
|
||||
public void onOpenInNewTab(GURL url, Referrer referrer, boolean navigateToTab) {
|
||||
+ TabBrowserControlsConstraintsHelper.get(mTab).update(BrowserControlsState.SHOWN, true);
|
||||
RecordUserAction.record("MobileNewTabOpened");
|
||||
RecordUserAction.record("LinkOpenedInNewTab");
|
||||
LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec());
|
||||
@@ -214,6 +217,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
|
||||
|
||||
@Override
|
||||
public void onOpenInNewTabInGroup(GURL url, Referrer referrer) {
|
||||
+ TabBrowserControlsConstraintsHelper.get(mTab).update(BrowserControlsState.SHOWN, true);
|
||||
RecordUserAction.record("MobileNewTabOpened");
|
||||
RecordUserAction.record("LinkOpenedInNewTab");
|
||||
LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec());
|
||||
--
|
||||
2.25.1
|
||||
@@ -0,0 +1,24 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Sun, 18 Dec 2022 16:38:48 +0000
|
||||
Subject: Client hints overrides (add fixup)
|
||||
|
||||
---
|
||||
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -2716,8 +2716,8 @@
|
||||
public: true,
|
||||
},
|
||||
{
|
||||
- name: "UserAgentClientHint",
|
||||
- status: "stable",
|
||||
+ name: "UserAgentClientHint", // always disabled
|
||||
+ status: "experimental", // in bromite
|
||||
base_feature: "UserAgentClientHint",
|
||||
},
|
||||
{
|
||||
--
|
||||
2.25.1
|
||||
@@ -1,26 +0,0 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Thu, 13 Oct 2022 10:33:34 +0000
|
||||
Subject: Client hints overrides (win fixup)
|
||||
|
||||
---
|
||||
content/common/user_agent.cc | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
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,7 +323,11 @@ std::string BuildUserAgentFromProduct(const std::string& product) {
|
||||
}
|
||||
|
||||
std::string BuildModelInfo() {
|
||||
- return "SAMSUNG SM-G960U";
|
||||
+ std::string model;
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ model = "SAMSUNG SM-G960U";
|
||||
+#endif
|
||||
+ return model;
|
||||
}
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
--
|
||||
2.25.1
|
||||
@@ -6,8 +6,10 @@ Subject: Disable fetching of all field trials (add fixup)
|
||||
chrome/browser/net/system_network_context_manager.cc | 1 -
|
||||
components/variations/net/BUILD.gn | 2 --
|
||||
content/browser/loader/url_loader_throttles.cc | 2 --
|
||||
content/browser/origin_trials/origin_trials_utils.cc | 2 +-
|
||||
content/public/common/content_features.cc | 4 ++--
|
||||
content/renderer/variations_render_thread_observer.cc | 9 ---------
|
||||
4 files changed, 14 deletions(-)
|
||||
6 files changed, 3 insertions(+), 17 deletions(-)
|
||||
|
||||
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
|
||||
@@ -44,6 +46,32 @@ diff --git a/content/browser/loader/url_loader_throttles.cc b/content/browser/lo
|
||||
|
||||
ClientHintsControllerDelegate* client_hint_delegate =
|
||||
browser_context->GetClientHintsControllerDelegate();
|
||||
diff --git a/content/browser/origin_trials/origin_trials_utils.cc b/content/browser/origin_trials/origin_trials_utils.cc
|
||||
--- a/content/browser/origin_trials/origin_trials_utils.cc
|
||||
+++ b/content/browser/origin_trials/origin_trials_utils.cc
|
||||
@@ -14,7 +14,7 @@ namespace {
|
||||
std::vector<std::string> GetHeaderValues(
|
||||
base::StringPiece header_name,
|
||||
const net::HttpResponseHeaders* headers) {
|
||||
- if (!headers) {
|
||||
+ if ((true)) {
|
||||
return {};
|
||||
}
|
||||
size_t iter = 0;
|
||||
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
|
||||
@@ -773,8 +773,8 @@ BASE_FEATURE(kPepperCrossOriginRedirectRestriction,
|
||||
// things before receiving the response, for instance it can affect the next
|
||||
// navigation's network request.
|
||||
BASE_FEATURE(kPersistentOriginTrials,
|
||||
- "PersistentOriginTrials",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "PersistentOriginTrials", // always disabled
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in bromite
|
||||
|
||||
// A browser-side equivalent of the Blink feature "DocumentPictureInPictureAPI".
|
||||
// This is used for sanity checks to ensure that the feature can't be enabled by
|
||||
diff --git a/content/renderer/variations_render_thread_observer.cc b/content/renderer/variations_render_thread_observer.cc
|
||||
--- a/content/renderer/variations_render_thread_observer.cc
|
||||
+++ b/content/renderer/variations_render_thread_observer.cc
|
||||
|
||||
@@ -81,7 +81,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"//chrome/browser/share",
|
||||
"//chrome/browser/sharing:buildflags",
|
||||
"//chrome/browser/sharing/proto",
|
||||
@@ -3771,10 +3764,6 @@ static_library("browser") {
|
||||
@@ -3769,10 +3762,6 @@ static_library("browser") {
|
||||
"enterprise/connectors/analysis/content_analysis_dialog.h",
|
||||
"enterprise/connectors/analysis/content_analysis_downloads_delegate.cc",
|
||||
"enterprise/connectors/analysis/content_analysis_downloads_delegate.h",
|
||||
@@ -92,7 +92,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"enterprise/connectors/analysis/request_handler_base.cc",
|
||||
"enterprise/connectors/analysis/request_handler_base.h",
|
||||
"enterprise/connectors/common.cc",
|
||||
@@ -8229,7 +8218,6 @@ static_library("test_support") {
|
||||
@@ -8227,7 +8216,6 @@ static_library("test_support") {
|
||||
public_deps = [
|
||||
":browser",
|
||||
"//chrome/browser/profiles:profile",
|
||||
@@ -1038,16 +1038,16 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b
|
||||
// Retrieves and formats the saved passwords domains from signon_realms.
|
||||
std::vector<std::string> GetMatchingDomains(
|
||||
const std::vector<password_manager::MatchingReusedCredential>&
|
||||
@@ -982,7 +982,7 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry(
|
||||
@@ -981,7 +981,7 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry(
|
||||
bool password_field_exists,
|
||||
uint64_t reused_password_hash,
|
||||
const std::string& domain) {
|
||||
|
||||
-#if !BUILDFLAG(IS_ANDROID)
|
||||
+#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_WIN)
|
||||
// If the webpage is not an extension page, do nothing.
|
||||
if (!GURL(domain).SchemeIs(kExtensionScheme)) {
|
||||
return;
|
||||
@@ -1022,7 +1022,18 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry(
|
||||
@@ -1021,7 +1021,18 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry(
|
||||
void ChromePasswordManagerClient::LogPasswordReuseDetectedEvent() {
|
||||
}
|
||||
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Fri, 23 Sep 2022 11:24:45 +0000
|
||||
Subject: Enable ThirdPartyStoragePartitioning flag
|
||||
|
||||
---
|
||||
net/base/features.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/net/base/features.cc b/net/base/features.cc
|
||||
--- a/net/base/features.cc
|
||||
+++ b/net/base/features.cc
|
||||
@@ -366,7 +366,7 @@ const base::FeatureParam<bool> kStorageAccessAPIAutoDenyOutsideFPS{
|
||||
// by the top level site to reduce fingerprinting.
|
||||
BASE_FEATURE(kThirdPartyStoragePartitioning,
|
||||
"ThirdPartyStoragePartitioning",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kAlpsParsing, "AlpsParsing", base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
--
|
||||
2.25.1
|
||||
@@ -0,0 +1,22 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Wed, 21 Dec 2022 13:44:39 +0000
|
||||
Subject: Enable kPostMessageDifferentPartitionSameOriginBlocked
|
||||
|
||||
---
|
||||
third_party/blink/common/features.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
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
|
||||
@@ -1650,7 +1650,7 @@ const base::FeatureParam<int> kDocumentMaxEventNodePathCachedEntries{
|
||||
|
||||
BASE_FEATURE(kPostMessageDifferentPartitionSameOriginBlocked,
|
||||
"PostMessageDifferentPartitionSameOriginBlocked",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
} // namespace features
|
||||
} // namespace blink
|
||||
--
|
||||
2.25.1
|
||||
@@ -20,7 +20,7 @@ Subject: Experimental user scripts support (win fixup)
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -3536,11 +3536,13 @@ static_library("browser") {
|
||||
@@ -3534,11 +3534,13 @@ static_library("browser") {
|
||||
]
|
||||
deps += [ "//chrome/android/modules/dev_ui/provider:native" ]
|
||||
}
|
||||
@@ -42,7 +42,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -7773,9 +7773,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -7762,9 +7762,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
chromeos::features::kClipboardHistoryNudgeSessionReset)},
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Wed, 28 Dec 2022 07:32:41 +0000
|
||||
Subject: Eyeo Adblock Remove (fixup)
|
||||
|
||||
---
|
||||
third_party/blink/renderer/core/css/style_engine.cc | 8 ++++++++
|
||||
third_party/blink/renderer/core/css/style_engine.h | 1 +
|
||||
.../blink/renderer/core/exported/web_document.cc | 13 ++++++++++---
|
||||
3 files changed, 19 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/css/style_engine.cc b/third_party/blink/renderer/core/css/style_engine.cc
|
||||
--- a/third_party/blink/renderer/core/css/style_engine.cc
|
||||
+++ b/third_party/blink/renderer/core/css/style_engine.cc
|
||||
@@ -503,6 +503,14 @@ void StyleEngine::UpdateActiveStyleSheetsInShadow(
|
||||
}
|
||||
}
|
||||
|
||||
+bool StyleEngine::ActiveUserStyleSheetsContainsKey(const StyleSheetKey& injection_key) {
|
||||
+ for (auto& sheet : injected_user_style_sheets_)
|
||||
+ if (sheet.first == injection_key)
|
||||
+ return true;
|
||||
+
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
void StyleEngine::UpdateActiveUserStyleSheets() {
|
||||
DCHECK(user_style_dirty_);
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/css/style_engine.h b/third_party/blink/renderer/core/css/style_engine.h
|
||||
--- a/third_party/blink/renderer/core/css/style_engine.h
|
||||
+++ b/third_party/blink/renderer/core/css/style_engine.h
|
||||
@@ -236,6 +236,7 @@ class CORE_EXPORT StyleEngine final : public GarbageCollected<StyleEngine>,
|
||||
}
|
||||
void ViewportStyleSettingChanged();
|
||||
|
||||
+ bool ActiveUserStyleSheetsContainsKey(const StyleSheetKey& injection_key);
|
||||
void InjectSheet(const StyleSheetKey&,
|
||||
StyleSheetContents*,
|
||||
WebCssOrigin = WebCssOrigin::kAuthor);
|
||||
diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_party/blink/renderer/core/exported/web_document.cc
|
||||
--- a/third_party/blink/renderer/core/exported/web_document.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_document.cc
|
||||
@@ -272,6 +272,16 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet(
|
||||
Document* document = Unwrap<Document>();
|
||||
DCHECK(document);
|
||||
|
||||
+ const WebStyleSheetKey& injection_key =
|
||||
+ key && !key->IsNull() ? *key : WebString::FromUTF8("abp");
|
||||
+ DCHECK(!injection_key.IsEmpty());
|
||||
+
|
||||
+ // Check if the css in already present
|
||||
+ if (document->GetStyleEngine().ActiveUserStyleSheetsContainsKey(injection_key)) {
|
||||
+ LOG(WARNING) << "[eyeo] Skip add css as already in collection";
|
||||
+ return injection_key;
|
||||
+ }
|
||||
+
|
||||
auto* parsed_sheet = MakeGarbageCollected<StyleSheetContents>(
|
||||
MakeGarbageCollected<CSSParserContext>(*document));
|
||||
parsed_sheet->ParseString(source_code);
|
||||
@@ -293,9 +303,6 @@ WebStyleSheetKey WebDocument::InsertAbpElemhideStylesheet(
|
||||
{SchedulingPolicy::DisableBackForwardCache()});
|
||||
}
|
||||
|
||||
- const WebStyleSheetKey& injection_key =
|
||||
- key && !key->IsNull() ? *key : GenerateStyleSheetKey();
|
||||
- DCHECK(!injection_key.IsEmpty());
|
||||
document->GetStyleEngine().InjectSheet(injection_key, parsed_sheet, origin);
|
||||
return injection_key;
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
@@ -1111,7 +1111,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
"//components/autofill/android:autofill_java",
|
||||
"//components/autofill/android:prefeditor_autofill_java",
|
||||
"//components/autofill_assistant/android:public_dependencies_java",
|
||||
@@ -1603,6 +1609,7 @@ if (current_toolchain == default_toolchain) {
|
||||
@@ -1599,6 +1605,7 @@ if (current_toolchain == default_toolchain) {
|
||||
"//chrome/test/android:chrome_java_integration_test_support",
|
||||
"//chrome/test/android:chrome_java_test_pagecontroller",
|
||||
"//chrome/test/android/test_trusted_web_activity:test_trusted_web_activity_java",
|
||||
@@ -1119,7 +1119,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
"//components/autofill/android:autofill_java",
|
||||
"//components/autofill/android:prefeditor_autofill_java",
|
||||
"//components/autofill_assistant/android:public_dependencies_java",
|
||||
@@ -4161,6 +4168,7 @@ group("jni_headers") {
|
||||
@@ -4157,6 +4164,7 @@ group("jni_headers") {
|
||||
"//chrome/browser/ui/messages/android:jni_headers",
|
||||
"//chrome/browser/util:jni_headers",
|
||||
"//chrome/browser/webauthn/android:jni_headers",
|
||||
@@ -1293,7 +1293,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"android/android_theme_resources.h",
|
||||
"android/autocomplete/tab_matcher_android.cc",
|
||||
"android/autocomplete/tab_matcher_android.h",
|
||||
@@ -3293,6 +3326,7 @@ static_library("browser") {
|
||||
@@ -3291,6 +3324,7 @@ static_library("browser") {
|
||||
"webauthn/android/conditional_ui_delegate_android.cc",
|
||||
"webauthn/android/conditional_ui_delegate_android.h",
|
||||
]
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Sun, 18 Dec 2022 16:37:43 +0000
|
||||
Subject: Guard for user-agent reduction (add fixup)
|
||||
|
||||
---
|
||||
chrome/browser/chrome_content_browser_client.cc | 2 +-
|
||||
content/common/user_agent.cc | 13 +++++--------
|
||||
.../platform/runtime_enabled_features.json5 | 3 ++-
|
||||
3 files changed, 8 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
||||
--- a/chrome/browser/chrome_content_browser_client.cc
|
||||
+++ b/chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -1475,7 +1475,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
|
||||
registry->RegisterIntegerPref(
|
||||
prefs::kUserAgentReduction,
|
||||
static_cast<int>(
|
||||
- embedder_support::UserAgentReductionEnterprisePolicyState::kDefault));
|
||||
+ embedder_support::UserAgentReductionEnterprisePolicyState::kForceEnabled));
|
||||
registry->RegisterBooleanPref(prefs::kOriginAgentClusterDefaultEnabled, true);
|
||||
registry->RegisterIntegerPref(
|
||||
prefs::kForceMajorVersionToMinorPositionInUserAgent,
|
||||
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 std::string();
|
||||
}
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -351,6 +344,10 @@ std::string GetAndroidOSInfo(
|
||||
IncludeAndroidModel include_android_model) {
|
||||
std::string android_info_str;
|
||||
|
||||
+ // Do not send information about the device.
|
||||
+ include_android_model = IncludeAndroidModel::Exclude;
|
||||
+ include_android_build_number = IncludeAndroidBuildNumber::Exclude;
|
||||
+
|
||||
// Send information about the device.
|
||||
bool semicolon_inserted = false;
|
||||
if (include_android_model == IncludeAndroidModel::Include) {
|
||||
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
|
||||
@@ -2721,7 +2721,8 @@
|
||||
base_feature: "UserAgentClientHint",
|
||||
},
|
||||
{
|
||||
- name: "UserAgentReduction",
|
||||
+ name: "UserAgentReduction", // always enabled
|
||||
+ status: "stable", // in bromite
|
||||
origin_trial_feature_name: "UserAgentReduction",
|
||||
origin_trial_allows_third_party: true,
|
||||
// iOS not included as it should not send a reduced User-Agent string.
|
||||
--
|
||||
2.25.1
|
||||
@@ -0,0 +1,146 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Tue, 27 Dec 2022 16:58:28 +0000
|
||||
Subject: Move navigation bar to bottom (add fixup)
|
||||
|
||||
---
|
||||
.../TabListContainerViewBinder.java | 4 --
|
||||
.../tab_management/TabListCoordinator.java | 69 ++++++++++++++++++-
|
||||
.../tab_management/TabSwitcherMediator.java | 3 +
|
||||
3 files changed, 69 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java
|
||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java
|
||||
@@ -21,8 +21,6 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import org.chromium.components.browser_ui.styles.ChromeColors;
|
||||
import org.chromium.ui.modelutil.PropertyKey;
|
||||
import org.chromium.ui.modelutil.PropertyModel;
|
||||
-import org.chromium.chrome.browser.flags.CachedFeatureFlags;
|
||||
-import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
|
||||
/**
|
||||
* ViewBinder for TabListRecyclerView.
|
||||
@@ -59,8 +57,6 @@ class TabListContainerViewBinder {
|
||||
params.topMargin = newTopMargin;
|
||||
view.requestLayout();
|
||||
} else if (BOTTOM_CONTROLS_HEIGHT == propertyKey) {
|
||||
- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM))
|
||||
- return;
|
||||
FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) view.getLayoutParams();
|
||||
params.bottomMargin = model.get(BOTTOM_CONTROLS_HEIGHT);
|
||||
view.requestLayout();
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
|
||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java
|
||||
@@ -7,6 +7,7 @@ package org.chromium.chrome.browser.tasks.tab_management;
|
||||
import static org.chromium.chrome.browser.tasks.tab_management.TabListModel.CardProperties.CARD_TYPE;
|
||||
|
||||
import android.content.Context;
|
||||
+import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
@@ -98,6 +99,62 @@ public class TabListCoordinator
|
||||
private boolean mLayoutListenerRegistered;
|
||||
private @Nullable TabStripSnapshotter mTabStripSnapshotter;
|
||||
|
||||
+ public class GridLayoutManagerDockBottom extends GridLayoutManager {
|
||||
+ Context mContext;
|
||||
+
|
||||
+ TabListRecyclerView mRecyclerView;
|
||||
+
|
||||
+ int mTopPadding = -1;
|
||||
+ int mLastPosition = -1;
|
||||
+ boolean mIsFirstLayout = true;
|
||||
+
|
||||
+ public GridLayoutManagerDockBottom(Context context, int spanCount) {
|
||||
+ super(context, spanCount);
|
||||
+ mContext = context;
|
||||
+ }
|
||||
+
|
||||
+ public void setTabListRecyclerView(TabListRecyclerView recyclerView) {
|
||||
+ mRecyclerView = recyclerView;
|
||||
+ }
|
||||
+
|
||||
+ public void ResetTopPosition() {
|
||||
+ mIsFirstLayout = true;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPaddingTop() {
|
||||
+ if (mContext.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
|
||||
+ return 0;
|
||||
+ if (mTopPadding == -1) return super.getPaddingTop();
|
||||
+ return mTopPadding;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void scrollToPositionWithOffset(int position, int offset) {
|
||||
+ mLastPosition = position;
|
||||
+ super.scrollToPositionWithOffset(position, -1);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onLayoutCompleted(RecyclerView.State state) {
|
||||
+ super.onLayoutCompleted(state);
|
||||
+
|
||||
+ View lastView = findViewByPosition(findFirstVisibleItemPosition());
|
||||
+ if (lastView != null) {
|
||||
+ mTopPadding = mRecyclerView.getHeight() - lastView.getHeight();
|
||||
+ if (mIsFirstLayout) {
|
||||
+ mIsFirstLayout = false;
|
||||
+ scrollToPositionWithOffset(mLastPosition, 0);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (mLastPosition != -1 && mLastPosition >= state.getItemCount()) {
|
||||
+ ResetTopPosition();
|
||||
+ scrollToPositionWithOffset(state.getItemCount()-getSpanCount(), 0);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
/**
|
||||
* Construct a coordinator for UI that shows a list of tabs.
|
||||
* @param mode Modes of showing the list of tabs. Can be used in GRID or STRIP.
|
||||
@@ -258,9 +315,12 @@ public class TabListCoordinator
|
||||
if (mMode == TabListMode.GRID) {
|
||||
GridLayoutManager gridLayoutManager =
|
||||
new GridLayoutManager(context, GRID_LAYOUT_SPAN_COUNT_COMPACT);
|
||||
- // invert the order if the toolbar is at bottom
|
||||
- if (titleProvider != null && CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM))
|
||||
- gridLayoutManager.setReverseLayout(true);
|
||||
+ if (titleProvider != null && CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
|
||||
+ gridLayoutManager =
|
||||
+ new GridLayoutManagerDockBottom(context, GRID_LAYOUT_SPAN_COUNT_COMPACT);
|
||||
+ ((GridLayoutManagerDockBottom)gridLayoutManager)
|
||||
+ .setTabListRecyclerView(mRecyclerView);
|
||||
+ }
|
||||
mRecyclerView.setLayoutManager(gridLayoutManager);
|
||||
mMediator.registerOrientationListener(gridLayoutManager);
|
||||
mMediator.updateSpanCount(gridLayoutManager,
|
||||
@@ -440,6 +500,9 @@ public class TabListCoordinator
|
||||
}
|
||||
registerLayoutChangeListener();
|
||||
mRecyclerView.prepareTabSwitcherView();
|
||||
+ GridLayoutManager glm = (GridLayoutManager) mRecyclerView.getLayoutManager();
|
||||
+ if (glm instanceof GridLayoutManagerDockBottom)
|
||||
+ ((GridLayoutManagerDockBottom)glm).ResetTopPosition();
|
||||
mMediator.prepareTabSwitcherView();
|
||||
mMediator.registerOnScrolledListener(mRecyclerView);
|
||||
}
|
||||
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
|
||||
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
|
||||
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
|
||||
@@ -760,6 +760,9 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
|
||||
private void setInitialScrollIndexOffset() {
|
||||
int offset = mMode == TabListMode.CAROUSEL ? INITIAL_SCROLL_INDEX_OFFSET_CAROUSEL
|
||||
: INITIAL_SCROLL_INDEX_OFFSET_GTS;
|
||||
+ if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
|
||||
+ offset = 0;
|
||||
+ }
|
||||
int initialPosition = Math.max(
|
||||
mTabModelSelector.getTabModelFilterProvider().getCurrentTabModelFilter().index()
|
||||
- offset,
|
||||
--
|
||||
2.25.1
|
||||
@@ -0,0 +1,522 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Wed, 28 Dec 2022 12:22:07 +0000
|
||||
Subject: Remove HTTP referrals in cross origin navi (fixup)
|
||||
|
||||
---
|
||||
chrome/android/chrome_java_resources.gni | 2 +
|
||||
chrome/android/chrome_java_sources.gni | 2 +
|
||||
...button_group_referer_policy_preference.xml | 47 ++++++++++
|
||||
.../java/res/xml/privacy_preferences.xml | 8 +-
|
||||
.../res/xml/referer_policy_preferences.xml | 31 +++++++
|
||||
.../privacy/settings/PrivacySettings.java | 12 ++-
|
||||
.../RadioButtonGroupRefererSettings.java | 89 +++++++++++++++++++
|
||||
.../settings/RefererSettingsFragment.java | 79 ++++++++++++++++
|
||||
.../net/system_network_context_manager.cc | 4 +
|
||||
chrome/browser/renderer_preferences_util.cc | 1 +
|
||||
.../strings/android_chrome_strings.grd | 25 +++++-
|
||||
chrome/browser/ui/prefs/pref_watcher.cc | 2 +
|
||||
chrome/browser/ui/prefs/prefs_tab_helper.cc | 2 +
|
||||
chrome/common/pref_names.cc | 3 +
|
||||
chrome/common/pref_names.h | 1 +
|
||||
.../renderer_host/navigation_request.cc | 5 +-
|
||||
.../renderer_preferences.h | 1 +
|
||||
17 files changed, 299 insertions(+), 15 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/layout/radio_button_group_referer_policy_preference.xml
|
||||
create mode 100644 chrome/android/java/res/xml/referer_policy_preferences.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/RadioButtonGroupRefererSettings.java
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/RefererSettingsFragment.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
|
||||
@@ -658,6 +658,8 @@ chrome_java_resources = [
|
||||
"java/res/xml/phone_as_a_security_key_accessory_filter.xml",
|
||||
"java/res/xml/incognito_preferences.xml",
|
||||
"java/res/xml/privacy_preferences.xml",
|
||||
+ "java/res/xml/referer_policy_preferences.xml",
|
||||
+ "java/res/layout/radio_button_group_referer_policy_preference.xml",
|
||||
"java/res/xml/search_widget_info.xml",
|
||||
"java/res/xml/tracing_preferences.xml",
|
||||
"java/res/xml/useragent_preferences.xml",
|
||||
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
|
||||
@@ -923,6 +923,8 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java",
|
||||
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java",
|
||||
"java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java",
|
||||
+ "java/src/org/chromium/chrome/browser/privacy/settings/RefererSettingsFragment.java",
|
||||
+ "java/src/org/chromium/chrome/browser/privacy/settings/RadioButtonGroupRefererSettings.java",
|
||||
"java/src/org/chromium/chrome/browser/provider/BaseColumns.java",
|
||||
"java/src/org/chromium/chrome/browser/provider/BookmarkColumns.java",
|
||||
"java/src/org/chromium/chrome/browser/provider/ChromeBrowserProviderImpl.java",
|
||||
diff --git a/chrome/android/java/res/layout/radio_button_group_referer_policy_preference.xml b/chrome/android/java/res/layout/radio_button_group_referer_policy_preference.xml
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/android/java/res/layout/radio_button_group_referer_policy_preference.xml
|
||||
@@ -0,0 +1,47 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<!--
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
+ Bromite is free software: you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation, either version 3 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ Bromite is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
|
||||
+-->
|
||||
+
|
||||
+<org.chromium.components.browser_ui.widget.RadioButtonWithDescriptionLayout
|
||||
+ xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
+ xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
+ android:layout_width="match_parent"
|
||||
+ android:layout_height="wrap_content"
|
||||
+ android:focusable="false">
|
||||
+
|
||||
+ <org.chromium.components.browser_ui.widget.RadioButtonWithDescription
|
||||
+ android:id="@+id/no_cross_origin_top_frame_policy"
|
||||
+ android:layout_width="match_parent"
|
||||
+ android:layout_height="wrap_content"
|
||||
+ app:primaryText="@string/no_cross_origin_top_frame_policy_title"
|
||||
+ app:descriptionText="@string/no_cross_origin_top_frame_policy_summary" />
|
||||
+
|
||||
+ <org.chromium.components.browser_ui.widget.RadioButtonWithDescription
|
||||
+ android:id="@+id/standard_referer_policy"
|
||||
+ android:layout_width="match_parent"
|
||||
+ android:layout_height="wrap_content"
|
||||
+ app:primaryText="@string/standard_referer_policy_title"
|
||||
+ app:descriptionText="@string/standard_referer_policy_summary" />
|
||||
+
|
||||
+ <org.chromium.components.browser_ui.widget.RadioButtonWithDescription
|
||||
+ android:id="@+id/disable_referer_policy"
|
||||
+ android:layout_width="match_parent"
|
||||
+ android:layout_height="wrap_content"
|
||||
+ app:primaryText="@string/disable_referer_policy_title"
|
||||
+ app:descriptionText="@string/disable_referer_policy_summary" />
|
||||
+
|
||||
+</org.chromium.components.browser_ui.widget.RadioButtonWithDescriptionLayout>
|
||||
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
|
||||
@@ -60,10 +60,10 @@ found in the LICENSE file.
|
||||
android:title="@string/close_tabs_on_exit_title"
|
||||
android:summary="@string/close_tabs_on_exit_summary"
|
||||
android:defaultValue="false" />
|
||||
- <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
|
||||
- android:key="enable_referrers"
|
||||
- android:title="@string/enable_referrers_title"
|
||||
- android:defaultValue="false" />
|
||||
+ <Preference
|
||||
+ android:key="referers_policy"
|
||||
+ android:title="@string/referers_policy_title"
|
||||
+ android:fragment="org.chromium.chrome.browser.privacy.settings.RefererSettingsFragment"/>
|
||||
<Preference
|
||||
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
|
||||
android:key="do_not_track"
|
||||
diff --git a/chrome/android/java/res/xml/referer_policy_preferences.xml b/chrome/android/java/res/xml/referer_policy_preferences.xml
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/android/java/res/xml/referer_policy_preferences.xml
|
||||
@@ -0,0 +1,31 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<!--
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
+ Bromite is free software: you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation, either version 3 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ Bromite is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
|
||||
+-->
|
||||
+
|
||||
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
+ xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
+
|
||||
+ <org.chromium.components.browser_ui.settings.TextMessagePreference
|
||||
+ android:key="summary"
|
||||
+ android:summary="@string/referers_policy_summary"
|
||||
+ app:allowDividerBelow="false" />
|
||||
+ <org.chromium.chrome.browser.privacy.settings.RadioButtonGroupRefererSettings
|
||||
+ android:key="referer_page_radio_button_group"
|
||||
+ android:selectable="false"
|
||||
+ app:allowDividerAbove="false"
|
||||
+ app:allowDividerBelow="false" />
|
||||
+</PreferenceScreen>
|
||||
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
|
||||
@@ -24,6 +24,7 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
import org.chromium.chrome.browser.incognito.reauth.IncognitoReauthSettingSwitchPreference;
|
||||
import org.chromium.chrome.browser.preferences.Pref;
|
||||
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsFragment;
|
||||
+import org.chromium.chrome.browser.privacy.settings.RefererSettingsFragment;
|
||||
import org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings;
|
||||
import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxBridge;
|
||||
import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxReferrer;
|
||||
@@ -61,7 +62,7 @@ public class PrivacySettings
|
||||
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
|
||||
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_ENABLE_REFERRERS = "enable_referrers";
|
||||
+ private static final String PREF_REFERER_POLICY = "referers_policy";
|
||||
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
|
||||
private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
|
||||
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
|
||||
@@ -175,9 +176,6 @@ public class PrivacySettings
|
||||
} else if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
|
||||
UserPrefs.get(Profile.getLastUsedRegularProfile())
|
||||
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
|
||||
- } else if (PREF_ENABLE_REFERRERS.equals(key)) {
|
||||
- UserPrefs.get(Profile.getLastUsedRegularProfile())
|
||||
- .setBoolean(Pref.ENABLE_REFERRERS, (boolean) newValue);
|
||||
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
|
||||
UserPrefs.get(Profile.getLastUsedRegularProfile())
|
||||
.setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue);
|
||||
@@ -231,9 +229,9 @@ public class PrivacySettings
|
||||
: R.string.text_off);
|
||||
}
|
||||
|
||||
- ChromeSwitchPreference enableReferrerPref = findPreference(PREF_ENABLE_REFERRERS);
|
||||
- enableReferrerPref.setChecked(prefService.getBoolean(Pref.ENABLE_REFERRERS));
|
||||
- enableReferrerPref.setOnPreferenceChangeListener(this);
|
||||
+ Preference refererPolicyPref = findPreference(PREF_REFERER_POLICY);
|
||||
+ refererPolicyPref.setSummary(
|
||||
+ RefererSettingsFragment.getRefererSummaryString(getContext()));
|
||||
|
||||
Preference preloadPagesPreference = findPreference(PREF_PRELOAD_PAGES);
|
||||
if (preloadPagesPreference != null) {
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/RadioButtonGroupRefererSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/RadioButtonGroupRefererSettings.java
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/RadioButtonGroupRefererSettings.java
|
||||
@@ -0,0 +1,89 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
+ Bromite is free software: you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation, either version 3 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ Bromite is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
|
||||
+*/
|
||||
+
|
||||
+package org.chromium.chrome.browser.privacy.settings;
|
||||
+
|
||||
+import android.content.Context;
|
||||
+import android.util.AttributeSet;
|
||||
+import android.view.View;
|
||||
+import android.widget.RadioGroup;
|
||||
+
|
||||
+import androidx.preference.Preference;
|
||||
+import androidx.preference.PreferenceViewHolder;
|
||||
+
|
||||
+import org.chromium.chrome.R;
|
||||
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
|
||||
+import org.chromium.components.browser_ui.widget.RadioButtonWithDescription;
|
||||
+import org.chromium.components.browser_ui.widget.RadioButtonWithDescriptionLayout;
|
||||
+
|
||||
+public class RadioButtonGroupRefererSettings extends Preference
|
||||
+ implements RadioGroup.OnCheckedChangeListener {
|
||||
+
|
||||
+ private RadioButtonWithDescription mStandardReferer;
|
||||
+ private RadioButtonWithDescription mNoCrossOriginReferer;
|
||||
+ private RadioButtonWithDescription mNoReferer;
|
||||
+ private int mRefererPolicy;
|
||||
+
|
||||
+ public RadioButtonGroupRefererSettings(Context context, AttributeSet attrs) {
|
||||
+ super(context, attrs);
|
||||
+ setLayoutResource(R.layout.radio_button_group_referer_policy_preference);
|
||||
+ }
|
||||
+
|
||||
+ public void init(boolean enableReferer, int refererPolicy) {
|
||||
+ if (!enableReferer)
|
||||
+ mRefererPolicy = 0;
|
||||
+ else
|
||||
+ mRefererPolicy = refererPolicy;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onCheckedChanged(RadioGroup group, int checkedId) {
|
||||
+ if (checkedId == mStandardReferer.getId()) {
|
||||
+ mRefererPolicy = 1;
|
||||
+ } else if (checkedId == mNoCrossOriginReferer.getId()) {
|
||||
+ mRefererPolicy = 2;
|
||||
+ } else if (checkedId == mNoReferer.getId()) {
|
||||
+ mRefererPolicy = 0;
|
||||
+ } else {
|
||||
+ assert false : "Should not be reached.";
|
||||
+ }
|
||||
+ callChangeListener(mRefererPolicy);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onBindViewHolder(PreferenceViewHolder holder) {
|
||||
+ super.onBindViewHolder(holder);
|
||||
+
|
||||
+ mStandardReferer = (RadioButtonWithDescription) holder.findViewById(
|
||||
+ R.id.standard_referer_policy);
|
||||
+ mNoCrossOriginReferer = (RadioButtonWithDescription) holder.findViewById(
|
||||
+ R.id.no_cross_origin_top_frame_policy);
|
||||
+ mNoReferer = (RadioButtonWithDescription) holder.findViewById(R.id.disable_referer_policy);
|
||||
+
|
||||
+ RadioButtonWithDescriptionLayout groupLayout =
|
||||
+ (RadioButtonWithDescriptionLayout) mNoReferer.getRootView();
|
||||
+ setCheckedState(mRefererPolicy);
|
||||
+ groupLayout.setOnCheckedChangeListener(this);
|
||||
+ }
|
||||
+
|
||||
+ public void setCheckedState(int checkedState) {
|
||||
+ mRefererPolicy = checkedState;
|
||||
+ mStandardReferer.setChecked(checkedState == 1);
|
||||
+ mNoCrossOriginReferer.setChecked(checkedState == 2);
|
||||
+ mNoReferer.setChecked(checkedState == 0);
|
||||
+ }
|
||||
+}
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/RefererSettingsFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/RefererSettingsFragment.java
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/RefererSettingsFragment.java
|
||||
@@ -0,0 +1,79 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
+ Bromite is free software: you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation, either version 3 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ Bromite is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
|
||||
+*/
|
||||
+
|
||||
+package org.chromium.chrome.browser.privacy.settings;
|
||||
+
|
||||
+import android.os.Bundle;
|
||||
+import android.content.Context;
|
||||
+
|
||||
+import androidx.preference.Preference;
|
||||
+import androidx.preference.PreferenceFragmentCompat;
|
||||
+
|
||||
+import org.chromium.chrome.R;
|
||||
+import org.chromium.chrome.browser.preferences.Pref;
|
||||
+import org.chromium.chrome.browser.profiles.Profile;
|
||||
+import org.chromium.components.browser_ui.settings.TextMessagePreference;
|
||||
+import org.chromium.components.browser_ui.settings.SettingsUtils;
|
||||
+import org.chromium.components.prefs.PrefService;
|
||||
+import org.chromium.components.user_prefs.UserPrefs;
|
||||
+
|
||||
+public class RefererSettingsFragment
|
||||
+ extends PreferenceFragmentCompat
|
||||
+ implements Preference.OnPreferenceChangeListener {
|
||||
+
|
||||
+ static final String PREF_REFERER_POLICY = "referer_page_radio_button_group";
|
||||
+
|
||||
+ private RadioButtonGroupRefererSettings mRefererPreference;
|
||||
+ private final PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
|
||||
+
|
||||
+ public static String getRefererSummaryString(Context context) {
|
||||
+ int policy = UserPrefs.get(Profile.getLastUsedRegularProfile())
|
||||
+ .getInteger(Pref.REFERRERS_POLICY);
|
||||
+
|
||||
+ if (policy == 0) {
|
||||
+ return context.getString(R.string.disable_referer_policy_title);
|
||||
+ }
|
||||
+ if (policy == 1) {
|
||||
+ return context.getString(R.string.standard_referer_policy_title);
|
||||
+ }
|
||||
+ if (policy == 2) {
|
||||
+ return context.getString(R.string.no_cross_origin_top_frame_policy_title);
|
||||
+ }
|
||||
+ assert false : "Should not be reached";
|
||||
+ return "";
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void onCreatePreferences(Bundle bundle, String s) {
|
||||
+ SettingsUtils.addPreferencesFromResource(this, R.xml.referer_policy_preferences);
|
||||
+ getActivity().setTitle(R.string.referers_policy_title);
|
||||
+
|
||||
+ mRefererPreference = findPreference(PREF_REFERER_POLICY);
|
||||
+ mRefererPreference.init(prefService.getBoolean(Pref.ENABLE_REFERRERS),
|
||||
+ prefService.getInteger(Pref.REFERRERS_POLICY));
|
||||
+ mRefererPreference.setOnPreferenceChangeListener(this);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
+ UserPrefs.get(Profile.getLastUsedRegularProfile())
|
||||
+ .setInteger(Pref.REFERRERS_POLICY, (int)newValue);
|
||||
+ UserPrefs.get(Profile.getLastUsedRegularProfile())
|
||||
+ .setBoolean(Pref.ENABLE_REFERRERS, (int)newValue != 0);
|
||||
+ return true;
|
||||
+ }
|
||||
+}
|
||||
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
|
||||
@@ -479,6 +479,9 @@ SystemNetworkContextManager::SystemNetworkContextManager(
|
||||
base::BindRepeating(&SystemNetworkContextManager::UpdateReferrersEnabled,
|
||||
base::Unretained(this)));
|
||||
|
||||
+ local_state_->SetDefaultPrefValue(
|
||||
+ prefs::kReferrersPolicy, base::Value(2));
|
||||
+
|
||||
pref_change_registrar_.Add(
|
||||
prefs::kExplicitlyAllowedNetworkPorts,
|
||||
base::BindRepeating(
|
||||
@@ -545,6 +548,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
|
||||
// the system NetworkContext, and the per-profile pref values are used for
|
||||
// the profile NetworkContexts.
|
||||
registry->RegisterBooleanPref(prefs::kEnableReferrers, true);
|
||||
+ registry->RegisterIntegerPref(prefs::kReferrersPolicy, 2);
|
||||
|
||||
registry->RegisterBooleanPref(prefs::kQuickCheckEnabled, true);
|
||||
|
||||
diff --git a/chrome/browser/renderer_preferences_util.cc b/chrome/browser/renderer_preferences_util.cc
|
||||
--- a/chrome/browser/renderer_preferences_util.cc
|
||||
+++ b/chrome/browser/renderer_preferences_util.cc
|
||||
@@ -115,6 +115,7 @@ void UpdateFromSystemSettings(blink::RendererPreferences* prefs,
|
||||
prefs->accept_languages = GetLanguageListForProfile(
|
||||
profile, pref_service->GetString(language::prefs::kAcceptLanguages));
|
||||
prefs->enable_referrers = pref_service->GetBoolean(prefs::kEnableReferrers);
|
||||
+ prefs->referrers_policy = pref_service->GetInteger(prefs::kReferrersPolicy);
|
||||
prefs->enable_do_not_track =
|
||||
pref_service->GetBoolean(prefs::kEnableDoNotTrack);
|
||||
prefs->enable_encrypted_media =
|
||||
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
|
||||
@@ -879,8 +879,29 @@ CHAR_LIMIT guidelines:
|
||||
|
||||
For example, some websites may respond to this request by showing you ads that aren’t based on other websites you’ve visited. Many websites will still collect and use your browsing data — for example to improve security, to provide content, ads and recommendations, and to generate reporting statistics.
|
||||
</message>
|
||||
- <message name="IDS_ENABLE_REFERRERS_TITLE" desc="Title for 'Enable referrers' preference">
|
||||
- Enable HTTP Referer header
|
||||
+ <message name="IDS_REFERERS_POLICY_TITLE" desc="Title for 'Enable referers' preference">
|
||||
+ HTTP Referer header policy
|
||||
+ </message>
|
||||
+ <message name="IDS_REFERERS_POLICY_SUMMARY" desc="Summary for a section in Settings that controls referer policy.">
|
||||
+ Allow to change default HTTP Referer header policy
|
||||
+ </message>
|
||||
+ <message name="IDS_STANDARD_REFERER_POLICY_TITLE" desc="Title for 'standard referer' preference">
|
||||
+ Standard HTTP Referrer header policy
|
||||
+ </message>
|
||||
+ <message name="IDS_STANDARD_REFERER_POLICY_SUMMARY" desc="Summary for 'standard referer' preference">
|
||||
+ Send only origin if the request is cross-origin
|
||||
+ </message>
|
||||
+ <message name="IDS_NO_CROSS_ORIGIN_TOP_FRAME_POLICY_TITLE" desc="Title for 'standard referer' preference">
|
||||
+ Disable if cross-origin and user begins navigation
|
||||
+ </message>
|
||||
+ <message name="IDS_NO_CROSS_ORIGIN_TOP_FRAME_POLICY_SUMMARY" desc="Summary for 'no cross origin referer' preference">
|
||||
+ Remove referrer if the navigation is cross-origin and occurs in the top frame otherwise send only origin if the request is cross-origin
|
||||
+ </message>
|
||||
+ <message name="IDS_DISABLE_REFERER_POLICY_TITLE" desc="Title for 'disable referer' preference">
|
||||
+ Disable all referrers
|
||||
+ </message>
|
||||
+ <message name="IDS_DISABLE_REFERER_POLICY_SUMMARY" desc="Summary for 'disable referer' preference">
|
||||
+ Disable all referrers, may break navigation
|
||||
</message>
|
||||
<message name="IDS_CAN_MAKE_PAYMENT_TITLE" desc="Title for preference to allow websites to know whether you have payment methods available through PaymentRequest.CanMakePayment interface">
|
||||
Access payment methods
|
||||
diff --git a/chrome/browser/ui/prefs/pref_watcher.cc b/chrome/browser/ui/prefs/pref_watcher.cc
|
||||
--- a/chrome/browser/ui/prefs/pref_watcher.cc
|
||||
+++ b/chrome/browser/ui/prefs/pref_watcher.cc
|
||||
@@ -97,6 +97,8 @@ PrefWatcher::PrefWatcher(Profile* profile) : profile_(profile) {
|
||||
renderer_callback);
|
||||
profile_pref_change_registrar_.Add(prefs::kEnableReferrers,
|
||||
renderer_callback);
|
||||
+ profile_pref_change_registrar_.Add(prefs::kReferrersPolicy,
|
||||
+ renderer_callback);
|
||||
profile_pref_change_registrar_.Add(prefs::kEnableEncryptedMedia,
|
||||
renderer_callback);
|
||||
profile_pref_change_registrar_.Add(prefs::kWebRTCIPHandlingPolicy,
|
||||
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
|
||||
@@ -360,6 +360,8 @@ void PrefsTabHelper::RegisterProfilePrefs(
|
||||
registry->RegisterBooleanPref(
|
||||
prefs::kEnableReferrers,
|
||||
!base::FeatureList::IsEnabled(features::kNoReferrers));
|
||||
+ registry->RegisterIntegerPref(
|
||||
+ prefs::kReferrersPolicy, 2); // NoCrossOriginReferer
|
||||
registry->RegisterBooleanPref(prefs::kEnableEncryptedMedia, true);
|
||||
registry->RegisterBooleanPref(prefs::kScrollToTextFragmentEnabled, false);
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
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
|
||||
@@ -1432,6 +1432,9 @@ const char kEnableHyperlinkAuditing[] = "enable_a_ping";
|
||||
// Whether to enable sending referrers.
|
||||
const char kEnableReferrers[] = "enable_referrers";
|
||||
|
||||
+// Set referrer policy.
|
||||
+const char kReferrersPolicy[] = "referrers_policy";
|
||||
+
|
||||
// Whether to send the DNT header.
|
||||
const char kEnableDoNotTrack[] = "enable_do_not_track";
|
||||
|
||||
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
|
||||
@@ -442,6 +442,7 @@ extern const char kPinnedTabs[];
|
||||
extern const char kDisable3DAPIs[];
|
||||
extern const char kEnableHyperlinkAuditing[];
|
||||
extern const char kEnableReferrers[];
|
||||
+extern const char kReferrersPolicy[];
|
||||
extern const char kEnableDoNotTrack[];
|
||||
extern const char kEnableEncryptedMedia[];
|
||||
|
||||
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
|
||||
@@ -431,8 +431,9 @@ void AddAdditionalRequestHeaders(
|
||||
blink::mojom::Referrer(GURL(), network::mojom::ReferrerPolicy::kNever);
|
||||
}
|
||||
|
||||
- if (!url::IsSameOriginWith(referrer->url.GetAsReferrer(), url) &&
|
||||
- frame_tree_node->IsOutermostMainFrame()) {
|
||||
+ if (render_prefs.enable_referrers && render_prefs.referrers_policy == 2 &&
|
||||
+ !url::IsSameOriginWith(referrer->url.GetAsReferrer(), url) &&
|
||||
+ frame_tree_node->IsOutermostMainFrame()) {
|
||||
// remove referrer if the navigation is done on the top frame
|
||||
*referrer =
|
||||
blink::mojom::Referrer(GURL(), network::mojom::ReferrerPolicy::kNever);
|
||||
diff --git a/third_party/blink/public/common/renderer_preferences/renderer_preferences.h b/third_party/blink/public/common/renderer_preferences/renderer_preferences.h
|
||||
--- a/third_party/blink/public/common/renderer_preferences/renderer_preferences.h
|
||||
+++ b/third_party/blink/public/common/renderer_preferences/renderer_preferences.h
|
||||
@@ -40,6 +40,7 @@ struct BLINK_COMMON_EXPORT RendererPreferences {
|
||||
absl::optional<base::TimeDelta> caret_blink_interval;
|
||||
bool use_custom_colors{true};
|
||||
bool enable_referrers{true};
|
||||
+ uint32_t referrers_policy{2};
|
||||
bool allow_cross_origin_auth_prompt{false};
|
||||
bool enable_do_not_track{false};
|
||||
bool enable_encrypted_media{true};
|
||||
--
|
||||
2.25.1
|
||||
@@ -24,7 +24,7 @@ Subject: Remove signin and sync integrations (win fixup)
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
+++ b/chrome/browser/BUILD.gn
|
||||
@@ -4282,8 +4282,6 @@ static_library("browser") {
|
||||
@@ -4280,8 +4280,6 @@ static_library("browser") {
|
||||
"sharing_hub/sharing_hub_service_factory.h",
|
||||
"signin/signin_promo.cc",
|
||||
"signin/signin_promo.h",
|
||||
@@ -33,7 +33,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"signin/signin_ui_util.cc",
|
||||
"signin/signin_ui_util.h",
|
||||
"speech/chrome_speech_recognition_service.cc",
|
||||
@@ -6999,12 +6997,6 @@ static_library("browser") {
|
||||
@@ -6997,12 +6995,6 @@ static_library("browser") {
|
||||
"signin/signin_ui_delegate_impl_dice.cc",
|
||||
"signin/signin_ui_delegate_impl_dice.h",
|
||||
]
|
||||
|
||||
@@ -9,7 +9,7 @@ Subject: Restore Search Ready Omnibox flag (win fixup)
|
||||
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
|
||||
@@ -9187,9 +9187,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -9180,9 +9180,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kPervasiveSystemAccentColorDescription, kOsWin,
|
||||
SINGLE_VALUE_TYPE(switches::kPervasiveSystemAccentColor)},
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Tue, 20 Dec 2022 15:09:46 +0000
|
||||
Subject: Temp Disable kAutomaticLazyFrameLoadingToEmbeds
|
||||
|
||||
---
|
||||
third_party/blink/common/features.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
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
|
||||
@@ -50,7 +50,7 @@ const base::FeatureParam<int> kSkipFrameCountForLazyAds(
|
||||
// Vitals.
|
||||
BASE_FEATURE(kAutomaticLazyFrameLoadingToEmbeds,
|
||||
"AutomaticLazyFrameLoadingToEmbeds", // must be enabled
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
|
||||
+ base::FEATURE_DISABLED_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
|
||||
--
|
||||
2.25.1
|
||||
@@ -1,252 +0,0 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Thu, 13 Oct 2022 10:10:26 +0000
|
||||
Subject: Viewport Protection (win fixup)
|
||||
|
||||
---
|
||||
chrome/app/settings_strings.grdp | 19 ++++++++++++++++
|
||||
chrome/browser/resources/settings/icons.html | 2 ++
|
||||
.../settings/privacy_page/privacy_page.html | 22 +++++++++++++++++++
|
||||
chrome/browser/resources/settings/route.ts | 1 +
|
||||
.../resources/settings/settings_routes.ts | 1 +
|
||||
.../site_settings/category_default_setting.ts | 1 +
|
||||
.../settings/site_settings/constants.ts | 1 +
|
||||
.../settings_category_default_radio_group.ts | 1 +
|
||||
.../settings/site_settings/site_details.html | 5 +++++
|
||||
.../recent_site_permissions.ts | 2 ++
|
||||
.../site_settings_page/site_settings_page.ts | 9 ++++++++
|
||||
.../views/page_info/page_info_view_factory.cc | 3 +++
|
||||
.../settings_localized_strings_provider.cc | 7 ++++++
|
||||
.../ui/webui/settings/site_settings_helper.cc | 1 +
|
||||
.../core/browser/content_settings_registry.cc | 2 +-
|
||||
15 files changed, 76 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -3869,6 +3869,25 @@
|
||||
Not allowed to use WebRTC
|
||||
</message>
|
||||
|
||||
+ <message name="IDS_SITE_SETTINGS_VIEWPORT_PROTECTION_TITLE" desc="Description of the viewport protection content setting page title.">
|
||||
+ Viewport Protection
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_DESCRIPTION" desc="Description of the viewport protection content setting.">
|
||||
+ Enable Viewport Protection
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_ALLOWED" desc="Label for the enabled option of the viewport protection setting.">
|
||||
+ Viewport Protection is enabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_BLOCKED" desc="Label for the disabled option of the viewport protection setting.">
|
||||
+ Viewport Protection is disabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_ALLOWED_EXCEPTIONS" desc="Label for the allowed exceptions site list of the viewport protection setting.">
|
||||
+ Allowed to use Viewport Protection
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_BLOCKED_EXCEPTIONS" desc="Label for the blocked exceptions site list of the viewport protection setting.">
|
||||
+ Not allowed to use Viewport Protection
|
||||
+ </message>
|
||||
+
|
||||
<if expr="not is_chromeos">
|
||||
<!-- Import Settings Dialog -->
|
||||
<message name="IDS_SETTINGS_IMPORT_SETTINGS_TITLE" desc="Dialog title for import dialog.">
|
||||
diff --git a/chrome/browser/resources/settings/icons.html b/chrome/browser/resources/settings/icons.html
|
||||
--- a/chrome/browser/resources/settings/icons.html
|
||||
+++ b/chrome/browser/resources/settings/icons.html
|
||||
@@ -180,6 +180,8 @@ NOTE: Chrome OS icons go in ./chromeos/os_icons.html.
|
||||
<g id="webgl-off"><path d="M13.002 4.001H7.106L5.252 2.148c.232-.094.485-.147.75-.147h8l6 6v8.896l-2-2V9.001h-5v-5z" fill="#5F6368"></path><path d="M16.002 12.001h-.896l.896.896v-.896zM.6 3.45l1.414-1.414 19.94 19.94-1.414 1.414L.6 3.45zM3.986 20.01V6.84l2 2V20.01h11.172l1.765 1.766c-.28.15-.599.234-.937.234H5.976c-1.1 0-1.99-.9-1.99-2z" fill="#5F6368"></path><path d="M9.158 12.01H7.986v2h3.172l-2-2zM13.158 16.01H7.986v2h7.172l-2-2z" fill="#5F6368"></path></g>
|
||||
<g id="webrtc"><path d="M8 16h8v2H8v-2zm0-4h8v2H8v-2zm6-10H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z" fill="#5F6368"></path></g>
|
||||
<g id="webrtc-off"><path d="M13.002 4.001H7.106L5.252 2.148c.232-.094.485-.147.75-.147h8l6 6v8.896l-2-2V9.001h-5v-5z" fill="#5F6368"></path><path d="M16.002 12.001h-.896l.896.896v-.896zM.6 3.45l1.414-1.414 19.94 19.94-1.414 1.414L.6 3.45zM3.986 20.01V6.84l2 2V20.01h11.172l1.765 1.766c-.28.15-.599.234-.937.234H5.976c-1.1 0-1.99-.9-1.99-2z" fill="#5F6368"></path><path d="M9.158 12.01H7.986v2h3.172l-2-2zM13.158 16.01H7.986v2h7.172l-2-2z" fill="#5F6368"></path></g>
|
||||
+ <g id="viewport-protection"><path d="M8 16h8v2H8v-2zm0-4h8v2H8v-2zm6-10H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z" fill="#5F6368"></path></g>
|
||||
+ <g id="viewport-protection-off"><path d="M13.002 4.001H7.106L5.252 2.148c.232-.094.485-.147.75-.147h8l6 6v8.896l-2-2V9.001h-5v-5z" fill="#5F6368"></path><path d="M16.002 12.001h-.896l.896.896v-.896zM.6 3.45l1.414-1.414 19.94 19.94-1.414 1.414L.6 3.45zM3.986 20.01V6.84l2 2V20.01h11.172l1.765 1.766c-.28.15-.599.234-.937.234H5.976c-1.1 0-1.99-.9-1.99-2z" fill="#5F6368"></path><path d="M9.158 12.01H7.986v2h3.172l-2-2zM13.158 16.01H7.986v2h7.172l-2-2z" fill="#5F6368"></path></g>
|
||||
</defs>
|
||||
</svg>
|
||||
</iron-iconset-svg>
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
@@ -1102,4 +1102,26 @@
|
||||
</category-setting-exceptions>
|
||||
</settings-subpage>
|
||||
</template>
|
||||
+ <template is="dom-if" route-path="/content/viewport-protection" no-search>
|
||||
+ <settings-subpage page-title="$i18n{siteSettingsViewportProtection}"
|
||||
+ search-label="$i18n{siteSettingsAllSitesSearch}"
|
||||
+ search-term="{{searchFilter_}}">
|
||||
+ <div class="content-settings-header secondary">
|
||||
+ $i18n{siteSettingsViewportProtectionDescription}
|
||||
+ </div>
|
||||
+ <settings-category-default-radio-group
|
||||
+ category="[[contentSettingsTypesEnum_.VIEWPORT]]"
|
||||
+ allow-option-label="$i18n{siteSettingsViewportProtectionAllowed}"
|
||||
+ allow-option-icon="settings:viewport-protection"
|
||||
+ block-option-label="$i18n{siteSettingsViewportProtectionBlocked}"
|
||||
+ block-option-icon="settings:viewport-protection-off">
|
||||
+ </settings-category-default-radio-group>
|
||||
+ <category-setting-exceptions
|
||||
+ category="[[contentSettingsTypesEnum_.VIEWPORT]]"
|
||||
+ block-header="$i18n{siteSettingsViewportProtectionBlockedExceptions}"
|
||||
+ allow-header="$i18n{siteSettingsViewportProtectionAllowedExceptions}"
|
||||
+ search-filter="[[searchFilter_]]">
|
||||
+ </category-setting-exceptions>
|
||||
+ </settings-subpage>
|
||||
+ </template>
|
||||
</settings-animated-pages>
|
||||
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
|
||||
--- a/chrome/browser/resources/settings/route.ts
|
||||
+++ b/chrome/browser/resources/settings/route.ts
|
||||
@@ -105,6 +105,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
r.SITE_SETTINGS_TIMEZONE_OVERRIDE = r.SITE_SETTINGS.createChild('timezone-override');
|
||||
r.SITE_SETTINGS_WEBGL = r.SITE_SETTINGS.createChild('webgl');
|
||||
r.SITE_SETTINGS_WEBRTC = r.SITE_SETTINGS.createChild('webrtc');
|
||||
+ r.SITE_SETTINGS_VIEWPORT = r.SITE_SETTINGS.createChild('viewport-protection');
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/chrome/browser/resources/settings/settings_routes.ts b/chrome/browser/resources/settings/settings_routes.ts
|
||||
--- a/chrome/browser/resources/settings/settings_routes.ts
|
||||
+++ b/chrome/browser/resources/settings/settings_routes.ts
|
||||
@@ -99,4 +99,5 @@ export interface SettingsRoutes {
|
||||
SITE_SETTINGS_TIMEZONE_OVERRIDE: Route;
|
||||
SITE_SETTINGS_WEBGL: Route;
|
||||
SITE_SETTINGS_WEBRTC: Route;
|
||||
+ SITE_SETTINGS_VIEWPORT: Route;
|
||||
}
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/category_default_setting.ts b/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
@@ -200,6 +200,7 @@ export class CategoryDefaultSettingElement extends
|
||||
case ContentSettingsTypes.TIMEZONE_OVERRIDE:
|
||||
case ContentSettingsTypes.WEBGL:
|
||||
case ContentSettingsTypes.WEBRTC:
|
||||
+ case ContentSettingsTypes.VIEWPORT:
|
||||
// "Allowed" vs "Blocked".
|
||||
this.browserProxy.setDefaultValueForContentType(
|
||||
this.category,
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/constants.ts b/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
@@ -47,6 +47,7 @@ export enum ContentSettingsTypes {
|
||||
TIMEZONE_OVERRIDE = 'timezone-override',
|
||||
WEBGL = 'webgl',
|
||||
WEBRTC = 'webrtc',
|
||||
+ VIEWPORT = 'viewport',
|
||||
|
||||
// The following item is not in the C++ kContentSettingsTypeGroupNames, but it
|
||||
// is used everywhere where ContentSettingsTypes is used in JS.
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
@@ -144,6 +144,7 @@ export class SettingsCategoryDefaultRadioGroupElement extends
|
||||
case ContentSettingsTypes.TIMEZONE_OVERRIDE:
|
||||
case ContentSettingsTypes.WEBGL:
|
||||
case ContentSettingsTypes.WEBRTC:
|
||||
+ case ContentSettingsTypes.VIEWPORT:
|
||||
// "Allowed" vs "Blocked".
|
||||
return ContentSetting.ALLOW;
|
||||
case ContentSettingsTypes.AR:
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
--- a/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
+++ b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
@@ -278,4 +278,9 @@
|
||||
icon="settings:webrtc"
|
||||
label="$i18n{siteSettingsWebRTC}">
|
||||
</site-details-permission>
|
||||
+ <site-details-permission
|
||||
+ category="[[contentSettingsTypesEnum_.VIEWPORT]]"
|
||||
+ icon="settings:viewport-protection"
|
||||
+ label="$i18n{siteSettingsViewportProtection}">
|
||||
+ </site-details-permission>
|
||||
</div>
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/recent_site_permissions.ts b/chrome/browser/resources/settings/site_settings_page/recent_site_permissions.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/recent_site_permissions.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/recent_site_permissions.ts
|
||||
@@ -206,6 +206,8 @@ export class SettingsRecentSitePermissionsElement extends
|
||||
return this.i18n('siteSettingsWebglMidSentence');
|
||||
case ContentSettingsTypes.WEBRTC:
|
||||
return this.i18n('siteSettingsWebRTCMidSentence');
|
||||
+ case ContentSettingsTypes.VIEWPORT:
|
||||
+ return this.i18n('siteSettingsViewportProtectionMidSentence');
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
@@ -353,6 +353,14 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
enabledLabel: 'siteSettingsWebRTCAllowed',
|
||||
disabledLabel: 'siteSettingsWebRTCBlocked',
|
||||
},
|
||||
+ {
|
||||
+ route: routes.SITE_SETTINGS_VIEWPORT,
|
||||
+ id: Id.VIEWPORT,
|
||||
+ label: 'siteSettingsViewportProtection',
|
||||
+ icon: 'settings:viewport-protection',
|
||||
+ enabledLabel: 'siteSettingsViewportProtectionAllowed',
|
||||
+ disabledLabel: 'siteSettingsViewportProtectionBlocked',
|
||||
+ },
|
||||
];
|
||||
|
||||
categoryItemMap = new Map(categoryList.map(item => [item.id, item]));
|
||||
@@ -440,6 +448,7 @@ export class SettingsSiteSettingsPageElement extends PolymerElement {
|
||||
Id.TIMEZONE_OVERRIDE,
|
||||
Id.WEBGL,
|
||||
Id.WEBRTC,
|
||||
+ Id.VIEWPORT,
|
||||
]),
|
||||
};
|
||||
},
|
||||
diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
@@ -347,6 +347,9 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
case ContentSettingsType::WEBRTC:
|
||||
icon = &vector_icons::kProtectedContentIcon;
|
||||
break;
|
||||
+ case ContentSettingsType::VIEWPORT:
|
||||
+ icon = &vector_icons::kProtectedContentIcon;
|
||||
+ break;
|
||||
default:
|
||||
// All other |ContentSettingsType|s do not have icons on desktop or are
|
||||
// not shown in the Page Info bubble.
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2171,6 +2171,13 @@ void AddSiteSettingsStrings(content::WebUIDataSource* html_source,
|
||||
{"siteSettingsWebRTCAllowedExceptions",IDS_SETTINGS_SITE_SETTINGS_WEBRTC_ALLOWED_EXCEPTIONS},
|
||||
{"siteSettingsWebRTCBlockedExceptions", IDS_SETTINGS_SITE_SETTINGS_WEBRTC_BLOCKED_EXCEPTIONS},
|
||||
{"siteSettingsWebRTCMidSentence", IDS_SITE_SETTINGS_WEBRTC_TITLE},
|
||||
+ {"siteSettingsViewportProtection", IDS_SITE_SETTINGS_VIEWPORT_PROTECTION_TITLE},
|
||||
+ {"siteSettingsViewportProtectionDescription", IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_DESCRIPTION},
|
||||
+ {"siteSettingsViewportProtectionAllowed", IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_ALLOWED},
|
||||
+ {"siteSettingsViewportProtectionBlocked", IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_BLOCKED},
|
||||
+ {"siteSettingsViewportProtectionAllowedExceptions",IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_ALLOWED_EXCEPTIONS},
|
||||
+ {"siteSettingsViewportProtectionBlockedExceptions", IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_BLOCKED_EXCEPTIONS},
|
||||
+ {"siteSettingsViewportProtectionMidSentence", IDS_SITE_SETTINGS_VIEWPORT_PROTECTION_TITLE},
|
||||
{"addSite", IDS_SETTINGS_ADD_SITE},
|
||||
{"addSiteTitle", IDS_SETTINGS_ADD_SITE_TITLE},
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
--- a/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
@@ -119,6 +119,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
|
||||
{ContentSettingsType::TIMEZONE_OVERRIDE, "timezone-override"},
|
||||
{ContentSettingsType::WEBGL, "webgl"},
|
||||
{ContentSettingsType::WEBRTC, "webrtc"},
|
||||
+ {ContentSettingsType::VIEWPORT, "viewport"},
|
||||
|
||||
// Add new content settings here if a corresponding Javascript string
|
||||
// representation for it is not required, for example if the content setting
|
||||
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
@@ -681,7 +681,7 @@ void ContentSettingsRegistry::Init() {
|
||||
ValidSettings(CONTENT_SETTING_ALLOW,
|
||||
CONTENT_SETTING_BLOCK),
|
||||
WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
||||
- WebsiteSettingsRegistry::PLATFORM_ANDROID,
|
||||
+ WebsiteSettingsRegistry::ALL_PLATFORMS,
|
||||
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
ContentSettingsInfo::PERSISTENT,
|
||||
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS,
|
||||
--
|
||||
2.25.1
|
||||
@@ -0,0 +1,650 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Tue, 20 Dec 2022 14:27:02 +0000
|
||||
Subject: Viewport Protection Site Setting
|
||||
|
||||
---
|
||||
chrome/app/settings_strings.grdp | 19 ++++
|
||||
chrome/browser/resources/settings/icons.html | 2 +
|
||||
.../settings/privacy_page/privacy_page.html | 22 +++++
|
||||
chrome/browser/resources/settings/route.ts | 1 +
|
||||
.../resources/settings/settings_routes.ts | 1 +
|
||||
.../site_settings/category_default_setting.ts | 1 +
|
||||
.../settings/site_settings/constants.ts | 1 +
|
||||
.../settings_category_default_radio_group.ts | 1 +
|
||||
.../settings/site_settings/site_details.html | 5 ++
|
||||
.../recent_site_permissions.ts | 2 +
|
||||
.../site_settings_page/site_settings_page.ts | 9 ++
|
||||
.../views/page_info/page_info_view_factory.cc | 3 +
|
||||
.../settings_localized_strings_provider.cc | 7 ++
|
||||
.../ui/webui/settings/site_settings_helper.cc | 1 +
|
||||
.../browser_ui/site_settings/android/BUILD.gn | 3 +
|
||||
.../BromiteCustomContentSettingImpl.java | 1 +
|
||||
.../BromiteViewportContentSetting.java | 86 +++++++++++++++++++
|
||||
.../site_settings/SiteSettingsCategory.java | 5 +-
|
||||
.../strings/android/browser_ui_strings.grd | 1 +
|
||||
.../browser_ui/strings/android/viewport.grdp | 18 ++++
|
||||
components/components_strings.grd | 1 +
|
||||
.../core/browser/content_settings_registry.cc | 16 +++-
|
||||
.../core/browser/content_settings_utils.cc | 2 +
|
||||
.../core/common/content_settings.cc | 4 +-
|
||||
.../core/common/content_settings.h | 1 +
|
||||
.../core/common/content_settings.mojom | 1 +
|
||||
.../common/content_settings_mojom_traits.cc | 3 +-
|
||||
.../common/content_settings_mojom_traits.h | 5 ++
|
||||
.../core/common/content_settings_types.h | 2 +
|
||||
.../renderer/content_settings_agent_impl.cc | 9 ++
|
||||
.../renderer/content_settings_agent_impl.h | 1 +
|
||||
third_party/blink/common/features.cc | 2 +-
|
||||
.../platform/web_content_settings_client.h | 2 +
|
||||
.../renderer/core/frame/local_dom_window.cc | 1 +
|
||||
third_party/blink/renderer/core/page/page.cc | 2 +
|
||||
35 files changed, 235 insertions(+), 6 deletions(-)
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteViewportContentSetting.java
|
||||
create mode 100644 components/browser_ui/strings/android/viewport.grdp
|
||||
|
||||
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -3869,6 +3869,25 @@
|
||||
Not allowed to use WebRTC
|
||||
</message>
|
||||
|
||||
+ <message name="IDS_SITE_SETTINGS_VIEWPORT_PROTECTION_TITLE" desc="Description of the viewport protection content setting page title.">
|
||||
+ Viewport Protection
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_DESCRIPTION" desc="Description of the viewport protection content setting.">
|
||||
+ Enable Viewport Protection
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_ALLOWED" desc="Label for the enabled option of the viewport protection setting.">
|
||||
+ Viewport Protection is enabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_BLOCKED" desc="Label for the disabled option of the viewport protection setting.">
|
||||
+ Viewport Protection is disabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_ALLOWED_EXCEPTIONS" desc="Label for the allowed exceptions site list of the viewport protection setting.">
|
||||
+ Allowed to use Viewport Protection
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_BLOCKED_EXCEPTIONS" desc="Label for the blocked exceptions site list of the viewport protection setting.">
|
||||
+ Not allowed to use Viewport Protection
|
||||
+ </message>
|
||||
+
|
||||
<if expr="not is_chromeos">
|
||||
<!-- Import Settings Dialog -->
|
||||
<message name="IDS_SETTINGS_IMPORT_SETTINGS_TITLE" desc="Dialog title for import dialog.">
|
||||
diff --git a/chrome/browser/resources/settings/icons.html b/chrome/browser/resources/settings/icons.html
|
||||
--- a/chrome/browser/resources/settings/icons.html
|
||||
+++ b/chrome/browser/resources/settings/icons.html
|
||||
@@ -180,6 +180,8 @@ NOTE: Chrome OS icons go in ./chromeos/os_icons.html.
|
||||
<g id="webgl-off"><path d="M13.002 4.001H7.106L5.252 2.148c.232-.094.485-.147.75-.147h8l6 6v8.896l-2-2V9.001h-5v-5z" fill="#5F6368"></path><path d="M16.002 12.001h-.896l.896.896v-.896zM.6 3.45l1.414-1.414 19.94 19.94-1.414 1.414L.6 3.45zM3.986 20.01V6.84l2 2V20.01h11.172l1.765 1.766c-.28.15-.599.234-.937.234H5.976c-1.1 0-1.99-.9-1.99-2z" fill="#5F6368"></path><path d="M9.158 12.01H7.986v2h3.172l-2-2zM13.158 16.01H7.986v2h7.172l-2-2z" fill="#5F6368"></path></g>
|
||||
<g id="webrtc"><path d="M8 16h8v2H8v-2zm0-4h8v2H8v-2zm6-10H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z" fill="#5F6368"></path></g>
|
||||
<g id="webrtc-off"><path d="M13.002 4.001H7.106L5.252 2.148c.232-.094.485-.147.75-.147h8l6 6v8.896l-2-2V9.001h-5v-5z" fill="#5F6368"></path><path d="M16.002 12.001h-.896l.896.896v-.896zM.6 3.45l1.414-1.414 19.94 19.94-1.414 1.414L.6 3.45zM3.986 20.01V6.84l2 2V20.01h11.172l1.765 1.766c-.28.15-.599.234-.937.234H5.976c-1.1 0-1.99-.9-1.99-2z" fill="#5F6368"></path><path d="M9.158 12.01H7.986v2h3.172l-2-2zM13.158 16.01H7.986v2h7.172l-2-2z" fill="#5F6368"></path></g>
|
||||
+ <g id="viewport-protection"><path d="M8 16h8v2H8v-2zm0-4h8v2H8v-2zm6-10H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z" fill="#5F6368"></path></g>
|
||||
+ <g id="viewport-protection-off"><path d="M13.002 4.001H7.106L5.252 2.148c.232-.094.485-.147.75-.147h8l6 6v8.896l-2-2V9.001h-5v-5z" fill="#5F6368"></path><path d="M16.002 12.001h-.896l.896.896v-.896zM.6 3.45l1.414-1.414 19.94 19.94-1.414 1.414L.6 3.45zM3.986 20.01V6.84l2 2V20.01h11.172l1.765 1.766c-.28.15-.599.234-.937.234H5.976c-1.1 0-1.99-.9-1.99-2z" fill="#5F6368"></path><path d="M9.158 12.01H7.986v2h3.172l-2-2zM13.158 16.01H7.986v2h7.172l-2-2z" fill="#5F6368"></path></g>
|
||||
</defs>
|
||||
</svg>
|
||||
</iron-iconset-svg>
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
@@ -1102,4 +1102,26 @@
|
||||
</category-setting-exceptions>
|
||||
</settings-subpage>
|
||||
</template>
|
||||
+ <template is="dom-if" route-path="/content/viewport-protection" no-search>
|
||||
+ <settings-subpage page-title="$i18n{siteSettingsViewportProtection}"
|
||||
+ search-label="$i18n{siteSettingsAllSitesSearch}"
|
||||
+ search-term="{{searchFilter_}}">
|
||||
+ <div class="content-settings-header secondary">
|
||||
+ $i18n{siteSettingsViewportProtectionDescription}
|
||||
+ </div>
|
||||
+ <settings-category-default-radio-group
|
||||
+ category="[[contentSettingsTypesEnum_.VIEWPORT]]"
|
||||
+ allow-option-label="$i18n{siteSettingsViewportProtectionAllowed}"
|
||||
+ allow-option-icon="settings:viewport-protection"
|
||||
+ block-option-label="$i18n{siteSettingsViewportProtectionBlocked}"
|
||||
+ block-option-icon="settings:viewport-protection-off">
|
||||
+ </settings-category-default-radio-group>
|
||||
+ <category-setting-exceptions
|
||||
+ category="[[contentSettingsTypesEnum_.VIEWPORT]]"
|
||||
+ block-header="$i18n{siteSettingsViewportProtectionBlockedExceptions}"
|
||||
+ allow-header="$i18n{siteSettingsViewportProtectionAllowedExceptions}"
|
||||
+ search-filter="[[searchFilter_]]">
|
||||
+ </category-setting-exceptions>
|
||||
+ </settings-subpage>
|
||||
+ </template>
|
||||
</settings-animated-pages>
|
||||
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
|
||||
--- a/chrome/browser/resources/settings/route.ts
|
||||
+++ b/chrome/browser/resources/settings/route.ts
|
||||
@@ -105,6 +105,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
r.SITE_SETTINGS_TIMEZONE_OVERRIDE = r.SITE_SETTINGS.createChild('timezone-override');
|
||||
r.SITE_SETTINGS_WEBGL = r.SITE_SETTINGS.createChild('webgl');
|
||||
r.SITE_SETTINGS_WEBRTC = r.SITE_SETTINGS.createChild('webrtc');
|
||||
+ r.SITE_SETTINGS_VIEWPORT = r.SITE_SETTINGS.createChild('viewport-protection');
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/chrome/browser/resources/settings/settings_routes.ts b/chrome/browser/resources/settings/settings_routes.ts
|
||||
--- a/chrome/browser/resources/settings/settings_routes.ts
|
||||
+++ b/chrome/browser/resources/settings/settings_routes.ts
|
||||
@@ -99,4 +99,5 @@ export interface SettingsRoutes {
|
||||
SITE_SETTINGS_TIMEZONE_OVERRIDE: Route;
|
||||
SITE_SETTINGS_WEBGL: Route;
|
||||
SITE_SETTINGS_WEBRTC: Route;
|
||||
+ SITE_SETTINGS_VIEWPORT: Route;
|
||||
}
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/category_default_setting.ts b/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
@@ -200,6 +200,7 @@ export class CategoryDefaultSettingElement extends
|
||||
case ContentSettingsTypes.TIMEZONE_OVERRIDE:
|
||||
case ContentSettingsTypes.WEBGL:
|
||||
case ContentSettingsTypes.WEBRTC:
|
||||
+ case ContentSettingsTypes.VIEWPORT:
|
||||
// "Allowed" vs "Blocked".
|
||||
this.browserProxy.setDefaultValueForContentType(
|
||||
this.category,
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/constants.ts b/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
@@ -47,6 +47,7 @@ export enum ContentSettingsTypes {
|
||||
TIMEZONE_OVERRIDE = 'timezone-override',
|
||||
WEBGL = 'webgl',
|
||||
WEBRTC = 'webrtc',
|
||||
+ VIEWPORT = 'viewport',
|
||||
|
||||
// The following item is not in the C++ kContentSettingsTypeGroupNames, but it
|
||||
// is used everywhere where ContentSettingsTypes is used in JS.
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
@@ -144,6 +144,7 @@ export class SettingsCategoryDefaultRadioGroupElement extends
|
||||
case ContentSettingsTypes.TIMEZONE_OVERRIDE:
|
||||
case ContentSettingsTypes.WEBGL:
|
||||
case ContentSettingsTypes.WEBRTC:
|
||||
+ case ContentSettingsTypes.VIEWPORT:
|
||||
// "Allowed" vs "Blocked".
|
||||
return ContentSetting.ALLOW;
|
||||
case ContentSettingsTypes.AR:
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
--- a/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
+++ b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
@@ -278,4 +278,9 @@
|
||||
icon="settings:webrtc"
|
||||
label="$i18n{siteSettingsWebRTC}">
|
||||
</site-details-permission>
|
||||
+ <site-details-permission
|
||||
+ category="[[contentSettingsTypesEnum_.VIEWPORT]]"
|
||||
+ icon="settings:viewport-protection"
|
||||
+ label="$i18n{siteSettingsViewportProtection}">
|
||||
+ </site-details-permission>
|
||||
</div>
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/recent_site_permissions.ts b/chrome/browser/resources/settings/site_settings_page/recent_site_permissions.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/recent_site_permissions.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/recent_site_permissions.ts
|
||||
@@ -206,6 +206,8 @@ export class SettingsRecentSitePermissionsElement extends
|
||||
return this.i18n('siteSettingsWebglMidSentence');
|
||||
case ContentSettingsTypes.WEBRTC:
|
||||
return this.i18n('siteSettingsWebRTCMidSentence');
|
||||
+ case ContentSettingsTypes.VIEWPORT:
|
||||
+ return this.i18n('siteSettingsViewportProtectionMidSentence');
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
@@ -353,6 +353,14 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
enabledLabel: 'siteSettingsWebRTCAllowed',
|
||||
disabledLabel: 'siteSettingsWebRTCBlocked',
|
||||
},
|
||||
+ {
|
||||
+ route: routes.SITE_SETTINGS_VIEWPORT,
|
||||
+ id: Id.VIEWPORT,
|
||||
+ label: 'siteSettingsViewportProtection',
|
||||
+ icon: 'settings:viewport-protection',
|
||||
+ enabledLabel: 'siteSettingsViewportProtectionAllowed',
|
||||
+ disabledLabel: 'siteSettingsViewportProtectionBlocked',
|
||||
+ },
|
||||
];
|
||||
|
||||
categoryItemMap = new Map(categoryList.map(item => [item.id, item]));
|
||||
@@ -440,6 +448,7 @@ export class SettingsSiteSettingsPageElement extends PolymerElement {
|
||||
Id.TIMEZONE_OVERRIDE,
|
||||
Id.WEBGL,
|
||||
Id.WEBRTC,
|
||||
+ Id.VIEWPORT,
|
||||
]),
|
||||
};
|
||||
},
|
||||
diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
@@ -347,6 +347,9 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
case ContentSettingsType::WEBRTC:
|
||||
icon = &vector_icons::kProtectedContentIcon;
|
||||
break;
|
||||
+ case ContentSettingsType::VIEWPORT:
|
||||
+ icon = &vector_icons::kProtectedContentIcon;
|
||||
+ break;
|
||||
default:
|
||||
// All other |ContentSettingsType|s do not have icons on desktop or are
|
||||
// not shown in the Page Info bubble.
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2171,6 +2171,13 @@ void AddSiteSettingsStrings(content::WebUIDataSource* html_source,
|
||||
{"siteSettingsWebRTCAllowedExceptions",IDS_SETTINGS_SITE_SETTINGS_WEBRTC_ALLOWED_EXCEPTIONS},
|
||||
{"siteSettingsWebRTCBlockedExceptions", IDS_SETTINGS_SITE_SETTINGS_WEBRTC_BLOCKED_EXCEPTIONS},
|
||||
{"siteSettingsWebRTCMidSentence", IDS_SITE_SETTINGS_WEBRTC_TITLE},
|
||||
+ {"siteSettingsViewportProtection", IDS_SITE_SETTINGS_VIEWPORT_PROTECTION_TITLE},
|
||||
+ {"siteSettingsViewportProtectionDescription", IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_DESCRIPTION},
|
||||
+ {"siteSettingsViewportProtectionAllowed", IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_ALLOWED},
|
||||
+ {"siteSettingsViewportProtectionBlocked", IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_BLOCKED},
|
||||
+ {"siteSettingsViewportProtectionAllowedExceptions",IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_ALLOWED_EXCEPTIONS},
|
||||
+ {"siteSettingsViewportProtectionBlockedExceptions", IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_BLOCKED_EXCEPTIONS},
|
||||
+ {"siteSettingsViewportProtectionMidSentence", IDS_SITE_SETTINGS_VIEWPORT_PROTECTION_TITLE},
|
||||
{"addSite", IDS_SETTINGS_ADD_SITE},
|
||||
{"addSiteTitle", IDS_SETTINGS_ADD_SITE_TITLE},
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
--- a/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
@@ -119,6 +119,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
|
||||
{ContentSettingsType::TIMEZONE_OVERRIDE, "timezone-override"},
|
||||
{ContentSettingsType::WEBGL, "webgl"},
|
||||
{ContentSettingsType::WEBRTC, "webrtc"},
|
||||
+ {ContentSettingsType::VIEWPORT, "viewport"},
|
||||
|
||||
// Add new content settings here if a corresponding Javascript string
|
||||
// representation for it is not required, for example if the content setting
|
||||
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
|
||||
@@ -98,6 +98,9 @@ android_library("java") {
|
||||
sources += [
|
||||
"java/src/org/chromium/components/browser_ui/site_settings/BromiteWebRTCContentSetting.java",
|
||||
]
|
||||
+ sources += [
|
||||
+ "java/src/org/chromium/components/browser_ui/site_settings/BromiteViewportContentSetting.java",
|
||||
+ ]
|
||||
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
|
||||
resources_package = "org.chromium.components.browser_ui.site_settings"
|
||||
deps = [
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
|
||||
@@ -45,6 +45,7 @@ public abstract class BromiteCustomContentSettingImpl {
|
||||
mItemList = new ArrayList<BromiteCustomContentSetting>();
|
||||
mItemList.add(new BromiteWebGLContentSetting());
|
||||
mItemList.add(new BromiteWebRTCContentSetting());
|
||||
+ mItemList.add(new BromiteViewportContentSetting());
|
||||
}
|
||||
|
||||
public static SiteSettingsCategory createFromType(
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteViewportContentSetting.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteViewportContentSetting.java
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteViewportContentSetting.java
|
||||
@@ -0,0 +1,86 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
+ Bromite is free software: you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation, either version 3 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ Bromite is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with Bromite. If not, see <https://www.gnu.org/licenses/>.
|
||||
+*/
|
||||
+
|
||||
+package org.chromium.components.browser_ui.site_settings;
|
||||
+
|
||||
+import org.chromium.components.browser_ui.site_settings.ContentSettingsResources;
|
||||
+import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
|
||||
+import org.chromium.components.content_settings.ContentSettingValues;
|
||||
+import org.chromium.components.content_settings.ContentSettingsType;
|
||||
+import org.chromium.content_public.browser.BrowserContextHandle;
|
||||
+
|
||||
+import androidx.annotation.Nullable;
|
||||
+import androidx.preference.Preference;
|
||||
+import androidx.preference.PreferenceScreen;
|
||||
+
|
||||
+import java.util.ArrayList;
|
||||
+
|
||||
+public class BromiteViewportContentSetting extends BromiteCustomContentSetting {
|
||||
+ public BromiteViewportContentSetting() {
|
||||
+ super(/*contentSettingsType*/ ContentSettingsType.VIEWPORT,
|
||||
+ /*siteSettingsCategory*/ SiteSettingsCategory.Type.VIEWPORT,
|
||||
+ /*defaultEnabledValue*/ ContentSettingValues.ALLOW,
|
||||
+ /*defaultDisabledValue*/ ContentSettingValues.BLOCK,
|
||||
+ /*allowException*/ true,
|
||||
+ /*preferenceKey*/ "viewport",
|
||||
+ /*profilePrefKey*/ "viewport");
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public ContentSettingsResources.ResourceItem getResourceItem() {
|
||||
+ return new ContentSettingsResources.ResourceItem(
|
||||
+ /*icon*/ R.drawable.web_asset,
|
||||
+ /*title*/ R.string.viewport_permission_title,
|
||||
+ /*defaultEnabledValue*/ getDefaultEnabledValue(),
|
||||
+ /*defaultDisabledValue*/ getDefaultDisabledValue(),
|
||||
+ /*enabledSummary*/ R.string.website_settings_category_viewport_enabled,
|
||||
+ /*disabledSummary*/ R.string.website_settings_category_viewport_disabled);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int getCategorySummary(@Nullable @ContentSettingValues int value) {
|
||||
+ switch (value) {
|
||||
+ case ContentSettingValues.ALLOW:
|
||||
+ return R.string.website_settings_category_viewport_enabled;
|
||||
+ case ContentSettingValues.BLOCK:
|
||||
+ return R.string.website_settings_category_viewport_disabled;
|
||||
+ default:
|
||||
+ // this will cause a runtime exception
|
||||
+ return 0;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean requiresTriStateContentSetting() {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean showOnlyDescriptions() {
|
||||
+ return true;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int getAddExceptionDialogMessage() {
|
||||
+ return R.string.website_settings_category_viewport_enabled;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSettingValues int value) {
|
||||
+ return value != ContentSettingValues.BLOCK;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsCategory.java
|
||||
@@ -44,7 +44,7 @@ public class SiteSettingsCategory {
|
||||
Type.PROTECTED_MEDIA, Type.SENSORS, Type.SOUND, Type.USB, Type.VIRTUAL_REALITY,
|
||||
Type.USE_STORAGE, Type.AUTO_DARK_WEB_CONTENT, Type.REQUEST_DESKTOP_SITE,
|
||||
Type.FEDERATED_IDENTITY_API, Type.TIMEZONE_OVERRIDE, Type.AUTOPLAY, Type.JAVASCRIPT_JIT,
|
||||
- Type.IMAGES, Type.WEBGL, Type.WEBRTC})
|
||||
+ Type.IMAGES, Type.WEBGL, Type.WEBRTC, Type.VIEWPORT})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface Type {
|
||||
// All updates here must also be reflected in {@link #preferenceKey(int)
|
||||
@@ -81,10 +81,11 @@ public class SiteSettingsCategory {
|
||||
int IMAGES = 29;
|
||||
int WEBGL = 30;
|
||||
int WEBRTC = 31;
|
||||
+ int VIEWPORT = 32;
|
||||
/**
|
||||
* Number of handled categories used for calculating array sizes.
|
||||
*/
|
||||
- int NUM_ENTRIES = 32;
|
||||
+ int NUM_ENTRIES = 33;
|
||||
}
|
||||
|
||||
private final BrowserContextHandle mBrowserContextHandle;
|
||||
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
@@ -176,6 +176,7 @@
|
||||
<part file="site_settings.grdp" />
|
||||
<part file="webgl.grdp" />
|
||||
<part file="webrtc.grdp" />
|
||||
+ <part file="viewport.grdp" />
|
||||
|
||||
<message name="IDS_GOT_IT" desc="Button for the user to accept a disclosure/message" formatter_data="android_java">
|
||||
Got it
|
||||
diff --git a/components/browser_ui/strings/android/viewport.grdp b/components/browser_ui/strings/android/viewport.grdp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/strings/android/viewport.grdp
|
||||
@@ -0,0 +1,18 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<grit-part>
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_VIEWPORT" desc="The label used for viewport size change site settings controls.">
|
||||
+ Viewport Size Protection
|
||||
+ </message>
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_VIEWPORT_MID_SENTENCE" desc="The label used for viewport size change site settings controls when used mid-sentence.">
|
||||
+ Viewport Size Protection
|
||||
+ </message>
|
||||
+ <message name="IDS_VIEWPORT_PERMISSION_TITLE" desc="Title of the permission to use viewport size change [CHAR-LIMIT=32]">
|
||||
+ Viewport Size Protection
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_VIEWPORT_ENABLED" desc="Summary text explaining that viewport size change is full enabled.">
|
||||
+ Enabled
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_VIEWPORT_DISABLED" desc="Summary text explaining that viewport size change is full disabled.">
|
||||
+ Disabled
|
||||
+ </message>
|
||||
+</grit-part>
|
||||
diff --git a/components/components_strings.grd b/components/components_strings.grd
|
||||
--- a/components/components_strings.grd
|
||||
+++ b/components/components_strings.grd
|
||||
@@ -341,6 +341,7 @@
|
||||
|
||||
<part file="browser_ui/strings/android/webgl.grdp" />
|
||||
<part file="browser_ui/strings/android/webrtc.grdp" />
|
||||
+ <part file="browser_ui/strings/android/viewport.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
|
||||
@@ -681,7 +681,7 @@ void ContentSettingsRegistry::Init() {
|
||||
ValidSettings(CONTENT_SETTING_ALLOW,
|
||||
CONTENT_SETTING_BLOCK),
|
||||
WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
||||
- WebsiteSettingsRegistry::PLATFORM_ANDROID,
|
||||
+ WebsiteSettingsRegistry::ALL_PLATFORMS,
|
||||
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
ContentSettingsInfo::PERSISTENT,
|
||||
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS,
|
||||
@@ -702,6 +702,20 @@ void ContentSettingsRegistry::Init() {
|
||||
/*show_into_info_page*/ true,
|
||||
/*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_WEBRTC,
|
||||
/*permission_type_ui_mid_sentence*/ IDS_SITE_SETTINGS_TYPE_WEBRTC_MID_SENTENCE);
|
||||
+
|
||||
+ Register(ContentSettingsType::VIEWPORT, "viewport", CONTENT_SETTING_BLOCK,
|
||||
+ WebsiteSettingsInfo::SYNCABLE,
|
||||
+ AllowlistedSchemes(),
|
||||
+ ValidSettings(CONTENT_SETTING_ALLOW,
|
||||
+ CONTENT_SETTING_BLOCK),
|
||||
+ WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
||||
+ WebsiteSettingsRegistry::ALL_PLATFORMS,
|
||||
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
+ ContentSettingsInfo::PERSISTENT,
|
||||
+ ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS,
|
||||
+ /*show_into_info_page*/ true,
|
||||
+ /*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_VIEWPORT,
|
||||
+ /*permission_type_ui_mid_sentence*/ IDS_SITE_SETTINGS_TYPE_VIEWPORT_MID_SENTENCE);
|
||||
}
|
||||
|
||||
void ContentSettingsRegistry::Register(
|
||||
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_utils.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
@@ -160,6 +160,8 @@ void GetRendererContentSettingRules(const HostContentSettingsMap* map,
|
||||
&(rules->webgl_rules));
|
||||
map->GetSettingsForOneType(ContentSettingsType::WEBRTC,
|
||||
&(rules->webrtc_rules));
|
||||
+ map->GetSettingsForOneType(ContentSettingsType::VIEWPORT,
|
||||
+ &(rules->viewport_rules));
|
||||
}
|
||||
|
||||
bool IsMorePermissive(ContentSetting a, ContentSetting b) {
|
||||
diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc
|
||||
--- a/components/content_settings/core/common/content_settings.cc
|
||||
+++ b/components/content_settings/core/common/content_settings.cc
|
||||
@@ -209,7 +209,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
|
||||
content_type == ContentSettingsType::AUTO_DARK_WEB_CONTENT ||
|
||||
content_type == ContentSettingsType::TIMEZONE_OVERRIDE ||
|
||||
content_type == ContentSettingsType::WEBGL ||
|
||||
- content_type == ContentSettingsType::WEBRTC;
|
||||
+ content_type == ContentSettingsType::WEBRTC ||
|
||||
+ content_type == ContentSettingsType::VIEWPORT;
|
||||
}
|
||||
|
||||
void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
|
||||
@@ -223,6 +224,7 @@ void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
|
||||
FilterRulesForType(autoplay_rules, outermost_main_frame_url);
|
||||
FilterRulesForType(webgl_rules, outermost_main_frame_url);
|
||||
FilterRulesForType(webrtc_rules, outermost_main_frame_url);
|
||||
+ FilterRulesForType(viewport_rules, outermost_main_frame_url);
|
||||
}
|
||||
|
||||
RendererContentSettingRules::RendererContentSettingRules() = default;
|
||||
diff --git a/components/content_settings/core/common/content_settings.h b/components/content_settings/core/common/content_settings.h
|
||||
--- a/components/content_settings/core/common/content_settings.h
|
||||
+++ b/components/content_settings/core/common/content_settings.h
|
||||
@@ -98,6 +98,7 @@ struct RendererContentSettingRules {
|
||||
std::string timezone_override_value;
|
||||
ContentSettingsForOneType webgl_rules;
|
||||
ContentSettingsForOneType webrtc_rules;
|
||||
+ ContentSettingsForOneType viewport_rules;
|
||||
};
|
||||
|
||||
namespace content_settings {
|
||||
diff --git a/components/content_settings/core/common/content_settings.mojom b/components/content_settings/core/common/content_settings.mojom
|
||||
--- a/components/content_settings/core/common/content_settings.mojom
|
||||
+++ b/components/content_settings/core/common/content_settings.mojom
|
||||
@@ -83,4 +83,5 @@ struct RendererContentSettingRules {
|
||||
string timezone_override_value;
|
||||
array<ContentSettingPatternSource> webgl_rules;
|
||||
array<ContentSettingPatternSource> webrtc_rules;
|
||||
+ array<ContentSettingPatternSource> viewport_rules;
|
||||
};
|
||||
diff --git a/components/content_settings/core/common/content_settings_mojom_traits.cc b/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
--- a/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
+++ b/components/content_settings/core/common/content_settings_mojom_traits.cc
|
||||
@@ -107,7 +107,8 @@ bool StructTraits<content_settings::mojom::RendererContentSettingRulesDataView,
|
||||
data.ReadTimezoneOverrideRules(&out->timezone_override_rules) &&
|
||||
data.ReadTimezoneOverrideValue(&out->timezone_override_value) &&
|
||||
data.ReadWebglRules(&out->webgl_rules) &&
|
||||
- data.ReadWebrtcRules(&out->webrtc_rules);
|
||||
+ data.ReadWebrtcRules(&out->webrtc_rules) &&
|
||||
+ data.ReadViewportRules(&out->viewport_rules);
|
||||
}
|
||||
|
||||
} // namespace mojo
|
||||
diff --git a/components/content_settings/core/common/content_settings_mojom_traits.h b/components/content_settings/core/common/content_settings_mojom_traits.h
|
||||
--- a/components/content_settings/core/common/content_settings_mojom_traits.h
|
||||
+++ b/components/content_settings/core/common/content_settings_mojom_traits.h
|
||||
@@ -175,6 +175,11 @@ struct StructTraits<
|
||||
return r.webrtc_rules;
|
||||
}
|
||||
|
||||
+ static const std::vector<ContentSettingPatternSource>& viewport_rules(
|
||||
+ const RendererContentSettingRules& r) {
|
||||
+ return r.viewport_rules;
|
||||
+ }
|
||||
+
|
||||
static bool Read(
|
||||
content_settings::mojom::RendererContentSettingRulesDataView data,
|
||||
RendererContentSettingRules* out);
|
||||
diff --git a/components/content_settings/core/common/content_settings_types.h b/components/content_settings/core/common/content_settings_types.h
|
||||
--- a/components/content_settings/core/common/content_settings_types.h
|
||||
+++ b/components/content_settings/core/common/content_settings_types.h
|
||||
@@ -281,6 +281,8 @@ enum class ContentSettingsType : int32_t {
|
||||
|
||||
WEBRTC,
|
||||
|
||||
+ VIEWPORT,
|
||||
+
|
||||
// Setting to indicate whether browser should allow signing into a website via
|
||||
// the browser FedCM API.
|
||||
FEDERATED_IDENTITY_API,
|
||||
diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
--- a/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
+++ b/components/content_settings/renderer/content_settings_agent_impl.cc
|
||||
@@ -467,6 +467,15 @@ bool ContentSettingsAgentImpl::AllowWebRTC(bool enabled_per_settings) {
|
||||
url::Origin(frame->GetDocument().GetSecurityOrigin()).GetURL());
|
||||
}
|
||||
|
||||
+bool ContentSettingsAgentImpl::AllowViewportChange(bool enabled_per_settings) {
|
||||
+ if (!content_setting_rules_)
|
||||
+ return false;
|
||||
+ blink::WebLocalFrame* frame = render_frame()->GetWebFrame();
|
||||
+ return CONTENT_SETTING_ALLOW == GetContentSettingFromRules(
|
||||
+ content_setting_rules_->viewport_rules,
|
||||
+ url::Origin(frame->GetDocument().GetSecurityOrigin()).GetURL());
|
||||
+}
|
||||
+
|
||||
bool ContentSettingsAgentImpl::IsAllowlistedForContentSettings() const {
|
||||
if (should_allowlist_)
|
||||
return true;
|
||||
diff --git a/components/content_settings/renderer/content_settings_agent_impl.h b/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
--- a/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
+++ b/components/content_settings/renderer/content_settings_agent_impl.h
|
||||
@@ -101,6 +101,7 @@ class ContentSettingsAgentImpl
|
||||
bool ShouldAutoupgradeMixedContent() override;
|
||||
bool AllowWebgl(bool enabled_per_settings) override;
|
||||
bool AllowWebRTC(bool enabled_per_settings) override;
|
||||
+ bool AllowViewportChange(bool enabled_per_settings) override;
|
||||
|
||||
bool allow_running_insecure_content() const {
|
||||
return allow_running_insecure_content_;
|
||||
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
|
||||
@@ -1639,7 +1639,7 @@ BASE_FEATURE(kDocumentEventNodePathCaching,
|
||||
|
||||
BASE_FEATURE(kViewportProtection,
|
||||
"ViewportProtection",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kNewGetDisplayMediaPickerOrder,
|
||||
"NewGetDisplayMediaPickerOrder",
|
||||
diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/third_party/blink/public/platform/web_content_settings_client.h
|
||||
--- a/third_party/blink/public/platform/web_content_settings_client.h
|
||||
+++ b/third_party/blink/public/platform/web_content_settings_client.h
|
||||
@@ -103,6 +103,8 @@ class WebContentSettingsClient {
|
||||
|
||||
virtual bool AllowWebRTC(bool default_value) { return default_value; }
|
||||
|
||||
+ virtual bool AllowViewportChange(bool default_value) { return default_value; }
|
||||
+
|
||||
// Reports that passive mixed content was found at the provided URL.
|
||||
virtual void PassiveInsecureContentFound(const WebURL&) {}
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
@@ -2224,6 +2224,7 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||
// var w = window.open()
|
||||
// var not_emulated_screen_info = w.screen
|
||||
bool protection_enabled = base::FeatureList::IsEnabled(features::kViewportProtection);
|
||||
+ protection_enabled |= GetFrame()->GetContentSettingsClient()->AllowViewportChange(false);
|
||||
result.frame->GetPage()->CalculateEmulatedScreenSetting(
|
||||
To<LocalFrame>(result.frame),
|
||||
/*force*/ protection_enabled);
|
||||
diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc
|
||||
--- a/third_party/blink/renderer/core/page/page.cc
|
||||
+++ b/third_party/blink/renderer/core/page/page.cc
|
||||
@@ -887,6 +887,8 @@ void Page::UpdateAcceleratedCompositingSettings() {
|
||||
|
||||
void Page::CalculateEmulatedScreenSetting(LocalFrame* frame, bool force) {
|
||||
bool isEnabled = base::FeatureList::IsEnabled(features::kViewportProtection);
|
||||
+ blink::WebContentSettingsClient* settings = frame->GetContentSettingsClient();
|
||||
+ isEnabled |= (settings && settings->AllowViewportChange(false));
|
||||
if (isEnabled || force) {
|
||||
// this is the maximum (and minimum) value which in percentage
|
||||
// corresponds to +- 0.03%
|
||||
--
|
||||
2.25.1
|
||||
@@ -0,0 +1,636 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Tue, 20 Dec 2022 11:06:42 +0000
|
||||
Subject: Viewport Protection flag
|
||||
|
||||
---
|
||||
chrome/browser/about_flags.cc | 5 ++
|
||||
chrome/browser/flag_descriptions.cc | 6 ++
|
||||
chrome/browser/flag_descriptions.h | 3 +
|
||||
third_party/blink/common/features.cc | 4 +
|
||||
third_party/blink/public/common/features.h | 3 +
|
||||
.../common/widget/device_emulation_params.h | 6 +-
|
||||
.../core/css/resolver/style_resolver.cc | 10 ++-
|
||||
.../blink/renderer/core/events/mouse_event.h | 19 ++++-
|
||||
.../renderer/core/events/pointer_event.h | 11 +++
|
||||
.../renderer/core/exported/web_view_impl.cc | 2 +-
|
||||
.../renderer/core/frame/local_dom_window.cc | 28 ++++++-
|
||||
.../blink/renderer/core/frame/local_frame.cc | 12 ++-
|
||||
.../blink/renderer/core/frame/local_frame.h | 6 +-
|
||||
.../core/frame/screen_metrics_emulator.cc | 18 ++++-
|
||||
.../core/frame/screen_metrics_emulator.h | 14 ++++
|
||||
.../core/frame/web_frame_widget_impl.cc | 8 ++
|
||||
.../core/frame/web_remote_frame_impl.cc | 3 +-
|
||||
.../blink/renderer/core/input/touch.cc | 17 ++++-
|
||||
third_party/blink/renderer/core/page/page.cc | 76 +++++++++++++++++++
|
||||
third_party/blink/renderer/core/page/page.h | 7 ++
|
||||
20 files changed, 241 insertions(+), 17 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
|
||||
@@ -7627,6 +7627,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
"PaintPreviewShowOnStartup")},
|
||||
#endif // BUILDFLAG(ENABLE_PAINT_PREVIEW) && BUILDFLAG(IS_ANDROID)
|
||||
|
||||
+ {"viewport-protection",
|
||||
+ flag_descriptions::kViewportProtectionName,
|
||||
+ flag_descriptions::kViewportProtectionDescription, kOsAll,
|
||||
+ FEATURE_VALUE_TYPE(blink::features::kViewportProtection)},
|
||||
+
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
{"block-external-form-redirects-no-gesture",
|
||||
flag_descriptions::kIntentBlockExternalFormRedirectsNoGestureName,
|
||||
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
|
||||
@@ -6847,6 +6847,12 @@ const char kPaintPreviewStartupDescription[] =
|
||||
"instead.";
|
||||
#endif // ENABLE_PAINT_PREVIEW && BUILDFLAG(IS_ANDROID)
|
||||
|
||||
+const char kViewportProtectionName[] = "Viewport Protection";
|
||||
+const char kViewportProtectionDescription[] =
|
||||
+ "Scale the viewport and the screen by a random factor to prevent "
|
||||
+ "coordinate-based fingerprinting scripts. The factor is changed at each "
|
||||
+ "change of origin.";
|
||||
+
|
||||
#if BUILDFLAG(ENABLE_WEBUI_TAB_STRIP)
|
||||
const char kWebUITabStripFlagId[] = "webui-tab-strip";
|
||||
const char kWebUITabStripName[] = "WebUI tab strip";
|
||||
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
|
||||
@@ -3948,6 +3948,9 @@ extern const char kPaintPreviewStartupName[];
|
||||
extern const char kPaintPreviewStartupDescription[];
|
||||
#endif // ENABLE_PAINT_PREVIEW && BUILDFLAG(IS_ANDROID)
|
||||
|
||||
+extern const char kViewportProtectionName[];
|
||||
+extern const char kViewportProtectionDescription[];
|
||||
+
|
||||
#if BUILDFLAG(ENABLE_WEBUI_TAB_STRIP)
|
||||
extern const char kWebUITabStripFlagId[];
|
||||
extern const char kWebUITabStripName[];
|
||||
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
|
||||
@@ -1637,6 +1637,10 @@ BASE_FEATURE(kDocumentEventNodePathCaching,
|
||||
"DocumentEventNodePathCaching",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
+BASE_FEATURE(kViewportProtection,
|
||||
+ "ViewportProtection",
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+
|
||||
BASE_FEATURE(kNewGetDisplayMediaPickerOrder,
|
||||
"NewGetDisplayMediaPickerOrder",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
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
|
||||
@@ -867,6 +867,9 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kThreadedBodyLoader);
|
||||
// If enabled, will cache for each node's EventPath::NodePath in document.
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDocumentEventNodePathCaching);
|
||||
|
||||
+// Enable blink viewport protection
|
||||
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kViewportProtection);
|
||||
+
|
||||
// When an application calls getDisplayMedia(), a media-picker is displayed
|
||||
// to the user, allowing them to share a tab, a window or a screen.
|
||||
// * If this flag is enabled, the order is - tabs, windows, screens.
|
||||
diff --git a/third_party/blink/public/common/widget/device_emulation_params.h b/third_party/blink/public/common/widget/device_emulation_params.h
|
||||
--- a/third_party/blink/public/common/widget/device_emulation_params.h
|
||||
+++ b/third_party/blink/public/common/widget/device_emulation_params.h
|
||||
@@ -19,6 +19,9 @@ namespace blink {
|
||||
struct DeviceEmulationParams {
|
||||
mojom::EmulatedScreenType screen_type = mojom::EmulatedScreenType::kDesktop;
|
||||
|
||||
+ // Forces screen recalculation the same way as mobile
|
||||
+ bool force_mobile_calc = false;
|
||||
+
|
||||
// Emulated screen size. Typically full / physical size of the device screen
|
||||
// in DIP. Empty size means using default value: original one for kDesktop
|
||||
// screen position, equal to |view_size| for kMobile.
|
||||
@@ -71,7 +74,8 @@ inline bool operator==(const DeviceEmulationParams& a,
|
||||
a.screen_orientation_angle == b.screen_orientation_angle &&
|
||||
a.viewport_offset == b.viewport_offset &&
|
||||
a.viewport_scale == b.viewport_scale &&
|
||||
- a.window_segments == b.window_segments;
|
||||
+ a.window_segments == b.window_segments &&
|
||||
+ a.force_mobile_calc == b.force_mobile_calc;
|
||||
}
|
||||
|
||||
inline bool operator!=(const DeviceEmulationParams& a,
|
||||
diff --git a/third_party/blink/renderer/core/css/resolver/style_resolver.cc b/third_party/blink/renderer/core/css/resolver/style_resolver.cc
|
||||
--- a/third_party/blink/renderer/core/css/resolver/style_resolver.cc
|
||||
+++ b/third_party/blink/renderer/core/css/resolver/style_resolver.cc
|
||||
@@ -1557,8 +1557,14 @@ scoped_refptr<ComputedStyle> StyleResolver::InitialStyleForElement() const {
|
||||
|
||||
initial_style->SetRtlOrdering(
|
||||
GetDocument().VisuallyOrdered() ? EOrder::kVisual : EOrder::kLogical);
|
||||
- initial_style->SetZoom(InitialZoom());
|
||||
- initial_style->SetEffectiveZoom(initial_style->Zoom());
|
||||
+ if (GetDocument().GetPage() && GetDocument().GetPage()->IsScreenEmulated()) {
|
||||
+ // hides the zoom override to the dom on the html tag
|
||||
+ initial_style->SetZoom(1);
|
||||
+ initial_style->SetEffectiveZoom(InitialZoom());
|
||||
+ } else {
|
||||
+ initial_style->SetZoom(InitialZoom());
|
||||
+ initial_style->SetEffectiveZoom(initial_style->Zoom());
|
||||
+ }
|
||||
initial_style->SetInForcedColorsMode(GetDocument().InForcedColorsMode());
|
||||
initial_style->SetTapHighlightColor(
|
||||
ComputedStyleInitialValues::InitialTapHighlightColor());
|
||||
diff --git a/third_party/blink/renderer/core/events/mouse_event.h b/third_party/blink/renderer/core/events/mouse_event.h
|
||||
--- a/third_party/blink/renderer/core/events/mouse_event.h
|
||||
+++ b/third_party/blink/renderer/core/events/mouse_event.h
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "third_party/blink/renderer/core/dom/events/simulated_click_options.h"
|
||||
#include "third_party/blink/renderer/core/events/ui_event_with_key_state.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/casting.h"
|
||||
+#include "third_party/blink/renderer/core/page/page.h"
|
||||
|
||||
namespace blink {
|
||||
|
||||
@@ -143,8 +144,22 @@ class CORE_EXPORT MouseEvent : public UIEventWithKeyState {
|
||||
|
||||
// Note that these values are adjusted to counter the effects of zoom, so that
|
||||
// values exposed via DOM APIs are invariant under zooming.
|
||||
- virtual double screenX() const { return std::floor(screen_x_); }
|
||||
- virtual double screenY() const { return std::floor(screen_y_); }
|
||||
+ virtual double screenX() const {
|
||||
+ if (view() && view()->GetFrame() &&
|
||||
+ view()->GetFrame()->GetPage() &&
|
||||
+ view()->GetFrame()->GetPage()->IsScreenEmulated()) {
|
||||
+ return std::floor(page_x_);
|
||||
+ }
|
||||
+ return std::floor(screen_x_);
|
||||
+ }
|
||||
+ virtual double screenY() const {
|
||||
+ if (view() && view()->GetFrame() &&
|
||||
+ view()->GetFrame()->GetPage() &&
|
||||
+ view()->GetFrame()->GetPage()->IsScreenEmulated()) {
|
||||
+ return std::floor(page_y_);
|
||||
+ }
|
||||
+ return std::floor(screen_y_);
|
||||
+ }
|
||||
|
||||
virtual double clientX() const { return std::floor(client_x_); }
|
||||
virtual double clientY() const { return std::floor(client_y_); }
|
||||
diff --git a/third_party/blink/renderer/core/events/pointer_event.h b/third_party/blink/renderer/core/events/pointer_event.h
|
||||
--- a/third_party/blink/renderer/core/events/pointer_event.h
|
||||
+++ b/third_party/blink/renderer/core/events/pointer_event.h
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "third_party/blink/renderer/core/core_export.h"
|
||||
#include "third_party/blink/renderer/core/events/mouse_event.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/casting.h"
|
||||
+#include "third_party/blink/renderer/core/page/page.h"
|
||||
|
||||
namespace blink {
|
||||
|
||||
@@ -57,11 +58,21 @@ class CORE_EXPORT PointerEvent : public MouseEvent {
|
||||
double screenX() const override {
|
||||
if (ShouldHaveIntegerCoordinates())
|
||||
return MouseEvent::screenX();
|
||||
+ if (view() && view()->GetFrame() &&
|
||||
+ view()->GetFrame()->GetPage() &&
|
||||
+ view()->GetFrame()->GetPage()->IsScreenEmulated()) {
|
||||
+ return page_x_;
|
||||
+ }
|
||||
return screen_x_;
|
||||
}
|
||||
double screenY() const override {
|
||||
if (ShouldHaveIntegerCoordinates())
|
||||
return MouseEvent::screenY();
|
||||
+ if (view() && view()->GetFrame() &&
|
||||
+ view()->GetFrame()->GetPage() &&
|
||||
+ view()->GetFrame()->GetPage()->IsScreenEmulated()) {
|
||||
+ return page_y_;
|
||||
+ }
|
||||
return screen_y_;
|
||||
}
|
||||
double clientX() const override {
|
||||
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -1031,7 +1031,7 @@ WebPagePopupImpl* WebViewImpl::OpenPagePopup(PagePopupClient* client) {
|
||||
page_popup_ = WebPagePopupImpl::Create(
|
||||
std::move(popup_widget_host), std::move(widget_host),
|
||||
std::move(widget_receiver), this, agent_group_scheduler,
|
||||
- opener_widget->GetOriginalScreenInfos(), client);
|
||||
+ opener_widget->GetScreenInfos(), client);
|
||||
EnablePopupMouseWheelEventListener(web_opener_frame->LocalRoot());
|
||||
return page_popup_.get();
|
||||
}
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
@@ -1437,6 +1437,11 @@ int LocalDOMWindow::outerHeight() const {
|
||||
if (!page)
|
||||
return 0;
|
||||
|
||||
+ // If screen is emulated and this frame is remote cross-origin
|
||||
+ // return innerHeight
|
||||
+ if (page->IsScreenEmulated() && frame->IsCrossOriginToOutermostMainFrame())
|
||||
+ return innerHeight();
|
||||
+
|
||||
ChromeClient& chrome_client = page->GetChromeClient();
|
||||
if (page->GetSettings().GetReportScreenSizeInPhysicalPixelsQuirk()) {
|
||||
return static_cast<int>(
|
||||
@@ -1462,6 +1467,11 @@ int LocalDOMWindow::outerWidth() const {
|
||||
if (!page)
|
||||
return 0;
|
||||
|
||||
+ // If screen is emulated and this frame is remote cross-origin
|
||||
+ // return innerWidth
|
||||
+ if (page->IsScreenEmulated() && frame->IsCrossOriginToOutermostMainFrame())
|
||||
+ return innerWidth();
|
||||
+
|
||||
ChromeClient& chrome_client = page->GetChromeClient();
|
||||
if (page->GetSettings().GetReportScreenSizeInPhysicalPixelsQuirk()) {
|
||||
return static_cast<int>(
|
||||
@@ -1650,7 +1660,8 @@ double LocalDOMWindow::devicePixelRatio() const {
|
||||
if (!GetFrame())
|
||||
return 0.0;
|
||||
|
||||
- return GetFrame()->DevicePixelRatio();
|
||||
+ // never send the zoom factor override value
|
||||
+ return GetFrame()->DevicePixelRatio(/*with_zoom_factor*/false);
|
||||
}
|
||||
|
||||
void LocalDOMWindow::scrollBy(double x, double y) const {
|
||||
@@ -2203,6 +2214,21 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||
if (!completed_url.IsEmpty() || result.new_window)
|
||||
result.frame->Navigate(frame_request, WebFrameLoadType::kStandard);
|
||||
|
||||
+ if (result.frame->IsLocalFrame()) {
|
||||
+ // we need to use opener setting when opening a iframe without url
|
||||
+ // (as "about:blank") to force emulated screen
|
||||
+ // since result.frame.GetContentSettingsClient()->AllowViewportChange()
|
||||
+ // in the Page::DidCommitLoad() event returns false for these urls
|
||||
+ //
|
||||
+ // prevent this js code:
|
||||
+ // var w = window.open()
|
||||
+ // var not_emulated_screen_info = w.screen
|
||||
+ bool protection_enabled = base::FeatureList::IsEnabled(features::kViewportProtection);
|
||||
+ result.frame->GetPage()->CalculateEmulatedScreenSetting(
|
||||
+ To<LocalFrame>(result.frame),
|
||||
+ /*force*/ protection_enabled);
|
||||
+ }
|
||||
+
|
||||
// TODO(japhet): window-open-noopener.html?_top and several tests in
|
||||
// html/browsers/windows/browsing-context-names/ appear to require that
|
||||
// the special case target names (_top, _parent, _self) ignore opener
|
||||
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
|
||||
@@ -1278,6 +1278,10 @@ gfx::SizeF LocalFrame::ResizePageRectsKeepingRatio(
|
||||
return gfx::SizeF(result_width, result_height);
|
||||
}
|
||||
|
||||
+void LocalFrame::SetPageZoomFactorBaseValue(float factor) {
|
||||
+ page_zoom_factor_base_value_ = factor;
|
||||
+}
|
||||
+
|
||||
void LocalFrame::SetPageZoomFactor(float factor) {
|
||||
SetPageAndTextZoomFactors(factor, text_zoom_factor_);
|
||||
}
|
||||
@@ -1417,12 +1421,16 @@ device::mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() {
|
||||
return mojo_handler_->GetDevicePosture();
|
||||
}
|
||||
|
||||
-double LocalFrame::DevicePixelRatio() const {
|
||||
+double LocalFrame::DevicePixelRatio(bool with_zoom_factor) const {
|
||||
if (!page_)
|
||||
return 0;
|
||||
|
||||
double ratio = page_->InspectorDeviceScaleFactorOverride();
|
||||
- ratio *= PageZoomFactor();
|
||||
+ // with_zoom_factor is default true
|
||||
+ if (with_zoom_factor)
|
||||
+ ratio *= PageZoomFactor();
|
||||
+ else
|
||||
+ ratio = page_zoom_factor_;
|
||||
return ratio;
|
||||
}
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h
|
||||
--- a/third_party/blink/renderer/core/frame/local_frame.h
|
||||
+++ b/third_party/blink/renderer/core/frame/local_frame.h
|
||||
@@ -381,13 +381,14 @@ class CORE_EXPORT LocalFrame final
|
||||
void SetInViewSourceMode(bool = true);
|
||||
|
||||
void SetPageZoomFactor(float);
|
||||
- float PageZoomFactor() const { return page_zoom_factor_; }
|
||||
+ void SetPageZoomFactorBaseValue(float factor);
|
||||
+ float PageZoomFactor() const { return page_zoom_factor_ + page_zoom_factor_base_value_; }
|
||||
void SetTextZoomFactor(float);
|
||||
float TextZoomFactor() const { return text_zoom_factor_; }
|
||||
void SetPageAndTextZoomFactors(float page_zoom_factor,
|
||||
float text_zoom_factor);
|
||||
|
||||
- double DevicePixelRatio() const;
|
||||
+ double DevicePixelRatio(bool with_zoom_factor = true) const;
|
||||
|
||||
// Informs the local root's document and its local descendant subtree that a
|
||||
// media query value changed.
|
||||
@@ -934,6 +935,7 @@ class CORE_EXPORT LocalFrame final
|
||||
unsigned hidden_ : 1;
|
||||
|
||||
float page_zoom_factor_;
|
||||
+ float page_zoom_factor_base_value_ = 0;
|
||||
float text_zoom_factor_;
|
||||
|
||||
Member<CoreProbeSink> probe_sink_;
|
||||
diff --git a/third_party/blink/renderer/core/frame/screen_metrics_emulator.cc b/third_party/blink/renderer/core/frame/screen_metrics_emulator.cc
|
||||
--- a/third_party/blink/renderer/core/frame/screen_metrics_emulator.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/screen_metrics_emulator.cc
|
||||
@@ -34,6 +34,7 @@ void ScreenMetricsEmulator::Trace(Visitor* vistor) const {
|
||||
}
|
||||
|
||||
void ScreenMetricsEmulator::DisableAndApply() {
|
||||
+ override_screen_type_ = false;
|
||||
frame_widget_->SetScreenMetricsEmulationParameters(false, emulation_params_);
|
||||
frame_widget_->SetScreenRects(original_view_screen_rect_,
|
||||
original_window_screen_rect_);
|
||||
@@ -45,7 +46,16 @@ void ScreenMetricsEmulator::DisableAndApply() {
|
||||
|
||||
void ScreenMetricsEmulator::ChangeEmulationParams(
|
||||
const DeviceEmulationParams& params) {
|
||||
+ if (!params.force_mobile_calc) {
|
||||
+ // user has activated device emulator via devtools
|
||||
+ override_screen_type_ = true;
|
||||
+ // we need to save requested value
|
||||
+ last_screen_type_ = params.screen_type;
|
||||
+ }
|
||||
emulation_params_ = params;
|
||||
+ if (override_screen_type_) {
|
||||
+ emulation_params_.screen_type = last_screen_type_;
|
||||
+ }
|
||||
Apply();
|
||||
}
|
||||
|
||||
@@ -163,6 +173,9 @@ void ScreenMetricsEmulator::Apply() {
|
||||
frame_widget_->SetScreenInfoAndSize(emulated_screen_infos,
|
||||
/*widget_size=*/widget_size,
|
||||
/*visible_viewport_size=*/widget_size);
|
||||
+
|
||||
+ // save emulated window size
|
||||
+ window_size_ = window_size;
|
||||
}
|
||||
|
||||
void ScreenMetricsEmulator::UpdateVisualProperties(
|
||||
@@ -191,9 +204,8 @@ void ScreenMetricsEmulator::OnUpdateScreenRects(
|
||||
const gfx::Rect& window_screen_rect) {
|
||||
original_view_screen_rect_ = view_screen_rect;
|
||||
original_window_screen_rect_ = window_screen_rect;
|
||||
- if (emulating_desktop()) {
|
||||
- Apply();
|
||||
- }
|
||||
+ // needed as we need browser ui size
|
||||
+ Apply();
|
||||
}
|
||||
|
||||
} // namespace blink
|
||||
diff --git a/third_party/blink/renderer/core/frame/screen_metrics_emulator.h b/third_party/blink/renderer/core/frame/screen_metrics_emulator.h
|
||||
--- a/third_party/blink/renderer/core/frame/screen_metrics_emulator.h
|
||||
+++ b/third_party/blink/renderer/core/frame/screen_metrics_emulator.h
|
||||
@@ -61,6 +61,11 @@ class ScreenMetricsEmulator : public GarbageCollected<ScreenMetricsEmulator> {
|
||||
// Emulated position of the main frame widget (aka view) rect.
|
||||
gfx::Point ViewRectOrigin();
|
||||
|
||||
+ // Get emulated window size
|
||||
+ const gfx::Size& ViewWindowSize() const {
|
||||
+ return window_size_;
|
||||
+ }
|
||||
+
|
||||
// Disables emulation and applies non-emulated values to the
|
||||
// WebFrameWidgetImpl. Call this before destroying the ScreenMetricsEmulator.
|
||||
void DisableAndApply();
|
||||
@@ -77,6 +82,8 @@ class ScreenMetricsEmulator : public GarbageCollected<ScreenMetricsEmulator> {
|
||||
|
||||
private:
|
||||
bool emulating_desktop() const {
|
||||
+ if (emulation_params_.force_mobile_calc == true)
|
||||
+ return false;
|
||||
return emulation_params_.screen_type ==
|
||||
mojom::blink::EmulatedScreenType::kDesktop;
|
||||
}
|
||||
@@ -89,6 +96,10 @@ class ScreenMetricsEmulator : public GarbageCollected<ScreenMetricsEmulator> {
|
||||
// Parameters as passed by `WebFrameWidgetImpl::EnableDeviceEmulation()`
|
||||
DeviceEmulationParams emulation_params_;
|
||||
|
||||
+ // Used to remember the user's choice if devtools are activated
|
||||
+ bool override_screen_type_ = false;
|
||||
+ mojom::EmulatedScreenType last_screen_type_;
|
||||
+
|
||||
// Original values to restore back after emulation ends.
|
||||
display::ScreenInfos original_screen_infos_;
|
||||
gfx::Size original_widget_size_;
|
||||
@@ -96,6 +107,9 @@ class ScreenMetricsEmulator : public GarbageCollected<ScreenMetricsEmulator> {
|
||||
gfx::Rect original_view_screen_rect_;
|
||||
gfx::Rect original_window_screen_rect_;
|
||||
std::vector<gfx::Rect> original_root_window_segments_;
|
||||
+
|
||||
+ // Actual size after apply
|
||||
+ gfx::Size window_size_;
|
||||
};
|
||||
|
||||
} // namespace blink
|
||||
diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
|
||||
--- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
|
||||
@@ -1578,6 +1578,14 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
|
||||
|
||||
if (auto* device_emulator = DeviceEmulator()) {
|
||||
device_emulator->UpdateVisualProperties(visual_properties);
|
||||
+ // Shink the view according to browsercontrols
|
||||
+ size_ = widget_base_->DIPsToCeiledBlinkSpace(
|
||||
+ device_emulator->ViewWindowSize());
|
||||
+ View()->ResizeWithBrowserControls(
|
||||
+ size_.value(),
|
||||
+ widget_base_->DIPsToCeiledBlinkSpace(
|
||||
+ widget_base_->VisibleViewportSizeInDIPs()),
|
||||
+ visual_properties.browser_controls_params);
|
||||
return;
|
||||
}
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/frame/web_remote_frame_impl.cc b/third_party/blink/renderer/core/frame/web_remote_frame_impl.cc
|
||||
--- a/third_party/blink/renderer/core/frame/web_remote_frame_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/web_remote_frame_impl.cc
|
||||
@@ -349,7 +349,8 @@ void WebRemoteFrameImpl::InitializeFrameVisualProperties(
|
||||
visual_properties.page_scale_factor = ancestor_widget->PageScaleInMainFrame();
|
||||
visual_properties.is_pinch_gesture_active =
|
||||
ancestor_widget->PinchGestureActiveInMainFrame();
|
||||
- visual_properties.screen_infos = ancestor_widget->GetOriginalScreenInfos();
|
||||
+ // for a cross-site iframe, set the actual (original or emulated) screen infos
|
||||
+ visual_properties.screen_infos = ancestor_widget->GetScreenInfos();
|
||||
visual_properties.visible_viewport_size =
|
||||
ancestor_widget->VisibleViewportSizeInDIPs();
|
||||
const WebVector<gfx::Rect>& window_segments =
|
||||
diff --git a/third_party/blink/renderer/core/input/touch.cc b/third_party/blink/renderer/core/input/touch.cc
|
||||
--- a/third_party/blink/renderer/core/input/touch.cc
|
||||
+++ b/third_party/blink/renderer/core/input/touch.cc
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "third_party/blink/renderer/core/frame/local_frame_view.h"
|
||||
#include "third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h"
|
||||
#include "ui/gfx/geometry/point_f.h"
|
||||
+#include "third_party/blink/renderer/core/page/page.h"
|
||||
|
||||
namespace blink {
|
||||
|
||||
@@ -75,7 +76,13 @@ Touch::Touch(LocalFrame* frame,
|
||||
radius_(radius),
|
||||
rotation_angle_(rotation_angle),
|
||||
force_(force),
|
||||
- absolute_location_(PageToAbsolute(frame, page_pos)) {}
|
||||
+ absolute_location_(PageToAbsolute(frame, page_pos)) {
|
||||
+ if (frame->GetPage() && frame->GetPage()->IsScreenEmulated()) {
|
||||
+ // use page_pos instead of screen_pos
|
||||
+ screen_pos_.set_x(page_pos_.x());
|
||||
+ screen_pos_.set_y(page_pos_.y());
|
||||
+ }
|
||||
+ }
|
||||
|
||||
Touch::Touch(EventTarget* target,
|
||||
int identifier,
|
||||
@@ -105,7 +112,13 @@ Touch::Touch(LocalFrame* frame, const TouchInit* initializer)
|
||||
radius_(initializer->radiusX(), initializer->radiusY()),
|
||||
rotation_angle_(initializer->rotationAngle()),
|
||||
force_(initializer->force()),
|
||||
- absolute_location_(PageToAbsolute(frame, page_pos_)) {}
|
||||
+ absolute_location_(PageToAbsolute(frame, page_pos_)) {
|
||||
+ if (frame->GetPage() && frame->GetPage()->IsScreenEmulated()) {
|
||||
+ // use page_pos instead of screen_pos
|
||||
+ screen_pos_.set_x(page_pos_.x());
|
||||
+ screen_pos_.set_y(page_pos_.y());
|
||||
+ }
|
||||
+ }
|
||||
|
||||
Touch* Touch::CloneWithNewTarget(EventTarget* event_target) const {
|
||||
return MakeGarbageCollected<Touch>(
|
||||
diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc
|
||||
--- a/third_party/blink/renderer/core/page/page.cc
|
||||
+++ b/third_party/blink/renderer/core/page/page.cc
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
#include "base/compiler_specific.h"
|
||||
#include "base/feature_list.h"
|
||||
+#include "build/build_config.h"
|
||||
#include "third_party/blink/public/common/features.h"
|
||||
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink-forward.h"
|
||||
#include "third_party/blink/public/platform/platform.h"
|
||||
@@ -92,6 +93,9 @@
|
||||
#include "third_party/blink/renderer/platform/scheduler/public/agent_group_scheduler.h"
|
||||
#include "third_party/blink/renderer/platform/scheduler/public/frame_scheduler.h"
|
||||
#include "third_party/skia/include/core/SkColor.h"
|
||||
+#include "base/rand_util.h"
|
||||
+#include "third_party/blink/public/common/widget/device_emulation_params.h"
|
||||
+#include "third_party/blink/renderer/core/exported/web_view_impl.h"
|
||||
|
||||
namespace blink {
|
||||
|
||||
@@ -881,7 +885,79 @@ void Page::UpdateAcceleratedCompositingSettings() {
|
||||
}
|
||||
}
|
||||
|
||||
+void Page::CalculateEmulatedScreenSetting(LocalFrame* frame, bool force) {
|
||||
+ bool isEnabled = base::FeatureList::IsEnabled(features::kViewportProtection);
|
||||
+ if (isEnabled || force) {
|
||||
+ // this is the maximum (and minimum) value which in percentage
|
||||
+ // corresponds to +- 0.03%
|
||||
+ // more or less 3-6 pixels according to the resolution 300-600px
|
||||
+ // little enough not to change the page view the user is used to,
|
||||
+ // but enough to change all bounds, especially those in floating point
|
||||
+ const int max_range = 300;
|
||||
+
|
||||
+ // only for the local main frame
|
||||
+ // the other local frames use the values from main
|
||||
+ // while the remote ones do not communicate the values to the parent
|
||||
+ // (and they will be local main frame in their page context)
|
||||
+ if (main_frame_ == frame) {
|
||||
+ // set the scale factor
|
||||
+ double scale_factor = 0;
|
||||
+ if (override_window_scale_factor_ != 0) {
|
||||
+ scale_factor = override_window_scale_factor_;
|
||||
+ } else {
|
||||
+ // we allow the increase or decrease of the screen size (and view)
|
||||
+ scale_factor = 1.0 + base::RandInt(-max_range, max_range) / 10000.0;
|
||||
+ }
|
||||
+
|
||||
+ // save the value, so a same domain navigation will reuse same value
|
||||
+ override_window_scale_factor_ = scale_factor;
|
||||
+
|
||||
+ // we divide the value in half: half for the screen and the view,
|
||||
+ // which then the latter will be scaled again by the zoom
|
||||
+ double half_random = (scale_factor - 1.0) / 2.0;
|
||||
+
|
||||
+ // set emulation params
|
||||
+ DeviceEmulationParams params;
|
||||
+ // the screen size is changed to match the widget size with force_mobile_calc
|
||||
+ params.force_mobile_calc = true;
|
||||
+ params.screen_type = mojom::EmulatedScreenType::kDesktop;
|
||||
+ // scale the widget size (and the screen size) by half_random scale factor
|
||||
+ params.scale = 1 / (1.0 + half_random);
|
||||
+
|
||||
+ GetChromeClient().GetWebView()->EnableDeviceEmulation(params);
|
||||
+
|
||||
+ // set zoom factor
|
||||
+ // the zoom factor is used by all the functions that manage the bounds,
|
||||
+ // which is multiplied by the values in pixels when computed
|
||||
+ // we do not modify the actual value but only the one used internally
|
||||
+ // it becomes the base value used as the zoom property of the css, but
|
||||
+ // it does not appear on the dom (which always remains 1.0)
|
||||
+ double zoom_factor = 0;
|
||||
+ if (override_zoom_factor_ != 0) {
|
||||
+ zoom_factor = override_zoom_factor_;
|
||||
+ } else {
|
||||
+ // we only allow the page size to decrease, otherwise the scroll
|
||||
+ // bars would not be visible
|
||||
+ zoom_factor = base::RandInt(0, max_range/2) / 10000.0;
|
||||
+ }
|
||||
+
|
||||
+ // save the value, so a same domain navigation will reuse same value
|
||||
+ override_zoom_factor_ = zoom_factor;
|
||||
+
|
||||
+ frame->SetPageZoomFactorBaseValue(zoom_factor);
|
||||
+ }
|
||||
+ is_screen_emulated = true;
|
||||
+ } else {
|
||||
+ if (is_screen_emulated && main_frame_ == frame) {
|
||||
+ GetChromeClient().GetWebView()->DisableDeviceEmulation();
|
||||
+ frame->SetPageZoomFactorBaseValue(0);
|
||||
+ }
|
||||
+ is_screen_emulated = false;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void Page::DidCommitLoad(LocalFrame* frame) {
|
||||
+ CalculateEmulatedScreenSetting(frame);
|
||||
if (main_frame_ == frame) {
|
||||
GetConsoleMessageStorage().Clear();
|
||||
GetInspectorIssueStorage().Clear();
|
||||
diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/renderer/core/page/page.h
|
||||
--- a/third_party/blink/renderer/core/page/page.h
|
||||
+++ b/third_party/blink/renderer/core/page/page.h
|
||||
@@ -410,6 +410,9 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
|
||||
}
|
||||
mojom::blink::FencedFrameMode FencedFrameMode() { return fenced_frame_mode_; }
|
||||
|
||||
+ void CalculateEmulatedScreenSetting(LocalFrame* frame, bool force = false);
|
||||
+ bool IsScreenEmulated() { return is_screen_emulated; }
|
||||
+
|
||||
private:
|
||||
friend class ScopedPagePauser;
|
||||
|
||||
@@ -539,6 +542,10 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
|
||||
// browser side FrameTree has the FrameTree::Type of kFencedFrame.
|
||||
bool is_fenced_frame_tree_ = false;
|
||||
|
||||
+ bool is_screen_emulated = false;
|
||||
+ double override_window_scale_factor_ = 0;
|
||||
+ double override_zoom_factor_ = 0;
|
||||
+
|
||||
// If the page is hosted inside an MPArch fenced frame, this tracks the
|
||||
// mode that the fenced frame is set to. This will always be set to kDefault
|
||||
// for the ShadowDOM implementation of fenced frames.
|
||||
--
|
||||
2.25.1
|
||||
@@ -9,9 +9,9 @@ Subject: temporary fix libaom build error
|
||||
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
|
||||
@@ -260,11 +260,11 @@ static_library("libaom") {
|
||||
# will detect CPU
|
||||
sources += aom_ports_arm_sources
|
||||
@@ -258,11 +258,11 @@ static_library("libaom") {
|
||||
cpu_arch_full == "arm-neon-cpu-detect") {
|
||||
deps += [ ":libaom_intrinsics_neon" ]
|
||||
}
|
||||
- if (current_cpu == "arm64" || current_cpu == "arm") {
|
||||
- # This is needed by all arm boards due to aom_arm_cpu_caps()
|
||||
|
||||
@@ -3,39 +3,39 @@ Date: Wed, 19 Oct 2022 13:01:32 +0000
|
||||
Subject: ungoogled-chr no special hosts/domains (add fixup)
|
||||
|
||||
---
|
||||
chrome/browser/BUILD.gn | 8 -
|
||||
.../android/metrics/uma_session_stats.cc | 10 --
|
||||
chrome/browser/browser_process_impl.cc | 1 -
|
||||
.../browser/chrome_content_browser_client.cc | 13 +-
|
||||
chrome/browser/extensions/BUILD.gn | 1 -
|
||||
.../log_sources/chrome_internal_log_source.cc | 5 -
|
||||
chrome/browser/first_run/first_run.cc | 9 --
|
||||
chrome/browser/google/BUILD.gn | 2 +-
|
||||
.../long_screenshots_tab_service.cc | 22 ---
|
||||
.../metrics/chrome_metrics_service_client.cc | 2 +-
|
||||
.../chrome_metrics_services_manager_client.cc | 5 +-
|
||||
.../metrics/metrics_reporting_state.cc | 76 ---------
|
||||
.../net/system_network_context_manager.cc | 1 -
|
||||
.../modules/recipes/recipes_service.cc | 3 +-
|
||||
.../one_google_bar_loader_impl.cc | 3 +-
|
||||
.../new_tab_page/promos/promo_service.cc | 6 +-
|
||||
.../page_load_metrics_initialize.cc | 2 -
|
||||
...hrome_browser_main_extra_parts_profiles.cc | 1 -
|
||||
.../ui_thread_search_terms_data.cc | 4 -
|
||||
chrome/browser/ui/BUILD.gn | 1 -
|
||||
.../ui/webui/new_tab_page/new_tab_page_ui.cc | 5 -
|
||||
.../webui/settings/reset_settings_handler.cc | 1 -
|
||||
.../upgrade_detector/upgrade_detector_impl.cc | 2 +-
|
||||
chrome/common/BUILD.gn | 2 -
|
||||
.../url_loader_throttle_provider_impl.cc | 7 -
|
||||
chrome/test/BUILD.gn | 1 -
|
||||
components/google/core/common/google_util.cc | 151 +-----------------
|
||||
components/google/core/common/google_util.h | 14 +-
|
||||
.../search_engines/search_terms_data.cc | 4 +-
|
||||
components/search_provider_logos/BUILD.gn | 2 -
|
||||
.../logo_service_impl.cc | 16 +-
|
||||
components/url_matcher/url_util.cc | 83 ----------
|
||||
32 files changed, 20 insertions(+), 443 deletions(-)
|
||||
chrome/browser/BUILD.gn | 8 --
|
||||
.../android/metrics/uma_session_stats.cc | 10 ---
|
||||
chrome/browser/browser_process_impl.cc | 1 -
|
||||
.../browser/chrome_content_browser_client.cc | 13 +--
|
||||
chrome/browser/extensions/BUILD.gn | 1 -
|
||||
.../log_sources/chrome_internal_log_source.cc | 5 --
|
||||
chrome/browser/first_run/first_run.cc | 9 --
|
||||
chrome/browser/google/BUILD.gn | 2 +-
|
||||
.../long_screenshots_tab_service.cc | 22 -----
|
||||
.../metrics/chrome_metrics_service_client.cc | 2 +-
|
||||
.../chrome_metrics_services_manager_client.cc | 5 +-
|
||||
.../metrics/metrics_reporting_state.cc | 76 -----------------
|
||||
.../net/system_network_context_manager.cc | 1 -
|
||||
.../modules/recipes/recipes_service.cc | 3 +-
|
||||
.../one_google_bar_loader_impl.cc | 3 +-
|
||||
.../new_tab_page/promos/promo_service.cc | 6 +-
|
||||
.../page_load_metrics_initialize.cc | 2 -
|
||||
...hrome_browser_main_extra_parts_profiles.cc | 1 -
|
||||
.../ui_thread_search_terms_data.cc | 4 -
|
||||
chrome/browser/ui/BUILD.gn | 1 -
|
||||
.../ui/webui/new_tab_page/new_tab_page_ui.cc | 5 --
|
||||
.../webui/settings/reset_settings_handler.cc | 1 -
|
||||
.../upgrade_detector/upgrade_detector_impl.cc | 2 +-
|
||||
chrome/common/BUILD.gn | 2 -
|
||||
.../url_loader_throttle_provider_impl.cc | 7 --
|
||||
chrome/test/BUILD.gn | 1 -
|
||||
components/google/core/common/google_util.cc | 70 +---------------
|
||||
components/google/core/common/google_util.h | 10 +--
|
||||
.../search_engines/search_terms_data.cc | 4 +-
|
||||
components/search_provider_logos/BUILD.gn | 2 -
|
||||
.../logo_service_impl.cc | 16 +---
|
||||
components/url_matcher/url_util.cc | 83 -------------------
|
||||
32 files changed, 19 insertions(+), 359 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
--- a/chrome/browser/BUILD.gn
|
||||
@@ -67,7 +67,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"//chrome/common",
|
||||
"//chrome/common:buildflags",
|
||||
"//chrome/common:constants",
|
||||
@@ -7692,8 +7686,6 @@ static_library("browser") {
|
||||
@@ -7690,8 +7684,6 @@ static_library("browser") {
|
||||
"supervised_user/supervised_user_constants.h",
|
||||
"supervised_user/supervised_user_denylist.cc",
|
||||
"supervised_user/supervised_user_denylist.h",
|
||||
@@ -575,7 +575,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
|
||||
diff --git a/components/google/core/common/google_util.cc b/components/google/core/common/google_util.cc
|
||||
--- a/components/google/core/common/google_util.cc
|
||||
+++ b/components/google/core/common/google_util.cc
|
||||
@@ -29,7 +29,7 @@ namespace google_util {
|
||||
@@ -52,7 +52,7 @@ bool IsCanonicalHostGoogleHostname(base::StringPiece canonical_host,
|
||||
|
||||
// Global functions -----------------------------------------------------------
|
||||
|
||||
@@ -584,7 +584,7 @@ diff --git a/components/google/core/common/google_util.cc b/components/google/co
|
||||
|
||||
std::string GetGoogleLocale(const std::string& application_locale) {
|
||||
// Google does not recognize "nb" for Norwegian Bokmal; it uses "no".
|
||||
@@ -38,8 +38,7 @@ std::string GetGoogleLocale(const std::string& application_locale) {
|
||||
@@ -61,8 +61,7 @@ std::string GetGoogleLocale(const std::string& application_locale) {
|
||||
|
||||
GURL AppendGoogleLocaleParam(const GURL& url,
|
||||
const std::string& application_locale) {
|
||||
@@ -594,47 +594,7 @@ diff --git a/components/google/core/common/google_util.cc b/components/google/co
|
||||
}
|
||||
|
||||
std::string GetGoogleCountryCode(const GURL& google_homepage_url) {
|
||||
@@ -83,156 +82,12 @@ bool IsYoutubeDomainUrl(const GURL& url, SubdomainPermission subdomain_permissio
|
||||
}
|
||||
|
||||
bool IsGoogleAssociatedDomainUrl(const GURL& url) { // disabled on Bromite
|
||||
- if ((true))
|
||||
- return false;
|
||||
-
|
||||
- // Some domains don't have international TLD extensions, so testing for them
|
||||
- // is very straightforward.
|
||||
- static const char* kSuffixesToSetHeadersFor[] = {
|
||||
- ".android.com",
|
||||
- ".doubleclick.com",
|
||||
- ".doubleclick.net",
|
||||
- ".ggpht.com",
|
||||
- ".googleadservices.com",
|
||||
- ".googleapis.com",
|
||||
- ".googlesyndication.com",
|
||||
- ".googleusercontent.com",
|
||||
- ".googlevideo.com",
|
||||
- ".gstatic.com",
|
||||
- ".litepages.googlezip.net",
|
||||
- ".youtubekids.com",
|
||||
- ".ytimg.com",
|
||||
- };
|
||||
- const std::string host = url.host();
|
||||
- for (size_t i = 0; i < std::size(kSuffixesToSetHeadersFor); ++i) {
|
||||
- if (base::EndsWith(host, kSuffixesToSetHeadersFor[i],
|
||||
- base::CompareCase::INSENSITIVE_ASCII)) {
|
||||
- return true;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- // Exact hostnames in lowercase to set headers for.
|
||||
- static const char* kHostsToSetHeadersFor[] = {
|
||||
- "googleweblight.com",
|
||||
- };
|
||||
- for (size_t i = 0; i < std::size(kHostsToSetHeadersFor); ++i) {
|
||||
- if (base::EqualsCaseInsensitiveASCII(host, kHostsToSetHeadersFor[i]))
|
||||
- return true;
|
||||
- }
|
||||
-
|
||||
@@ -133,69 +132,4 @@ bool IsGoogleAssociatedDomainUrl(const GURL& url) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -664,9 +624,9 @@ diff --git a/components/google/core/common/google_util.cc b/components/google/co
|
||||
- return *kGoogleRegisterableDomains;
|
||||
-}
|
||||
-
|
||||
GURL AppendToAsyncQueryParam(const GURL& url,
|
||||
const std::string& key,
|
||||
const std::string& value) {
|
||||
-GURL AppendToAsyncQueryParam(const GURL& url,
|
||||
- const std::string& key,
|
||||
- const std::string& value) {
|
||||
- const std::string param_name = "async";
|
||||
- const std::string key_value = key + ":" + value;
|
||||
- bool replaced = false;
|
||||
@@ -701,54 +661,6 @@ diff --git a/components/google/core/common/google_util.cc b/components/google/co
|
||||
- GURL::Replacements replacements;
|
||||
- replacements.SetQueryStr(output);
|
||||
- return url.ReplaceComponents(replacements);
|
||||
+ return url;
|
||||
}
|
||||
-
|
||||
-GoogleSearchMode GoogleSearchModeFromUrl(const GURL& url) {
|
||||
- static_assert(GoogleSearchMode::kMaxValue == GoogleSearchMode::kFlights,
|
||||
- "This function should be updated if new values are added to "
|
||||
- "GoogleSearchMode");
|
||||
-
|
||||
- base::StringPiece query_str = url.query_piece();
|
||||
- url::Component query(0, static_cast<int>(url.query_piece().length()));
|
||||
- url::Component key, value;
|
||||
- GoogleSearchMode mode = GoogleSearchMode::kUnspecified;
|
||||
- while (url::ExtractQueryKeyValue(query_str.data(), &query, &key, &value)) {
|
||||
- base::StringPiece key_str = query_str.substr(key.begin, key.len);
|
||||
- if (key_str != "tbm") {
|
||||
- continue;
|
||||
- }
|
||||
- if (mode != GoogleSearchMode::kUnspecified) {
|
||||
- // There is more than one tbm parameter, which is not expected. Return
|
||||
- // kUnknown to signify the result can't be trusted.
|
||||
- return GoogleSearchMode::kUnknown;
|
||||
- }
|
||||
- base::StringPiece value_str = query_str.substr(value.begin, value.len);
|
||||
- if (value_str == "isch") {
|
||||
- mode = GoogleSearchMode::kImages;
|
||||
- } else if (value_str == "web") {
|
||||
- mode = GoogleSearchMode::kWeb;
|
||||
- } else if (value_str == "nws") {
|
||||
- mode = GoogleSearchMode::kNews;
|
||||
- } else if (value_str == "shop") {
|
||||
- mode = GoogleSearchMode::kShopping;
|
||||
- } else if (value_str == "vid") {
|
||||
- mode = GoogleSearchMode::kVideos;
|
||||
- } else if (value_str == "bks") {
|
||||
- mode = GoogleSearchMode::kBooks;
|
||||
- } else if (value_str == "flm") {
|
||||
- mode = GoogleSearchMode::kFlights;
|
||||
- } else if (value_str == "lcl") {
|
||||
- mode = GoogleSearchMode::kLocal;
|
||||
- } else {
|
||||
- mode = GoogleSearchMode::kUnknown;
|
||||
- }
|
||||
- }
|
||||
- if (mode == GoogleSearchMode::kUnspecified) {
|
||||
- // No tbm query parameter means this is the Web mode.
|
||||
- mode = GoogleSearchMode::kWeb;
|
||||
- }
|
||||
- return mode;
|
||||
-}
|
||||
-
|
||||
} // namespace google_util
|
||||
@@ -779,17 +691,6 @@ diff --git a/components/google/core/common/google_util.h b/components/google/cor
|
||||
// Appends the provided |key| and |value| pair to the "async" query param list,
|
||||
// according to the format used by the Google servers:
|
||||
//
|
||||
@@ -154,10 +146,6 @@ GURL AppendToAsyncQueryParam(const GURL& url,
|
||||
const std::string& key,
|
||||
const std::string& value);
|
||||
|
||||
-// Returns Google Search mode used by the user. This corresponds to the tab
|
||||
-// (e.g. web result, image results, video results, etc.) the user is on. This
|
||||
-// information is extracted from the "tbm" query parameter on the Search URL.
|
||||
-GoogleSearchMode GoogleSearchModeFromUrl(const GURL& url);
|
||||
|
||||
} // namespace google_util
|
||||
|
||||
diff --git a/components/search_engines/search_terms_data.cc b/components/search_engines/search_terms_data.cc
|
||||
--- a/components/search_engines/search_terms_data.cc
|
||||
+++ b/components/search_engines/search_terms_data.cc
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Wed, 28 Dec 2022 15:46:59 +0000
|
||||
Subject: win disable annotate downloads
|
||||
|
||||
---
|
||||
components/download/internal/common/download_file_impl.cc | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/components/download/internal/common/download_file_impl.cc b/components/download/internal/common/download_file_impl.cc
|
||||
--- a/components/download/internal/common/download_file_impl.cc
|
||||
+++ b/components/download/internal/common/download_file_impl.cc
|
||||
@@ -358,8 +358,8 @@ void DownloadFileImpl::RenameAndAnnotate(
|
||||
std::unique_ptr<RenameParameters> parameters(new RenameParameters(
|
||||
ANNOTATE_WITH_SOURCE_INFORMATION, full_path, std::move(callback)));
|
||||
parameters->client_guid = client_guid;
|
||||
- parameters->source_url = source_url;
|
||||
- parameters->referrer_url = referrer_url;
|
||||
+ parameters->source_url = GURL();
|
||||
+ parameters->referrer_url = GURL();
|
||||
parameters->remote_quarantine = std::move(remote_quarantine);
|
||||
RenameWithRetryInternal(std::move(parameters));
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
@@ -0,0 +1,42 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Wed, 28 Dec 2022 15:47:58 +0000
|
||||
Subject: win enable HighEfficiencyMode by default
|
||||
|
||||
---
|
||||
components/performance_manager/features.cc | 2 +-
|
||||
components/performance_manager/user_tuning/prefs.cc | 4 ++--
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/components/performance_manager/features.cc b/components/performance_manager/features.cc
|
||||
--- a/components/performance_manager/features.cc
|
||||
+++ b/components/performance_manager/features.cc
|
||||
@@ -25,7 +25,7 @@ BASE_FEATURE(kBackgroundTabLoadingFromPerformanceManager,
|
||||
|
||||
BASE_FEATURE(kHighEfficiencyModeAvailable,
|
||||
"HighEfficiencyModeAvailable",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kBatterySaverModeAvailable,
|
||||
"BatterySaverModeAvailable",
|
||||
diff --git a/components/performance_manager/user_tuning/prefs.cc b/components/performance_manager/user_tuning/prefs.cc
|
||||
--- a/components/performance_manager/user_tuning/prefs.cc
|
||||
+++ b/components/performance_manager/user_tuning/prefs.cc
|
||||
@@ -23,7 +23,7 @@ const char kManagedTabDiscardingExceptions[] =
|
||||
"performance_tuning.tab_discarding.exceptions.managed";
|
||||
|
||||
void RegisterLocalStatePrefs(PrefRegistrySimple* registry) {
|
||||
- registry->RegisterBooleanPref(kHighEfficiencyModeEnabled, false);
|
||||
+ registry->RegisterBooleanPref(kHighEfficiencyModeEnabled, true);
|
||||
registry->RegisterIntegerPref(
|
||||
kBatterySaverModeState,
|
||||
static_cast<int>(BatterySaverModeState::kEnabledBelowThreshold));
|
||||
@@ -48,4 +48,4 @@ BatterySaverModeState GetCurrentBatterySaverModeState(
|
||||
return static_cast<BatterySaverModeState>(state);
|
||||
}
|
||||
|
||||
-} // namespace performance_manager::user_tuning::prefs
|
||||
\ No newline at end of file
|
||||
+} // namespace performance_manager::user_tuning::prefs
|
||||
--
|
||||
2.25.1
|
||||
@@ -0,0 +1,23 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Wed, 28 Dec 2022 15:46:38 +0000
|
||||
Subject: win enable pdf plugin
|
||||
|
||||
---
|
||||
third_party/blink/renderer/core/frame/local_frame.cc | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
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
|
||||
@@ -1929,7 +1929,9 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
|
||||
}
|
||||
|
||||
PluginData* LocalFrame::GetPluginData() const {
|
||||
+ if (!Loader().AllowPlugins())
|
||||
return nullptr;
|
||||
+ return GetPage()->GetPluginData();
|
||||
}
|
||||
|
||||
void LocalFrame::SetAdTrackerForTesting(AdTracker* ad_tracker) {
|
||||
--
|
||||
2.25.1
|
||||
@@ -84,7 +84,7 @@ 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
|
||||
@@ -2502,9 +2502,9 @@
|
||||
@@ -2501,9 +2501,9 @@
|
||||
"expiry_milestone": 115
|
||||
},
|
||||
{
|
||||
@@ -177,14 +177,14 @@ diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
|
||||
diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list.txt
|
||||
--- a/gpu/config/gpu_workaround_list.txt
|
||||
+++ b/gpu/config/gpu_workaround_list.txt
|
||||
@@ -16,6 +16,7 @@ depth_stencil_renderbuffer_resize_emulation
|
||||
@@ -15,6 +15,7 @@ decode_encode_srgb_for_generatemipmap
|
||||
depth_stencil_renderbuffer_resize_emulation
|
||||
disable_2d_canvas_auto_flush
|
||||
disable_accelerated_av1_decode
|
||||
disable_accelerated_av1_encode
|
||||
+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
|
||||
@@ -231,28 +231,28 @@ diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_
|
||||
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
||||
--- a/media/base/media_switches.cc
|
||||
+++ b/media/base/media_switches.cc
|
||||
@@ -854,6 +854,11 @@ BASE_FEATURE(kMediaDrmPreprovisioningAtStartup,
|
||||
"MediaDrmPreprovisioningAtStartup",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
@@ -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
|
||||
+// Enables the Android Image Reader path for Video decoding(for AVDA and MCVD)
|
||||
+BASE_FEATURE(kAImageReaderVideoOutput,
|
||||
+ "AImageReaderVideoOutput",
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+
|
||||
// Enable picture in picture web api for android.
|
||||
BASE_FEATURE(kPictureInPictureAPI,
|
||||
"PictureInPictureAPI",
|
||||
// in playback failures.
|
||||
BASE_FEATURE(kHardwareSecureDecryptionFallback,
|
||||
"HardwareSecureDecryptionFallback",
|
||||
diff --git a/media/base/media_switches.h b/media/base/media_switches.h
|
||||
--- a/media/base/media_switches.h
|
||||
+++ b/media/base/media_switches.h
|
||||
@@ -246,6 +246,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaControlsExpandGesture);
|
||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaDrmPersistentLicense);
|
||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaDrmPreprovisioning);
|
||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaDrmPreprovisioningAtStartup);
|
||||
@@ -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(kCanPlayHls);
|
||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kPictureInPictureAPI);
|
||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kHlsPlayer);
|
||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kVp9kSVCHWDecoding);
|
||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kWakeLockOptimisationHiddenMuted);
|
||||
MEDIA_EXPORT BASE_DECLARE_FEATURE(kWebContentsCaptureHiDpi);
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sun, 27 Jun 2021 16:53:48 +0200
|
||||
Subject: API level 21: prevent crash on download
|
||||
|
||||
On Lollipop 5.0.x it is not possible to use the system persistent bundle.
|
||||
This patch ignores boolean settings for them and prevents the crash.
|
||||
|
||||
See also: https://github.com/bromite/bromite/issues/1184
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../BundleToPersistableBundleConverter.java | 13 +++++++++++--
|
||||
1 file changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java
|
||||
--- a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java
|
||||
+++ b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
package org.chromium.components.background_task_scheduler.internal;
|
||||
|
||||
+import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.PersistableBundle;
|
||||
|
||||
@@ -82,9 +83,17 @@ class BundleToPersistableBundleConverter {
|
||||
if (obj == null) {
|
||||
persistableBundle.putString(key, null);
|
||||
} else if (obj instanceof Boolean) {
|
||||
- persistableBundle.putBoolean(key, (Boolean) obj);
|
||||
+ if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP) {
|
||||
+ failedKeys.add(key);
|
||||
+ } else {
|
||||
+ persistableBundle.putBoolean(key, (Boolean) obj);
|
||||
+ }
|
||||
} else if (obj instanceof boolean[]) {
|
||||
- persistableBundle.putBooleanArray(key, (boolean[]) obj);
|
||||
+ if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP) {
|
||||
+ failedKeys.add(key);
|
||||
+ } else {
|
||||
+ persistableBundle.putBooleanArray(key, (boolean[]) obj);
|
||||
+ }
|
||||
} else if (obj instanceof Double) {
|
||||
persistableBundle.putDouble(key, (Double) obj);
|
||||
} else if (obj instanceof double[]) {
|
||||
--
|
||||
2.25.1
|
||||
@@ -1,60 +0,0 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sun, 16 Dec 2018 15:24:19 +0100
|
||||
Subject: AV1 codec support
|
||||
|
||||
libaom build fixes (requires -fPIC)
|
||||
Report AV1 as playable on Android
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
third_party/libaom/BUILD.gn | 6 ++++--
|
||||
third_party/libaom/libaom_srcs.gni | 5 +++++
|
||||
2 files changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/third_party/libaom/BUILD.gn b/third_party/libaom/BUILD.gn
|
||||
--- a/third_party/libaom/BUILD.gn
|
||||
+++ b/third_party/libaom/BUILD.gn
|
||||
@@ -85,7 +85,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
|
||||
}
|
||||
|
||||
@@ -197,7 +197,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" ]
|
||||
|
||||
@@ -257,6 +257,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 (current_cpu == "arm64" || current_cpu == "arm") {
|
||||
# This is needed by all arm boards due to aom_arm_cpu_caps()
|
||||
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
|
||||
@@ -635,6 +635,11 @@ aom_rc_interface_sources = [
|
||||
"//third_party/libaom/source/libaom/test/yuv_video_source.h",
|
||||
]
|
||||
|
||||
+aom_ports_arm_sources = [
|
||||
+ "//third_party/libaom/source/libaom/aom_ports/arm_cpudetect.c",
|
||||
+ "//third_party/libaom/source/libaom/aom_ports/arm.h",
|
||||
+ ]
|
||||
+
|
||||
aom_rtcd_sources = [
|
||||
"//third_party/libaom/source/libaom/aom_dsp/aom_dsp_rtcd.c",
|
||||
"//third_party/libaom/source/libaom/aom_scale/aom_scale_rtcd.c",
|
||||
--
|
||||
2.25.1
|
||||
@@ -5,17 +5,17 @@ Subject: Add AllowUserCertificates flag
|
||||
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../src/org/chromium/chrome/browser/app/ChromeActivity.java | 3 +++
|
||||
.../chrome/browser/app/flags/ChromeCachedFlags.java | 1 +
|
||||
chrome/browser/about_flags.cc | 6 +++++-
|
||||
chrome/browser/flag_descriptions.cc | 5 +++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
chrome/browser/flags/android/chrome_feature_list.cc | 5 +++++
|
||||
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, 32 insertions(+), 1 deletion(-)
|
||||
.../src/org/chromium/chrome/browser/app/ChromeActivity.java | 3 +++
|
||||
.../chromium/chrome/browser/app/flags/ChromeCachedFlags.java | 1 +
|
||||
chrome/browser/about_flags.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.cc | 5 +++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
chrome/browser/flags/android/chrome_feature_list.cc | 5 +++++
|
||||
chrome/browser/flags/android/chrome_feature_list.h | 1 +
|
||||
.../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(+)
|
||||
|
||||
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
|
||||
@@ -51,19 +51,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/Chrom
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -3695,7 +3695,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kExtensionsOnChromeUrlsDescription, kOsAll,
|
||||
SINGLE_VALUE_TYPE(extensions::switches::kExtensionsOnChromeURLs)},
|
||||
#endif // ENABLE_EXTENSIONS
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
+#if BUILDFLAG(IS_ANDROID) // Bromite allow user certificates
|
||||
@@ -8830,6 +8830,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(features::kWin10TabSearchCaptionButton)},
|
||||
#endif // BUILDFLAG(IS_WIN)
|
||||
|
||||
+ {"allow-user-certificates",
|
||||
+ flag_descriptions::kAllowUserCertificatesName,
|
||||
+ flag_descriptions::kAllowUserCertificatesDescription, kOsAndroid,
|
||||
+ FEATURE_VALUE_TYPE(chrome::android::kAllowUserCertificates)},
|
||||
{"osk-resizes-visual-viewport-by-default",
|
||||
flag_descriptions::kEnableOskResizesVisualViewportByDefaultName,
|
||||
flag_descriptions::kEnableOskResizesVisualViewportByDefaultDescription,
|
||||
{"omnibox-updated-connection-security-indicators",
|
||||
flag_descriptions::kOmniboxUpdatedConnectionSecurityIndicatorsName,
|
||||
flag_descriptions::kOmniboxUpdatedConnectionSecurityIndicatorsDescription,
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -95,7 +93,7 @@ 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
|
||||
@@ -149,6 +149,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -148,6 +148,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&feed::kFeedNoViewCache,
|
||||
&feed::kFeedReplaceAll,
|
||||
&feed::kInterestFeedContentSuggestions,
|
||||
@@ -103,28 +101,28 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
&feed::kInterestFeedV1ClicksAndViewsConditionalUpload,
|
||||
&feed::kInterestFeedV2,
|
||||
&feed::kInterestFeedV2Autoplay,
|
||||
@@ -467,6 +468,10 @@ BASE_FEATURE(kAdaptiveButtonInTopToolbarCustomizationV2,
|
||||
"AdaptiveButtonInTopToolbarCustomizationV2",
|
||||
@@ -468,6 +469,10 @@ BASE_FEATURE(kAllowNewIncognitoTabIntents,
|
||||
"AllowNewIncognitoTabIntents",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
+BASE_FEATURE(kAllowUserCertificates,
|
||||
+ "AllowUserCertificates",
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+
|
||||
BASE_FEATURE(kAddToHomescreenIPH,
|
||||
"AddToHomescreenIPH",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
BASE_FEATURE(kFocusOmniboxInIncognitoTabIntents,
|
||||
"FocusOmniboxInIncognitoTabIntents",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.h
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
@@ -12,6 +12,7 @@
|
||||
namespace chrome {
|
||||
namespace android {
|
||||
|
||||
+extern const base::Feature kAllowUserCertificates;
|
||||
// Alphabetical:
|
||||
BASE_DECLARE_FEATURE(kAdaptiveButtonInTopToolbar);
|
||||
@@ -17,6 +17,7 @@ BASE_DECLARE_FEATURE(kAdaptiveButtonInTopToolbar);
|
||||
BASE_DECLARE_FEATURE(kAdaptiveButtonInTopToolbarCustomizationV2);
|
||||
BASE_DECLARE_FEATURE(kAddToHomescreenIPH);
|
||||
BASE_DECLARE_FEATURE(kAllowNewIncognitoTabIntents);
|
||||
+BASE_DECLARE_FEATURE(kAllowUserCertificates);
|
||||
BASE_DECLARE_FEATURE(kAndroidScrollOptimizations);
|
||||
BASE_DECLARE_FEATURE(kAndroidSearchEngineChoiceNotification);
|
||||
BASE_DECLARE_FEATURE(kAssistantConsentModal);
|
||||
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/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
|
||||
@@ -147,7 +145,7 @@ 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 =
|
||||
@@ -646,6 +647,8 @@ public abstract class ChromeFeatureList {
|
||||
@@ -648,6 +649,8 @@ public abstract class ChromeFeatureList {
|
||||
public static final String FEED_REPLACE_ALL = "FeedReplaceAll";
|
||||
|
||||
/* Alphabetical: */
|
||||
|
||||
@@ -16,7 +16,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
|
||||
@@ -9071,6 +9071,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -9070,6 +9070,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kRequestDesktopSiteExceptionsName,
|
||||
flag_descriptions::kRequestDesktopSiteExceptionsDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
|
||||
@@ -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
|
||||
@@ -957,6 +957,9 @@ extern const char kHideShelfControlsInTabletModeDescription[];
|
||||
@@ -960,6 +960,9 @@ extern const char kHideShelfControlsInTabletModeDescription[];
|
||||
extern const char kHttpsOnlyModeName[];
|
||||
extern const char kHttpsOnlyModeDescription[];
|
||||
|
||||
@@ -57,16 +57,16 @@ 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
|
||||
@@ -73,6 +73,10 @@ BASE_FEATURE(kEncryptedClientHello,
|
||||
"EncryptedClientHello",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
@@ -113,6 +113,10 @@ BASE_FEATURE(kPartitionNelAndReportingByNetworkIsolationKey,
|
||||
"PartitionNelAndReportingByNetworkIsolationKey", // must be enabled
|
||||
base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
+BASE_FEATURE(kIsCleartextPermitted,
|
||||
+ "IsCleartextPermitted",
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+
|
||||
BASE_FEATURE(kNetworkQualityEstimator,
|
||||
"NetworkQualityEstimator",
|
||||
BASE_FEATURE(kEnableDoubleKeyNetworkAnonymizationKey,
|
||||
"EnableDoubleKeyNetworkAnonymizationKey",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
diff --git a/net/base/features.h b/net/base/features.h
|
||||
--- a/net/base/features.h
|
||||
@@ -75,7 +75,7 @@ diff --git a/net/base/features.h b/net/base/features.h
|
||||
// origin requests are restricted to contain at most the source origin.
|
||||
NET_EXPORT BASE_DECLARE_FEATURE(kCapReferrerToOriginOnCrossOrigin);
|
||||
|
||||
+NET_EXPORT extern const base::Feature kIsCleartextPermitted;
|
||||
+NET_EXPORT BASE_DECLARE_FEATURE(kIsCleartextPermitted);
|
||||
+
|
||||
// Support for altering the parameters used for DNS transaction timeout. See
|
||||
// ResolveContext::SecureTransactionTimeout().
|
||||
|
||||
@@ -3,11 +3,15 @@ Date: Thu, 29 Mar 2018 00:43:32 +0200
|
||||
Subject: Add a proxy configuration page
|
||||
|
||||
Accessible from proxy settings and chrome://proxy
|
||||
Allows to use a PAC script URL, automatic configuration and explicit proxy
|
||||
settings.
|
||||
Allows to use a PAC script URL, automatic configuration and explicit proxy settings.
|
||||
Offer auto-complete for the proxy page URL.
|
||||
Store proxy settings in LocalState instead of Profile, so that proxy is used
|
||||
for SimpleURLLoaders as well.
|
||||
Store proxy settings in LocalState instead of Profile, so that proxy is used for SimpleURLLoaders as well;
|
||||
this implementation is the same as the one in ChromeOS which gets proxy information from the LocalState
|
||||
for the system network context; this is strictly not correct on Android because the network context is
|
||||
never connected to any user profile and only gets proxy information from the system.
|
||||
Existing settings on Profile are migrated to LocalState on startup.
|
||||
|
||||
Credits to @uazo for the LocalState integration.
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
@@ -72,7 +76,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/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
|
||||
@@ -54,6 +54,7 @@ public class PrivacySettings
|
||||
@@ -59,6 +59,7 @@ public class PrivacySettings
|
||||
private static final String PREF_DO_NOT_TRACK = "do_not_track";
|
||||
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
|
||||
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
|
||||
@@ -637,7 +641,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
--- a/chrome/browser/ui/BUILD.gn
|
||||
+++ b/chrome/browser/ui/BUILD.gn
|
||||
@@ -287,6 +287,8 @@ static_library("ui") {
|
||||
@@ -285,6 +285,8 @@ static_library("ui") {
|
||||
"webui/metrics_internals/metrics_internals_ui.h",
|
||||
"webui/net_export_ui.cc",
|
||||
"webui/net_export_ui.h",
|
||||
@@ -649,7 +653,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
|
||||
@@ -61,6 +61,7 @@
|
||||
@@ -60,6 +60,7 @@
|
||||
#include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h"
|
||||
#include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
|
||||
#include "chrome/browser/ui/webui/policy/policy_ui.h"
|
||||
@@ -657,7 +661,7 @@ 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"
|
||||
@@ -798,6 +799,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
@@ -795,6 +796,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
|
||||
return &NewWebUI<MetricsInternalsUI>;
|
||||
if (url.host_piece() == chrome::kChromeUINetExportHost)
|
||||
return &NewWebUI<NetExportUI>;
|
||||
@@ -1288,7 +1292,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.h b/components/prox
|
||||
static base::Value::Dict CreateFixedServers(const std::string& proxy_server,
|
||||
- const std::string& bypass_list);
|
||||
+ const std::string& bypass_list,
|
||||
+ bool reverse_bypass);
|
||||
+ bool reverse_bypass);
|
||||
static base::Value::Dict CreateSystem();
|
||||
|
||||
// Encodes the proxy server as "<url-scheme>=<proxy-scheme>://<proxy>".
|
||||
@@ -1298,7 +1302,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.h b/components/prox
|
||||
const std::string& proxy_server,
|
||||
- const std::string& bypass_list);
|
||||
+ const std::string& bypass_list,
|
||||
+ bool reverse_bypass);
|
||||
+ bool reverse_bypass);
|
||||
|
||||
base::Value::Dict dict_;
|
||||
};
|
||||
|
||||
@@ -35,7 +35,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../browser/history/HistoryManager.java | 18 +-
|
||||
.../chrome/browser/history/HistoryPage.java | 16 ++
|
||||
.../native_page/NativePageFactory.java | 4 +-
|
||||
.../chrome/browser/ntp/RecentTabsManager.java | 27 ++-
|
||||
.../chrome/browser/ntp/RecentTabsManager.java | 28 ++-
|
||||
.../privacy/settings/IncognitoSettings.java | 160 ++++++++++++++++++
|
||||
.../browser/settings/SettingsActivity.java | 4 +
|
||||
.../HistoricalTabModelObserver.java | 6 +-
|
||||
@@ -59,7 +59,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
chrome/browser/history/history_tab_helper.h | 10 +-
|
||||
.../android/offline_page_bridge.cc | 11 +-
|
||||
.../android/offline_page_model_factory.cc | 20 ++-
|
||||
.../android/request_coordinator_factory.cc | 26 ++-
|
||||
.../android/request_coordinator_factory.cc | 27 ++-
|
||||
.../offline_page_model_factory.h | 1 +
|
||||
.../offline_pages/recent_tab_helper.cc | 19 ++-
|
||||
.../browser/offline_pages/recent_tab_helper.h | 3 +
|
||||
@@ -68,7 +68,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../browser/ui/android/native_page/BUILD.gn | 2 +
|
||||
.../browser/ui/native_page/NativePage.java | 12 +-
|
||||
.../strings/android_chrome_strings.grd | 31 ++++
|
||||
.../browser/toolbar/LocationBarModel.java | 11 +-
|
||||
.../browser/toolbar/LocationBarModel.java | 7 +-
|
||||
chrome/browser/ui/messages/android/BUILD.gn | 1 +
|
||||
.../snackbar/INeedSnackbarManager.java | 27 +++
|
||||
chrome/common/pref_names.cc | 6 +
|
||||
@@ -84,7 +84,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../omnibox/browser/base_search_provider.cc | 2 +-
|
||||
components/omnibox/browser/search_provider.cc | 4 +-
|
||||
.../host_content_settings_map_factory.cc | 1 +
|
||||
65 files changed, 721 insertions(+), 77 deletions(-)
|
||||
65 files changed, 719 insertions(+), 77 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java
|
||||
@@ -93,7 +93,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
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
|
||||
@@ -661,6 +661,7 @@ chrome_java_resources = [
|
||||
@@ -652,6 +652,7 @@ chrome_java_resources = [
|
||||
"java/res/xml/main_preferences.xml",
|
||||
"java/res/xml/manage_sync_preferences.xml",
|
||||
"java/res/xml/phone_as_a_security_key_accessory_filter.xml",
|
||||
@@ -112,7 +112,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
|
||||
"java/src/com/google/android/apps/chrome/appwidget/bookmarks/BookmarkThumbnailWidgetProvider.java",
|
||||
"java/src/org/chromium/chrome/browser/ActivityTabProvider.java",
|
||||
"java/src/org/chromium/chrome/browser/ActivityUtils.java",
|
||||
@@ -964,6 +965,7 @@ chrome_java_sources = [
|
||||
@@ -914,6 +915,7 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/privacy/settings/IncognitoLockSettings.java",
|
||||
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java",
|
||||
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java",
|
||||
@@ -228,7 +228,7 @@ new file mode 100644
|
||||
+ public static void migrateSettingToNative() {
|
||||
+ if (isAlwaysIncognito()) {
|
||||
+ PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
|
||||
+ if(!prefService.getBoolean(Pref.ALWAYS_INCOGNITO_ENABLED)) {
|
||||
+ if (!prefService.getBoolean(Pref.ALWAYS_INCOGNITO_ENABLED)) {
|
||||
+ Log.i(TAG, "Pref migration from java to native");
|
||||
+ prefService.setBoolean(Pref.ALWAYS_INCOGNITO_ENABLED, true);
|
||||
+ }
|
||||
@@ -272,15 +272,15 @@ 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
|
||||
@@ -98,6 +98,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial;
|
||||
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
|
||||
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager.ContextualSearchTabPromotionDelegate;
|
||||
@@ -93,6 +93,7 @@ import org.chromium.chrome.browser.compositor.layouts.content.ContentOffsetProvi
|
||||
import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
|
||||
import org.chromium.chrome.browser.compositor.layouts.content.TabContentManagerHandler;
|
||||
import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
|
||||
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
|
||||
import org.chromium.chrome.browser.dependency_injection.ChromeActivityComponent;
|
||||
import org.chromium.chrome.browser.dependency_injection.ModuleFactoryOverrides;
|
||||
import org.chromium.chrome.browser.device.DeviceClassManager;
|
||||
@@ -1830,6 +1831,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -1808,6 +1809,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
throw new IllegalStateException(
|
||||
"Attempting to access TabCreator before initialization");
|
||||
}
|
||||
@@ -301,7 +301,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
||||
import org.chromium.chrome.browser.banners.AppMenuVerbiage;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkFeatures;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
|
||||
@@ -101,6 +102,10 @@ import java.util.ArrayList;
|
||||
@@ -99,6 +100,10 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -312,7 +312,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
||||
/**
|
||||
* Base implementation of {@link AppMenuPropertiesDelegate} that handles hiding and showing menu
|
||||
* items based on activity state.
|
||||
@@ -562,6 +567,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
@@ -560,6 +565,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
}
|
||||
|
||||
private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) {
|
||||
@@ -326,7 +326,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
||||
// We have to iterate all menu items since same menu item ID may be associated with more
|
||||
// than one menu items.
|
||||
boolean isOverviewModeMenu = menuGroup == MenuGroup.OVERVIEW_MODE_MENU;
|
||||
@@ -640,7 +652,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
@@ -636,7 +648,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
}
|
||||
|
||||
if (item.getItemId() == R.id.recent_tabs_menu_id) {
|
||||
@@ -343,7 +343,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
||||
}
|
||||
if (item.getItemId() == R.id.menu_group_tabs) {
|
||||
item.setVisible(isMenuGroupTabsVisible);
|
||||
@@ -880,7 +900,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
@@ -876,7 +896,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
// is not persisted when adding to the homescreen.
|
||||
// * If creating shortcuts it not supported by the current home screen.
|
||||
return WebappsUtils.isAddToHomeIntentSupported() && !isChromeScheme && !isFileScheme
|
||||
@@ -616,8 +616,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
|
||||
@@ -24,6 +24,15 @@ import org.chromium.components.signin.identitymanager.ConsentLevel;
|
||||
import org.chromium.components.signin.metrics.SigninAccessPoint;
|
||||
@@ -21,6 +21,15 @@ import org.chromium.chrome.browser.ui.favicon.FaviconHelper;
|
||||
import org.chromium.chrome.browser.ui.favicon.FaviconHelper.FaviconImageCallback;
|
||||
import org.chromium.url.GURL;
|
||||
|
||||
+import android.content.Intent;
|
||||
@@ -632,7 +632,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -81,7 +90,8 @@ public class RecentTabsManager implements AccountsChangeObserver {
|
||||
@@ -78,7 +87,8 @@ public class RecentTabsManager {
|
||||
*/
|
||||
public RecentTabsManager(Tab tab, TabModelSelector tabModelSelector, Profile profile,
|
||||
Context context, Runnable showHistoryManager) {
|
||||
@@ -642,7 +642,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
|
||||
mActiveTab = tab;
|
||||
mTabModelSelector = tabModelSelector;
|
||||
mShowHistoryManager = showHistoryManager;
|
||||
@@ -213,6 +223,21 @@ public class RecentTabsManager implements AccountsChangeObserver {
|
||||
@@ -210,6 +220,22 @@ public class RecentTabsManager {
|
||||
*/
|
||||
public void openRecentlyClosedTab(RecentlyClosedTab tab, int windowDisposition) {
|
||||
if (mIsDestroyed) return;
|
||||
@@ -654,8 +654,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
|
||||
+ Intent intent = new Intent(Intent.ACTION_VIEW,
|
||||
+ Uri.parse(tab.getUrl().getSpec()));
|
||||
+ intent.putExtra(Browser.EXTRA_APPLICATION_ID, context.getPackageName());
|
||||
+ if (windowDisposition != WindowOpenDisposition.CURRENT_TAB)
|
||||
+ intent.putExtra(Browser.EXTRA_CREATE_NEW_TAB, true);
|
||||
+ if (windowDisposition != WindowOpenDisposition.CURRENT_TAB) {
|
||||
+ intent.putExtra(IntentHandler.EXTRA_OPEN_NEW_INCOGNITO_TAB, true);
|
||||
+ }
|
||||
+ intent.setPackage(context.getPackageName());
|
||||
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
+ IntentHandler.startActivityForTrustedIntent(intent);
|
||||
@@ -840,7 +841,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
|
||||
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable;
|
||||
import org.chromium.components.browser_ui.accessibility.AccessibilitySettings;
|
||||
@@ -253,6 +254,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
@@ -254,6 +255,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
if (fragment instanceof AdPersonalizationRemovedFragment) {
|
||||
((AdPersonalizationRemovedFragment) fragment).setSnackbarManager(getSnackbarManager());
|
||||
}
|
||||
@@ -962,7 +963,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
|
||||
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
|
||||
@@ -126,6 +126,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFacto
|
||||
@@ -122,6 +122,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFacto
|
||||
import org.chromium.content_public.browser.WebContents;
|
||||
import org.chromium.ui.base.ActivityWindowAndroid;
|
||||
import org.chromium.ui.base.DeviceFormFactor;
|
||||
@@ -971,7 +972,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
import org.chromium.ui.base.IntentRequestTracker;
|
||||
import org.chromium.ui.modaldialog.ModalDialogManager;
|
||||
|
||||
@@ -492,7 +494,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -482,7 +484,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
mAppMenuCoordinator == null ? null : mAppMenuCoordinator.getAppMenuHandler();
|
||||
mEmptyBackgroundViewWrapper =
|
||||
new EmptyBackgroundViewWrapper(mTabModelSelectorSupplier.get(),
|
||||
@@ -1059,7 +1060,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
|
||||
import org.chromium.chrome.browser.IntentHandler;
|
||||
import org.chromium.chrome.browser.app.tab_activity_glue.TabReparentingController;
|
||||
import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
|
||||
@@ -526,7 +527,8 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
|
||||
@@ -523,7 +524,8 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
|
||||
return ret;
|
||||
}
|
||||
},
|
||||
@@ -1117,7 +1118,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
|
||||
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
|
||||
@@ -4886,6 +4886,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -4837,6 +4837,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kOfflinePagesLivePageSharingName,
|
||||
flag_descriptions::kOfflinePagesLivePageSharingDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(offline_pages::kOfflinePagesLivePageSharingFeature)},
|
||||
@@ -1294,15 +1295,14 @@ 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
|
||||
@@ -570,9 +570,9 @@ BASE_FEATURE(kCCTNewDownloadTab,
|
||||
|
||||
@@ -561,8 +561,8 @@ BASE_FEATURE(kCCTNewDownloadTab,
|
||||
BASE_FEATURE(kCCTIncognito, "CCTIncognito", base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
-BASE_FEATURE(kCCTIncognitoAvailableToThirdParty,
|
||||
+BASE_FEATURE(kCCTIncognitoAvailableToThirdParty, // Enabled by default in Bromite
|
||||
"CCTIncognitoAvailableToThirdParty",
|
||||
BASE_FEATURE(kCCTIncognitoAvailableToThirdParty,
|
||||
- "CCTIncognitoAvailableToThirdParty",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ "CCTIncognitoAvailableToThirdParty", // must be enabled
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
BASE_FEATURE(kCCTPackageNameRecording,
|
||||
"CCTPackageNameRecording",
|
||||
@@ -1325,7 +1325,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
|
||||
Profile::FromBrowserContext(web_contents()->GetBrowserContext());
|
||||
+
|
||||
+#if BUILDFLAG(IS_ANDROID)
|
||||
+ if(profile->GetOriginalProfile()->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled)) {
|
||||
+ if (profile->GetOriginalProfile()->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled)) {
|
||||
+ return HistoryServiceFactory::GetForProfile(profile, ServiceAccessType::IMPLICIT_ACCESS);
|
||||
+ }
|
||||
+#endif
|
||||
@@ -1402,7 +1402,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_bridge.cc b/chrom
|
||||
+ bool is_trusted = true;
|
||||
+ // in always incognito, never trust input file (show file name in url)
|
||||
+ ProfileKey* profile_key = ProfileKey::FromSimpleFactoryKey(key_);
|
||||
+ if(profile_key->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled))
|
||||
+ if (profile_key->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled))
|
||||
+ is_trusted = false;
|
||||
+
|
||||
ValidateFileCallback(launch_location, j_callback_obj,
|
||||
@@ -1458,11 +1458,11 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
|
||||
+SimpleFactoryKey* OfflinePageModelFactory::GetKeyToUse(
|
||||
+ SimpleFactoryKey* key) const {
|
||||
+ ProfileKey* profile_key = ProfileKey::FromSimpleFactoryKey(key);
|
||||
+ if(profile_key->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled) == false) {
|
||||
+ if (profile_key->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled) == false) {
|
||||
+ return SimpleKeyedServiceFactory::GetKeyToUse(key);
|
||||
+ } else {
|
||||
+ return profile_key->GetOriginalKey();
|
||||
+ }
|
||||
+
|
||||
+ return profile_key->GetOriginalKey();
|
||||
+}
|
||||
+
|
||||
} // namespace offline_pages
|
||||
@@ -1499,31 +1499,32 @@ diff --git a/chrome/browser/offline_pages/android/request_coordinator_factory.cc
|
||||
// Depends on OfflinePageModelFactory in SimpleDependencyManager.
|
||||
}
|
||||
|
||||
@@ -79,6 +86,11 @@ RequestCoordinator* RequestCoordinatorFactory::GetForBrowserContext(
|
||||
@@ -79,6 +86,12 @@ RequestCoordinator* RequestCoordinatorFactory::GetForBrowserContext(
|
||||
|
||||
KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor(
|
||||
content::BrowserContext* context) const {
|
||||
+ if(context->IsOffTheRecord() &&
|
||||
+ if (context->IsOffTheRecord() &&
|
||||
+ Profile::FromBrowserContext(context)->GetOriginalProfile()
|
||||
+ ->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled) == false) {
|
||||
+ // do not track history in incognito mode if preference is disabled
|
||||
+ return nullptr;
|
||||
+ }
|
||||
std::unique_ptr<OfflinerPolicy> policy(new OfflinerPolicy());
|
||||
std::unique_ptr<Offliner> offliner;
|
||||
OfflinePageModel* model =
|
||||
@@ -111,4 +123,16 @@ KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor(
|
||||
@@ -111,4 +124,16 @@ KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor(
|
||||
return request_coordinator;
|
||||
}
|
||||
|
||||
+content::BrowserContext*
|
||||
+RequestCoordinatorFactory::GetBrowserContextToUse(
|
||||
+ content::BrowserContext* context) const {
|
||||
+ if(Profile::FromBrowserContext(context)->GetOriginalProfile()
|
||||
+ if (Profile::FromBrowserContext(context)->GetOriginalProfile()
|
||||
+ ->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled) == false) {
|
||||
+ return BrowserContextKeyedServiceFactory::GetBrowserContextToUse(context);
|
||||
+ } else {
|
||||
+ return chrome::GetBrowserContextRedirectedInIncognito(context);
|
||||
+ }
|
||||
+
|
||||
+ return chrome::GetBrowserContextRedirectedInIncognito(context);
|
||||
+}
|
||||
+
|
||||
+
|
||||
@@ -1558,8 +1559,8 @@ diff --git a/chrome/browser/offline_pages/recent_tab_helper.cc b/chrome/browser/
|
||||
// WebContents with its origin as well.
|
||||
snapshots_enabled_ = !tab_id_.empty() &&
|
||||
!web_contents()->GetBrowserContext()->IsOffTheRecord();
|
||||
+ if(!tab_id_.empty() && web_contents()->GetBrowserContext()->IsOffTheRecord()) {
|
||||
+ if(Profile::FromBrowserContext(web_contents()->GetBrowserContext())
|
||||
+ if (!tab_id_.empty() && web_contents()->GetBrowserContext()->IsOffTheRecord()) {
|
||||
+ if (Profile::FromBrowserContext(web_contents()->GetBrowserContext())
|
||||
+ ->GetOriginalProfile()
|
||||
+ ->GetPrefs()->GetBoolean(prefs::kIncognitoTabHistoryEnabled) == true) {
|
||||
+ snapshots_enabled_ = true;
|
||||
@@ -1701,7 +1702,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
|
||||
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
|
||||
@@ -1177,6 +1177,37 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1151,6 +1151,37 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_CLEAR_BROWSING_HISTORY_SUMMARY_SYNCED_NO_LINK" desc="A text for the basic tab explaining browsing history for users with history sync. This version is shown when the link to MyActivity is displayed separately.">
|
||||
Clears history from all synced devices.
|
||||
</message>
|
||||
@@ -1768,26 +1769,15 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -430,6 +433,10 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
|
||||
if (mOptimizationsEnabled) {
|
||||
autocompleteSchemeClassifier = mChromeAutocompleteSchemeClassifier;
|
||||
cachedSpannableDisplayText = mSpannableDisplayTextCache.get(cacheKey);
|
||||
+ if (mIsAlwaysIncognito) {
|
||||
+ // the profile may be destroyed and no longer be valid
|
||||
+ autocompleteSchemeClassifier = new ChromeAutocompleteSchemeClassifier(getProfile());
|
||||
+ }
|
||||
} else {
|
||||
autocompleteSchemeClassifier = new ChromeAutocompleteSchemeClassifier(getProfile());
|
||||
}
|
||||
@@ -447,7 +454,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
- if (!mOptimizationsEnabled) {
|
||||
+ if (!mOptimizationsEnabled || mIsAlwaysIncognito) {
|
||||
autocompleteSchemeClassifier.destroy();
|
||||
}
|
||||
}
|
||||
@@ -207,7 +210,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
|
||||
*/
|
||||
public void initializeWithNative() {
|
||||
mOptimizationsEnabled =
|
||||
- ChromeFeatureList.isEnabled(ChromeFeatureList.ANDROID_SCROLL_OPTIMIZATIONS);
|
||||
+ ChromeFeatureList.isEnabled(ChromeFeatureList.ANDROID_SCROLL_OPTIMIZATIONS) && !mIsAlwaysIncognito;
|
||||
mLastUsedNonOTRProfile = Profile.getLastUsedRegularProfile();
|
||||
mNativeLocationBarModelAndroid = LocationBarModelJni.get().init(LocationBarModel.this);
|
||||
|
||||
diff --git a/chrome/browser/ui/messages/android/BUILD.gn b/chrome/browser/ui/messages/android/BUILD.gn
|
||||
--- a/chrome/browser/ui/messages/android/BUILD.gn
|
||||
+++ b/chrome/browser/ui/messages/android/BUILD.gn
|
||||
@@ -1873,7 +1863,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||
diff --git a/components/content_settings/core/browser/content_settings_pref_provider.cc b/components/content_settings/core/browser/content_settings_pref_provider.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_pref_provider.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_pref_provider.cc
|
||||
@@ -120,10 +120,12 @@ void PrefProvider::RegisterProfilePrefs(
|
||||
@@ -122,10 +122,12 @@ void PrefProvider::RegisterProfilePrefs(
|
||||
|
||||
PrefProvider::PrefProvider(PrefService* prefs,
|
||||
bool off_the_record,
|
||||
@@ -1886,7 +1876,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
|
||||
store_last_modified_(store_last_modified),
|
||||
clock_(base::DefaultClock::GetInstance()) {
|
||||
TRACE_EVENT_BEGIN("startup", "PrefProvider::PrefProvider");
|
||||
@@ -157,7 +159,9 @@ PrefProvider::PrefProvider(PrefService* prefs,
|
||||
@@ -159,7 +161,9 @@ PrefProvider::PrefProvider(PrefService* prefs,
|
||||
content_settings_prefs_.insert(std::make_pair(
|
||||
info->type(), std::make_unique<ContentSettingsPref>(
|
||||
info->type(), prefs_, &pref_change_registrar_,
|
||||
@@ -1908,7 +1898,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
|
||||
bool store_last_modified,
|
||||
bool restore_session);
|
||||
|
||||
@@ -85,6 +86,7 @@ class PrefProvider : public UserModifiableProvider {
|
||||
@@ -88,6 +89,7 @@ class PrefProvider : public UserModifiableProvider {
|
||||
raw_ptr<PrefService> prefs_;
|
||||
|
||||
const bool off_the_record_;
|
||||
@@ -1955,7 +1945,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
|
||||
bool store_last_modified,
|
||||
bool restore_session);
|
||||
|
||||
@@ -439,6 +440,8 @@ class HostContentSettingsMap : public content_settings::Observer,
|
||||
@@ -442,6 +443,8 @@ class HostContentSettingsMap : public content_settings::Observer,
|
||||
// Whether this settings map is for an incognito or guest session.
|
||||
bool is_off_the_record_;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -45,6 +58,32 @@ import java.util.HashMap;
|
||||
@@ -42,6 +55,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.
|
||||
@@ -526,6 +565,209 @@ class BookmarkBridge {
|
||||
@@ -442,6 +481,209 @@ class BookmarkBridge {
|
||||
mNativeBookmarkBridge, BookmarkBridge.this, id.getId(), id.getType());
|
||||
}
|
||||
|
||||
@@ -492,7 +492,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
/**
|
||||
* Synchronously gets a list of bookmarks that match the specified search query.
|
||||
* @param query Keyword used for searching bookmarks.
|
||||
@@ -1074,6 +1316,39 @@ class BookmarkBridge {
|
||||
@@ -990,6 +1232,39 @@ class BookmarkBridge {
|
||||
depthList.add(depth);
|
||||
}
|
||||
|
||||
@@ -532,7 +532,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
private static List<Pair<Integer, Integer>> createPairsList(int[] left, int[] right) {
|
||||
List<Pair<Integer, Integer>> pairList = new ArrayList<Pair<Integer, Integer>>();
|
||||
for (int i = 0; i < left.length; i++) {
|
||||
@@ -1145,6 +1420,9 @@ class BookmarkBridge {
|
||||
@@ -1061,6 +1336,9 @@ class BookmarkBridge {
|
||||
int getChildCount(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type);
|
||||
void getChildIDs(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type,
|
||||
List<BookmarkId> bookmarksList);
|
||||
@@ -565,7 +565,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
|
||||
@@ -37,6 +37,8 @@ import org.chromium.components.browser_ui.util.ConversionUtils;
|
||||
@@ -36,6 +36,8 @@ import org.chromium.components.browser_ui.util.ConversionUtils;
|
||||
import org.chromium.components.browser_ui.widget.dragreorder.DragStateDelegate;
|
||||
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListLayout;
|
||||
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar.SearchDelegate;
|
||||
@@ -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;
|
||||
@@ -60,6 +62,8 @@ public class BookmarkManager
|
||||
@@ -59,6 +61,8 @@ public class BookmarkManager
|
||||
private ComponentName mOpenBookmarkComponentName;
|
||||
private ViewGroup mMainView;
|
||||
private BookmarkModel mBookmarkModel;
|
||||
@@ -583,7 +583,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
private BookmarkUndoController mUndoController;
|
||||
private final ObserverList<BookmarkUIObserver> mUIObservers = new ObserverList<>();
|
||||
private BasicNativePage mNativePage;
|
||||
@@ -356,6 +360,14 @@ public class BookmarkManager
|
||||
@@ -344,6 +348,14 @@ public class BookmarkManager
|
||||
mNativePage = nativePage;
|
||||
}
|
||||
|
||||
@@ -598,7 +598,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
/**
|
||||
* @return Current URL representing the UI state of bookmark manager. If no state has been shown
|
||||
* yet in this session, on phone return last used state stored in preference; on tablet
|
||||
@@ -552,6 +564,16 @@ public class BookmarkManager
|
||||
@@ -540,6 +552,16 @@ public class BookmarkManager
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
@@ -2919,6 +2926,8 @@ static_library("browser") {
|
||||
@@ -2904,6 +2911,8 @@ static_library("browser") {
|
||||
"autofill/manual_filling_controller.h",
|
||||
"autofill/manual_filling_controller_impl.cc",
|
||||
"autofill/manual_filling_controller_impl.h",
|
||||
@@ -727,7 +727,7 @@ 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",
|
||||
@@ -3602,8 +3611,6 @@ static_library("browser") {
|
||||
@@ -3583,8 +3592,6 @@ static_library("browser") {
|
||||
"badging/badge_manager_factory.h",
|
||||
"banners/app_banner_manager_desktop.cc",
|
||||
"banners/app_banner_manager_desktop.h",
|
||||
@@ -739,7 +739,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -9088,6 +9088,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -9039,6 +9039,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
|
||||
#endif
|
||||
|
||||
@@ -1279,7 +1279,7 @@ 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
|
||||
@@ -182,6 +182,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -181,6 +181,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kCastDeviceFilter,
|
||||
&kClearOmniboxFocusAfterNavigation,
|
||||
&kCloseTabSuggestions,
|
||||
@@ -1287,7 +1287,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
&kCriticalPersistedTabData,
|
||||
&kCommerceCoupons,
|
||||
&kCCTBackgroundTab,
|
||||
@@ -1156,6 +1157,11 @@ BASE_FEATURE(kWebApkTrampolineOnInitialIntent,
|
||||
@@ -1114,6 +1115,11 @@ BASE_FEATURE(kWebApkTrampolineOnInitialIntent,
|
||||
"WebApkTrampolineOnInitialIntent",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
@@ -1302,14 +1302,14 @@ 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
|
||||
@@ -171,6 +171,7 @@ BASE_DECLARE_FEATURE(kTabSwitcherOnReturn);
|
||||
@@ -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(kBookmarksExportUseSaf);
|
||||
BASE_DECLARE_FEATURE(kToolbarMicIphAndroid);
|
||||
BASE_DECLARE_FEATURE(kToolbarPhoneOptimizations);
|
||||
BASE_DECLARE_FEATURE(kToolbarScrollAblationAndroid);
|
||||
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
|
||||
|
||||
@@ -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
|
||||
@@ -4791,6 +4791,21 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -4788,6 +4788,21 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<message name="IDS_NEAR_OOM_REDUCTION_DECLINE" desc="The text of the button letting the user decline the browser's intervention, so that the page can be reloaded.">
|
||||
Show original
|
||||
</message>
|
||||
|
||||
@@ -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;
|
||||
@@ -2342,6 +2343,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -2292,6 +2293,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
|
||||
@@ -3496,6 +3496,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -3470,6 +3470,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<message name="IDS_MENU_AUTO_DARK_WEB_CONTENTS" desc="Menu item in Chrome's overflow/options menu. When Chrome's browser UI is set to dark theme and this option is checked, sites will have a dark theme automatically applied as well. [CHAR_LIMIT=24]">
|
||||
Dark theme
|
||||
</message>
|
||||
|
||||
@@ -40,7 +40,7 @@ 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[] = {
|
||||
@@ -4376,7 +4392,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -4371,7 +4387,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
kOsMac | kOsLinux | kOsWin,
|
||||
FEATURE_VALUE_TYPE(features::kSystemNotifications)},
|
||||
#endif // BUILDFLAG(ENABLE_SYSTEM_NOTIFICATIONS) && !BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
@@ -8,14 +8,14 @@ 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 +++
|
||||
.../browser/loader/browser_initiated_resource_request.cc | 8 ++++++++
|
||||
services/network/public/cpp/features.cc | 4 ++++
|
||||
services/network/public/cpp/features.h | 2 ++
|
||||
6 files changed, 25 insertions(+), 1 deletion(-)
|
||||
services/network/public/cpp/features.cc | 5 +++++
|
||||
services/network/public/cpp/features.h | 2 +-
|
||||
6 files changed, 25 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -4986,7 +4986,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -4981,7 +4981,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"force-text-direction", flag_descriptions::kForceTextDirectionName,
|
||||
flag_descriptions::kForceTextDirectionDescription, kOsAll,
|
||||
MULTI_VALUE_TYPE(kForceTextDirectionChoices)},
|
||||
@@ -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
|
||||
@@ -659,6 +659,9 @@ extern const char kDeprecateAltClickDescription[];
|
||||
@@ -662,6 +662,9 @@ extern const char kDeprecateAltClickDescription[];
|
||||
extern const char kDeprecateAltBasedSixPackName[];
|
||||
extern const char kDeprecateAltBasedSixPackDescription[];
|
||||
|
||||
@@ -84,10 +84,11 @@ 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,10 @@ BASE_FEATURE(kExpectCTReporting,
|
||||
@@ -20,6 +20,11 @@ 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);
|
||||
@@ -98,12 +99,12 @@ 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
|
||||
@@ -52,6 +52,8 @@ extern const base::Feature kIPv6Probing;
|
||||
@@ -50,7 +50,7 @@ extern const base::FeatureParam<TrustTokenOriginTrialSpec>
|
||||
kTrustTokenOperationsRequiringOriginTrial;
|
||||
COMPONENT_EXPORT(NETWORK_CPP)
|
||||
extern const base::FeatureParam<bool> kPlatformProvidedTrustTokenIssuance;
|
||||
|
||||
-
|
||||
+COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kEnableSaveDataHeader);
|
||||
+
|
||||
COMPONENT_EXPORT(NETWORK_CPP)
|
||||
BASE_DECLARE_FEATURE(kWebSocketReassembleShortMessages);
|
||||
|
||||
|
||||
@@ -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,
|
||||
@@ -4933,6 +4938,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -4884,6 +4889,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kAndroidPictureInPictureAPIName,
|
||||
flag_descriptions::kAndroidPictureInPictureAPIDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(media::kPictureInPictureAPI)},
|
||||
|
||||
@@ -9,23 +9,23 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
chrome/browser/about_flags.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.cc | 5 +++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
media/base/media_switches.cc | 4 ----
|
||||
4 files changed, 12 insertions(+), 4 deletions(-)
|
||||
media/base/media_switches.cc | 8 ++------
|
||||
4 files changed, 14 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -3648,6 +3648,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kWebRtcRemoteEventLogName,
|
||||
flag_descriptions::kWebRtcRemoteEventLogDescription, kOsDesktop,
|
||||
FEATURE_VALUE_TYPE(features::kWebRtcRemoteEventLog)},
|
||||
@@ -3661,6 +3661,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
SINGLE_VALUE_TYPE(extensions::switches::kExtensionsOnChromeURLs)},
|
||||
#endif // ENABLE_EXTENSIONS
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
+ {"resume-background-video",
|
||||
+ flag_descriptions::kResumeBackgroundVideoName,
|
||||
+ flag_descriptions::kResumeBackgroundVideoDescription, kOsAll,
|
||||
+ FEATURE_VALUE_TYPE(media::kResumeBackgroundVideo)},
|
||||
#endif
|
||||
{"enable-webrtc-srtp-aes-gcm", flag_descriptions::kWebrtcSrtpAesGcmName,
|
||||
flag_descriptions::kWebrtcSrtpAesGcmDescription, kOsAll,
|
||||
{"osk-resizes-visual-viewport-by-default",
|
||||
flag_descriptions::kEnableOskResizesVisualViewportByDefaultName,
|
||||
flag_descriptions::kEnableOskResizesVisualViewportByDefaultDescription,
|
||||
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
|
||||
--- a/chrome/browser/flag_descriptions.cc
|
||||
+++ b/chrome/browser/flag_descriptions.cc
|
||||
@@ -57,15 +57,18 @@ 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
|
||||
@@ -303,11 +303,7 @@ BASE_FEATURE(kPreloadMetadataLazyLoad,
|
||||
@@ -302,12 +302,8 @@ BASE_FEATURE(kPreloadMetadataLazyLoad,
|
||||
// Let videos be resumed via remote controls (for example, the notification)
|
||||
// when in background.
|
||||
BASE_FEATURE(kResumeBackgroundVideo,
|
||||
"resume-background-video",
|
||||
- "resume-background-video",
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT
|
||||
-#else
|
||||
base::FEATURE_DISABLED_BY_DEFAULT
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT
|
||||
-#endif
|
||||
+ "resume-background-video", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
|
||||
);
|
||||
|
||||
// When enabled, MediaCapabilities will check with GPU Video Accelerator
|
||||
|
||||
@@ -10,14 +10,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
components/subresource_filter/tools/BUILD.gn | 6 ++++++
|
||||
.../url_formatter/spoof_checks/top_domains/BUILD.gn | 3 ++-
|
||||
net/dns/host_resolver_manager.cc | 9 ++++++++-
|
||||
services/network/public/cpp/features.cc | 4 ++++
|
||||
services/network/public/cpp/features.h | 2 ++
|
||||
services/network/public/cpp/features.cc | 5 +++++
|
||||
services/network/public/cpp/features.h | 1 +
|
||||
8 files changed, 33 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -6037,6 +6037,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -6036,6 +6036,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-reader-mode-in-cct", flag_descriptions::kReaderModeInCCTName,
|
||||
flag_descriptions::kReaderModeInCCTDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
|
||||
@@ -128,13 +128,14 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
|
||||
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
|
||||
--- a/services/network/public/cpp/features.cc
|
||||
+++ b/services/network/public/cpp/features.cc
|
||||
@@ -38,6 +38,10 @@ BASE_FEATURE(kThrottleDelayable,
|
||||
@@ -38,6 +38,11 @@ BASE_FEATURE(kThrottleDelayable,
|
||||
"ThrottleDelayable",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
+// Enable IPv6 ping probes to RIPE DNS.
|
||||
+const base::Feature kIPv6Probing{"IPv6Probing",
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+BASE_FEATURE(kIPv6Probing,
|
||||
+ "IPv6Probing",
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+
|
||||
// When kPriorityRequestsDelayableOnSlowConnections is enabled, HTTP
|
||||
// requests fetched from a SPDY/QUIC/H2 proxies can be delayed by the
|
||||
@@ -142,14 +143,13 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c
|
||||
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
|
||||
--- a/services/network/public/cpp/features.h
|
||||
+++ b/services/network/public/cpp/features.h
|
||||
@@ -48,6 +48,8 @@ COMPONENT_EXPORT(NETWORK_CPP)
|
||||
extern const base::FeatureParam<TrustTokenOriginTrialSpec>
|
||||
kTrustTokenOperationsRequiringOriginTrial;
|
||||
@@ -17,6 +17,7 @@ COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kExpectCTReporting);
|
||||
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kNetworkErrorLogging);
|
||||
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kReporting);
|
||||
COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kThrottleDelayable);
|
||||
+COMPONENT_EXPORT(NETWORK_CPP) BASE_DECLARE_FEATURE(kIPv6Probing);
|
||||
COMPONENT_EXPORT(NETWORK_CPP)
|
||||
+extern const base::Feature kIPv6Probing;
|
||||
+COMPONENT_EXPORT(NETWORK_CPP)
|
||||
extern const base::FeatureParam<bool> kPlatformProvidedTrustTokenIssuance;
|
||||
|
||||
BASE_DECLARE_FEATURE(kDelayRequestsOnMultiplexedConnections);
|
||||
COMPONENT_EXPORT(NETWORK_CPP)
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -3622,6 +3622,9 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -3621,6 +3621,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
|
||||
@@ -3961,6 +3961,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
|
||||
@@ -3966,6 +3966,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
|
||||
const char kPhotoPickerVideoSupportDescription[] =
|
||||
"Enables video files to be shown in the Photo Picker dialog";
|
||||
|
||||
@@ -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
|
||||
@@ -2271,6 +2271,9 @@ extern const char kQueryTilesNTPDescription[];
|
||||
@@ -2274,6 +2274,9 @@ extern const char kQueryTilesNTPDescription[];
|
||||
extern const char kQueryTilesOnStartName[];
|
||||
extern const char kQueryTilesOnStartDescription[];
|
||||
extern const char kQueryTilesSingleTierName[];
|
||||
|
||||
@@ -4,22 +4,22 @@ Subject: Add flag to disable vibration
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
chrome/browser/about_flags.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.cc | 3 +++
|
||||
chrome/browser/flag_descriptions.h | 2 ++
|
||||
content/child/runtime_features.cc | 1 +
|
||||
content/public/common/content_features.cc | 4 ++++
|
||||
content/public/common/content_features.h | 2 ++
|
||||
third_party/blink/public/platform/web_runtime_features.h | 1 +
|
||||
.../blink/renderer/modules/vibration/vibration_controller.cc | 3 +++
|
||||
.../blink/renderer/platform/exported/web_runtime_features.cc | 4 ++++
|
||||
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++++
|
||||
10 files changed, 28 insertions(+)
|
||||
chrome/browser/about_flags.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.cc | 3 +++
|
||||
chrome/browser/flag_descriptions.h | 2 ++
|
||||
content/child/runtime_features.cc | 1 +
|
||||
content/public/common/content_features.cc | 5 +++++
|
||||
content/public/common/content_features.h | 2 ++
|
||||
third_party/blink/public/platform/web_runtime_features.h | 1 +
|
||||
.../blink/renderer/modules/vibration/vibration_controller.cc | 3 +++
|
||||
.../blink/renderer/platform/exported/web_runtime_features.cc | 4 ++++
|
||||
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++++
|
||||
10 files changed, 29 insertions(+)
|
||||
|
||||
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -7468,6 +7468,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -7467,6 +7467,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
|
||||
@@ -6453,6 +6453,9 @@ extern const char kLacrosScreenCoordinatesDescription[];
|
||||
@@ -6463,6 +6463,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
|
||||
@@ -3932,6 +3932,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
|
||||
@@ -3938,6 +3938,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
|
||||
extern const char kWebUITabStripTabDragIntegrationDescription[];
|
||||
#endif // BUILDFLAG(ENABLE_WEBUI_TAB_STRIP) && BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
@@ -69,13 +69,14 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
|
||||
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
|
||||
--- a/content/public/common/content_features.cc
|
||||
+++ b/content/public/common/content_features.cc
|
||||
@@ -130,6 +130,10 @@ BASE_FEATURE(kBackForwardCacheMemoryControls,
|
||||
@@ -130,6 +130,11 @@ BASE_FEATURE(kBackForwardCacheMemoryControls,
|
||||
#endif
|
||||
);
|
||||
|
||||
+// Enables vibration; an user gesture will still be required if enabled.
|
||||
+const base::Feature kVibration{"Vibration",
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
+BASE_FEATURE(kVibration,
|
||||
+ "Vibration",
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+
|
||||
// When this feature is enabled, private network requests initiated from
|
||||
// non-secure contexts in the `public` address space are blocked.
|
||||
@@ -87,7 +88,7 @@ diff --git a/content/public/common/content_features.h b/content/public/common/co
|
||||
kCompositorLockTimeout;
|
||||
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
+CONTENT_EXPORT extern const base::Feature kVibration;
|
||||
+CONTENT_EXPORT BASE_DECLARE_FEATURE(kVibration);
|
||||
+
|
||||
|
||||
#if BUILDFLAG(IS_MAC)
|
||||
|
||||
@@ -258,7 +258,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
import org.chromium.components.embedder_support.util.Origin;
|
||||
import org.chromium.content_public.browser.BrowserContextHandle;
|
||||
import org.chromium.content_public.browser.ContentFeatureList;
|
||||
@@ -537,6 +538,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
|
||||
@@ -539,6 +540,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
|
||||
}
|
||||
}
|
||||
|
||||
@@ -270,7 +270,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
private void setUpClearDataPreference() {
|
||||
ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA);
|
||||
long usage = mSite.getTotalUsage();
|
||||
@@ -955,6 +961,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
|
||||
@@ -963,6 +969,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
|
||||
if (contentType == mHighlightedPermission) {
|
||||
switchPreference.setBackgroundColor(mHighlightColor);
|
||||
}
|
||||
@@ -345,7 +345,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
|
||||
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
|
||||
@@ -606,6 +606,11 @@
|
||||
@@ -608,6 +608,11 @@
|
||||
<message name="IDS_PAGE_INFO_URL_TRUNCATED" desc="Accessibility announcement when the URL in PageInfo switches from full to truncated display">
|
||||
URL truncated
|
||||
</message>
|
||||
@@ -371,7 +371,7 @@ diff --git a/components/content_settings/android/BUILD.gn b/components/content_s
|
||||
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_utils.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
@@ -185,6 +185,35 @@ base::Time GetConstraintExpiration(const base::TimeDelta duration) {
|
||||
@@ -189,6 +189,35 @@ base::Time GetConstraintExpiration(const base::TimeDelta duration) {
|
||||
return base::Time::Now() + duration;
|
||||
}
|
||||
|
||||
@@ -492,7 +492,7 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,13 +128,15 @@ public class PermissionParamsListBuilder {
|
||||
@@ -124,13 +129,15 @@ public class PermissionParamsListBuilder {
|
||||
public final String nameMidSentence;
|
||||
public final int type;
|
||||
public final @ContentSettingValues int setting;
|
||||
@@ -512,7 +512,7 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_
|
||||
diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc
|
||||
--- a/components/page_info/android/page_info_controller_android.cc
|
||||
+++ b/components/page_info/android/page_info_controller_android.cc
|
||||
@@ -162,6 +162,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
@@ -171,6 +171,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
|
||||
std::map<ContentSettingsType, ContentSetting>
|
||||
user_specified_settings_to_display;
|
||||
@@ -521,7 +521,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
|
||||
for (const auto& permission : permission_info_list) {
|
||||
if (base::Contains(permissions_to_display, permission.type)) {
|
||||
@@ -170,6 +172,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
@@ -179,6 +181,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
if (setting_to_display) {
|
||||
user_specified_settings_to_display[permission.type] =
|
||||
*setting_to_display;
|
||||
@@ -530,7 +530,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -186,7 +190,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
@@ -195,7 +199,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
ConvertUTF16ToJavaString(env, setting_title),
|
||||
ConvertUTF16ToJavaString(env, setting_title_mid_sentence),
|
||||
static_cast<jint>(permission),
|
||||
@@ -540,7 +540,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
}
|
||||
}
|
||||
|
||||
@@ -199,7 +204,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
@@ -208,7 +213,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
|
||||
env, controller_jobject_, ConvertUTF16ToJavaString(env, object_title),
|
||||
ConvertUTF16ToJavaString(env, object_title),
|
||||
static_cast<jint>(chosen_object->ui_info.content_settings_type),
|
||||
@@ -553,7 +553,7 @@ 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
|
||||
@@ -1168,6 +1168,8 @@ void PageInfo::PresentSitePermissions() {
|
||||
@@ -1189,6 +1189,8 @@ void PageInfo::PresentSitePermissions() {
|
||||
permission_info.source = info.source;
|
||||
permission_info.is_one_time = (info.metadata.session_model ==
|
||||
content_settings::SessionModel::OneTime);
|
||||
|
||||
@@ -6,7 +6,7 @@ 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 | 60 +++++++++++++++++++
|
||||
.../browser/bookmarks/BookmarkBridge.java | 61 +++++++++++++++++++
|
||||
.../browser/bookmarks/BookmarkUtils.java | 4 ++
|
||||
.../bookmarks/android/bookmark_bridge.cc | 17 ++++++
|
||||
.../bookmarks/android/bookmark_bridge.h | 4 ++
|
||||
@@ -25,7 +25,7 @@ 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, 200 insertions(+), 10 deletions(-)
|
||||
21 files changed, 201 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
|
||||
--- a/chrome/android/java/res/menu/main_menu.xml
|
||||
@@ -41,16 +41,16 @@ 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" />
|
||||
@@ -187,6 +191,9 @@ found in the LICENSE file.
|
||||
<item android:id="@+id/menu_select_tabs"
|
||||
android:title="@string/menu_select_tabs"
|
||||
android:icon="@drawable/ic_select_tabs" />
|
||||
@@ -184,6 +188,9 @@ found in the LICENSE file.
|
||||
<item android:id="@+id/menu_group_tabs"
|
||||
android:title="@string/menu_group_tabs"
|
||||
android:icon="@drawable/ic_widgets" />
|
||||
+ <item android:id="@+id/bookmark_all_tabs_menu_id"
|
||||
+ android:title="@string/menu_bookmark_all_tabs"
|
||||
+ android:icon="@drawable/ic_folder_blue_24dp" />
|
||||
<item android:id="@+id/track_prices_row_menu_id"
|
||||
android:title="@string/menu_track_prices"
|
||||
android:icon="@drawable/ic_trending_down_black" />
|
||||
<item android:id="@+id/menu_select_tabs"
|
||||
android:title="@string/menu_select_tabs"
|
||||
android:icon="@drawable/ic_select_tabs" />
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
|
||||
@@ -110,7 +110,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
import org.chromium.base.ObserverList;
|
||||
import org.chromium.base.ThreadUtils;
|
||||
import org.chromium.base.annotations.CalledByNative;
|
||||
@@ -39,6 +40,10 @@ import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
|
||||
@@ -40,6 +41,10 @@ import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.read_later.ReadingListUtils;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
@@ -121,15 +121,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
import org.chromium.components.bookmarks.BookmarkId;
|
||||
import org.chromium.components.bookmarks.BookmarkItem;
|
||||
import org.chromium.components.bookmarks.BookmarkType;
|
||||
@@ -85,6 +90,7 @@ import java.io.File;
|
||||
@@ -86,6 +91,8 @@ import java.io.File;
|
||||
* bookmark model stored in native.
|
||||
*/
|
||||
class BookmarkBridge {
|
||||
+ private static final String TAG = "BookmarkBridge";
|
||||
+
|
||||
private final Profile mProfile;
|
||||
private boolean mIsDestroyed;
|
||||
private boolean mIsDoingExtensiveChanges;
|
||||
@@ -392,6 +398,16 @@ class BookmarkBridge {
|
||||
@@ -393,6 +400,16 @@ class BookmarkBridge {
|
||||
mNativeBookmarkBridge, BookmarkBridge.this);
|
||||
}
|
||||
|
||||
@@ -146,7 +147,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
/**
|
||||
* @return Id representing the special "other" folder from bookmark model.
|
||||
*/
|
||||
@@ -1029,6 +1045,49 @@ class BookmarkBridge {
|
||||
@@ -1030,6 +1047,49 @@ class BookmarkBridge {
|
||||
mNativeBookmarkBridge, BookmarkBridge.this, title, url);
|
||||
}
|
||||
|
||||
@@ -196,7 +197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
|
||||
/**
|
||||
* @param url The URL of the reading list item.
|
||||
* @return The reading list item with the URL, or null if no such reading list item.
|
||||
@@ -1326,6 +1385,7 @@ class BookmarkBridge {
|
||||
@@ -1327,6 +1387,7 @@ class BookmarkBridge {
|
||||
void getAllFoldersWithDepths(long nativeBookmarkBridge, BookmarkBridge caller,
|
||||
List<BookmarkId> folderList, List<Integer> depthList);
|
||||
BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
|
||||
@@ -348,7 +349,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -3588,6 +3588,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -3606,6 +3606,9 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<message name="IDS_MENU_TRACK_PRICES" desc="Menu item for tracking prices on tabs. [CHAR_LIMIT=27]">
|
||||
Track prices
|
||||
</message>
|
||||
@@ -506,14 +507,14 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
|
||||
int64_t* max_node_id,
|
||||
std::string* sync_metadata_str);
|
||||
|
||||
@@ -114,6 +116,7 @@ class BookmarkCodec {
|
||||
@@ -113,6 +115,7 @@ class BookmarkCodec {
|
||||
// Allows the BookmarkClient to read and a write a string blob from the JSON
|
||||
// file. That string captures the bookmarks sync metadata.
|
||||
static const char kSyncMetadata[];
|
||||
static const char kDateLastUsed[];
|
||||
+ static const char kTabsBookmarkFolderNameKey[];
|
||||
static const char kDateLastUsed[];
|
||||
|
||||
// Possible values for kTypeKey.
|
||||
static const char kTypeURL[];
|
||||
@@ -130,6 +133,7 @@ class BookmarkCodec {
|
||||
bool DecodeHelper(BookmarkNode* bb_node,
|
||||
BookmarkNode* other_folder_node,
|
||||
|
||||
@@ -4,14 +4,14 @@ Subject: Add menu item to view source
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
chrome/android/java/res/menu/custom_tabs_menu.xml | 3 +++
|
||||
chrome/android/java/res/menu/main_menu.xml | 3 +++
|
||||
.../chrome/browser/ChromeTabbedActivity.java | 2 ++
|
||||
.../chrome/browser/app/ChromeActivity.java | 5 +++++
|
||||
.../app/appmenu/AppMenuPropertiesDelegateImpl.java | 14 ++++++++++++++
|
||||
.../CustomTabAppMenuPropertiesDelegate.java | 1 +
|
||||
.../ui/android/strings/android_chrome_strings.grd | 4 ++++
|
||||
7 files changed, 32 insertions(+)
|
||||
.../android/java/res/menu/custom_tabs_menu.xml | 3 +++
|
||||
chrome/android/java/res/menu/main_menu.xml | 3 +++
|
||||
.../chrome/browser/ChromeTabbedActivity.java | 2 ++
|
||||
.../chrome/browser/app/ChromeActivity.java | 5 +++++
|
||||
.../appmenu/AppMenuPropertiesDelegateImpl.java | 18 ++++++++++++++++++
|
||||
.../CustomTabAppMenuPropertiesDelegate.java | 1 +
|
||||
.../android/strings/android_chrome_strings.grd | 4 ++++
|
||||
7 files changed, 36 insertions(+)
|
||||
|
||||
diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||
--- a/chrome/android/java/res/menu/custom_tabs_menu.xml
|
||||
@@ -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
|
||||
@@ -2448,6 +2448,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
|
||||
@@ -2445,6 +2445,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
|
||||
@@ -540,6 +540,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
@@ -543,6 +543,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);
|
||||
|
||||
@@ -1202,6 +1203,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
stopPriceTrackingMenuItem.setVisible(false);
|
||||
@@ -1242,6 +1243,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
|
||||
stopPriceTrackingMenuItem.setVisible(false);
|
||||
}
|
||||
|
||||
+ /**
|
||||
@@ -90,8 +90,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
|
||||
+ protected void updateViewSourceMenuItem(
|
||||
+ Menu menu, Tab currentTab) {
|
||||
+ MenuItem viewSourceMenuItem = menu.findItem(R.id.view_source_id);
|
||||
+ String url = currentTab.getUrl().getSpec();
|
||||
+ viewSourceMenuItem.setVisible(!url.isEmpty() && !url.startsWith("view-source:"));
|
||||
+ boolean visible = false;
|
||||
+ if (currentTab != null) {
|
||||
+ String url = currentTab.getUrl().getSpec();
|
||||
+ visible = !url.isEmpty() && !url.startsWith("view-source:");
|
||||
+ }
|
||||
+ viewSourceMenuItem.setVisible(visible);
|
||||
+ }
|
||||
+
|
||||
/**
|
||||
|
||||
@@ -84,7 +84,7 @@ 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
|
||||
@@ -1442,6 +1442,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1439,6 +1439,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_PRIVACY_GUIDE_SB_ENHANCED_ITEM_SEVEN" desc="Seventh bullet point that describes the details of the Safe Browsing control.">
|
||||
Temporarily links this data to your Google Account when you’re signed in, to protect you across Google apps
|
||||
</message>
|
||||
|
||||
@@ -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;
|
||||
@@ -54,6 +57,8 @@ public class PrivacySettings
|
||||
private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
|
||||
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
|
||||
@@ -67,6 +70,8 @@ public class PrivacySettings
|
||||
SharedPreferencesManager.getInstance();
|
||||
private final PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
|
||||
|
||||
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
|
||||
+
|
||||
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
|
||||
private IncognitoLockSettings mIncognitoLockSettings;
|
||||
|
||||
@@ -115,7 +120,11 @@ public class PrivacySettings
|
||||
@@ -132,7 +137,11 @@ public class PrivacySettings
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
String key = preference.getKey();
|
||||
@@ -90,7 +90,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
UserPrefs.get(Profile.getLastUsedRegularProfile())
|
||||
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
|
||||
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
|
||||
@@ -156,6 +165,11 @@ public class PrivacySettings
|
||||
@@ -176,6 +185,11 @@ public class PrivacySettings
|
||||
PreloadPagesSettingsFragment.getPreloadPagesSummaryString(getContext()));
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -4478,6 +4478,12 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -4420,6 +4420,12 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
<message name="IDS_CONTEXTMENU_IMAGE_TITLE" desc="The title of a context menu tab when the item pressed contains more than one type. This indicates that all the actions are related to the image.">
|
||||
IMAGE
|
||||
</message>
|
||||
|
||||
@@ -156,7 +156,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1257,6 +1257,9 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1254,6 +1254,9 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_CLEAR_BROWSING_DATA_TAB_PERIOD_HOUR" desc="The option to delete browsing data from the last hour.">
|
||||
Last hour
|
||||
</message>
|
||||
|
||||
@@ -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"
|
||||
@@ -9175,6 +9176,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -9174,6 +9175,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kSearchReadyOmniboxDescription, kOsAndroid,
|
||||
FEATURE_VALUE_TYPE(chrome::android::kSearchReadyOmniboxFeature)},
|
||||
|
||||
@@ -59,15 +59,15 @@ 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
|
||||
@@ -1969,6 +1969,9 @@ extern const char kReduceUserAgentMinorVersionDescription[];
|
||||
extern const char kReduceUserAgentPlatformOsCpuName[];
|
||||
extern const char kReduceUserAgentPlatformOsCpuDescription[];
|
||||
@@ -1975,6 +1975,9 @@ extern const char kReduceUserAgentPlatformOsCpuDescription[];
|
||||
extern const char kSkipServiceWorkerFetchHandlerName[];
|
||||
extern const char kSkipServiceWorkerFetchHandlerDescription[];
|
||||
|
||||
+extern const char kSiteEngagementName[];
|
||||
+extern const char kSiteEngagementDescription[];
|
||||
+
|
||||
extern const char kSkipServiceWorkerFetchHandlerName[];
|
||||
extern const char kSkipServiceWorkerFetchHandlerDescription[];
|
||||
extern const char kWebSQLAccessName[];
|
||||
extern const char kWebSQLAccessDescription[];
|
||||
|
||||
diff --git a/components/site_engagement/content/site_engagement_score.cc b/components/site_engagement/content/site_engagement_score.cc
|
||||
--- a/components/site_engagement/content/site_engagement_score.cc
|
||||
|
||||
@@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
|
||||
@@ -67,6 +67,7 @@ import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFacto
|
||||
@@ -66,6 +66,7 @@ import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFacto
|
||||
import org.chromium.components.browser_ui.modaldialog.AppModalPresenter;
|
||||
import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher;
|
||||
import org.chromium.components.browser_ui.settings.SettingsLauncher;
|
||||
@@ -20,7 +20,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
|
||||
import org.chromium.components.browser_ui.site_settings.SiteSettingsPreferenceFragment;
|
||||
import org.chromium.components.browser_ui.widget.displaystyle.UiConfig;
|
||||
import org.chromium.components.browser_ui.widget.displaystyle.ViewResizer;
|
||||
@@ -333,9 +334,13 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
@@ -329,9 +330,13 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
|
||||
finish();
|
||||
return true;
|
||||
} else if (item.getItemId() == R.id.menu_id_general_help) {
|
||||
|
||||
@@ -214,11 +214,11 @@ diff --git a/components/components_strings.grd b/components/components_strings.g
|
||||
@@ -338,6 +338,7 @@
|
||||
<part file="version_ui_strings.grdp" />
|
||||
<part file="webapps_strings.grdp" />
|
||||
<part file="user_scripts/strings/userscripts_strings.grdp" />
|
||||
+ <part file="browser_ui/strings/android/webgl.grdp" />
|
||||
|
||||
+ <part file="browser_ui/strings/android/webgl.grdp" />
|
||||
<if expr="not is_ios">
|
||||
<part file="history_clusters_strings.grdp" />
|
||||
</if>
|
||||
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
@@ -414,7 +414,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
|
||||
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
|
||||
@@ -97,6 +97,7 @@ class SecurityOrigin;
|
||||
@@ -96,6 +96,7 @@ class SecurityOrigin;
|
||||
class ScriptState;
|
||||
class ScriptWrappable;
|
||||
class TrustedTypePolicyFactory;
|
||||
@@ -422,7 +422,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
|
||||
|
||||
enum ReasonForCallingCanExecuteScripts {
|
||||
kAboutToExecuteScript,
|
||||
@@ -105,6 +106,10 @@ enum ReasonForCallingCanExecuteScripts {
|
||||
@@ -104,6 +105,10 @@ enum ReasonForCallingCanExecuteScripts {
|
||||
|
||||
enum ReferrerPolicySource { kPolicySourceHttpHeader, kPolicySourceMetaTag };
|
||||
|
||||
|
||||
@@ -209,12 +209,12 @@ 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
|
||||
@@ -385,7 +385,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_d
|
||||
#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"
|
||||
@@ -767,6 +768,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
|
||||
@@ -765,6 +766,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
|
||||
// origin.
|
||||
WebRTCIPHandlingPolicy policy =
|
||||
GetWebRTCIPHandlingPolicy(webrtc_ip_handling_policy);
|
||||
|
||||
@@ -5,7 +5,7 @@ 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 | 3 +++
|
||||
.../cross_origin_embedder_policy_reporter.cc | 7 +++++--
|
||||
.../cross_origin_opener_policy_reporter.cc | 16 +++++++---------
|
||||
.../browser/network/reporting_service_proxy.cc | 3 +++
|
||||
.../renderer_host/render_frame_host_impl.cc | 6 ------
|
||||
@@ -19,7 +19,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../blink/renderer/core/frame/local_frame.h | 6 +++---
|
||||
.../renderer/core/frame/reporting_context.cc | 9 +++++++++
|
||||
.../renderer/core/frame/reporting_context.h | 7 +++++--
|
||||
15 files changed, 48 insertions(+), 23 deletions(-)
|
||||
15 files changed, 50 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc
|
||||
--- a/content/browser/devtools/protocol/network_handler.cc
|
||||
@@ -51,22 +51,33 @@ diff --git a/content/browser/network/cross_origin_embedder_policy_reporter.cc b/
|
||||
#include "base/strings/string_piece.h"
|
||||
#include "base/values.h"
|
||||
#include "content/public/browser/storage_partition.h"
|
||||
@@ -112,6 +113,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
|
||||
@@ -95,8 +96,6 @@ void CrossOriginEmbedderPolicyReporter::Clone(
|
||||
void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
|
||||
std::initializer_list<std::pair<base::StringPiece, base::StringPiece>> body,
|
||||
bool report_only) {
|
||||
- const absl::optional<std::string>& endpoint =
|
||||
- report_only ? report_only_endpoint_ : endpoint_;
|
||||
const char* const disposition = report_only ? "reporting" : "enforce";
|
||||
if (observer_) {
|
||||
std::vector<blink::mojom::ReportBodyElementPtr> list;
|
||||
@@ -111,6 +110,9 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
|
||||
observer_->Notify(blink::mojom::Report::New(
|
||||
kType, context_url_, blink::mojom::ReportBody::New(std::move(list))));
|
||||
}
|
||||
if (endpoint) {
|
||||
+#if BUILDFLAG(ENABLE_REPORTING)
|
||||
+ const absl::optional<std::string>& endpoint =
|
||||
+ report_only ? report_only_endpoint_ : endpoint_;
|
||||
if (endpoint) {
|
||||
base::Value::Dict body_to_pass;
|
||||
for (const auto& pair : body) {
|
||||
body_to_pass.Set(pair.first, pair.second);
|
||||
@@ -124,6 +126,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
|
||||
network_anonymization_key_,
|
||||
@@ -125,6 +127,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
|
||||
/*user_agent=*/absl::nullopt, std::move(body_to_pass));
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
+#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
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Sat, 20 Nov 2021 17:42:41 +0000
|
||||
Subject: Ask user before closing all tabs
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -543,8 +543,8 @@ BASE_FEATURE(kClearOmniboxFocusAfterNavigation,
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kCloseTabSuggestions,
|
||||
- "CloseTabSuggestions",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "CloseTabSuggestions", // Enabled by default in Bromite
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT); // ^
|
||||
|
||||
BASE_FEATURE(kCriticalPersistedTabData,
|
||||
"CriticalPersistedTabData",
|
||||
--
|
||||
2.25.1
|
||||
@@ -6,49 +6,209 @@ Truncate base latency precision to two digits
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../blink/renderer/modules/webaudio/analyser_node.idl | 8 ++++----
|
||||
.../blink/renderer/modules/webaudio/audio_buffer.idl | 6 ------
|
||||
.../blink/renderer/modules/webaudio/audio_context.cc | 4 +++-
|
||||
3 files changed, 7 insertions(+), 11 deletions(-)
|
||||
chrome/browser/about_flags.cc | 4 ++++
|
||||
chrome/browser/flag_descriptions.cc | 5 ++++
|
||||
chrome/browser/flag_descriptions.h | 3 +++
|
||||
third_party/blink/common/features.cc | 4 ++++
|
||||
third_party/blink/public/common/features.h | 2 ++
|
||||
.../renderer/modules/webaudio/audio_buffer.cc | 24 +++++++++++++++----
|
||||
.../renderer/modules/webaudio/audio_buffer.h | 7 +++---
|
||||
.../modules/webaudio/audio_buffer.idl | 4 ++--
|
||||
.../modules/webaudio/audio_context.cc | 5 +++-
|
||||
.../modules/webaudio/base_audio_context.cc | 12 ++++++++++
|
||||
.../modules/webaudio/base_audio_context.h | 2 ++
|
||||
.../modules/webaudio/realtime_analyser.cc | 9 +++++++
|
||||
12 files changed, 71 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/analyser_node.idl b/third_party/blink/renderer/modules/webaudio/analyser_node.idl
|
||||
--- a/third_party/blink/renderer/modules/webaudio/analyser_node.idl
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/analyser_node.idl
|
||||
@@ -40,10 +40,10 @@
|
||||
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
|
||||
@@ -3660,6 +3660,10 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kKioskEnableAppServiceDescription, kOsCrOS,
|
||||
FEATURE_VALUE_TYPE(features::kKioskEnableAppService)},
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
+ {"fingerprinting-audio-context-data-noise",
|
||||
+ flag_descriptions::kAudioContextShuffleEnabledName,
|
||||
+ flag_descriptions::kAudioContextShuffleEnabledDescription, kOsAll,
|
||||
+ FEATURE_VALUE_TYPE(blink::features::kAudioContextShuffleEnabled)},
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
{"enable-webrtc-remote-event-log",
|
||||
flag_descriptions::kWebRtcRemoteEventLogName,
|
||||
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
|
||||
@@ -3353,6 +3353,11 @@ const char kWebrtcUseMinMaxVEADimensionsDescription[] =
|
||||
"When enabled, WebRTC will only use the Video Encode Accelerator for "
|
||||
"video resolutions inside those published as supported.";
|
||||
|
||||
// Copies the current frequency data into the passed array.
|
||||
// If the array has fewer elements than the frequencyBinCount, the excess elements will be dropped.
|
||||
- [HighEntropy, Measure] void getFloatFrequencyData(Float32Array array);
|
||||
- [HighEntropy, Measure] void getByteFrequencyData(Uint8Array array);
|
||||
+ //[HighEntropy, Measure] void getFloatFrequencyData(Float32Array array);
|
||||
+ //[HighEntropy, Measure] void getByteFrequencyData(Uint8Array array);
|
||||
+const char kAudioContextShuffleEnabledName[] =
|
||||
+ "Enable Audio Context fingerprint deception";
|
||||
+const char kAudioContextShuffleEnabledDescription[] =
|
||||
+ "Scale the output values of xxx with a randomly selected factor.";
|
||||
+
|
||||
const char kWebUsbDeviceDetectionName[] =
|
||||
"Automatic detection of WebUSB-compatible devices";
|
||||
const char kWebUsbDeviceDetectionDescription[] =
|
||||
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
|
||||
@@ -1905,6 +1905,9 @@ extern const char kWebrtcSrtpAesGcmDescription[];
|
||||
extern const char kWebrtcUseMinMaxVEADimensionsName[];
|
||||
extern const char kWebrtcUseMinMaxVEADimensionsDescription[];
|
||||
|
||||
// Real-time waveform data
|
||||
- [HighEntropy, Measure] void getFloatTimeDomainData(Float32Array array);
|
||||
- [HighEntropy, Measure] void getByteTimeDomainData(Uint8Array array);
|
||||
+ //[HighEntropy, Measure] void getFloatTimeDomainData(Float32Array array);
|
||||
+ //[HighEntropy, Measure] void getByteTimeDomainData(Uint8Array array);
|
||||
};
|
||||
+extern const char kAudioContextShuffleEnabledName[];
|
||||
+extern const char kAudioContextShuffleEnabledDescription[];
|
||||
+
|
||||
extern const char kWebUsbDeviceDetectionName[];
|
||||
extern const char kWebUsbDeviceDetectionDescription[];
|
||||
|
||||
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
|
||||
@@ -617,6 +617,10 @@ BASE_FEATURE(kWebRtcUseMinMaxVEADimensions,
|
||||
#endif
|
||||
);
|
||||
|
||||
+BASE_FEATURE(kAudioContextShuffleEnabled,
|
||||
+ "AudioContextShuffleEnabled",
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+
|
||||
// Blink garbage collection.
|
||||
// Enables compaction of backing stores on Blink's heap.
|
||||
BASE_FEATURE(kBlinkHeapCompaction,
|
||||
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
|
||||
@@ -247,6 +247,8 @@ BLINK_COMMON_EXPORT bool IsPlzDedicatedWorkerEnabled();
|
||||
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kWebRtcUseMinMaxVEADimensions);
|
||||
|
||||
+BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kAudioContextShuffleEnabled);
|
||||
+
|
||||
// Blink garbage collection.
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBlinkHeapCompaction);
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kBlinkHeapConcurrentMarking);
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc
|
||||
--- a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "third_party/blink/renderer/modules/webaudio/audio_buffer.h"
|
||||
|
||||
#include <memory>
|
||||
+#include "third_party/blink/public/common/features.h"
|
||||
#include "third_party/blink/renderer/bindings/modules/v8/v8_audio_buffer_options.h"
|
||||
#include "third_party/blink/renderer/modules/webaudio/base_audio_context.h"
|
||||
#include "third_party/blink/renderer/platform/audio/audio_bus.h"
|
||||
@@ -197,6 +198,7 @@ AudioBuffer::AudioBuffer(AudioBus* bus)
|
||||
}
|
||||
|
||||
NotShared<DOMFloat32Array> AudioBuffer::getChannelData(
|
||||
+ ScriptState* script_state,
|
||||
unsigned channel_index,
|
||||
ExceptionState& exception_state) {
|
||||
if (channel_index >= channels_.size()) {
|
||||
@@ -208,7 +210,16 @@ NotShared<DOMFloat32Array> AudioBuffer::getChannelData(
|
||||
return NotShared<DOMFloat32Array>(nullptr);
|
||||
}
|
||||
|
||||
- return getChannelData(channel_index);
|
||||
+ NotShared<DOMFloat32Array> array = getChannelData(channel_index);
|
||||
+ DOMFloat32Array* destination_array = array.Get();
|
||||
+ size_t len = destination_array->length();
|
||||
+ if (len > 0) {
|
||||
+ float* destination = destination_array->Data();
|
||||
+ for (unsigned i = 0; i < len; ++i) {
|
||||
+ destination[i] = BaseAudioContext::ShuffleAudioData(destination[i], i);
|
||||
+ }
|
||||
+ }
|
||||
+ return array;
|
||||
}
|
||||
|
||||
NotShared<DOMFloat32Array> AudioBuffer::getChannelData(unsigned channel_index) {
|
||||
@@ -219,13 +230,15 @@ NotShared<DOMFloat32Array> AudioBuffer::getChannelData(unsigned channel_index) {
|
||||
return NotShared<DOMFloat32Array>(channels_[channel_index].Get());
|
||||
}
|
||||
|
||||
-void AudioBuffer::copyFromChannel(NotShared<DOMFloat32Array> destination,
|
||||
+void AudioBuffer::copyFromChannel(ScriptState* script_state,
|
||||
+ NotShared<DOMFloat32Array> destination,
|
||||
int32_t channel_number,
|
||||
ExceptionState& exception_state) {
|
||||
- return copyFromChannel(destination, channel_number, 0, exception_state);
|
||||
+ return copyFromChannel(script_state, destination, channel_number, 0, exception_state);
|
||||
}
|
||||
|
||||
-void AudioBuffer::copyFromChannel(NotShared<DOMFloat32Array> destination,
|
||||
+void AudioBuffer::copyFromChannel(ScriptState* script_state,
|
||||
+ NotShared<DOMFloat32Array> destination,
|
||||
int32_t channel_number,
|
||||
size_t buffer_offset,
|
||||
ExceptionState& exception_state) {
|
||||
@@ -264,6 +277,9 @@ void AudioBuffer::copyFromChannel(NotShared<DOMFloat32Array> destination,
|
||||
DCHECK_LE(buffer_offset + count, data_length);
|
||||
|
||||
memmove(dst, src + buffer_offset, count * sizeof(*src));
|
||||
+ for (unsigned i = 0; i < count; i++) {
|
||||
+ dst[i] = BaseAudioContext::ShuffleAudioData(dst[i], i);
|
||||
+ }
|
||||
}
|
||||
|
||||
void AudioBuffer::copyToChannel(NotShared<DOMFloat32Array> source,
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.h b/third_party/blink/renderer/modules/webaudio/audio_buffer.h
|
||||
--- a/third_party/blink/renderer/modules/webaudio/audio_buffer.h
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.h
|
||||
@@ -44,6 +44,7 @@ class AudioBus;
|
||||
class AudioBufferOptions;
|
||||
class ExceptionState;
|
||||
class SharedAudioBuffer;
|
||||
+class ScriptState;
|
||||
|
||||
class MODULES_EXPORT AudioBuffer final : public ScriptWrappable {
|
||||
DEFINE_WRAPPERTYPEINFO();
|
||||
@@ -88,13 +89,13 @@ class MODULES_EXPORT AudioBuffer final : public ScriptWrappable {
|
||||
|
||||
// Channel data access
|
||||
unsigned numberOfChannels() const { return channels_.size(); }
|
||||
- NotShared<DOMFloat32Array> getChannelData(unsigned channel_index,
|
||||
+ NotShared<DOMFloat32Array> getChannelData(ScriptState*, unsigned channel_index,
|
||||
ExceptionState&);
|
||||
NotShared<DOMFloat32Array> getChannelData(unsigned channel_index);
|
||||
- void copyFromChannel(NotShared<DOMFloat32Array>,
|
||||
+ void copyFromChannel(ScriptState*, NotShared<DOMFloat32Array>,
|
||||
int32_t channel_number,
|
||||
ExceptionState&);
|
||||
- void copyFromChannel(NotShared<DOMFloat32Array>,
|
||||
+ void copyFromChannel(ScriptState*, NotShared<DOMFloat32Array>,
|
||||
int32_t channel_number,
|
||||
size_t buffer_offset,
|
||||
ExceptionState&);
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.idl b/third_party/blink/renderer/modules/webaudio/audio_buffer.idl
|
||||
--- a/third_party/blink/renderer/modules/webaudio/audio_buffer.idl
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.idl
|
||||
@@ -37,12 +37,6 @@
|
||||
@@ -37,9 +37,9 @@
|
||||
|
||||
// Channel access
|
||||
readonly attribute unsigned long numberOfChannels;
|
||||
- [HighEntropy=Direct, Measure, RaisesException] Float32Array getChannelData(
|
||||
- unsigned long channelIndex);
|
||||
+ [CallWith=ScriptState, HighEntropy=Direct, Measure, RaisesException] Float32Array getChannelData(
|
||||
unsigned long channelIndex);
|
||||
- [HighEntropy, Measure, RaisesException] void copyFromChannel(
|
||||
- Float32Array destination,
|
||||
- unsigned long channelNumber,
|
||||
- optional unsigned long bufferOffset = 0);
|
||||
[RaisesException] void copyToChannel(
|
||||
Float32Array source,
|
||||
+ [CallWith=ScriptState, HighEntropy, Measure, RaisesException] void copyFromChannel(
|
||||
Float32Array destination,
|
||||
unsigned long channelNumber,
|
||||
optional unsigned long bufferOffset = 0);
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
--- a/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc
|
||||
@@ -508,7 +508,9 @@ double AudioContext::baseLatency() const {
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "services/metrics/public/cpp/ukm_builders.h"
|
||||
#include "services/metrics/public/cpp/ukm_recorder.h"
|
||||
#include "third_party/blink/public/common/browser_interface_broker_proxy.h"
|
||||
+#include "third_party/blink/public/common/features.h"
|
||||
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
|
||||
#include "third_party/blink/public/platform/web_audio_latency_hint.h"
|
||||
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
|
||||
@@ -508,7 +509,9 @@ double AudioContext::baseLatency() const {
|
||||
DCHECK(IsMainThread());
|
||||
DCHECK(destination());
|
||||
|
||||
@@ -59,5 +219,93 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/thir
|
||||
}
|
||||
|
||||
double AudioContext::outputLatency() const {
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc b/third_party/blink/renderer/modules/webaudio/base_audio_context.cc
|
||||
--- a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/base_audio_context.cc
|
||||
@@ -29,6 +29,7 @@
|
||||
|
||||
#include "base/metrics/histogram_functions.h"
|
||||
#include "build/build_config.h"
|
||||
+#include "third_party/blink/public/common/features.h"
|
||||
#include "third_party/blink/public/mojom/devtools/console_message.mojom-blink.h"
|
||||
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-shared.h"
|
||||
#include "third_party/blink/public/platform/platform.h"
|
||||
@@ -702,6 +703,17 @@ Document* BaseAudioContext::GetDocument() const {
|
||||
return window ? window->document() : nullptr;
|
||||
}
|
||||
|
||||
+/*static*/
|
||||
+float BaseAudioContext::ShuffleAudioData(float data, unsigned index) {
|
||||
+ if (base::FeatureList::IsEnabled(features::kAudioContextShuffleEnabled)) {
|
||||
+ float rnd = 1.0f +
|
||||
+ (base::RandDouble() / 10000.0) *
|
||||
+ (base::RandInt(0,10) > 5 ? 1.f : -1.f);
|
||||
+ return data * rnd;
|
||||
+ }
|
||||
+ return data;
|
||||
+}
|
||||
+
|
||||
void BaseAudioContext::NotifySourceNodeStartedProcessing(AudioNode* node) {
|
||||
DCHECK(IsMainThread());
|
||||
GraphAutoLocker locker(this);
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.h b/third_party/blink/renderer/modules/webaudio/base_audio_context.h
|
||||
--- a/third_party/blink/renderer/modules/webaudio/base_audio_context.h
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/base_audio_context.h
|
||||
@@ -338,6 +338,8 @@ class MODULES_EXPORT BaseAudioContext
|
||||
// if the execution context does not exist.
|
||||
bool CheckExecutionContextAndThrowIfNecessary(ExceptionState&);
|
||||
|
||||
+ static float ShuffleAudioData(float data, unsigned index);
|
||||
+
|
||||
protected:
|
||||
enum ContextType { kRealtimeContext, kOfflineContext };
|
||||
|
||||
diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc
|
||||
--- a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc
|
||||
+++ b/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc
|
||||
@@ -29,6 +29,9 @@
|
||||
#include <algorithm>
|
||||
#include <complex>
|
||||
|
||||
+#include "third_party/blink/public/common/features.h"
|
||||
+#include "third_party/blink/renderer/modules/webaudio/realtime_analyser.h"
|
||||
+#include "third_party/blink/renderer/modules/webaudio/base_audio_context.h"
|
||||
#include "third_party/blink/renderer/platform/audio/audio_bus.h"
|
||||
#include "third_party/blink/renderer/platform/audio/audio_utilities.h"
|
||||
#include "third_party/blink/renderer/platform/audio/vector_math.h"
|
||||
@@ -154,6 +157,7 @@ void RealtimeAnalyser::GetFloatTimeDomainData(
|
||||
input_buffer[(i + write_index - fft_size + kInputBufferSize) %
|
||||
kInputBufferSize];
|
||||
|
||||
+ value = BaseAudioContext::ShuffleAudioData(value, i);
|
||||
destination[i] = value;
|
||||
}
|
||||
}
|
||||
@@ -181,6 +185,8 @@ void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array) {
|
||||
input_buffer[(i + write_index - fft_size + kInputBufferSize) %
|
||||
kInputBufferSize];
|
||||
|
||||
+ value = BaseAudioContext::ShuffleAudioData(value, i);
|
||||
+
|
||||
// Scale from nominal -1 -> +1 to unsigned byte.
|
||||
double scaled_value = 128 * (value + 1);
|
||||
|
||||
@@ -308,6 +314,8 @@ void RealtimeAnalyser::ConvertToByteData(DOMUint8Array* destination_array) {
|
||||
double scaled_value =
|
||||
UCHAR_MAX * (db_mag - min_decibels) * range_scale_factor;
|
||||
|
||||
+ scaled_value = BaseAudioContext::ShuffleAudioData(scaled_value, i);
|
||||
+
|
||||
// Clip to valid range.
|
||||
if (scaled_value < 0) {
|
||||
scaled_value = 0;
|
||||
@@ -333,6 +341,7 @@ void RealtimeAnalyser::ConvertFloatToDb(DOMFloat32Array* destination_array) {
|
||||
float linear_value = source[i];
|
||||
double db_mag = audio_utilities::LinearToDecibels(linear_value);
|
||||
destination[i] = static_cast<float>(db_mag);
|
||||
+ destination[i] = BaseAudioContext::ShuffleAudioData(destination[i], i);
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -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
|
||||
@@ -670,4 +670,20 @@ bool ExecutionContext::RequireTrustedTypes() const {
|
||||
@@ -693,4 +693,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
|
||||
@@ -391,6 +391,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
|
||||
@@ -396,6 +396,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
|
||||
void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space);
|
||||
|
||||
HeapObserverSet<ContextLifecycleObserver>& ContextLifecycleObserverSet();
|
||||
|
||||
@@ -3,6 +3,7 @@ Date: Thu, 7 Oct 2021 14:27:12 +0000
|
||||
Subject: Bromite auto updater
|
||||
|
||||
Enable checking for new versions, with notifications and proxy support.
|
||||
Restore InlineUpdateFlow feature.
|
||||
Some parts authored by csagan5.
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
@@ -62,7 +63,7 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
|
||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -814,6 +814,9 @@ chrome_java_sources = [
|
||||
@@ -812,6 +812,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",
|
||||
@@ -1250,7 +1251,7 @@ new file mode 100644
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -263,6 +263,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -251,6 +251,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kNewWindowAppMenu,
|
||||
&kNotificationPermissionVariant,
|
||||
&kPageAnnotationsService,
|
||||
@@ -1258,32 +1259,32 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
&kBookmarksImprovedSaveFlow,
|
||||
&kBookmarksRefresh,
|
||||
&kBackGestureRefactorAndroid,
|
||||
@@ -810,6 +811,10 @@ BASE_FEATURE(kIncognitoScreenshot,
|
||||
"IncognitoScreenshot",
|
||||
@@ -693,6 +694,10 @@ BASE_FEATURE(kContextMenuTranslateWithGoogleLens,
|
||||
"ContextMenuTranslateWithGoogleLens",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
+BASE_FEATURE(kInlineUpdateFlow,
|
||||
+ "InlineUpdateFlow",
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+
|
||||
BASE_FEATURE(kInfobarScrollOptimization,
|
||||
"InfobarScrollOptimization",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
BASE_FEATURE(kLensCameraAssistedSearch,
|
||||
"LensCameraAssistedSearch",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.h
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
@@ -102,6 +102,7 @@ BASE_DECLARE_FEATURE(kHandleMediaIntents);
|
||||
@@ -91,6 +91,7 @@ BASE_DECLARE_FEATURE(kGridTabSwitcherForTablets);
|
||||
BASE_DECLARE_FEATURE(kHandleMediaIntents);
|
||||
BASE_DECLARE_FEATURE(kImmersiveUiMode);
|
||||
BASE_DECLARE_FEATURE(kIncognitoReauthenticationForAndroid);
|
||||
BASE_DECLARE_FEATURE(kIncognitoScreenshot);
|
||||
+BASE_DECLARE_FEATURE(kInlineUpdateFlow);
|
||||
BASE_DECLARE_FEATURE(kIncognitoScreenshot);
|
||||
BASE_DECLARE_FEATURE(kInfobarScrollOptimization);
|
||||
BASE_DECLARE_FEATURE(kImprovedA2HS);
|
||||
BASE_DECLARE_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
|
||||
@@ -387,6 +387,7 @@ public abstract class ChromeFeatureList {
|
||||
@@ -385,6 +385,7 @@ public abstract class ChromeFeatureList {
|
||||
"IncognitoReauthenticationForAndroid";
|
||||
public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot";
|
||||
public static final String INFOBAR_SCROLL_OPTIMIZATION = "InfobarScrollOptimization";
|
||||
@@ -1294,7 +1295,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
|
||||
@@ -1888,6 +1888,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1837,6 +1837,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_DEPRECATION_WARNING" desc="Warning about Chrome updates no longer being supported">
|
||||
Chrome updates are no longer supported for this version of Android
|
||||
</message>
|
||||
@@ -1307,7 +1308,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
|
||||
<!-- Account management UI strings. -->
|
||||
<message name="IDS_ACCOUNT_MANAGEMENT_TITLE" desc="Header title for the account management screen. [CHAR_LIMIT=32]">
|
||||
@@ -3504,7 +3510,10 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -3453,7 +3459,10 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
|
||||
<!-- Main menu items -->
|
||||
<message name="IDS_MENU_UPDATE" desc="Menu item for updating chrome. [CHAR_LIMIT=24]">
|
||||
@@ -1319,7 +1320,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
</message>
|
||||
<message name="IDS_MENU_UPDATE_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that a newer version of Chrome is available. [CHAR_LIMIT=30]">
|
||||
Newer version is available
|
||||
@@ -3515,6 +3524,18 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -3464,6 +3473,18 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></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>
|
||||
|
||||
@@ -10,7 +10,7 @@ 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 =
|
||||
@@ -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"
|
||||
|
||||
if (current_toolchain == default_toolchain) {
|
||||
|
||||
+56
-18
@@ -1,6 +1,6 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sat, 14 Sep 2019 10:20:08 +0200
|
||||
Subject: Bromite AdBlockUpdaterService
|
||||
Subject: Bromite subresource adblocker
|
||||
|
||||
Add option to configure the ad blocker filters URL
|
||||
Disable look-alike, metrics, ablation and navigation throttles
|
||||
@@ -8,6 +8,7 @@ Do not use experiments to enable/disable presets
|
||||
Always enable ad filtering
|
||||
Download filters by checking Last-Modified header first
|
||||
Fix RestoreForeignSessionTab by recreating the tab (issue #681)
|
||||
Enable AutomaticLazyFrameLoadingToAds and AutomaticLazyFrameLoadingToEmbeds features
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
@@ -49,7 +50,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../browser/subresource_filter_features.cc | 116 +-------
|
||||
.../core/common/indexed_ruleset.cc | 5 +-
|
||||
.../navigation_throttle_runner.cc | 5 -
|
||||
38 files changed, 1160 insertions(+), 129 deletions(-)
|
||||
third_party/blink/common/features.cc | 12 +-
|
||||
39 files changed, 1166 insertions(+), 135 deletions(-)
|
||||
create mode 100644 chrome/android/java/res/layout/adblock_editor.xml
|
||||
create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml
|
||||
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
|
||||
@@ -62,14 +64,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
|
||||
@@ -401,6 +401,7 @@ if (current_toolchain == default_toolchain) {
|
||||
"//chrome/browser/download/android:java",
|
||||
"//chrome/browser/download/android:java_resources",
|
||||
"//chrome/browser/enterprise/util:java",
|
||||
@@ -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/browser/feature_engagement:java",
|
||||
"//chrome/browser/feature_guide/notifications:java",
|
||||
"//chrome/browser/feed/android:java",
|
||||
"//chrome/android/webapk/libs/common:common_java",
|
||||
"//chrome/android/webapk/libs/common:splash_java",
|
||||
"//chrome/android/webapk/libs/runtime_library:webapk_service_aidl_java",
|
||||
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
|
||||
--- a/chrome/android/chrome_java_resources.gni
|
||||
+++ b/chrome/android/chrome_java_resources.gni
|
||||
@@ -77,7 +79,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
||||
"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",
|
||||
@@ -92,7 +94,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
|
||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -908,6 +908,8 @@ chrome_java_sources = [
|
||||
@@ -907,6 +907,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",
|
||||
@@ -555,16 +557,16 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
|
||||
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
|
||||
--- a/chrome/browser/chrome_browser_main.cc
|
||||
+++ b/chrome/browser/chrome_browser_main.cc
|
||||
@@ -1753,6 +1753,9 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
||||
// Just initialize the policy prefs service here. Variations seed fetching
|
||||
// will be initialized when the app enters foreground mode.
|
||||
variations_service->set_policy_pref_service(profile->GetPrefs());
|
||||
@@ -415,6 +415,9 @@ StartupProfileInfo CreateInitialProfile(
|
||||
// missing code in the above test.
|
||||
CHECK(profile_info.profile) << "Cannot get default profile.";
|
||||
|
||||
+ // force AdBlock updater initialisation
|
||||
+ g_browser_process->adblock_updater();
|
||||
+
|
||||
#else
|
||||
// We are in regular browser boot sequence. Open initial tabs and enter the
|
||||
// main message loop.
|
||||
#if BUILDFLAG(IS_CHROMEOS_LACROS)
|
||||
// Lacros has a special "primary" profile that is tied to the active ChromeOS
|
||||
diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/browser/flags/android/cached_feature_flags.cc
|
||||
--- a/chrome/browser/flags/android/cached_feature_flags.cc
|
||||
+++ b/chrome/browser/flags/android/cached_feature_flags.cc
|
||||
@@ -702,7 +704,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
|
||||
diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp
|
||||
--- a/components/browser_ui/strings/android/site_settings.grdp
|
||||
+++ b/components/browser_ui/strings/android/site_settings.grdp
|
||||
@@ -282,8 +282,8 @@
|
||||
@@ -303,8 +303,8 @@
|
||||
<message name="IDS_INTRUSIVE_ADS_INFORMATION" desc="The extra information at the top of the Site Details page when the site tends to show intrusive ads">
|
||||
This site shows intrusive or misleading ads
|
||||
</message>
|
||||
@@ -1866,5 +1868,41 @@ diff --git a/content/browser/renderer_host/navigation_throttle_runner.cc b/conte
|
||||
}
|
||||
|
||||
NavigationThrottle* NavigationThrottleRunner::GetDeferringThrottle() const {
|
||||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -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
|
||||
+10
-8
@@ -1,9 +1,12 @@
|
||||
From: uazo <uazo@users.noreply.github.com>
|
||||
Date: Mon, 3 Oct 2022 09:39:07 +0000
|
||||
Subject: Fix WebWorker requestAnimationFrame
|
||||
Subject: Clamp time resolution in requestAnimationFrame
|
||||
|
||||
Aligns requestAnimationFrame's callback to the w3c specification
|
||||
See bugid 1236113
|
||||
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(-)
|
||||
@@ -11,16 +14,15 @@ See bugid 1236113
|
||||
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
|
||||
@@ -8,7 +8,9 @@
|
||||
@@ -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/timing/worker_global_scope_performance.h"
|
||||
+#include "third_party/blink/renderer/core/workers/worker_global_scope.h"
|
||||
#include "third_party/blink/renderer/platform/scheduler/public/event_loop.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"
|
||||
|
||||
namespace blink {
|
||||
@@ -63,7 +65,11 @@ void WorkerAnimationFrameProvider::BeginFrame(const viz::BeginFrameArgs& args) {
|
||||
}
|
||||
}
|
||||
@@ -3,22 +3,19 @@ Date: Thu, 22 Jul 2021 23:10:52 +0200
|
||||
Subject: Client hints overrides
|
||||
|
||||
Disable critical client hints
|
||||
Hard-code model to SAMSUNG SM-G960U
|
||||
use Google Chrome branding for client hints
|
||||
Use Google Chrome branding for client hints
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
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 | 2 +-
|
||||
third_party/blink/common/client_hints/client_hints.cc | 1 +
|
||||
.../blink/common/client_hints/enabled_client_hints.cc | 4 +++-
|
||||
third_party/blink/common/features.cc | 4 ++--
|
||||
10 files changed, 18 insertions(+), 17 deletions(-)
|
||||
components/embedder_support/user_agent_utils.cc | 4 +---
|
||||
content/browser/client_hints/client_hints.cc | 3 ++-
|
||||
content/browser/loader/navigation_url_loader_impl.cc | 5 +++++
|
||||
content/public/common/content_features.cc | 4 ++--
|
||||
services/network/public/cpp/client_hints.cc | 1 +
|
||||
services/network/public/cpp/features.cc | 2 +-
|
||||
third_party/blink/common/client_hints/client_hints.cc | 1 +
|
||||
.../blink/common/client_hints/enabled_client_hints.cc | 4 +++-
|
||||
8 files changed, 16 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
|
||||
--- a/components/embedder_support/user_agent_utils.cc
|
||||
@@ -62,34 +59,17 @@ 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
|
||||
@@ -248,7 +248,7 @@ BASE_FEATURE(kCrashReporting,
|
||||
@@ -248,8 +248,8 @@ BASE_FEATURE(kCrashReporting,
|
||||
// Enables support for the `Critical-CH` response header.
|
||||
// https://github.com/WICG/client-hints-infrastructure/blob/master/reliability.md#critical-ch
|
||||
BASE_FEATURE(kCriticalClientHint,
|
||||
"CriticalClientHint",
|
||||
- "CriticalClientHint",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "CriticalClientHint", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
// Enable debugging the issue crbug.com/1201355
|
||||
BASE_FEATURE(kDebugHistoryInterventionNoUserActivation,
|
||||
@@ -107,12 +87,12 @@ 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,
|
||||
@@ -198,7 +198,7 @@ BASE_FEATURE(kWebSocketReassembleShortMessages,
|
||||
// Enable support for ACCEPT_CH H2/3 frame as part of Client Hint Reliability.
|
||||
// See:
|
||||
// https://tools.ietf.org/html/draft-davidben-http-client-hint-reliability-02#section-4.3
|
||||
-BASE_FEATURE(kAcceptCHFrame, "AcceptCHFrame", base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+BASE_FEATURE(kAcceptCHFrame, "AcceptCHFrame", base::FEATURE_DISABLED_BY_DEFAULT); // disabled by default
|
||||
+BASE_FEATURE(kAcceptCHFrame, "AcceptCHFrame", base::FEATURE_DISABLED_BY_DEFAULT); // disabled by default in Bromite
|
||||
|
||||
BASE_FEATURE(kSCTAuditingRetryReports,
|
||||
"SCTAuditingRetryReports",
|
||||
@@ -155,26 +135,5 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi
|
||||
for (const auto& elem : network::GetClientHintToNameMap()) {
|
||||
const auto& type = elem.first;
|
||||
if (IsEnabled(type))
|
||||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -553,7 +553,7 @@ BASE_FEATURE(kAudioWorkletThreadRealtimePriority,
|
||||
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
|
||||
@@ -1091,7 +1091,7 @@ BASE_FEATURE(kForceMajorVersionInMinorPositionInUserAgent,
|
||||
// Enable `sec-ch-device-memory` client hint.
|
||||
BASE_FEATURE(kClientHintsDeviceMemory,
|
||||
"ClientHintsDeviceMemory",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
// Enable `sec-ch-dpr` client hint.
|
||||
BASE_FEATURE(kClientHintsDPR,
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -763,7 +763,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/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
|
||||
@@ -43,6 +43,7 @@ import org.chromium.content_public.browser.ContentFeatureList;
|
||||
@@ -42,6 +42,7 @@ import org.chromium.content_public.browser.ContentFeatureList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -771,7 +771,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
|
||||
/**
|
||||
* Shows the permissions and other settings for a particular website.
|
||||
@@ -172,7 +173,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
|
||||
@@ -171,7 +172,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
|
||||
case ContentSettingsType.CLIPBOARD_READ_WRITE:
|
||||
return "clipboard_permission_list";
|
||||
default:
|
||||
@@ -780,7 +780,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
}
|
||||
}
|
||||
|
||||
@@ -505,7 +506,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
|
||||
@@ -504,7 +505,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
|
||||
|
||||
private void setupContentSettingsPreferences() {
|
||||
mMaxPermissionOrder = findPreference(PREF_PERMISSIONS_HEADER).getOrder();
|
||||
@@ -818,7 +818,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
switchPreference.setOnPreferenceChangeListener(this);
|
||||
@ContentSettingsType
|
||||
int contentType = getContentSettingsTypeFromPreferenceKey(preference.getKey());
|
||||
@@ -1216,7 +1224,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
|
||||
@@ -1206,7 +1214,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
|
||||
}
|
||||
|
||||
mSite.setContentSetting(browserContextHandle, type, permission);
|
||||
@@ -929,7 +929,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
|
||||
@@ -282,6 +282,10 @@ public final class Website implements WebsiteEntry {
|
||||
@@ -277,6 +277,10 @@ public final class Website implements WebsiteEntry {
|
||||
/*isEmbargoed=*/false);
|
||||
setContentSettingException(type, exception);
|
||||
}
|
||||
@@ -955,7 +955,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
|
||||
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
|
||||
@@ -248,7 +248,7 @@ public class WebsitePreferenceBridge {
|
||||
@@ -246,7 +246,7 @@ public class WebsitePreferenceBridge {
|
||||
case ContentSettingsType.TIMEZONE_OVERRIDE:
|
||||
return true;
|
||||
default:
|
||||
@@ -1120,7 +1120,7 @@ diff --git a/components/content_settings/core/browser/website_settings_registry.
|
||||
diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java b/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java
|
||||
--- a/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java
|
||||
+++ b/components/page_info/android/java/src/org/chromium/components/page_info/PermissionParamsListBuilder.java
|
||||
@@ -109,6 +109,7 @@ public class PermissionParamsListBuilder {
|
||||
@@ -104,6 +104,7 @@ public class PermissionParamsListBuilder {
|
||||
permissionParams.allowed = true;
|
||||
break;
|
||||
case ContentSettingValues.BLOCK:
|
||||
@@ -1153,8 +1153,8 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
|
||||
+
|
||||
std::map<ContentSettingsType, ContentSetting>
|
||||
user_specified_settings_to_display;
|
||||
std::map<ContentSettingsType, bool>
|
||||
@@ -242,6 +251,15 @@ absl::optional<ContentSetting> PageInfoControllerAndroid::GetSettingToDisplay(
|
||||
|
||||
@@ -236,6 +245,15 @@ absl::optional<ContentSetting> PageInfoControllerAndroid::GetSettingToDisplay(
|
||||
// The images content setting should show up if it is blocked globally
|
||||
// to give users an easy way to create exceptions.
|
||||
return permission.default_setting;
|
||||
@@ -1173,14 +1173,14 @@ 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
|
||||
@@ -25,6 +25,7 @@
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "components/browser_ui/util/android/url_constants.h"
|
||||
#include "components/browsing_data/content/local_storage_helper.h"
|
||||
#include "components/content_settings/browser/page_specific_content_settings.h"
|
||||
#include "components/content_settings/browser/ui/cookie_controls_controller.h"
|
||||
+#include "components/content_settings/core/browser/website_settings_registry.h"
|
||||
#include "components/content_settings/browser/ui/cookie_controls_controller.h"
|
||||
#include "components/content_settings/core/browser/content_settings_registry.h"
|
||||
#include "components/content_settings/core/browser/content_settings_utils.h"
|
||||
#include "components/content_settings/core/browser/host_content_settings_map.h"
|
||||
@@ -167,6 +168,15 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info,
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -13,16 +13,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../init/ProcessInitializationHandler.java | 8 ------
|
||||
.../browser/ntp/search/SearchBoxMediator.java | 1 -
|
||||
.../chrome/browser/share/LensUtils.java | 12 +--------
|
||||
.../flags/android/chrome_feature_list.cc | 2 +-
|
||||
.../flags/android/chrome_feature_list.cc | 4 +--
|
||||
.../browser/flags/CachedFeatureFlags.java | 2 +-
|
||||
chrome/browser/ui/android/omnibox/BUILD.gn | 2 --
|
||||
.../browser/omnibox/LocationBarMediator.java | 1 -
|
||||
13 files changed, 3 insertions(+), 77 deletions(-)
|
||||
13 files changed, 4 insertions(+), 78 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -409,7 +409,6 @@ if (current_toolchain == default_toolchain) {
|
||||
@@ -408,7 +408,6 @@ if (current_toolchain == default_toolchain) {
|
||||
"//chrome/browser/first_run/android:java",
|
||||
"//chrome/browser/flags:java",
|
||||
"//chrome/browser/fullscreen/android:java",
|
||||
@@ -30,7 +30,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
"//chrome/browser/history_clusters:java",
|
||||
"//chrome/browser/history_clusters:java_resources",
|
||||
"//chrome/browser/image_descriptions:java",
|
||||
@@ -1004,7 +1003,6 @@ if (current_toolchain == default_toolchain) {
|
||||
@@ -1002,7 +1001,6 @@ if (current_toolchain == default_toolchain) {
|
||||
"//chrome/browser/flags:flags_junit_tests",
|
||||
"//chrome/browser/flags:java",
|
||||
"//chrome/browser/fullscreen/android:java",
|
||||
@@ -38,7 +38,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
"//chrome/browser/history_clusters:java",
|
||||
"//chrome/browser/image_descriptions:java",
|
||||
"//chrome/browser/image_editor/public:java",
|
||||
@@ -1522,7 +1520,6 @@ if (current_toolchain == default_toolchain) {
|
||||
@@ -1517,7 +1515,6 @@ if (current_toolchain == default_toolchain) {
|
||||
"//chrome/browser/first_run/android:java",
|
||||
"//chrome/browser/flags:java",
|
||||
"//chrome/browser/fullscreen/android:java",
|
||||
@@ -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
|
||||
@@ -358,14 +358,6 @@ public class ProcessInitializationHandler {
|
||||
@@ -360,14 +360,6 @@ public class ProcessInitializationHandler {
|
||||
}
|
||||
});
|
||||
|
||||
@@ -262,12 +262,14 @@ 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
|
||||
@@ -785,7 +785,7 @@ BASE_FEATURE(kDuetTabStripIntegrationAndroid,
|
||||
@@ -750,8 +750,8 @@ BASE_FEATURE(kDuetTabStripIntegrationAndroid,
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kExperimentsForAgsa,
|
||||
"ExperimentsForAgsa",
|
||||
- "ExperimentsForAgsa",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "ExperimentsForAgsa", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
BASE_FEATURE(kExploreSites, "ExploreSites", base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -1503,6 +1503,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
@@ -1500,6 +1500,12 @@ Your Google account may have other forms of browsing history like searches and a
|
||||
<message name="IDS_SAFETY_CHECK_BUTTON" desc="Text for the button to start Safety check.">
|
||||
Check now
|
||||
</message>
|
||||
|
||||
@@ -23,8 +23,8 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
|
||||
-#else
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT
|
||||
-#endif
|
||||
+ "AsyncDns", // Bromite guard for this feature to be always disabled
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT // ^
|
||||
+ "AsyncDns", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
|
||||
);
|
||||
|
||||
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
|
||||
|
||||
@@ -4,18 +4,20 @@ Subject: Disable DRM media origin IDs preprovisioning
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
media/base/media_switches.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
media/base/media_switches.cc | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
|
||||
--- a/media/base/media_switches.cc
|
||||
+++ b/media/base/media_switches.cc
|
||||
@@ -844,7 +844,7 @@ BASE_FEATURE(kMediaDrmPersistentLicense,
|
||||
@@ -843,8 +843,8 @@ 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",
|
||||
- "MediaDrmPreprovisioning",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "MediaDrmPreprovisioning", // must be disabled
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
// Determines if MediaDrmOriginIdManager should attempt to pre-provision origin
|
||||
// IDs at startup (whenever a profile is loaded). Also used by tests that
|
||||
|
||||
@@ -11,13 +11,13 @@ Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../java/res/xml/privacy_preferences.xml | 4 ---
|
||||
.../privacy/settings/PrivacySettings.java | 22 ------------
|
||||
.../privacy/settings/PrivacySettings.java | 23 ------------
|
||||
.../browser/chrome_content_browser_client.cc | 3 ++
|
||||
.../history/core/browser/history_backend.cc | 13 +------
|
||||
.../privacy_sandbox/privacy_sandbox_prefs.cc | 2 +-
|
||||
.../privacy_sandbox_settings.cc | 35 +++++++++++--------
|
||||
.../privacy_sandbox_settings.h | 1 -
|
||||
7 files changed, 25 insertions(+), 55 deletions(-)
|
||||
7 files changed, 25 insertions(+), 56 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/privacy_preferences.xml
|
||||
@@ -36,15 +36,16 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
|
||||
@@ -58,7 +58,6 @@ public class PrivacySettings
|
||||
@@ -58,8 +58,6 @@ public class PrivacySettings
|
||||
private static final String PREF_SECURE_DNS = "secure_dns";
|
||||
private static final String PREF_DO_NOT_TRACK = "do_not_track";
|
||||
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
|
||||
- private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
|
||||
private static final String PREF_PROXY_OPTIONS = "proxy";
|
||||
- private static final String PREF_PROXY_OPTIONS = "proxy";
|
||||
private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
|
||||
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
|
||||
@@ -86,21 +85,6 @@ public class PrivacySettings
|
||||
|
||||
@@ -86,21 +84,6 @@ public class PrivacySettings
|
||||
SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences);
|
||||
getActivity().setTitle(R.string.prefs_privacy_security);
|
||||
|
||||
@@ -66,7 +67,7 @@ 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 +204,6 @@ public class PrivacySettings
|
||||
@@ -220,12 +203,6 @@ public class PrivacySettings
|
||||
secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
|
||||
}
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@ Subject: Disable NTP remote suggestions by default
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
components/feed/core/shared_prefs/pref_names.cc | 4 ++--
|
||||
components/ntp_snippets/features.cc | 4 ++--
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
components/ntp_snippets/features.cc | 8 ++++----
|
||||
2 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/core/shared_prefs/pref_names.cc
|
||||
--- a/components/feed/core/shared_prefs/pref_names.cc
|
||||
@@ -25,21 +25,25 @@ 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
|
||||
@@ -40,7 +40,7 @@ const base::Feature* const kAllFeatures[] = {
|
||||
@@ -39,8 +39,8 @@ const base::Feature* const kAllFeatures[] = {
|
||||
&kOptionalImagesEnabledFeature};
|
||||
|
||||
BASE_FEATURE(kArticleSuggestionsFeature,
|
||||
"NTPArticleSuggestions",
|
||||
- "NTPArticleSuggestions",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "NTPArticleSuggestions", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
BASE_FEATURE(kRemoteSuggestionsEmulateM58FetchingSchedule,
|
||||
"RemoteSuggestionsEmulateM58FetchingSchedule",
|
||||
@@ -72,7 +72,7 @@ const char kNotificationsIgnoredLimitParam[] = "ignored_limit";
|
||||
@@ -71,8 +71,8 @@ const char kNotificationsDailyLimit[] = "daily_limit";
|
||||
const char kNotificationsIgnoredLimitParam[] = "ignored_limit";
|
||||
|
||||
BASE_FEATURE(kKeepPrefetchedContentSuggestions,
|
||||
"KeepPrefetchedContentSuggestions",
|
||||
- "KeepPrefetchedContentSuggestions",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "KeepPrefetchedContentSuggestions", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
BASE_FEATURE(kOptionalImagesEnabledFeature,
|
||||
"NTPRemoteSuggestionsOptionalImages",
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Wed, 16 Nov 2022 11:18:07 +0100
|
||||
Subject: Disable StartSurface feature
|
||||
|
||||
This feature would normally show a search box but leads to crashes.
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
|
||||
@@ -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
|
||||
@@ -39,7 +39,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
|
||||
@@ -5021,6 +5021,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -5016,6 +5016,12 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
{"enable-tls13-early-data", flag_descriptions::kEnableTLS13EarlyDataName,
|
||||
flag_descriptions::kEnableTLS13EarlyDataDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(net::features::kEnableTLS13EarlyData)},
|
||||
@@ -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
|
||||
@@ -592,6 +592,12 @@ extern const char kEnablePreinstalledWebAppDuplicationFixerDescription[];
|
||||
@@ -595,6 +595,12 @@ extern const char kEnablePreinstalledWebAppDuplicationFixerDescription[];
|
||||
extern const char kEnableTLS13EarlyDataName[];
|
||||
extern const char kEnableTLS13EarlyDataDescription[];
|
||||
|
||||
@@ -89,9 +89,9 @@ 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
|
||||
@@ -69,6 +69,14 @@ BASE_FEATURE(kEnableTLS13EarlyData,
|
||||
"EnableTLS13EarlyData",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
@@ -61,6 +61,14 @@ const base::FeatureParam<base::TimeDelta> kUseDnsHttpsSvcbSecureExtraTimeMin{
|
||||
&kUseDnsHttpsSvcb, "UseDnsHttpsSvcbSecureExtraTimeMin",
|
||||
base::Milliseconds(5)};
|
||||
|
||||
+BASE_FEATURE(kDisableTLSResumption,
|
||||
+ "DisableTLSResumption",
|
||||
@@ -101,8 +101,8 @@ diff --git a/net/base/features.cc b/net/base/features.cc
|
||||
+ "LogTLSResumption",
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+
|
||||
BASE_FEATURE(kEncryptedClientHello,
|
||||
"EncryptedClientHello",
|
||||
BASE_FEATURE(kUseDnsHttpsSvcbAlpn,
|
||||
"UseDnsHttpsSvcbAlpn",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
diff --git a/net/base/features.h b/net/base/features.h
|
||||
--- a/net/base/features.h
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Sat, 22 Oct 2022 07:47:07 +0000
|
||||
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
|
||||
|
||||
@@ -7,17 +7,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../chrome_hints_manager.cc | 1 +
|
||||
.../optimization_guide_keyed_service.cc | 1 -
|
||||
chrome/common/chrome_features.cc | 6 ++---
|
||||
chrome/common/chrome_features.cc | 8 ++--
|
||||
.../optimization_guide/core/hints_fetcher.cc | 1 +
|
||||
.../optimization_guide/core/hints_manager.cc | 5 ++++
|
||||
.../core/optimization_guide_features.cc | 24 +++++++++----------
|
||||
.../core/prediction_model_download_manager.cc | 6 +++--
|
||||
.../optimization_guide/core/hints_manager.cc | 5 +++
|
||||
.../core/optimization_guide_features.cc | 38 +++++++++----------
|
||||
.../core/prediction_model_download_manager.cc | 6 ++-
|
||||
.../core/prediction_model_fetcher_impl.cc | 1 +
|
||||
components/optimization_guide/features.gni | 4 +---
|
||||
components/permissions/features.cc | 8 +++----
|
||||
.../segmentation_platform/public/features.cc | 2 +-
|
||||
third_party/blink/common/features.cc | 2 +-
|
||||
12 files changed, 34 insertions(+), 27 deletions(-)
|
||||
components/optimization_guide/features.gni | 4 +-
|
||||
components/permissions/features.cc | 8 ++--
|
||||
third_party/blink/common/features.cc | 8 +---
|
||||
11 files changed, 40 insertions(+), 41 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/browser/optimization_guide/chrome_hints_manager.cc
|
||||
--- a/chrome/browser/optimization_guide/chrome_hints_manager.cc
|
||||
@@ -33,7 +32,7 @@ diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/
|
||||
diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
||||
--- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
||||
+++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
|
||||
@@ -324,7 +324,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
|
||||
@@ -320,7 +320,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
|
||||
void OptimizationGuideKeyedService::RegisterOptimizationTypes(
|
||||
const std::vector<optimization_guide::proto::OptimizationType>&
|
||||
optimization_types) {
|
||||
@@ -50,17 +49,19 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
|
||||
BASE_FEATURE(kPermissionPredictions,
|
||||
- "PermissionPredictions",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ "PermissionPredictions", // always disabled
|
||||
+ "PermissionPredictions", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
// The holdback chance is 30% but it can also be configured/updated
|
||||
// through finch if needed.
|
||||
@@ -896,7 +896,7 @@ const base::FeatureParam<double> kPermissionPredictionsHoldbackChance(
|
||||
@@ -895,8 +895,8 @@ const base::FeatureParam<double> kPermissionPredictionsHoldbackChance(
|
||||
|
||||
// Enables using the prediction service for geolocation permission prompts.
|
||||
BASE_FEATURE(kPermissionGeolocationPredictions,
|
||||
"PermissionGeolocationPredictions",
|
||||
- "PermissionGeolocationPredictions",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // always disabled in Bromite
|
||||
+ "PermissionGeolocationPredictions", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
const base::FeatureParam<double>
|
||||
kPermissionGeolocationPredictionsHoldbackChance(
|
||||
@@ -118,64 +119,73 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
|
||||
|
||||
// Enables fetching from a remote Optimization Guide Service.
|
||||
BASE_FEATURE(kRemoteOptimizationGuideFetching,
|
||||
"OptimizationHintsFetching",
|
||||
- "OptimizationHintsFetching",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // disabled by default in Bromite
|
||||
+ "OptimizationHintsFetching", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
BASE_FEATURE(kRemoteOptimizationGuideFetchingAnonymousDataConsent,
|
||||
- "OptimizationHintsFetchingAnonymousDataConsent",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ "OptimizationHintsFetchingAnonymousDataConsent", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
+ "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.
|
||||
@@ -99,15 +99,15 @@ BASE_FEATURE(kContextMenuPerformanceInfoAndRemoteHintFetching,
|
||||
@@ -98,17 +98,13 @@ BASE_FEATURE(kContextMenuPerformanceInfoAndRemoteHintFetching,
|
||||
|
||||
// Enables the prediction of optimization targets.
|
||||
BASE_FEATURE(kOptimizationTargetPrediction,
|
||||
"OptimizationTargetPrediction",
|
||||
- "OptimizationTargetPrediction",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // disabled by default in Bromite
|
||||
+ "OptimizationTargetPrediction", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
// Enables the downloading of models.
|
||||
BASE_FEATURE(kOptimizationGuideModelDownloading,
|
||||
"OptimizationGuideModelDownloading",
|
||||
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
||||
- "OptimizationGuideModelDownloading",
|
||||
-#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT
|
||||
-#else // BUILD_WITH_TFLITE_LIB
|
||||
base::FEATURE_DISABLED_BY_DEFAULT
|
||||
+#else // BUILD_WITH_TFLITE_LIB
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT // guard this
|
||||
#endif // !BUILD_WITH_TFLITE_LIB
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT
|
||||
-#endif // !BUILD_WITH_TFLITE_LIB
|
||||
+ "OptimizationGuideModelDownloading", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
|
||||
);
|
||||
|
||||
@@ -144,7 +144,7 @@ BASE_FEATURE(kPageEntitiesModelResetOnShutdown,
|
||||
// Enables page content to be annotated.
|
||||
@@ -143,8 +139,8 @@ BASE_FEATURE(kPageEntitiesModelResetOnShutdown,
|
||||
|
||||
// Enables push notification of hints.
|
||||
BASE_FEATURE(kPushNotifications,
|
||||
"OptimizationGuidePushNotifications",
|
||||
- "OptimizationGuidePushNotifications",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // guard this
|
||||
+ "OptimizationGuidePushNotifications", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
// This feature flag does not turn off any behavior, it is only used for
|
||||
// experiment parameters.
|
||||
@@ -159,14 +159,14 @@ BASE_FEATURE(kOptimizationGuideMetadataValidation,
|
||||
@@ -158,15 +154,15 @@ BASE_FEATURE(kOptimizationGuideMetadataValidation,
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kPageTopicsBatchAnnotations,
|
||||
"PageTopicsBatchAnnotations",
|
||||
- "PageTopicsBatchAnnotations",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "PageTopicsBatchAnnotations", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
BASE_FEATURE(kPageVisibilityBatchAnnotations,
|
||||
"PageVisibilityBatchAnnotations",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kUseLocalPageEntitiesMetadataProvider,
|
||||
"UseLocalPageEntitiesMetadataProvider",
|
||||
- "UseLocalPageEntitiesMetadataProvider",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // guard this
|
||||
+ "UseLocalPageEntitiesMetadataProvider", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
BASE_FEATURE(kPageContentAnnotationsValidation,
|
||||
"PageContentAnnotationsValidation",
|
||||
@@ -408,7 +408,7 @@ size_t MaxURLKeyedHintCacheSize() {
|
||||
@@ -408,7 +404,7 @@ size_t MaxURLKeyedHintCacheSize() {
|
||||
|
||||
bool ShouldPersistHintsToDisk() {
|
||||
return GetFieldTrialParamByFeatureAsBool(kOptimizationHints,
|
||||
@@ -255,40 +265,34 @@ diff --git a/components/permissions/features.cc b/components/permissions/feature
|
||||
BASE_FEATURE(kPermissionPredictionServiceUseUrlOverride,
|
||||
- "kPermissionPredictionServiceUseUrlOverride",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "kPermissionPredictionServiceUseUrlOverride", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
+ "kPermissionPredictionServiceUseUrlOverride", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
BASE_FEATURE(kPermissionOnDeviceNotificationPredictions,
|
||||
- "PermissionOnDeviceNotificationPredictions",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ "PermissionOnDeviceNotificationPredictions", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
+ "PermissionOnDeviceNotificationPredictions", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
BASE_FEATURE(kPermissionOnDeviceGeolocationPredictions,
|
||||
"PermissionOnDeviceGeolocationPredictions",
|
||||
diff --git a/components/segmentation_platform/public/features.cc b/components/segmentation_platform/public/features.cc
|
||||
--- a/components/segmentation_platform/public/features.cc
|
||||
+++ b/components/segmentation_platform/public/features.cc
|
||||
@@ -35,7 +35,7 @@ BASE_FEATURE(kSegmentationPlatformSearchUser,
|
||||
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);
|
||||
#endif
|
||||
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
|
||||
--- a/third_party/blink/common/features.cc
|
||||
+++ b/third_party/blink/common/features.cc
|
||||
@@ -216,7 +216,7 @@ BASE_FEATURE(kMixedContentAutoupgrade,
|
||||
@@ -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)
|
||||
- "NavigationPredictor",
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT
|
||||
#else
|
||||
base::FEATURE_DISABLED_BY_DEFAULT
|
||||
#endif
|
||||
-#else
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT
|
||||
-#endif
|
||||
+ "NavigationPredictor", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT // in Bromite
|
||||
);
|
||||
|
||||
// Anchor Element Interaction
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
|
||||
@@ -876,7 +876,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -851,7 +851,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;
|
||||
}
|
||||
@@ -911,8 +911,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
@@ -886,8 +886,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
|
||||
preferenceManager.writeBoolean(
|
||||
ChromePreferenceKeys.PROMOS_SKIPPED_ON_FIRST_START, true);
|
||||
}
|
||||
@@ -29,6 +29,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
|
||||
+ return false;
|
||||
}
|
||||
|
||||
private boolean maybeShowPromo() {
|
||||
@VisibleForTesting
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -11,40 +11,50 @@ being sent and being saved to disk, although it is currently in uncalled code.
|
||||
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../browser/flags/android/chrome_feature_list.cc | 2 +-
|
||||
.../embedder_support/origin_trials/features.cc | 2 +-
|
||||
.../browser/flags/android/chrome_feature_list.cc | 4 ++--
|
||||
.../embedder_support/origin_trials/features.cc | 8 ++++----
|
||||
.../render_view_context_menu_base.cc | 3 ---
|
||||
.../aggregatable_report_sender.cc | 15 +++++++--------
|
||||
.../attribution_reporting/attribution_host.cc | 1 +
|
||||
.../attribution_report_network_sender.cc | 15 ++++++++-------
|
||||
.../attribution_storage_sql.cc | 4 +++-
|
||||
.../attribution_storage_sql.cc | 8 +++++---
|
||||
content/browser/storage_partition_impl.cc | 7 +------
|
||||
content/public/browser/navigation_controller.cc | 1 -
|
||||
third_party/blink/common/features.cc | 2 +-
|
||||
third_party/blink/common/features.cc | 4 ++--
|
||||
.../platform/runtime_enabled_features.json5 | 7 +++++++
|
||||
11 files changed, 30 insertions(+), 29 deletions(-)
|
||||
11 files changed, 37 insertions(+), 36 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
|
||||
@@ -530,7 +530,7 @@ BASE_FEATURE(kAppMenuMobileSiteOption,
|
||||
@@ -521,8 +521,8 @@ BASE_FEATURE(kAppMenuMobileSiteOption,
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kAppToWebAttribution,
|
||||
"AppToWebAttribution",
|
||||
- "AppToWebAttribution",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // guard this
|
||||
+ "AppToWebAttribution", // must be disabled
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
BASE_FEATURE(kBackgroundThreadPool,
|
||||
"BackgroundThreadPool",
|
||||
diff --git a/components/embedder_support/origin_trials/features.cc b/components/embedder_support/origin_trials/features.cc
|
||||
--- a/components/embedder_support/origin_trials/features.cc
|
||||
+++ b/components/embedder_support/origin_trials/features.cc
|
||||
@@ -19,6 +19,6 @@ BASE_FEATURE(kOriginTrialsSampleAPIThirdPartyAlternativeUsage,
|
||||
@@ -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
|
||||
|
||||
BASE_FEATURE(kConversionMeasurementAPIAlternativeUsage,
|
||||
"ConversionMeasurementAPIAlternativeUsage",
|
||||
- "ConversionMeasurementAPIAlternativeUsage",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "ConversionMeasurementAPIAlternativeUsage", // must be disabled
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
} // namespace embedder_support
|
||||
diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b/components/renderer_context_menu/render_view_context_menu_base.cc
|
||||
@@ -145,15 +155,19 @@ diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/
|
||||
} // namespace
|
||||
|
||||
// static
|
||||
@@ -433,7 +435,7 @@ bool AttributionStorageSql::DeleteStorageForTesting(
|
||||
@@ -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)),
|
||||
+ ? base::FilePath()
|
||||
+ : DatabasePath(user_data_directory)),
|
||||
delegate_(std::move(delegate)),
|
||||
rate_limit_table_(delegate_.get()) {
|
||||
DCHECK(delegate_);
|
||||
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc
|
||||
--- a/content/browser/storage_partition_impl.cc
|
||||
+++ b/content/browser/storage_partition_impl.cc
|
||||
@@ -185,12 +199,14 @@ 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
|
||||
@@ -106,7 +106,7 @@ BASE_FEATURE(kBlockingDownloadsInAdFrameWithoutUserActivation,
|
||||
@@ -105,8 +105,8 @@ BASE_FEATURE(kBlockingDownloadsInAdFrameWithoutUserActivation,
|
||||
|
||||
// Controls whether the Conversion Measurement API infrastructure is enabled.
|
||||
BASE_FEATURE(kConversionMeasurement,
|
||||
"ConversionMeasurement",
|
||||
- "ConversionMeasurement",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "ConversionMeasurement", // must be disabled
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
// Controls whether LCP calculations should exclude low-entropy images. If
|
||||
// enabled, then the associated parameter sets the cutoff, expressed as the
|
||||
|
||||
@@ -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,
|
||||
@@ -242,8 +242,8 @@ BASE_FEATURE(kCooperativeScheduling,
|
||||
// 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 on Bromite
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // ^
|
||||
+ "CrashReporting", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
// Enables support for the `Critical-CH` response header.
|
||||
// https://github.com/WICG/client-hints-infrastructure/blob/master/reliability.md#critical-ch
|
||||
|
||||
@@ -6,8 +6,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../org/chromium/chrome/browser/feed/FeedFeatures.java | 8 +-------
|
||||
.../chromium/chrome/browser/flags/CachedFeatureFlags.java | 2 +-
|
||||
components/feed/feed_feature_list.cc | 4 ++--
|
||||
3 files changed, 4 insertions(+), 10 deletions(-)
|
||||
components/feed/feed_feature_list.cc | 8 ++++----
|
||||
3 files changed, 6 insertions(+), 12 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
|
||||
@@ -42,19 +42,22 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
|
||||
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
|
||||
@@ -18,13 +18,13 @@ namespace feed {
|
||||
@@ -17,14 +17,14 @@
|
||||
namespace feed {
|
||||
|
||||
BASE_FEATURE(kInterestFeedContentSuggestions,
|
||||
"InterestFeedContentSuggestions",
|
||||
- "InterestFeedContentSuggestions",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "InterestFeedContentSuggestions", // must be disabled
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default in Bromite
|
||||
// InterestFeedV2 takes precedence over InterestFeedContentSuggestions.
|
||||
// InterestFeedV2 is cached in ChromeCachedFlags. If the default value here is
|
||||
// changed, please update the cached one's default value in CachedFeatureFlags.
|
||||
BASE_FEATURE(kInterestFeedV2,
|
||||
"InterestFeedV2",
|
||||
- "InterestFeedV2",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "InterestFeedV2", // must be disabled
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // by default in Bromite
|
||||
|
||||
BASE_FEATURE(kInterestFeedV2Autoplay,
|
||||
"InterestFeedV2Autoplay",
|
||||
|
||||
@@ -2,7 +2,8 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sun, 8 Jul 2018 18:16:34 +0200
|
||||
Subject: Disable fetching of all field trials
|
||||
|
||||
Disable seed-based field trials
|
||||
Disable seed-based field trials.
|
||||
Disable reporting of Omnibox suggestions header.
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
@@ -12,12 +13,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
components/ukm/ukm_recorder_impl.cc | 3 +++
|
||||
.../firstrun/VariationsSeedBridge.java | 2 +-
|
||||
.../firstrun/VariationsSeedFetcher.java | 26 ++++---------------
|
||||
.../variations/net/omnibox_http_headers.cc | 2 +-
|
||||
.../variations/net/omnibox_http_headers.cc | 4 +--
|
||||
.../variations/net/variations_http_headers.cc | 3 +++
|
||||
.../service/variations_field_trial_creator.cc | 3 ++-
|
||||
.../variations/service/variations_service.cc | 15 +++--------
|
||||
.../renderer/core/loader/document_loader.cc | 7 -----
|
||||
11 files changed, 22 insertions(+), 47 deletions(-)
|
||||
11 files changed, 23 insertions(+), 48 deletions(-)
|
||||
|
||||
diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/BUILD.gn
|
||||
--- a/android_webview/nonembedded/BUILD.gn
|
||||
@@ -145,12 +146,14 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari
|
||||
diff --git a/components/variations/net/omnibox_http_headers.cc b/components/variations/net/omnibox_http_headers.cc
|
||||
--- a/components/variations/net/omnibox_http_headers.cc
|
||||
+++ b/components/variations/net/omnibox_http_headers.cc
|
||||
@@ -22,7 +22,7 @@ const char kOmniboxOnDeviceSuggestionsHeader[] =
|
||||
@@ -21,8 +21,8 @@ const char kOmniboxOnDeviceSuggestionsHeader[] =
|
||||
// Whether to enable reporting the header. Included as a quick escape hatch in
|
||||
// case of crashes.
|
||||
BASE_FEATURE(kReportOmniboxOnDeviceSuggestionsHeader,
|
||||
"ReportOmniboxOnDeviceSuggestionsHeader",
|
||||
- "ReportOmniboxOnDeviceSuggestionsHeader",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "ReportOmniboxOnDeviceSuggestionsHeader", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
std::string GetHeaderValue() {
|
||||
const std::string group =
|
||||
|
||||
@@ -10,7 +10,7 @@ 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);
|
||||
@@ -480,7 +480,7 @@ BASE_FEATURE(kGreaseUACH, "GreaseUACH", base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
// This is intended as a kill switch for the Idle Detection feature. To enable
|
||||
// this feature, the experimental web platform features flag should be set,
|
||||
// or the site should obtain an Origin Trial token.
|
||||
|
||||
@@ -4,18 +4,20 @@ Subject: Disable lock icon in address bar by default
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
components/omnibox/common/omnibox_features.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
components/omnibox/common/omnibox_features.cc | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/common/omnibox_features.cc
|
||||
--- a/components/omnibox/common/omnibox_features.cc
|
||||
+++ b/components/omnibox/common/omnibox_features.cc
|
||||
@@ -434,7 +434,7 @@ BASE_FEATURE(kSiteSearchStarterPack,
|
||||
@@ -433,8 +433,8 @@ BASE_FEATURE(kSiteSearchStarterPack,
|
||||
|
||||
// Experiment to introduce new security indicators for HTTPS.
|
||||
BASE_FEATURE(kUpdatedConnectionSecurityIndicators,
|
||||
"OmniboxUpdatedConnectionSecurityIndicators",
|
||||
- "OmniboxUpdatedConnectionSecurityIndicators",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ "OmniboxUpdatedConnectionSecurityIndicators", // enabled by default
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
// Feature used to default typed navigations to use HTTPS instead of HTTP.
|
||||
// This only applies to navigations that don't have a scheme such as
|
||||
|
||||
@@ -4,18 +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 | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
components/offline_pages/core/offline_page_feature.cc | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/components/offline_pages/core/offline_page_feature.cc b/components/offline_pages/core/offline_page_feature.cc
|
||||
--- a/components/offline_pages/core/offline_page_feature.cc
|
||||
+++ b/components/offline_pages/core/offline_page_feature.cc
|
||||
@@ -42,7 +42,7 @@ BASE_FEATURE(kOfflinePagesDescriptivePendingStatusFeature,
|
||||
@@ -41,8 +41,8 @@ BASE_FEATURE(kOfflinePagesDescriptivePendingStatusFeature,
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kOfflinePagesInDownloadHomeOpenInCctFeature,
|
||||
"OfflinePagesInDownloadHomeOpenInCct",
|
||||
- "OfflinePagesInDownloadHomeOpenInCct",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "OfflinePagesInDownloadHomeOpenInCct", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
BASE_FEATURE(kOfflineIndicatorFeature,
|
||||
"OfflineIndicator",
|
||||
|
||||
@@ -11,8 +11,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../res/xml/google_services_preferences.xml | 5 --
|
||||
.../android/java/res/xml/main_preferences.xml | 5 --
|
||||
.../java/res/xml/privacy_preferences.xml | 9 ---
|
||||
.../privacy/settings/PrivacySettings.java | 40 ----------
|
||||
.../java/res/xml/privacy_preferences.xml | 9 --
|
||||
.../privacy/settings/PrivacySettings.java | 40 ---------
|
||||
.../SafeBrowsingSettingsLauncher.java | 8 --
|
||||
.../usage_stats/UsageStatsConsentDialog.java | 5 --
|
||||
.../android/chrome_main_delegate_android.cc | 1 +
|
||||
@@ -22,47 +22,47 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
chrome/browser/browser_process_impl.cc | 29 -------
|
||||
chrome/browser/browser_process_impl.h | 4 -
|
||||
.../chrome_browsing_data_remover_delegate.cc | 2 +
|
||||
.../browser/chrome_content_browser_client.cc | 32 ++++----
|
||||
.../browser/chrome_content_browser_client.cc | 32 +++----
|
||||
.../browser/chrome_content_browser_client.h | 2 +
|
||||
...ontent_browser_client_receiver_bindings.cc | 2 +
|
||||
.../file_type_policies_component_installer.cc | 16 +---
|
||||
.../browser/component_updater/registration.cc | 7 --
|
||||
.../chrome_download_manager_delegate.cc | 46 +++++------
|
||||
.../chrome_download_manager_delegate.cc | 46 +++++-----
|
||||
.../chrome_download_manager_delegate.h | 8 +-
|
||||
.../browser/download/download_item_model.cc | 15 +++-
|
||||
chrome/browser/download/download_item_model.h | 4 +
|
||||
chrome/browser/download/download_prefs.cc | 17 ++--
|
||||
chrome/browser/download/download_stats.cc | 6 ++
|
||||
.../download/download_target_determiner.cc | 66 +++++-----------
|
||||
.../download/download_target_determiner.cc | 66 +++++----------
|
||||
.../download/download_target_determiner.h | 6 ++
|
||||
.../browser/download/download_target_info.cc | 4 +
|
||||
.../browser/download/download_target_info.h | 4 +
|
||||
chrome/browser/download/download_ui_model.cc | 4 +
|
||||
chrome/browser/download/download_ui_model.h | 4 +
|
||||
.../extensions/api/downloads/downloads_api.cc | 41 +---------
|
||||
.../extensions/api/downloads/downloads_api.cc | 41 +--------
|
||||
.../extensions/api/downloads/downloads_api.h | 12 ---
|
||||
.../webstore_private/webstore_private_api.cc | 18 +----
|
||||
...e_file_system_access_permission_context.cc | 12 +++
|
||||
.../webstore_private/webstore_private_api.cc | 18 +---
|
||||
...e_file_system_access_permission_context.cc | 12 ++-
|
||||
...me_file_system_access_permission_context.h | 5 +-
|
||||
.../lookalike_url_controller_client.cc | 4 -
|
||||
.../metrics/chrome_metrics_service_client.cc | 3 -
|
||||
...ial_comparison_cert_verifier_controller.cc | 3 -
|
||||
.../chrome_password_manager_client.cc | 25 +-----
|
||||
.../chrome_password_manager_client.cc | 28 +------
|
||||
.../permissions/chrome_permissions_client.cc | 14 ----
|
||||
.../permissions/chrome_permissions_client.h | 3 -
|
||||
.../permission_revocation_request.cc | 6 ++
|
||||
...quiet_notification_permission_ui_config.cc | 4 +-
|
||||
chrome/browser/prefs/browser_prefs.cc | 3 +
|
||||
chrome/browser/privacy_guide/android/BUILD.gn | 1 -
|
||||
chrome/browser/privacy_guide/android/BUILD.gn | 2 -
|
||||
.../privacy_guide/PrivacyGuideFragment.java | 3 -
|
||||
.../PrivacyGuidePagerAdapter.java | 8 +-
|
||||
.../PrivacyGuidePagerAdapter.java | 2 -
|
||||
.../privacy_guide/StepDisplayHandlerImpl.java | 2 +-
|
||||
...hrome_browser_main_extra_parts_profiles.cc | 4 +-
|
||||
chrome/browser/profiles/profile_impl.cc | 4 +-
|
||||
chrome/browser/safe_browsing/BUILD.gn | 4 +-
|
||||
chrome/browser/safe_browsing/android/BUILD.gn | 4 -
|
||||
.../safe_browsing/SafeBrowsingBridge.java | 79 -------------------
|
||||
.../android/safe_browsing_bridge.cc | 59 --------------
|
||||
.../safe_browsing/SafeBrowsingBridge.java | 83 -------------------
|
||||
.../android/safe_browsing_bridge.cc | 59 -------------
|
||||
.../download_protection_service.cc | 2 +
|
||||
.../download_protection_service.h | 3 +-
|
||||
.../url_lookup_service_factory.cc | 4 +
|
||||
@@ -70,7 +70,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../browser/ssl/security_state_tab_helper.cc | 10 +--
|
||||
...urce_filter_web_contents_helper_factory.cc | 4 +
|
||||
chrome/browser/ui/BUILD.gn | 2 -
|
||||
.../strings/android_chrome_strings.grd | 21 -----
|
||||
.../strings/android_chrome_strings.grd | 9 --
|
||||
chrome/browser/ui/tab_helpers.cc | 8 ++
|
||||
.../ui/webui/interstitials/interstitial_ui.cc | 12 +--
|
||||
chrome/common/safe_browsing/BUILD.gn | 7 --
|
||||
@@ -84,18 +84,18 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../permissions/permission_request_manager.cc | 5 +-
|
||||
.../safe_browsing/content/browser/BUILD.gn | 1 -
|
||||
.../content/common/file_type_policies.cc | 3 +-
|
||||
.../safe_browsing/core/common/features.cc | 2 +-
|
||||
.../content/captive_portal_blocking_page.cc | 9 ++-
|
||||
.../content/cert_report_helper.cc | 2 -
|
||||
.../safe_browsing/core/common/features.cc | 4 +-
|
||||
.../content/captive_portal_blocking_page.cc | 9 +-
|
||||
.../content/cert_report_helper.cc | 5 +-
|
||||
.../unified_consent_service.cc | 2 +-
|
||||
.../file_system_access_file_writer_impl.cc | 3 +-
|
||||
.../file_system_access_file_writer_impl.h | 5 --
|
||||
.../file_system_access_safe_move_helper.cc | 48 +----------
|
||||
.../file_system_access_safe_move_helper.cc | 14 +---
|
||||
.../file_system_access_safe_move_helper.h | 8 +-
|
||||
.../file_system_access_permission_context.h | 6 --
|
||||
weblayer/BUILD.gn | 4 -
|
||||
weblayer/test/BUILD.gn | 1 -
|
||||
86 files changed, 212 insertions(+), 720 deletions(-)
|
||||
86 files changed, 215 insertions(+), 678 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/java/res/xml/google_services_preferences.xml b/chrome/android/java/res/xml/google_services_preferences.xml
|
||||
--- a/chrome/android/java/res/xml/google_services_preferences.xml
|
||||
@@ -313,7 +313,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"permissions/crowd_deny_preload_data.cc",
|
||||
"permissions/crowd_deny_preload_data.h",
|
||||
"permissions/crowd_deny_safe_browsing_request.cc",
|
||||
@@ -1515,15 +1509,6 @@ static_library("browser") {
|
||||
@@ -1517,15 +1511,6 @@ static_library("browser") {
|
||||
"renderer_host/chrome_navigation_ui_data.h",
|
||||
"renderer_preferences_util.cc",
|
||||
"renderer_preferences_util.h",
|
||||
@@ -329,7 +329,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"resource_coordinator/resource_coordinator_parts.cc",
|
||||
"resource_coordinator/resource_coordinator_parts.h",
|
||||
"resource_coordinator/session_restore_policy.cc",
|
||||
@@ -2260,11 +2245,8 @@ static_library("browser") {
|
||||
@@ -2262,11 +2247,8 @@ static_library("browser") {
|
||||
"//components/reporting/util:status_macros",
|
||||
"//components/reporting/util:status_proto",
|
||||
"//components/reporting/util:task_runner_context",
|
||||
@@ -341,7 +341,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"//components/safe_browsing/content/browser:safe_browsing_service",
|
||||
"//components/safe_browsing/content/browser/password_protection",
|
||||
"//components/safe_browsing/content/browser/web_ui",
|
||||
@@ -3243,12 +3225,6 @@ static_library("browser") {
|
||||
@@ -3245,12 +3227,6 @@ static_library("browser") {
|
||||
"profiles/profile_manager_android.cc",
|
||||
"profiles/profile_manager_android.h",
|
||||
"query_tiles/android/tile_provider_factory.cc",
|
||||
@@ -354,7 +354,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"safe_browsing/android/password_reuse_controller_android.cc",
|
||||
"safe_browsing/android/password_reuse_controller_android.h",
|
||||
"safe_browsing/android/safe_browsing_referring_app_bridge_android.cc",
|
||||
@@ -3731,8 +3707,6 @@ static_library("browser") {
|
||||
@@ -3733,8 +3709,6 @@ static_library("browser") {
|
||||
"download/download_commands.h",
|
||||
"download/download_crx_util.cc",
|
||||
"download/download_crx_util.h",
|
||||
@@ -363,7 +363,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
||||
"download/download_dir_policy_handler.cc",
|
||||
"download/download_dir_policy_handler.h",
|
||||
"download/download_dir_util.cc",
|
||||
@@ -8257,8 +8231,6 @@ static_library("test_support") {
|
||||
@@ -8259,8 +8233,6 @@ static_library("test_support") {
|
||||
"//components/reporting/util:status_macros",
|
||||
"//components/reporting/util:status_proto",
|
||||
"//components/reporting/util:task_runner_context",
|
||||
@@ -1043,18 +1043,17 @@ diff --git a/chrome/browser/download/download_item_model.cc b/chrome/browser/dow
|
||||
#include "chrome/browser/safe_browsing/download_protection/download_protection_util.h"
|
||||
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
|
||||
#include "chrome/browser/signin/identity_manager_factory.h"
|
||||
@@ -46,9 +48,11 @@
|
||||
@@ -46,8 +48,10 @@
|
||||
#include "components/download/public/common/download_item.h"
|
||||
#include "components/safe_browsing/buildflags.h"
|
||||
#include "components/safe_browsing/content/browser/web_ui/safe_browsing_ui.h"
|
||||
+#if BUILDFLAG(FULL_SAFE_BROWSING)
|
||||
#include "components/safe_browsing/content/common/file_type_policies.h"
|
||||
#include "components/safe_browsing/content/common/proto/download_file_types.pb.h"
|
||||
#include "components/safe_browsing/core/common/features.h"
|
||||
+#endif
|
||||
#include "components/safe_browsing/core/common/features.h"
|
||||
#include "components/signin/public/base/consent_level.h"
|
||||
#include "components/signin/public/identity_manager/account_info.h"
|
||||
#include "components/signin/public/identity_manager/identity_manager.h"
|
||||
@@ -67,7 +71,9 @@
|
||||
|
||||
using download::DownloadItem;
|
||||
@@ -1212,14 +1211,14 @@ diff --git a/chrome/browser/download/download_stats.cc b/chrome/browser/download
|
||||
}
|
||||
|
||||
void RecordOpenedDangerousConfirmDialog(
|
||||
@@ -42,6 +46,7 @@ void RecordOpenedDangerousConfirmDialog(
|
||||
|
||||
void RecordDownloadOpen(ChromeDownloadOpenMethod open_method,
|
||||
const std::string& mime_type_string) {
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
@@ -45,6 +49,7 @@ void RecordDownloadOpen(ChromeDownloadOpenMethod open_method,
|
||||
base::RecordAction(base::UserMetricsAction("Download.Open"));
|
||||
base::UmaHistogramEnumeration("Download.OpenMethod", open_method,
|
||||
DOWNLOAD_OPEN_METHOD_LAST_ENTRY);
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
download::DownloadContent download_content =
|
||||
download::DownloadContentFromMimeType(
|
||||
mime_type_string, /*record_content_subcategory=*/false);
|
||||
@@ -61,6 +66,7 @@ void RecordDownloadOpen(ChromeDownloadOpenMethod open_method,
|
||||
}
|
||||
base::UmaHistogramEnumeration("Download.Open.ContentType", download_content,
|
||||
@@ -1690,28 +1689,27 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
|
||||
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
||||
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
||||
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
||||
@@ -37,8 +37,10 @@
|
||||
@@ -37,8 +37,11 @@
|
||||
#include "chrome/browser/file_system_access/file_system_access_permission_request_manager.h"
|
||||
#include "chrome/browser/installable/installable_utils.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
#include "chrome/browser/safe_browsing/download_protection/download_protection_service.h"
|
||||
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
|
||||
+#include "components/safe_browsing/content/common/file_type_policies.h"
|
||||
+#endif
|
||||
#include "chrome/browser/ui/file_system_access_dialogs.h"
|
||||
#include "chrome/common/chrome_paths.h"
|
||||
#include "chrome/common/pdf_util.h"
|
||||
@@ -48,7 +50,9 @@
|
||||
@@ -48,7 +51,6 @@
|
||||
#include "components/content_settings/core/common/content_settings_utils.h"
|
||||
#include "components/permissions/permission_util.h"
|
||||
#include "components/safe_browsing/buildflags.h"
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
#include "components/safe_browsing/content/common/file_type_policies.h"
|
||||
+#endif
|
||||
-#include "components/safe_browsing/content/common/file_type_policies.h"
|
||||
#include "content/public/browser/browser_task_traits.h"
|
||||
#include "content/public/browser/browser_thread.h"
|
||||
#include "content/public/browser/disallow_activation_reason.h"
|
||||
@@ -146,6 +150,7 @@ void ShowFileSystemAccessRestrictedDirectoryDialogOnUIThread(
|
||||
@@ -146,6 +148,7 @@ void ShowFileSystemAccessRestrictedDirectoryDialogOnUIThread(
|
||||
origin, path, handle_type, std::move(callback), web_contents);
|
||||
}
|
||||
|
||||
@@ -1719,7 +1717,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
|
||||
void ShowFileSystemAccessDangerousFileDialogOnUIThread(
|
||||
content::GlobalRenderFrameHostId frame_id,
|
||||
const url::Origin& origin,
|
||||
@@ -174,6 +179,7 @@ void ShowFileSystemAccessDangerousFileDialogOnUIThread(
|
||||
@@ -174,6 +177,7 @@ void ShowFileSystemAccessDangerousFileDialogOnUIThread(
|
||||
ShowFileSystemAccessDangerousFileDialog(origin, path, std::move(callback),
|
||||
web_contents);
|
||||
}
|
||||
@@ -1727,7 +1725,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
|
||||
|
||||
// Sentinel used to indicate that no PathService key is specified for a path in
|
||||
// the struct below.
|
||||
@@ -344,6 +350,7 @@ BindResultCallbackToCurrentSequence(
|
||||
@@ -344,6 +348,7 @@ BindResultCallbackToCurrentSequence(
|
||||
base::SequencedTaskRunnerHandle::Get(), std::move(callback));
|
||||
}
|
||||
|
||||
@@ -1735,7 +1733,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
|
||||
void DoSafeBrowsingCheckOnUIThread(
|
||||
content::GlobalRenderFrameHostId frame_id,
|
||||
std::unique_ptr<content::FileSystemAccessWriteItem> item,
|
||||
@@ -422,6 +429,7 @@ InterpretSafeBrowsingResult(safe_browsing::DownloadCheckResult result) {
|
||||
@@ -422,6 +427,7 @@ InterpretSafeBrowsingResult(safe_browsing::DownloadCheckResult result) {
|
||||
NOTREACHED();
|
||||
return ChromeFileSystemAccessPermissionContext::AfterWriteCheckResult::kBlock;
|
||||
}
|
||||
@@ -1743,7 +1741,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
|
||||
|
||||
std::string GenerateLastPickedDirectoryKey(const std::string& id) {
|
||||
return id.empty() ? kDefaultLastPickedDirectoryKey
|
||||
@@ -1204,6 +1212,7 @@ void ChromeFileSystemAccessPermissionContext::ConfirmSensitiveEntryAccess(
|
||||
@@ -1204,6 +1210,7 @@ void ChromeFileSystemAccessPermissionContext::ConfirmSensitiveEntryAccess(
|
||||
frame_id, std::move(callback)));
|
||||
}
|
||||
|
||||
@@ -1751,7 +1749,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
|
||||
void ChromeFileSystemAccessPermissionContext::PerformAfterWriteChecks(
|
||||
std::unique_ptr<content::FileSystemAccessWriteItem> item,
|
||||
content::GlobalRenderFrameHostId frame_id,
|
||||
@@ -1225,6 +1234,7 @@ void ChromeFileSystemAccessPermissionContext::PerformAfterWriteChecks(
|
||||
@@ -1225,6 +1232,7 @@ void ChromeFileSystemAccessPermissionContext::PerformAfterWriteChecks(
|
||||
},
|
||||
base::SequencedTaskRunnerHandle::Get(), std::move(callback))));
|
||||
}
|
||||
@@ -1759,22 +1757,22 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
|
||||
|
||||
void ChromeFileSystemAccessPermissionContext::
|
||||
DidConfirmSensitiveDirectoryAccess(
|
||||
@@ -1239,6 +1249,7 @@ void ChromeFileSystemAccessPermissionContext::
|
||||
@@ -1236,6 +1244,7 @@ void ChromeFileSystemAccessPermissionContext::
|
||||
base::OnceCallback<void(SensitiveEntryResult)> callback,
|
||||
bool should_block) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
if (!should_block) {
|
||||
// If attempting to save a file with a dangerous extension, prompt the user
|
||||
// to make them confirm they actually want to save the file.
|
||||
+#if defined(FULL_SAFE_BROWSING)
|
||||
if (user_action == UserAction::kSave) {
|
||||
safe_browsing::DownloadFileType::DangerLevel danger_level =
|
||||
safe_browsing::FileTypePolicies::GetInstance()->GetFileDangerLevel(
|
||||
@@ -1258,6 +1269,7 @@ void ChromeFileSystemAccessPermissionContext::
|
||||
return;
|
||||
}
|
||||
}
|
||||
+#endif
|
||||
@@ -1261,6 +1270,7 @@ void ChromeFileSystemAccessPermissionContext::
|
||||
std::move(callback).Run(SensitiveEntryResult::kAllowed);
|
||||
return;
|
||||
}
|
||||
+#endif
|
||||
|
||||
auto result_callback =
|
||||
BindResultCallbackToCurrentSequence(std::move(callback));
|
||||
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
|
||||
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
|
||||
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
|
||||
@@ -1846,6 +1844,18 @@ diff --git a/chrome/browser/net/trial_comparison_cert_verifier_controller.cc b/c
|
||||
diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc
|
||||
--- a/chrome/browser/password_manager/chrome_password_manager_client.cc
|
||||
+++ b/chrome/browser/password_manager/chrome_password_manager_client.cc
|
||||
@@ -127,10 +127,10 @@
|
||||
#include "ui/base/data_transfer_policy/data_transfer_endpoint.h"
|
||||
#include "url/url_constants.h"
|
||||
|
||||
+#include "third_party/blink/public/mojom/clipboard/clipboard.mojom.h"
|
||||
#if BUILDFLAG(SAFE_BROWSING_AVAILABLE)
|
||||
#include "chrome/browser/safe_browsing/advanced_protection_status_manager.h"
|
||||
#include "chrome/browser/safe_browsing/advanced_protection_status_manager_factory.h"
|
||||
-#include "third_party/blink/public/mojom/clipboard/clipboard.mojom.h"
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -963,21 +963,13 @@ autofill::LanguageCode ChromePasswordManagerClient::GetPageLanguage() const {
|
||||
|
||||
safe_browsing::PasswordProtectionService*
|
||||
@@ -1869,7 +1879,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b
|
||||
}
|
||||
#endif // defined(ON_FOCUS_PING_ENABLED)
|
||||
|
||||
@@ -989,14 +981,6 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry(
|
||||
@@ -989,15 +981,6 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry(
|
||||
bool password_field_exists,
|
||||
uint64_t reused_password_hash,
|
||||
const std::string& domain) {
|
||||
@@ -1881,10 +1891,11 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b
|
||||
- pps->MaybeStartProtectedPasswordEntryRequest(
|
||||
- web_contents(), web_contents()->GetLastCommittedURL(), username,
|
||||
- password_type, matching_reused_credentials, password_field_exists);
|
||||
|
||||
-
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
// If the webpage is not an extension page, do nothing.
|
||||
@@ -1036,11 +1020,6 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry(
|
||||
if (!GURL(domain).SchemeIs(kExtensionScheme)) {
|
||||
@@ -1036,11 +1019,6 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry(
|
||||
}
|
||||
|
||||
void ChromePasswordManagerClient::LogPasswordReuseDetectedEvent() {
|
||||
@@ -1896,7 +1907,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b
|
||||
}
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
@@ -1671,6 +1650,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
|
||||
@@ -1671,6 +1649,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
|
||||
is_enabled = false;
|
||||
}
|
||||
|
||||
@@ -1904,7 +1915,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b
|
||||
// SafeBrowsing Delayed Warnings experiment can delay some SafeBrowsing
|
||||
// warnings until user interaction. If the current page has a delayed warning,
|
||||
// it'll have a user interaction observer attached. Disable password
|
||||
@@ -1681,6 +1661,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
|
||||
@@ -1681,6 +1660,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
|
||||
observer->OnPasswordSaveOrAutofillDenied();
|
||||
is_enabled = false;
|
||||
}
|
||||
@@ -2036,6 +2047,14 @@ diff --git a/chrome/browser/privacy_guide/android/BUILD.gn b/chrome/browser/priv
|
||||
"java/src/org/chromium/chrome/browser/privacy_guide/StepDisplayHandler.java",
|
||||
"java/src/org/chromium/chrome/browser/privacy_guide/StepDisplayHandlerImpl.java",
|
||||
"java/src/org/chromium/chrome/browser/privacy_guide/SyncFragment.java",
|
||||
@@ -44,7 +43,6 @@ robolectric_library("junit") {
|
||||
"junit/src/org/chromium/chrome/browser/privacy_guide/CookiesFragmentTest.java",
|
||||
"junit/src/org/chromium/chrome/browser/privacy_guide/MSBBFragmentTest.java",
|
||||
"junit/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuidePagerAdapterTest.java",
|
||||
- "junit/src/org/chromium/chrome/browser/privacy_guide/SafeBrowsingFragmentTest.java",
|
||||
"junit/src/org/chromium/chrome/browser/privacy_guide/StepDisplayHandlerImplTest.java",
|
||||
]
|
||||
deps = [
|
||||
diff --git a/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuideFragment.java b/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuideFragment.java
|
||||
--- a/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuideFragment.java
|
||||
+++ b/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuideFragment.java
|
||||
@@ -2052,31 +2071,7 @@ diff --git a/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/b
|
||||
diff --git a/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuidePagerAdapter.java b/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuidePagerAdapter.java
|
||||
--- a/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuidePagerAdapter.java
|
||||
+++ b/chrome/browser/privacy_guide/android/java/src/org/chromium/chrome/browser/privacy_guide/PrivacyGuidePagerAdapter.java
|
||||
@@ -21,12 +21,11 @@ public class PrivacyGuidePagerAdapter extends FragmentStateAdapter {
|
||||
* The types of fragments supported. Each fragment corresponds to a step in the privacy guide.
|
||||
*/
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
- @IntDef({FragmentType.COOKIES, FragmentType.MSBB, FragmentType.SAFE_BROWSING,
|
||||
+ @IntDef({FragmentType.COOKIES, FragmentType.MSBB,
|
||||
FragmentType.SYNC})
|
||||
private @interface FragmentType {
|
||||
int MSBB = 0;
|
||||
int SYNC = 1;
|
||||
- int SAFE_BROWSING = 2;
|
||||
int COOKIES = 3;
|
||||
}
|
||||
|
||||
@@ -39,9 +38,6 @@ public class PrivacyGuidePagerAdapter extends FragmentStateAdapter {
|
||||
if (displayHandler.shouldDisplaySync()) {
|
||||
mFragmentTypeList.add(FragmentType.SYNC);
|
||||
}
|
||||
- if (displayHandler.shouldDisplaySafeBrowsing()) {
|
||||
- mFragmentTypeList.add(FragmentType.SAFE_BROWSING);
|
||||
- }
|
||||
if (displayHandler.shouldDisplayCookies()) {
|
||||
mFragmentTypeList.add(FragmentType.COOKIES);
|
||||
}
|
||||
@@ -56,8 +52,6 @@ public class PrivacyGuidePagerAdapter extends FragmentStateAdapter {
|
||||
@@ -56,8 +56,6 @@ public class PrivacyGuidePagerAdapter extends FragmentStateAdapter {
|
||||
return new MSBBFragment();
|
||||
case FragmentType.SYNC:
|
||||
return new SyncFragment();
|
||||
@@ -2208,7 +2203,7 @@ diff --git a/chrome/browser/safe_browsing/android/BUILD.gn b/chrome/browser/safe
|
||||
diff --git a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingBridge.java b/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingBridge.java
|
||||
--- a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingBridge.java
|
||||
+++ b/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingBridge.java
|
||||
@@ -14,87 +14,8 @@ import org.chromium.base.annotations.NativeMethods;
|
||||
@@ -14,87 +14,4 @@ import org.chromium.base.annotations.NativeMethods;
|
||||
*/
|
||||
@JNINamespace("safe_browsing")
|
||||
public final class SafeBrowsingBridge {
|
||||
@@ -2281,9 +2276,9 @@ diff --git a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/b
|
||||
- return SafeBrowsingBridgeJni.get().isLeakDetectionUnauthenticatedEnabled();
|
||||
- }
|
||||
-
|
||||
@NativeMethods
|
||||
@VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
|
||||
public interface Natives {
|
||||
- @NativeMethods
|
||||
- @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
|
||||
- public interface Natives {
|
||||
- int umaValueForFile(String path);
|
||||
- boolean getSafeBrowsingExtendedReportingEnabled();
|
||||
- void setSafeBrowsingExtendedReportingEnabled(boolean enabled);
|
||||
@@ -2294,7 +2289,7 @@ diff --git a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/b
|
||||
- boolean isSafeBrowsingManaged();
|
||||
- boolean hasAccountForLeakCheckRequest();
|
||||
- boolean isLeakDetectionUnauthenticatedEnabled();
|
||||
}
|
||||
- }
|
||||
}
|
||||
diff --git a/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc b/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc
|
||||
--- a/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc
|
||||
@@ -2536,22 +2531,10 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
|
||||
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
|
||||
@@ -399,24 +399,6 @@ CHAR_LIMIT guidelines:
|
||||
<message name="IDS_URL_KEYED_ANONYMIZED_DATA_TITLE" desc="Title for a checkbox in Settings that controls non-personalized URL collection and informs the user about the data shared by this feature.">
|
||||
Make searches and browsing better
|
||||
@@ -411,12 +411,6 @@ CHAR_LIMIT guidelines:
|
||||
<message name="IDS_PRIVACY_SYNC_AND_SERVICES_LINK_SYNC_OFF" desc="The text for Privacy preferences that is shown after all preference rows. This version of the text is shown if Sync hasn't been turned on.">
|
||||
For more settings that relate to privacy, security, and data collection, see <ph name="BEGIN_LINK"><link></ph>Google services<ph name="END_LINK"></link></ph>
|
||||
</message>
|
||||
- <message name="IDS_URL_KEYED_ANONYMIZED_DATA_SUMMARY" desc="Summary for a checkbox in Settings that controls non-personalized URL collection and informs the user about the data shared by this feature.">
|
||||
- Sends URLs of pages you visit to Google
|
||||
- </message>
|
||||
- <message name="IDS_PRIVACY_SYNC_AND_SERVICES_LINK_LEGACY" desc="The text for Privacy preferences that is shown after all preference rows.">
|
||||
- For more settings that relate to privacy, security, and data collection, see <ph name="BEGIN_LINK"><link></ph>Sync and Google services<ph name="END_LINK"></link></ph>
|
||||
- </message>
|
||||
- <message name="IDS_PRIVACY_SYNC_AND_SERVICES_LINK_SYNC_ON" desc="The text for Privacy preferences that is shown after all preference rows. This version of the text is shown if Sync has been turned on.">
|
||||
- For more settings that relate to privacy, security, and data collection, see <ph name="BEGIN_LINK1"><link1></ph>Sync<ph name="END_LINK1"></link1></ph> and <ph name="BEGIN_LINK2"><link2></ph>Google services<ph name="END_LINK2"></link2></ph>
|
||||
- </message>
|
||||
- <message name="IDS_PRIVACY_SYNC_AND_SERVICES_LINK_SYNC_OFF" desc="The text for Privacy preferences that is shown after all preference rows. This version of the text is shown if Sync hasn't been turned on.">
|
||||
- For more settings that relate to privacy, security, and data collection, see <ph name="BEGIN_LINK"><link></ph>Google services<ph name="END_LINK"></link></ph>
|
||||
- </message>
|
||||
- <message name="IDS_USAGE_AND_CRASH_REPORTS_TITLE" desc="Title for a preference that enables sending usage statistics and crash reports.">
|
||||
- Help improve Chrome\u2019s features and performance
|
||||
- </message>
|
||||
@@ -2561,7 +2544,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
|
||||
|
||||
<!-- Metrics settings -->
|
||||
<message name="IDS_PREFS_METRICS_SETTINGS" desc="Title for the page that allows the user to control how much usage data Chrome uploads. [CHAR_LIMIT=32]">
|
||||
@@ -4834,9 +4816,6 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
@@ -4837,9 +4831,6 @@ To change this setting, <ph name="BEGIN_LINK"><resetlink></ph>reset sync<p
|
||||
To use this setting <ph name="BEGIN_LINK"><link></ph>Make searches and browsing better<ph name="END_LINK"></link></ph> must be turned on
|
||||
</message>
|
||||
<!-- Usage Stats strings -->
|
||||
@@ -2891,12 +2874,14 @@ diff --git a/components/safe_browsing/content/common/file_type_policies.cc b/com
|
||||
diff --git a/components/safe_browsing/core/common/features.cc b/components/safe_browsing/core/common/features.cc
|
||||
--- a/components/safe_browsing/core/common/features.cc
|
||||
+++ b/components/safe_browsing/core/common/features.cc
|
||||
@@ -201,7 +201,7 @@ BASE_FEATURE(kSevenZipEvaluationEnabled,
|
||||
@@ -200,8 +200,8 @@ BASE_FEATURE(kSevenZipEvaluationEnabled,
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
BASE_FEATURE(kSuspiciousSiteTriggerQuotaFeature,
|
||||
"SafeBrowsingSuspiciousSiteTriggerQuota",
|
||||
- "SafeBrowsingSuspiciousSiteTriggerQuota",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "SafeBrowsingSuspiciousSiteTriggerQuota", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
BASE_FEATURE(kThreatDomDetailsTagAndAttributeFeature,
|
||||
"ThreatDomDetailsTagAttributes",
|
||||
@@ -2943,7 +2928,17 @@ diff --git a/components/security_interstitials/content/captive_portal_blocking_p
|
||||
diff --git a/components/security_interstitials/content/cert_report_helper.cc b/components/security_interstitials/content/cert_report_helper.cc
|
||||
--- a/components/security_interstitials/content/cert_report_helper.cc
|
||||
+++ b/components/security_interstitials/content/cert_report_helper.cc
|
||||
@@ -176,8 +176,6 @@ void CertReportHelper::FinishCertCollection() {
|
||||
@@ -62,8 +62,7 @@ CertReportHelper::CertReportHelper(
|
||||
interstitial_reason_(interstitial_reason),
|
||||
overridable_(overridable),
|
||||
interstitial_time_(interstitial_time),
|
||||
- can_show_enhanced_protection_message_(
|
||||
- can_show_enhanced_protection_message),
|
||||
+ can_show_enhanced_protection_message_(false), // always disabled in Bromite
|
||||
metrics_helper_(metrics_helper) {}
|
||||
|
||||
CertReportHelper::~CertReportHelper() = default;
|
||||
@@ -176,8 +175,6 @@ void CertReportHelper::FinishCertCollection() {
|
||||
LOG(ERROR) << "Failed to serialize certificate report.";
|
||||
return;
|
||||
}
|
||||
@@ -3012,14 +3007,14 @@ diff --git a/content/browser/file_system_access/file_system_access_safe_move_hel
|
||||
|
||||
FileSystemAccessSafeMoveHelper::~FileSystemAccessSafeMoveHelper() = default;
|
||||
|
||||
@@ -166,15 +165,9 @@ void FileSystemAccessSafeMoveHelper::Start(
|
||||
@@ -166,15 +165,8 @@ void FileSystemAccessSafeMoveHelper::Start(
|
||||
return;
|
||||
}
|
||||
|
||||
- if (!RequireSecurityChecks() || !manager_->permission_context()) {
|
||||
DidAfterWriteCheck(
|
||||
FileSystemAccessPermissionContext::AfterWriteCheckResult::kAllow);
|
||||
return;
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- ComputeHashForSourceFile(
|
||||
@@ -3028,52 +3023,24 @@ diff --git a/content/browser/file_system_access/file_system_access_safe_move_hel
|
||||
}
|
||||
|
||||
void FileSystemAccessSafeMoveHelper::ComputeHashForSourceFile(
|
||||
@@ -195,45 +188,6 @@ void FileSystemAccessSafeMoveHelper::ComputeHashForSourceFile(
|
||||
@@ -195,7 +187,7 @@ void FileSystemAccessSafeMoveHelper::ComputeHashForSourceFile(
|
||||
std::move(wrapped_callback), source_url()));
|
||||
}
|
||||
|
||||
-void FileSystemAccessSafeMoveHelper::DoAfterWriteCheck(
|
||||
- base::File::Error hash_result,
|
||||
- const std::string& hash,
|
||||
- int64_t size) {
|
||||
- DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
-
|
||||
- if (hash_result != base::File::FILE_OK) {
|
||||
- // Calculating the hash failed.
|
||||
- std::move(callback_).Run(file_system_access_error::FromStatus(
|
||||
- blink::mojom::FileSystemAccessStatus::kOperationAborted,
|
||||
- "Failed to perform Safe Browsing check."));
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- if (!manager_) {
|
||||
- std::move(callback_).Run(file_system_access_error::FromStatus(
|
||||
- blink::mojom::FileSystemAccessStatus::kOperationAborted));
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- content::GlobalRenderFrameHostId outermost_main_frame_id;
|
||||
- auto* rfh = content::RenderFrameHost::FromID(context_.frame_id);
|
||||
- if (rfh)
|
||||
- outermost_main_frame_id = rfh->GetOutermostMainFrame()->GetGlobalId();
|
||||
-
|
||||
- auto item = std::make_unique<FileSystemAccessWriteItem>();
|
||||
- item->target_file_path = dest_url().path();
|
||||
- item->full_path = source_url().path();
|
||||
- item->sha256_hash = hash;
|
||||
- item->size = size;
|
||||
- item->frame_url = context_.url;
|
||||
- item->outermost_main_frame_id = outermost_main_frame_id;
|
||||
- item->has_user_gesture = has_transient_user_activation_;
|
||||
- manager_->permission_context()->PerformAfterWriteChecks(
|
||||
- std::move(item), context_.frame_id,
|
||||
- base::BindOnce(&FileSystemAccessSafeMoveHelper::DidAfterWriteCheck,
|
||||
- weak_factory_.GetWeakPtr()));
|
||||
+/*void FileSystemAccessSafeMoveHelper::DoAfterWriteCheck(
|
||||
base::File::Error hash_result,
|
||||
const std::string& hash,
|
||||
int64_t size) {
|
||||
@@ -232,7 +224,7 @@ void FileSystemAccessSafeMoveHelper::DoAfterWriteCheck(
|
||||
std::move(item), context_.frame_id,
|
||||
base::BindOnce(&FileSystemAccessSafeMoveHelper::DidAfterWriteCheck,
|
||||
weak_factory_.GetWeakPtr()));
|
||||
-}
|
||||
-
|
||||
+}*/
|
||||
|
||||
void FileSystemAccessSafeMoveHelper::DidAfterWriteCheck(
|
||||
FileSystemAccessPermissionContext::AfterWriteCheckResult result) {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
diff --git a/content/browser/file_system_access/file_system_access_safe_move_helper.h b/content/browser/file_system_access/file_system_access_safe_move_helper.h
|
||||
--- a/content/browser/file_system_access/file_system_access_safe_move_helper.h
|
||||
+++ b/content/browser/file_system_access/file_system_access_safe_move_helper.h
|
||||
|
||||
@@ -13,7 +13,7 @@ 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
|
||||
@@ -443,7 +443,6 @@ if (current_toolchain == default_toolchain) {
|
||||
@@ -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",
|
||||
@@ -21,7 +21,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
"//chrome/browser/search_engines/android:java",
|
||||
"//chrome/browser/search_resumption:java",
|
||||
"//chrome/browser/segmentation_platform:factory_java",
|
||||
@@ -1034,8 +1033,6 @@ if (current_toolchain == default_toolchain) {
|
||||
@@ -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",
|
||||
@@ -30,7 +30,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
"//chrome/browser/search_engines/android:java",
|
||||
"//chrome/browser/search_resumption:junit",
|
||||
"//chrome/browser/segmentation_platform:factory_java",
|
||||
@@ -1561,8 +1558,6 @@ if (current_toolchain == default_toolchain) {
|
||||
@@ -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",
|
||||
@@ -42,7 +42,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
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
|
||||
@@ -947,7 +947,6 @@ chrome_java_sources = [
|
||||
@@ -946,7 +946,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
|
||||
@@ -3348,7 +3348,6 @@ static_library("browser") {
|
||||
@@ -3346,7 +3346,6 @@ static_library("browser") {
|
||||
"//chrome/browser/privacy_sandbox/android:jni_headers",
|
||||
"//chrome/browser/reading_list/android",
|
||||
"//chrome/browser/safe_browsing/android:safe_browsing_enums",
|
||||
|
||||
@@ -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
|
||||
@@ -189,6 +189,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
@@ -188,6 +188,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
|
||||
&kCCTBrandTransparency,
|
||||
&kCCTClientDataHeader,
|
||||
&kCCTIncognito,
|
||||
@@ -50,28 +50,28 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
|
||||
&kCCTIncognitoAvailableToThirdParty,
|
||||
&kCCTNewDownloadTab,
|
||||
&kCCTPackageNameRecording,
|
||||
@@ -670,6 +671,10 @@ BASE_FEATURE(kChromeSurveyNextAndroid,
|
||||
"ChromeSurveyNextAndroid",
|
||||
base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
@@ -996,6 +997,10 @@ BASE_FEATURE(kDiscoverFeedMultiColumn,
|
||||
"DiscoverFeedMultiColumn",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
|
||||
+BASE_FEATURE(kChromeSmartSelection,
|
||||
+ "ChromeSmartSelection",
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+
|
||||
BASE_FEATURE(kCommandLineOnNonRooted,
|
||||
"CommandLineOnNonRooted",
|
||||
BASE_FEATURE(kTabStripRedesign,
|
||||
"TabStripRedesign",
|
||||
base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
--- a/chrome/browser/flags/android/chrome_feature_list.h
|
||||
+++ b/chrome/browser/flags/android/chrome_feature_list.h
|
||||
@@ -63,6 +63,7 @@ BASE_DECLARE_FEATURE(kCacheDeprecatedSystemLocationSetting);
|
||||
@@ -62,6 +62,7 @@ BASE_DECLARE_FEATURE(kDontAutoHideBrowserControls);
|
||||
BASE_DECLARE_FEATURE(kCacheDeprecatedSystemLocationSetting);
|
||||
BASE_DECLARE_FEATURE(kChromeNewDownloadTab);
|
||||
BASE_DECLARE_FEATURE(kChromeShareLongScreenshot);
|
||||
BASE_DECLARE_FEATURE(kChromeShareScreenshot);
|
||||
+BASE_DECLARE_FEATURE(kChromeSmartSelection);
|
||||
BASE_DECLARE_FEATURE(kChromeShareScreenshot);
|
||||
BASE_DECLARE_FEATURE(kChromeSharingHub);
|
||||
BASE_DECLARE_FEATURE(kChromeSharingHubLaunchAdjacent);
|
||||
BASE_DECLARE_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
|
||||
@@ -98,7 +98,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
|
||||
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
|
||||
--- a/testing/variations/fieldtrial_testing_config.json
|
||||
+++ b/testing/variations/fieldtrial_testing_config.json
|
||||
@@ -2702,6 +2702,21 @@
|
||||
@@ -3045,6 +3045,21 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -117,7 +117,7 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati
|
||||
+ ]
|
||||
+ }
|
||||
+ ],
|
||||
"ChromeTipsInMainMenu": [
|
||||
"CommerceHintAndroid": [
|
||||
{
|
||||
"platforms": [
|
||||
--
|
||||
|
||||
@@ -4,25 +4,28 @@ Subject: Disable some signed exchange features
|
||||
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
content/public/common/content_features.cc | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
content/public/common/content_features.cc | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
|
||||
--- a/content/public/common/content_features.cc
|
||||
+++ b/content/public/common/content_features.cc
|
||||
@@ -1000,13 +1000,13 @@ BASE_FEATURE(kSharedArrayBufferOnDesktop,
|
||||
@@ -999,14 +999,14 @@ BASE_FEATURE(kSharedArrayBufferOnDesktop,
|
||||
// Signed Exchange Reporting for distributors
|
||||
// https://www.chromestatus.com/feature/5687904902840320
|
||||
BASE_FEATURE(kSignedExchangeReportingForDistributors,
|
||||
"SignedExchangeReportingForDistributors",
|
||||
- "SignedExchangeReportingForDistributors",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "SignedExchangeReportingForDistributors", // must be disabled
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
// Origin-Signed HTTP Exchanges (for WebPackage Loading)
|
||||
// https://www.chromestatus.com/feature/5745285984681984
|
||||
BASE_FEATURE(kSignedHTTPExchange,
|
||||
"SignedHTTPExchange",
|
||||
- "SignedHTTPExchange",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "SignedHTTPExchange", // must be disabled
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
// Delays RenderProcessHost shutdown by a few seconds to allow the subframe's
|
||||
// process to be potentially reused. This aims to reduce process churn in
|
||||
|
||||
@@ -22,7 +22,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
|
||||
@@ -6276,6 +6276,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -6275,6 +6275,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
"")},
|
||||
#endif
|
||||
|
||||
@@ -37,9 +37,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
|
||||
@@ -2801,6 +2801,11 @@
|
||||
"owners": [ "alionadangla", "bwwilliams", "bling-flags@google.com"],
|
||||
"expiry_milestone": 110
|
||||
@@ -2706,6 +2706,11 @@
|
||||
"owners": [ "robsc", "napper", "alanlxl" ],
|
||||
"expiry_milestone": 130
|
||||
},
|
||||
+ {
|
||||
+ "name": "enable-text-fragment-anchor",
|
||||
@@ -47,35 +47,35 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
|
||||
+ "expiry_milestone": -1
|
||||
+ },
|
||||
{
|
||||
"name": "enable-pci-guard-ui",
|
||||
"owners": [ "jimmyxgong", "cros-peripherals@google.com" ],
|
||||
"name": "enable-neural-stylus-palm-rejection",
|
||||
"owners": [ "robsc", "napper", "adlr" ],
|
||||
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
|
||||
@@ -1418,6 +1418,10 @@ const char kEnableRestrictedWebApisDescription[] =
|
||||
"Enable the restricted web APIs for dev trial. This will be replaced with "
|
||||
"permission policies to control the capabilities afterwards.";
|
||||
@@ -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.";
|
||||
|
||||
+const char kEnableTextFragmentAnchorName[] = "Enable Text Fragment Anchor.";
|
||||
+const char kEnableTextFragmentAnchorDescription[] =
|
||||
+ "Enables scrolling to text specified in URL's fragment.";
|
||||
+
|
||||
const char kEnableWebAuthenticationChromeOSAuthenticatorName[] =
|
||||
"ChromeOS platform Web Authentication support";
|
||||
const char kEnableWebAuthenticationChromeOSAuthenticatorDescription[] =
|
||||
const char kEnableCssSelectorFragmentAnchorName[] =
|
||||
"Enables CSS selector fragment anchors";
|
||||
const char kEnableCssSelectorFragmentAnchorDescription[] =
|
||||
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
|
||||
--- a/chrome/browser/flag_descriptions.h
|
||||
+++ b/chrome/browser/flag_descriptions.h
|
||||
@@ -785,6 +785,9 @@ extern const char
|
||||
extern const char kEnableRestrictedWebApisName[];
|
||||
extern const char kEnableRestrictedWebApisDescription[];
|
||||
@@ -767,6 +767,9 @@ extern const char kReduceHorizontalFlingVelocityDescription[];
|
||||
|
||||
extern const char kRetailCouponsName[];
|
||||
extern const char kRetailCouponsDescription[];
|
||||
+extern const char kEnableTextFragmentAnchorName[];
|
||||
+extern const char kEnableTextFragmentAnchorDescription[];
|
||||
+
|
||||
extern const char kEnableWebAuthenticationChromeOSAuthenticatorName[];
|
||||
extern const char kEnableWebAuthenticationChromeOSAuthenticatorDescription[];
|
||||
|
||||
extern const char kDropInputEventsBeforeFirstPaintName[];
|
||||
extern const char kDropInputEventsBeforeFirstPaintDescription[];
|
||||
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,14 +91,14 @@ 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
|
||||
@@ -269,6 +269,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
|
||||
{wf::EnableSharedArrayBufferOnDesktop,
|
||||
@@ -270,6 +270,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
|
||||
features::kSharedArrayBufferOnDesktop},
|
||||
{wf::EnableSharedAutofill, autofill::features::kAutofillSharedAutofill},
|
||||
+ {wf::EnableTextFragmentIdentifiers, blink::features::kTextFragmentAnchor},
|
||||
{wf::EnableTouchDragAndContextMenu, features::kTouchDragAndContextMenu},
|
||||
+ {wf::EnableTextFragmentIdentifiers, blink::features::kTextFragmentAnchor},
|
||||
{wf::EnableUserActivationSameOriginVisibility,
|
||||
features::kUserActivationSameOriginVisibility},
|
||||
{wf::EnableVideoPlaybackQuality, features::kVideoPlaybackQuality},
|
||||
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
|
||||
@@ -117,14 +117,14 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
|
||||
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
|
||||
@@ -216,6 +216,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kResourceLoadViaDataPipe);
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kServiceWorkerUpdateDelay);
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kStopInBackground);
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kDropInputEventsBeforeFirstPaint);
|
||||
@@ -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(kFileHandlingIcons);
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kAllowSyncXHRInPageDismissal);
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kPrefetchPrivacyChanges);
|
||||
|
||||
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kAudioWorkletThreadRealtimePriority);
|
||||
|
||||
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
|
||||
|
||||
@@ -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
|
||||
@@ -34,9 +34,7 @@ public class UpdateScheduler {
|
||||
@@ -33,9 +33,7 @@ public class UpdateScheduler {
|
||||
|
||||
@CalledByNative
|
||||
/* package */ static boolean isAvailable() {
|
||||
|
||||
@@ -13,11 +13,11 @@ 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 | 4 ++--
|
||||
.../chrome_metrics_services_manager_client.cc | 8 ++++----
|
||||
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, 5 insertions(+), 42 deletions(-)
|
||||
8 files changed, 7 insertions(+), 44 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
|
||||
@@ -140,21 +140,25 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
|
||||
diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
|
||||
--- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
|
||||
+++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
|
||||
@@ -74,7 +74,7 @@ namespace internal {
|
||||
@@ -73,8 +73,8 @@ 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",
|
||||
- "MetricsReporting",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "MetricsReporting", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// Same as |kMetricsReportingFeature|, but this feature is associated with a
|
||||
@@ -84,7 +84,7 @@ BASE_FEATURE(kMetricsReportingFeature,
|
||||
@@ -83,8 +83,8 @@ BASE_FEATURE(kMetricsReportingFeature,
|
||||
// the fix to not affect the overall sampling rate, this new feature was
|
||||
// created. See crbug/1306481.
|
||||
BASE_FEATURE(kPostFREFixMetricsReportingFeature,
|
||||
"PostFREFixMetricsReporting",
|
||||
- "PostFREFixMetricsReporting",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ "PostFREFixMetricsReporting", // disabled by deault
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
#endif // BUILDFLAG(IS_ANDROID)
|
||||
|
||||
// Name of the variations param that defines the sampling rate.
|
||||
|
||||
@@ -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
|
||||
@@ -1307,8 +1307,6 @@ static_library("ui") {
|
||||
@@ -1304,8 +1304,6 @@ static_library("ui") {
|
||||
"singleton_tabs.h",
|
||||
"startup/automation_infobar_delegate.cc",
|
||||
"startup/automation_infobar_delegate.h",
|
||||
|
||||
@@ -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;
|
||||
@@ -499,10 +498,6 @@ public class RootUiCoordinator
|
||||
@@ -498,10 +497,6 @@ public class RootUiCoordinator
|
||||
}
|
||||
|
||||
public void onAttachFragment(Fragment fragment) {
|
||||
|
||||
@@ -3,26 +3,28 @@ 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 | 2 +-
|
||||
chrome/browser/browser_features.cc | 4 ++--
|
||||
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 | 2 +-
|
||||
net/http/transport_security_state.cc | 5 +++--
|
||||
chrome/common/chrome_features.cc | 6 +-----
|
||||
net/http/transport_security_state.cc | 9 +++++----
|
||||
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, 27 insertions(+), 10 deletions(-)
|
||||
11 files changed, 30 insertions(+), 17 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
|
||||
@@ -9061,6 +9061,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
@@ -9060,6 +9060,11 @@ const FeatureEntry kFeatureEntries[] = {
|
||||
flag_descriptions::kWebMidiDescription, kOsAll,
|
||||
FEATURE_VALUE_TYPE(features::kWebMidi)},
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
@@ -37,19 +39,21 @@ 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
|
||||
@@ -156,7 +156,7 @@ BASE_FEATURE(kWebUsbDeviceDetection,
|
||||
@@ -155,8 +155,8 @@ BASE_FEATURE(kWebUsbDeviceDetection,
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
// Enables Certificate Transparency on Android.
|
||||
BASE_FEATURE(kCertificateTransparencyAndroid,
|
||||
"CertificateTransparencyAndroid",
|
||||
- "CertificateTransparencyAndroid",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT); // enabled by default in Bromite
|
||||
+ "CertificateTransparencyAndroid", // must be enabled
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
|
||||
#endif
|
||||
|
||||
BASE_FEATURE(kLargeFaviconFromGoogle,
|
||||
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
|
||||
@@ -6869,6 +6869,10 @@ const char kAutofillCreditCardUploadDescription[] =
|
||||
@@ -6874,6 +6874,10 @@ const char kAutofillCreditCardUploadDescription[] =
|
||||
#endif // defined(TOOLKIT_VIEWS) || BUILDFLAG(IS_ANDROID)
|
||||
|
||||
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID)
|
||||
@@ -63,7 +67,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
|
||||
@@ -3966,6 +3966,9 @@ extern const char kAutofillCreditCardUploadDescription[];
|
||||
@@ -3969,6 +3969,9 @@ extern const char kAutofillCreditCardUploadDescription[];
|
||||
#endif // defined(TOOLKIT_VIEWS) || BUILDFLAG(IS_ANDROID)
|
||||
|
||||
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID)
|
||||
@@ -112,15 +116,19 @@ 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
|
||||
@@ -996,7 +996,7 @@ BASE_FEATURE(kSchedulerConfiguration,
|
||||
@@ -995,11 +995,7 @@ BASE_FEATURE(kSchedulerConfiguration,
|
||||
|
||||
// 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)
|
||||
-#if BUILDFLAG(IS_ANDROID)
|
||||
-BASE_FEATURE(kSCTAuditing, "SCTAuditing", base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+BASE_FEATURE(kSCTAuditing, "SCTAuditing", base::FEATURE_DISABLED_BY_DEFAULT); // SCT auditing must be always disabled in Bromite
|
||||
#else
|
||||
BASE_FEATURE(kSCTAuditing, "SCTAuditing", base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
#endif
|
||||
-#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};
|
||||
|
||||
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
|
||||
@@ -132,18 +140,21 @@ diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_
|
||||
if (g_hsts_source == nullptr)
|
||||
return false;
|
||||
#endif
|
||||
@@ -383,12 +384,12 @@ bool DecodeHSTSPreload(const std::string& search_hostname, PreloadResult* out) {
|
||||
@@ -382,13 +383,13 @@ bool DecodeHSTSPreload(const std::string& search_hostname, PreloadResult* out) {
|
||||
|
||||
// static
|
||||
BASE_FEATURE(kDynamicExpectCTFeature,
|
||||
"DynamicExpectCT",
|
||||
- "DynamicExpectCT",
|
||||
- base::FEATURE_DISABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // disabled in Bromite
|
||||
+ "DynamicExpectCT", // disabled by default
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
// static
|
||||
BASE_FEATURE(kCertificateTransparencyEnforcement,
|
||||
"CertificateTransparencyEnforcement",
|
||||
- "CertificateTransparencyEnforcement",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT);
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT); // always enabled in Bromite
|
||||
+ "CertificateTransparencyEnforcement", // must be enabled
|
||||
+ base::FEATURE_ENABLED_BY_DEFAULT); // in Bromite
|
||||
|
||||
void SetTransportSecurityStateSourceForTesting(
|
||||
const TransportSecurityStateSource* source) {
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
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
|
||||
@@ -78,8 +78,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
|
||||
@@ -0,0 +1,27 @@
|
||||
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
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user