Compare commits

..
Author SHA1 Message Date
Carmelo Messina 9f59e34b37 Remove site data after page exit 2022-07-09 10:44:42 +02:00
241 changed files with 11649 additions and 190253 deletions
+1 -4
View File
@@ -6,8 +6,7 @@ body:
value: |
Welcome! Thanks for taking the time to submit a bug report.
If this is not a bug about the Bromite browser, or you are looking for a place to ask a question to the community,
then please use the [GitHub Discussions](https://github.com/bromite/bromite/discussions) instead.
If you are looking for a place to ask a question to the Bromite community then please use the [GitHub Discussions](https://github.com/bromite/bromite/discussions) instead.
Make sure you have acknowledged and completed this template before submitting your issue.
@@ -26,8 +25,6 @@ body:
required: true
- label: "I have updated Bromite to the latest version. The bug is reproducible on this latest version."
required: true
- label: "This is a bug report about the Bromite browser; not the website nor F-Droid nor anything else."
required: true
- type: dropdown
id: is_chromium
+1 -4
View File
@@ -6,8 +6,7 @@ body:
value: |
Welcome! Thanks for taking time to submit a feature request.
If this is not a feature request about the Bromite browser, or you are looking for a place
to ask a question to the community then please use the [GitHub Discussions](https://github.com/bromite/bromite/discussions) instead.
If you are looking for a place to ask a question to the Bromite community then please use the [GitHub Discussions](https://github.com/bromite/bromite/discussions) instead.
Make sure you have acknowledged and completed this template before submitting your issue.
@@ -28,8 +27,6 @@ body:
required: true
- label: "I have searched [existing issues](https://github.com/bromite/bromite/issues) for my feature request. This is a new issue (NOT a duplicate) and is not related to another issue."
required: true
- label: "This is a feature request for the Bromite browser; not the website nor F-Droid nor anything else."
required: true
- type: dropdown
id: is_privacy_related
-15
View File
@@ -1,15 +0,0 @@
## Description
*Please explain here what feature or bugfix these changes are addressing and why they should be included*
## All submissions
* [ ] there are no other open [Pull Requests](../../../pulls) for the same update/change
* [ ] Bromite can be built with these changes
* [ ] I have tested that the new change works as intended (AVD or physical device will do)
### Format
* [ ] patch subject and filename match (e.g. `Subject: Alternative cache (NIK-based)` -> `Alternative-cache-NIK-based.patch`)
* [ ] patch description contains explanation of changes
* [ ] no unnecessary whitespace or unrelated changes
-43
View File
@@ -1,46 +1,3 @@
# 105.0.5195.147
* enable HEVC by default (fixes https://github.com/bromite/bromite/issues/2331)
* partition blobs by top frame URL (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2312)
* use first accept-language as system language for Blink (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2160)
* fix user scripts injection with back-forward cache enabled (thanks to @uazo)
* remove HTTP referrals in cross-origin navigation (thanks to @uazo)
* update noise factor for anti-fingerpriting mitigations only once per document (fixes https://github.com/bromite/bromite/issues/2352)
* disable add to home screen prompt (fixes https://github.com/bromite/bromite/issues/2340)
# 105.0.5195.41
* revert by-pass for clipboard permissions for NTP doodles (fixes https://bugs.chromium.org/p/chromium/issues/detail?id=1334203)
* prevent history detection via favicon (fixes https://github.com/bromite/bromite/issues/2269)
* fix the lack of protection in canvas.convertToBlob()
* improve incognito mode detection countermeasures (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1615)
* fix toolbar gesture when using bottom navigation bar (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2253)
# 104.0.5112.91
* re-introduce modal flag to prompt when closing all tabs
* sharing hub: always use visible URL (fixes https://github.com/bromite/bromite/issues/2204)
* add SVG fingerprinting mitigation (thanks to @uazo)
* updated zh_CN translactions (thanks to @zhmars)
* dropped patch to open YouTube links in Bromite
# 104.0.5112.63
# 103.0.5060.140
* fix timezone override not working correctly (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2133)
* never provide navigator.connection info (thanks to @uazo)
* fix management of custom User-Agent (thanks to @uazo)
# 103.0.5060.126
* fix malfunctioning sticky desktop mode (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2179)
* fix non-working passwords manager (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2188)
* fix crash when opening recent tabs (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2190)
* fix autoplay not working correctly (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2096)
* add GN flag for clangd builds (thanks to @uazo)
# 103.0.5060.121
* do not enable always use HTTPS by default
* match system dark mode (thanks to @krlvm)
* remove window name on cross origin navigation (thanks to @uazo)
* remove preload of GMS fonts on stock Android (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2156)
# 102.0.5005.96
* fix history expiration bug (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2104)
* fix category setting activation (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2091)
+1 -1
View File
@@ -38,7 +38,7 @@ No.
We cannot add add-ons to Bromite (merely some features).
## Is Bromite on Play Store?
No, and this is not going to change. Many limitations apply for submissions there, including which ads are allowed to be blocked.
No, and this is unlikely to change. Many limitations apply for submissions there, including which ads are allowed to be blocked.
Bromite favors user freedom in software choice: the device is yours so you get to choose which software to run on it, end of the story.
+2 -3
View File
@@ -86,7 +86,7 @@ ETH donations address: `0x5d392F8FBf3465afe05B1Adc575e248D33B891F6`
* HTTPS-only mode enabled by default
* disable TLS resumption by default
* partition DoH requests by top-frame NIK
* strict site isolation and strict origin isolation
* add option to use home page as NTP
## Features not related to privacy
* browser automatic updates, enabled by default
@@ -116,7 +116,6 @@ ETH donations address: `0x5d392F8FBf3465afe05B1Adc575e248D33B891F6`
* keyboard dictionary hints in address bar
* always allow `view-source:` URLs
* allow moving navigation bar to bottom
* add option to use home page as NTP
You can inspect all functionality/privacy changes by reading the [patches](https://github.com/bromite/bromite/tree/master/build/patches) and/or the [CHANGELOG](./CHANGELOG.md).
@@ -148,7 +147,7 @@ New flags:
* `#allow-user-certificates`, disabled by default
* `#cleartext-permitted`, enabled by default, can be used to disable all cleartext-HTTP traffic
* `#omnibox-autocomplete-filtering`, can be used to restrict omnibox autocomplete results
* `#disable-external-intent-requests`, can be used to disable opening any external app for any URL
* `#disable-external-intent-requests`
* `#enable-userscripts-log`, see https://github.com/bromite/bromite/wiki/UserScripts#flags
* `#certificate-transparency-enabled`, enabled by default; see https://chromium.googlesource.com/chromium/src/+/master/net/docs/certificate-transparency.md
* `#move-top-toolbar-to-bottom`, disabled by default
+1 -1
View File
@@ -1 +1 @@
f62e5bffd9c2c0b8c221851fa8a032f02f105141-
d5d96df7c999fb23a203ac332784b203afe8614f-
+1 -1
View File
@@ -1 +1 @@
105.0.5195.147
102.0.5005.96
+1 -1
View File
@@ -1 +1 @@
5c842aa7b24e6252ccabc8bcac8dafa4fe8ad9cd
91e2c8c16071b47c9a1d2c1bba592f6a643dd1b1
+1 -1
View File
@@ -22,6 +22,7 @@ enable_platform_dolby_vision=true
enable_platform_hevc=true
enable_remoting=false
enable_reporting=false
enable_supervised_users=false
enable_vr=false
exclude_unwind_tables=false
ffmpeg_branding="Chrome"
@@ -36,7 +37,6 @@ safe_browsing_mode=0
symbol_level=1
system_webview_package_name="org.bromite.webview"
target_os="android"
treat_warnings_as_errors=true
use_cfi_cast=true
use_debug_fission=true
use_errorprone_java_compiler=false
+16 -25
View File
@@ -1,4 +1,4 @@
Remove-EV-certificates.patch
Disable-third-party-cookies-by-default.patch
do-not-hide-.orig-files.patch
Do-not-link-with-libatomic.patch
do-not-add-suffix-to-package-name.patch
@@ -12,6 +12,8 @@ Always-use-new-tab-page-for-default-home-page.patch
disable-battery-status-updater.patch
Battery-API-return-nothing.patch
updater-disable-updater-pings.patch
Remove-EV-certificates.patch
promo-disable-Google-promotion-fetching.patch
Disable-omission-of-URL-elements-in-Omnibox.patch
Modify-default-preferences.patch
Do-not-hide-component-extensions.patch
@@ -30,7 +32,8 @@ 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
Remove-signin-integrations.patch
Hide-passwords-manager-link.patch
Disable-update-scheduler.patch
Add-English-only-search-engine.patch
Add-DuckDuckGo-Lite-search-engine.patch
@@ -39,6 +42,7 @@ build-remove-calling-untrusted-hooks.patch
Inject-scripts-for-AMP-tracking-ads-and-video.patch
Allow-playing-audio-in-background.patch
Add-flag-to-control-video-playback-resume-feature.patch
Open-YouTube-links-in-Bromite.patch
Add-exit-menu-item.patch
Remove-help-menu-item.patch
AudioBuffer-AnalyserNode-fp-mitigations.patch
@@ -73,17 +77,20 @@ 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
Allow-website-sign-in-without-account-sign-in.patch
Offer-builtin-autocomplete-for-chrome-flags.patch
Use-4-tile-rows-never-show-logo.patch
Disable-various-metrics.patch
Enable-SPPI-for-devices-with-enough-memory.patch
Enable-StrictOriginIsolation-and-SitePerProcess.patch
Use-64-bit-WebView-processes.patch
prefs-disable-signinallowed-by-default.patch
prefs-always-prompt-for-download-directory.patch
Disable-offline-pages-in-CCT.patch
disable-payment-support-by-default.patch
disable-background-sync-by-default.patch
disable-sensors-access-site-setting-by-default.patch
Disable-media-router-and-remoting-by-default.patch
Restore-Search-Ready-Omnibox-flag.patch
disable-AdsBlockedInfoBar.patch
@@ -101,9 +108,9 @@ Show-site-settings-for-cookies-javascript-and-ads.patch
Disable-DRM-media-origin-IDs-preprovisioning.patch
Disable-smart-selection-by-default.patch
Enable-user-agent-freeze-by-default.patch
disable-browser-autologin-by-default.patch
AImageReader-CFI-crash-mitigations.patch
Add-menu-item-to-view-source.patch
Revert-removal-of-execution-context-address-space.patch
Block-gateway-attacks-via-websockets.patch
Enable-prefetch-privacy-changes-by-default.patch
Disable-support-for-RAR-files-inspection.patch
@@ -119,6 +126,7 @@ 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
ask-permission-to-play-protected-media-by-default.patch
Enable-network-isolation-features.patch
Revert-flags-remove-num-raster-threads.patch
webview-Hard-no-to-persistent-histograms.patch
@@ -134,7 +142,6 @@ 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
Logcat-crash-reports-UI.patch
@@ -157,9 +164,10 @@ Never-use-HTTP-probes-for-connection-detection.patch
Disable-Accessibility-service-by-default.patch
Disable-conversion-measurement-api.patch
Restore-offline-indicator-v2-flag.patch
Re-introduce-override_build_timestamp.patch
Reintroduce-override_build_timestamp.patch
enable-ftrivial-auto-var-init-zero.patch
disable-appending-variations-header.patch
Make-HTTPS-only-mode-the-default.patch
Disable-idle-detection.patch
Allow-building-without-supervised-users.patch
Disable-minidump-upload-scheduling.patch
@@ -184,25 +192,8 @@ Content-settings-infrastructure.patch
Add-webGL-site-setting.patch
Add-site-engagement-flag.patch
Add-webRTC-site-settings.patch
enable-process-isolated-sandboxed-iframes-by-default.patch
Enable-Certificate-Transparency.patch
Invalidate-components-public-key.patch
Improve-plain-text-rendering-on-mobile.patch
Remove-segmentation-platform.patch
Follow-only-system-dark-mode.patch
Remove-window-name-on-cross-origin-navigation.patch
Remove-preload-of-com.google.android.gms.fonts.patch
Partition-Blink-memory-cache.patch
Remove-navigator.connection-info.patch
Disable-PrivacyGuide.patch
Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
sharing-hub-always-use-visible-URL.patch
Re-introduce-kWebAuthCable.patch
Add-new-cache-check-function.patch
Stop-cross-origin-cache-hits.patch
Revert-clipboard-user-gesture-requirement-removal.patch
Enable-HEVC-by-default.patch
Partition-blobs-by-top-frame-URL.patch
Override-Navigator-Language.patch
Disable-add-to-home-screen-prompt.patch
Remove-HTTP-referrals-in-cross-origin-navigation.patch
Automated-domain-substitution.patch
+1 -1
View File
@@ -22,6 +22,7 @@ enable_platform_dolby_vision=true
enable_platform_hevc=true
enable_remoting=false
enable_reporting=true
enable_supervised_users=false
enable_vr=false
exclude_unwind_tables=false
ffmpeg_branding="Chrome"
@@ -36,7 +37,6 @@ safe_browsing_mode=2
symbol_level=1
system_webview_package_name="com.android.webview"
target_os="android"
treat_warnings_as_errors=true
use_cfi_cast=true
use_debug_fission=true
use_errorprone_java_compiler=false
+1
View File
@@ -8,4 +8,5 @@ Switch-to-fstack-protector-strong.patch
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
enable-ftrivial-auto-var-init-zero.patch
Disable-feeds-support-by-default.patch
Allow-building-without-supervised-users.patch
Chromium-package-name.patch
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -17,8 +17,6 @@ See discussions at:
* https://github.com/bromite/bromite/issues/445
* https://github.com/bromite/bromite/issues/814
* https://github.com/bromite/bromite/issues/1005
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
base/android/android_image_reader_compat.cc | 8 +++++++-
base/android/android_image_reader_compat.h | 4 ++++
@@ -84,7 +82,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
@@ -2392,9 +2392,9 @@
@@ -2243,9 +2243,9 @@
"expiry_milestone": 106
},
{
@@ -126,9 +124,9 @@ diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_lis
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
--- a/gpu/config/gpu_finch_features.cc
+++ b/gpu/config/gpu_finch_features.cc
@@ -63,6 +63,11 @@ const base::Feature kUseGles2ForOopR {
#endif
};
@@ -52,6 +52,11 @@ bool IsDeviceBlocked(const char* field, const std::string& block_list) {
} // namespace
+
+// Use android AImageReader when playing videos with MediaPlayer.
@@ -136,23 +134,23 @@ diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
+ base::FEATURE_ENABLED_BY_DEFAULT};
+
#if BUILDFLAG(IS_ANDROID)
// Use android SurfaceControl API for managing display compositor's buffer queue
// and using overlays on Android. Also used by webview to disable surface
// Used to limit GL version to 2.0 for skia raster on Android.
const base::Feature kUseGles2ForOopR{"UseGles2ForOopR",
diff --git a/gpu/config/gpu_finch_features.h b/gpu/config/gpu_finch_features.h
--- a/gpu/config/gpu_finch_features.h
+++ b/gpu/config/gpu_finch_features.h
@@ -17,6 +17,7 @@ namespace features {
GPU_EXPORT extern const base::Feature kUseGles2ForOopR;
// All features in alphabetical order. The features should be documented
+GPU_EXPORT extern const base::Feature kAImageReaderMediaPlayer;
// alongside the definition of their values in the .cc file.
#if BUILDFLAG(IS_ANDROID)
+GPU_EXPORT extern const base::Feature kAImageReaderMediaPlayer;
GPU_EXPORT extern const base::Feature kUseGles2ForOopR;
GPU_EXPORT extern const base::Feature kAndroidSurfaceControl;
GPU_EXPORT extern const base::Feature kWebViewSurfaceControl;
diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
--- a/gpu/config/gpu_util.cc
+++ b/gpu/config/gpu_util.cc
@@ -122,6 +122,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus(
@@ -120,6 +120,9 @@ GpuFeatureStatus GetAndroidSurfaceControlFeatureStatus(
#if !BUILDFLAG(IS_ANDROID)
return kGpuFeatureStatusDisabled;
#else
@@ -162,7 +160,7 @@ diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
if (!gpu_preferences.enable_android_surface_control)
return kGpuFeatureStatusDisabled;
@@ -345,6 +348,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) {
@@ -343,6 +346,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) {
gpu_feature_info->status_values[GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION] =
kGpuFeatureStatusBlocklisted;
}
@@ -177,7 +175,7 @@ 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
@@ -15,6 +15,7 @@ decode_encode_srgb_for_generatemipmap
@@ -14,6 +14,7 @@ decode_encode_srgb_for_generatemipmap
depth_stencil_renderbuffer_resize_emulation
disable_2d_canvas_auto_flush
disable_accelerated_av1_decode
@@ -188,7 +186,7 @@ diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
--- a/gpu/ipc/service/gpu_init.cc
+++ b/gpu/ipc/service/gpu_init.cc
@@ -589,6 +589,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
@@ -580,6 +580,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
}
#endif // BUILDFLAG(IS_WIN)
@@ -231,7 +229,7 @@ diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -756,6 +756,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
@@ -711,6 +711,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
// Note: Has no effect if kMediaDrmPreprovisioning feature is disabled.
const base::Feature kMediaDrmPreprovisioningAtStartup{
"MediaDrmPreprovisioningAtStartup", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -245,7 +243,7 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
diff --git a/media/base/media_switches.h b/media/base/media_switches.h
--- a/media/base/media_switches.h
+++ b/media/base/media_switches.h
@@ -233,6 +233,7 @@ MEDIA_EXPORT extern const base::Feature kForceHardwareAudioDecoders;
@@ -223,6 +223,7 @@ MEDIA_EXPORT extern const base::Feature kForceHardwareAudioDecoders;
MEDIA_EXPORT extern const base::Feature kAllowNonSecureOverlays;
MEDIA_EXPORT extern const base::Feature kMediaControlsExpandGesture;
MEDIA_EXPORT extern const base::Feature kMediaDrmPersistentLicense;
@@ -6,8 +6,6 @@ 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(-)
+160 -6
View File
@@ -4,12 +4,22 @@ 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(-)
third_party/libaom/BUILD.gn | 6 ++++--
third_party/libaom/libaom_srcs.gni | 5 +++++
.../config/linux/arm-neon-cpu-detect/config/aom_config.asm | 2 +-
.../config/linux/arm-neon-cpu-detect/config/aom_config.h | 2 +-
.../source/config/linux/arm-neon/config/aom_config.asm | 2 +-
.../libaom/source/config/linux/arm-neon/config/aom_config.h | 2 +-
.../libaom/source/config/linux/arm/config/aom_config.asm | 2 +-
.../libaom/source/config/linux/arm/config/aom_config.h | 2 +-
.../libaom/source/config/linux/arm64/config/aom_config.asm | 2 +-
.../libaom/source/config/linux/arm64/config/aom_config.h | 2 +-
.../source/config/linux/generic/config/aom_config.asm | 2 +-
.../libaom/source/config/linux/generic/config/aom_config.h | 2 +-
.../libaom/source/config/linux/x64/config/aom_config.asm | 2 +-
.../libaom/source/config/linux/x64/config/aom_config.h | 2 +-
14 files changed, 21 insertions(+), 14 deletions(-)
diff --git a/third_party/libaom/BUILD.gn b/third_party/libaom/BUILD.gn
--- a/third_party/libaom/BUILD.gn
@@ -44,7 +54,7 @@ diff --git a/third_party/libaom/BUILD.gn b/third_party/libaom/BUILD.gn
diff --git a/third_party/libaom/libaom_srcs.gni b/third_party/libaom/libaom_srcs.gni
--- a/third_party/libaom/libaom_srcs.gni
+++ b/third_party/libaom/libaom_srcs.gni
@@ -666,6 +666,11 @@ aom_rc_interface_sources = [
@@ -652,6 +652,11 @@ aom_rc_interface_sources = [
"//third_party/libaom/source/libaom/test/yuv_video_source.h",
]
@@ -56,5 +66,149 @@ diff --git a/third_party/libaom/libaom_srcs.gni b/third_party/libaom/libaom_srcs
aom_rtcd_sources = [
"//third_party/libaom/source/libaom/aom_dsp/aom_dsp_rtcd.c",
"//third_party/libaom/source/libaom/aom_scale/aom_scale_rtcd.c",
diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.asm
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
CONFIG_PARTITION_SEARCH_ORDER equ 0
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
CONFIG_RATECTRL_LOG equ 0
CONFIG_RD_COMMAND equ 0
CONFIG_RD_DEBUG equ 0
diff --git a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
--- a/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/arm-neon-cpu-detect/config/aom_config.h
@@ -52,7 +52,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RATECTRL_LOG 0
#define CONFIG_RD_COMMAND 0
#define CONFIG_RD_DEBUG 0
diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.asm
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
CONFIG_PARTITION_SEARCH_ORDER equ 0
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
CONFIG_RATECTRL_LOG equ 0
CONFIG_RD_COMMAND equ 0
CONFIG_RD_DEBUG equ 0
diff --git a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
--- a/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/arm-neon/config/aom_config.h
@@ -52,7 +52,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RATECTRL_LOG 0
#define CONFIG_RD_COMMAND 0
#define CONFIG_RD_DEBUG 0
diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.asm b/third_party/libaom/source/config/linux/arm/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/arm/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/arm/config/aom_config.asm
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
CONFIG_PARTITION_SEARCH_ORDER equ 0
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
CONFIG_RATECTRL_LOG equ 0
CONFIG_RD_COMMAND equ 0
CONFIG_RD_DEBUG equ 0
diff --git a/third_party/libaom/source/config/linux/arm/config/aom_config.h b/third_party/libaom/source/config/linux/arm/config/aom_config.h
--- a/third_party/libaom/source/config/linux/arm/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/arm/config/aom_config.h
@@ -52,7 +52,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RATECTRL_LOG 0
#define CONFIG_RD_COMMAND 0
#define CONFIG_RD_DEBUG 0
diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.asm b/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/arm64/config/aom_config.asm
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
CONFIG_PARTITION_SEARCH_ORDER equ 0
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
CONFIG_RATECTRL_LOG equ 0
CONFIG_RD_COMMAND equ 0
CONFIG_RD_DEBUG equ 0
diff --git a/third_party/libaom/source/config/linux/arm64/config/aom_config.h b/third_party/libaom/source/config/linux/arm64/config/aom_config.h
--- a/third_party/libaom/source/config/linux/arm64/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/arm64/config/aom_config.h
@@ -52,7 +52,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RATECTRL_LOG 0
#define CONFIG_RD_COMMAND 0
#define CONFIG_RD_DEBUG 0
diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.asm b/third_party/libaom/source/config/linux/generic/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/generic/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/generic/config/aom_config.asm
@@ -50,7 +50,7 @@ CONFIG_NORMAL_TILE_MODE equ 1
CONFIG_OPTICAL_FLOW_API equ 0
CONFIG_OS_SUPPORT equ 1
CONFIG_PARTITION_SEARCH_ORDER equ 0
-CONFIG_PIC equ 0
+CONFIG_PIC equ 1
CONFIG_RATECTRL_LOG equ 0
CONFIG_RD_COMMAND equ 0
CONFIG_RD_DEBUG equ 0
diff --git a/third_party/libaom/source/config/linux/generic/config/aom_config.h b/third_party/libaom/source/config/linux/generic/config/aom_config.h
--- a/third_party/libaom/source/config/linux/generic/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/generic/config/aom_config.h
@@ -52,7 +52,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RATECTRL_LOG 0
#define CONFIG_RD_COMMAND 0
#define CONFIG_RD_DEBUG 0
diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.asm b/third_party/libaom/source/config/linux/x64/config/aom_config.asm
--- a/third_party/libaom/source/config/linux/x64/config/aom_config.asm
+++ b/third_party/libaom/source/config/linux/x64/config/aom_config.asm
@@ -40,7 +40,7 @@
%define CONFIG_OPTICAL_FLOW_API 0
%define CONFIG_OS_SUPPORT 1
%define CONFIG_PARTITION_SEARCH_ORDER 0
-%define CONFIG_PIC 0
+%define CONFIG_PIC 1
%define CONFIG_RATECTRL_LOG 0
%define CONFIG_RD_COMMAND 0
%define CONFIG_RD_DEBUG 0
diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.h b/third_party/libaom/source/config/linux/x64/config/aom_config.h
--- a/third_party/libaom/source/config/linux/x64/config/aom_config.h
+++ b/third_party/libaom/source/config/linux/x64/config/aom_config.h
@@ -52,7 +52,7 @@
#define CONFIG_OPTICAL_FLOW_API 0
#define CONFIG_OS_SUPPORT 1
#define CONFIG_PARTITION_SEARCH_ORDER 0
-#define CONFIG_PIC 0
+#define CONFIG_PIC 1
#define CONFIG_RATECTRL_LOG 0
#define CONFIG_RD_COMMAND 0
#define CONFIG_RD_DEBUG 0
--
2.25.1
@@ -2,8 +2,6 @@ From: uazo <uazo@users.noreply.github.com>
Date: Mon, 26 Apr 2021 13:28:24 +0000
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 +
@@ -13,14 +11,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/flags/android/chrome_feature_list.cc | 4 ++++
chrome/browser/flags/android/chrome_feature_list.h | 1 +
.../chromium/chrome/browser/flags/CachedFeatureFlags.java | 1 +
.../chromium/chrome/browser/flags/ChromeFeatureList.java | 3 +++
.../chromium/chrome/browser/flags/ChromeFeatureList.java | 1 +
net/android/java/src/org/chromium/net/X509Util.java | 5 +++++
10 files changed, 31 insertions(+), 1 deletion(-)
10 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -222,6 +222,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
@@ -231,6 +231,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
import org.chromium.content_public.browser.SelectionPopupController;
import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.common.ContentSwitches;
@@ -28,7 +26,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.printing.PrintManagerDelegateImpl;
import org.chromium.printing.PrintingController;
import org.chromium.printing.PrintingControllerImpl;
@@ -939,6 +940,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -994,6 +995,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
UpdateMenuItemHelper.getInstance().onStart();
ChromeActivitySessionTracker.getInstance().onStartWithNative();
ChromeCachedFlags.getInstance().cacheNativeFlags();
@@ -40,18 +38,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
@@ -74,6 +74,7 @@ public class ChromeCachedFlags {
add(ChromeFeatureList.sAndroidAuxiliarySearch);
add(ChromeFeatureList.sAnonymousUpdateChecks);
add(ChromeFeatureList.sAppMenuMobileSiteOption);
+ add(ChromeFeatureList.sAllowUserCertificates);
add(ChromeFeatureList.sBackGestureRefactorAndroid);
add(ChromeFeatureList.sCctIncognito);
add(ChromeFeatureList.sCctIncognitoAvailableToThirdParty);
@@ -94,6 +94,7 @@ public class ChromeCachedFlags {
.GIVE_JAVA_UI_THREAD_DEFAULT_TASK_TRAITS_USER_BLOCKING_PRIORITY);
add(ChromeFeatureList.GRID_TAB_SWITCHER_FOR_TABLETS);
add(ChromeFeatureList.IMMERSIVE_UI_MODE);
+ add(ChromeFeatureList.ALLOW_USER_CERTIFICATES);
add(ChromeFeatureList.INSTANT_START);
add(ChromeFeatureList.INSTANCE_SWITCHER);
add(ChromeFeatureList.INTEREST_FEED_V2);
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3419,7 +3419,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3220,7 +3220,11 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-container-queries", flag_descriptions::kCSSContainerQueriesName,
flag_descriptions::kCSSContainerQueriesDescription, kOsAll,
FEATURE_VALUE_TYPE(blink::features::kCSSContainerQueries)},
@@ -82,7 +80,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -39,6 +39,9 @@ namespace flag_descriptions {
@@ -38,6 +38,9 @@ namespace flag_descriptions {
// Cross-platform -------------------------------------------------------------
@@ -95,23 +93,23 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -145,6 +145,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedInteractiveRefresh,
@@ -144,6 +144,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedLoadingPlaceholder,
&feed::kInterestFeedContentSuggestions,
&feed::kInterestFeedSpinnerAlwaysAnimate,
+ &kAllowUserCertificates,
&feed::kInterestFeedV1ClicksAndViewsConditionalUpload,
&feed::kInterestFeedV2,
&feed::kInterestFeedV2Autoplay,
@@ -438,6 +439,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{
@@ -399,6 +400,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{
"AdaptiveButtonInTopToolbarCustomizationV2",
base::FEATURE_ENABLED_BY_DEFAULT};
base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kAllowUserCertificates = {
+ "AllowUserCertificates", base::FEATURE_DISABLED_BY_DEFAULT};
+
const base::Feature kAddToHomescreenIPH{"AddToHomescreenIPH",
base::FEATURE_ENABLED_BY_DEFAULT};
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
@@ -127,14 +125,14 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
@@ -50,6 +50,7 @@ public class CachedFeatureFlags {
ImmutableMap.<String, Boolean>builder()
@@ -51,6 +51,7 @@ public class CachedFeatureFlags {
.put(ChromeFeatureList.ANONYMOUS_UPDATE_CHECKS, true)
.put(ChromeFeatureList.APP_MENU_MOBILE_SITE_OPTION, false)
.put(ChromeFeatureList.BOOKMARK_BOTTOM_SHEET, false)
.put(ChromeFeatureList.CONDITIONAL_TAB_STRIP_ANDROID, false)
+ .put(ChromeFeatureList.ALLOW_USER_CERTIFICATES, false)
.put(ChromeFeatureList.BACK_GESTURE_REFACTOR, false)
.put(ChromeFeatureList.CCT_INCOGNITO, true)
.put(ChromeFeatureList.CCT_INCOGNITO_AVAILABLE_TO_THIRD_PARTY, false)
.put(ChromeFeatureList.LENS_CAMERA_ASSISTED_SEARCH, false)
.put(ChromeFeatureList.SERVICE_MANAGER_FOR_DOWNLOAD, true)
.put(ChromeFeatureList.SERVICE_MANAGER_FOR_BACKGROUND_PREFETCH, true)
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -146,15 +144,6 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String ABOUT_THIS_SITE_BANNER = "AboutThisSiteBanner";
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR = "AdaptiveButtonInTopToolbar";
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2 =
@@ -600,6 +601,8 @@ public abstract class ChromeFeatureList {
public static final String FEED_ABLATION = "FeedAblation";
/* Alphabetical: */
+ public static final CachedFlag sAllowUserCertificates =
+ new CachedFlag(ALLOW_USER_CERTIFICATES, false);
public static final CachedFlag sAndroidAuxiliarySearch =
new CachedFlag(OMNIBOX_ANDROID_AUXILIARY_SEARCH, false);
public static final CachedFlag sAnonymousUpdateChecks =
diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/java/src/org/chromium/net/X509Util.java
--- a/net/android/java/src/org/chromium/net/X509Util.java
+++ b/net/android/java/src/org/chromium/net/X509Util.java
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Tue, 9 Mar 2021 19:43:00 +0100
Subject: Add Alt+D hotkey to focus address bar
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../java/src/org/chromium/chrome/browser/KeyboardShortcuts.java | 2 ++
1 file changed, 2 insertions(+)
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 12 Oct 2017 11:06:18 +0200
Subject: Add DuckDuckGo Lite search engine
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../search_engines/prepopulated_engines.json | 10 +
.../search_engines/search_engine_type.h | 1 +
@@ -32,11 +31,11 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/se
diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h
--- a/components/search_engines/search_engine_type.h
+++ b/components/search_engines/search_engine_type.h
@@ -79,6 +79,7 @@ enum SearchEngineType {
SEARCH_ENGINE_STARTER_PACK_HISTORY = 62,
SEARCH_ENGINE_STARTER_PACK_TABS = 63,
SEARCH_ENGINE_GOOGLE_EN = 64,
+ SEARCH_ENGINE_DUCKDUCKGOLIGHT = 65,
@@ -76,6 +76,7 @@ enum SearchEngineType {
SEARCH_ENGINE_ECOSIA = 59,
SEARCH_ENGINE_PETALSEARCH = 60,
SEARCH_ENGINE_GOOGLE_EN = 61,
+ SEARCH_ENGINE_DUCKDUCKGOLIGHT = 62,
SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro.
};
@@ -4,8 +4,6 @@ Subject: Add English-only search engine
Add a Google search engine that forces languages to English,
disable from all its searches RLZ and field experiments querystring parameters.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../search_engines/prepopulated_engines.json | 21 ++
.../search_engines/search_engine_type.h | 1 +
@@ -15,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
--- a/components/search_engines/prepopulated_engines.json
+++ b/components/search_engines/prepopulated_engines.json
@@ -135,6 +135,27 @@
@@ -134,6 +134,27 @@
"id": 1
},
@@ -46,11 +44,11 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/se
diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h
--- a/components/search_engines/search_engine_type.h
+++ b/components/search_engines/search_engine_type.h
@@ -78,6 +78,7 @@ enum SearchEngineType {
SEARCH_ENGINE_STARTER_PACK_BOOKMARKS = 61,
SEARCH_ENGINE_STARTER_PACK_HISTORY = 62,
SEARCH_ENGINE_STARTER_PACK_TABS = 63,
+ SEARCH_ENGINE_GOOGLE_EN = 64,
@@ -75,6 +75,7 @@ enum SearchEngineType {
SEARCH_ENGINE_PRIVACYWALL = 58,
SEARCH_ENGINE_ECOSIA = 59,
SEARCH_ENGINE_PETALSEARCH = 60,
+ SEARCH_ENGINE_GOOGLE_EN = 61,
SEARCH_ENGINE_MAX // Bounding value needed for UMA histogram macro.
};
@@ -2,8 +2,6 @@ From: uazo <uazo@users.noreply.github.com>
Date: Mon, 26 Apr 2021 15:04:11 +0000
Subject: Add IsCleartextPermitted flag
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 4 ++++
@@ -16,7 +14,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
@@ -8561,6 +8561,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8201,6 +8201,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kRequestDesktopSiteExceptionsName,
flag_descriptions::kRequestDesktopSiteExceptionsDescription, kOsAndroid,
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
@@ -30,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
@@ -1629,6 +1629,10 @@ const char kHttpsOnlyModeDescription[] =
@@ -1477,6 +1477,10 @@ const char kHttpsOnlyModeDescription[] =
"Adds a setting under chrome://settings/security to opt-in to HTTPS-First "
"Mode.";
@@ -44,7 +42,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -915,6 +915,9 @@ extern const char kHideShelfControlsInTabletModeDescription[];
@@ -834,6 +834,9 @@ extern const char kHideShelfControlsInTabletModeDescription[];
extern const char kHttpsOnlyModeName[];
extern const char kHttpsOnlyModeDescription[];
@@ -57,7 +55,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -114,6 +114,9 @@ const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
@@ -115,6 +115,9 @@ const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
const base::Feature kEncryptedClientHello{"EncryptedClientHello",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -70,9 +68,9 @@ diff --git a/net/base/features.cc b/net/base/features.cc
diff --git a/net/base/features.h b/net/base/features.h
--- a/net/base/features.h
+++ b/net/base/features.h
@@ -33,6 +33,8 @@ NET_EXPORT extern const base::Feature kAvoidH2Reprioritization;
// origin requests are restricted to contain at most the source origin.
NET_EXPORT extern const base::Feature kCapReferrerToOriginOnCrossOrigin;
@@ -37,6 +37,8 @@ NET_EXPORT extern const base::Feature kCapReferrerToOriginOnCrossOrigin;
// Enables the ParsedCookie domain attribute to be the empty string.
NET_EXPORT extern const base::Feature kCookieDomainAttributeEmptyString;
+NET_EXPORT extern const base::Feature kIsCleartextPermitted;
+
@@ -82,7 +80,7 @@ diff --git a/net/base/features.h b/net/base/features.h
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -211,6 +211,10 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
@@ -210,6 +210,10 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
}
#if BUILDFLAG(IS_ANDROID)
@@ -8,8 +8,6 @@ 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.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/java/res/values/values.xml | 3 +
.../java/res/xml/privacy_preferences.xml | 4 +
@@ -72,18 +70,18 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -57,6 +57,7 @@ public class PrivacySettings
@@ -58,6 +58,7 @@ public class PrivacySettings
private static final String PREF_DO_NOT_TRACK = "do_not_track";
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
+ private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
private static final String PREF_PHONE_AS_A_SECURITY_KEY = "phone_as_a_security_key";
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -271,6 +271,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
@@ -275,6 +275,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
#endif
@@ -95,8 +93,8 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
--- a/chrome/browser/browser_resources.grd
+++ b/chrome/browser/browser_resources.grd
@@ -80,6 +80,12 @@
<include name="IDR_CONTACT_CENTER_INSIGHTS_MANIFEST" file="resources\chromeos\contact_center_insights\manifest.json" type="BINDATA" />
@@ -74,6 +74,12 @@
<include name="IDR_HANGOUT_SERVICES_MANIFEST" file="resources\hangout_services\manifest.json" type="BINDATA" />
</if>
+ <!-- Bromite Proxy Configuration UI -->
@@ -119,17 +117,17 @@ diff --git a/chrome/browser/net/proxy_service_factory.cc b/chrome/browser/net/pr
#include "base/threading/thread_task_runner_handle.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
@@ -13,6 +14,9 @@
#include "content/public/browser/browser_task_traits.h"
@@ -14,6 +15,9 @@
#include "content/public/browser/browser_thread.h"
#include "net/proxy_resolution/configured_proxy_resolution_service.h"
#include "net/proxy_resolution/proxy_config_service.h"
+#include "components/proxy_config/proxy_config_pref_names.h"
+#include "components/prefs/pref_service.h"
+#include "components/prefs/pref_registry_simple.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chromeos/ash/components/network/proxy/proxy_config_service_impl.h"
@@ -70,7 +74,20 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfProfile(
#include "chromeos/network/proxy/proxy_config_service_impl.h"
@@ -72,7 +76,20 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfProfile(
return std::make_unique<chromeos::ProxyConfigServiceImpl>(
profile_prefs, local_state_prefs, nullptr);
#else
@@ -151,7 +149,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.cc b/chrome/browser/net/pr
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
}
@@ -86,3 +103,8 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfLocalState(
@@ -88,3 +105,8 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfLocalState(
nullptr);
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
}
@@ -183,7 +181,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.h b/chrome/browser/net/pro
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -163,6 +163,8 @@
@@ -161,6 +161,8 @@
#include "printing/buildflags/buildflags.h"
#include "rlz/buildflags/buildflags.h"
@@ -192,7 +190,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
#include "chrome/browser/background/background_mode_manager.h"
#endif
@@ -1045,6 +1047,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -994,6 +996,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
chrome::enterprise_util::RegisterLocalStatePrefs(registry);
component_updater::RegisterPrefs(registry);
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
@@ -204,7 +202,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
diff --git a/chrome/browser/prefs/chrome_command_line_pref_store.cc b/chrome/browser/prefs/chrome_command_line_pref_store.cc
--- a/chrome/browser/prefs/chrome_command_line_pref_store.cc
+++ b/chrome/browser/prefs/chrome_command_line_pref_store.cc
@@ -162,7 +162,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
@@ -157,7 +157,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() {
SetValue(
proxy_config::prefs::kProxy,
std::make_unique<base::Value>(ProxyConfigDictionary::CreateFixedServers(
@@ -637,7 +635,7 @@ new file mode 100644
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -283,6 +283,8 @@ static_library("ui") {
@@ -281,6 +281,8 @@ static_library("ui") {
"webui/metrics_handler.h",
"webui/net_export_ui.cc",
"webui/net_export_ui.h",
@@ -649,15 +647,15 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -57,6 +57,7 @@
@@ -56,6 +56,7 @@
#include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h"
#include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
#include "chrome/browser/ui/webui/policy/policy_ui.h"
+#include "chrome/browser/ui/webui/proxy_config_ui.h"
#include "chrome/browser/ui/webui/predictors/predictors_ui.h"
#include "chrome/browser/ui/webui/profiles/profile_internals_ui.h"
#include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h"
#include "chrome/browser/ui/webui/signin_internals_ui.h"
@@ -779,6 +780,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -778,6 +779,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<MemoryInternalsUI>;
if (url.host_piece() == chrome::kChromeUINetExportHost)
return &NewWebUI<NetExportUI>;
@@ -1128,7 +1126,7 @@ new file mode 100644
diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc
--- a/chrome/common/webui_url_constants.cc
+++ b/chrome/common/webui_url_constants.cc
@@ -46,6 +46,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
@@ -48,6 +48,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
const char kChromeUICertificateViewerURL[] = "chrome://view-cert/";
const char kChromeUIChromeSigninHost[] = "chrome-signin";
const char kChromeUIChromeSigninURL[] = "chrome://chrome-signin/";
@@ -1137,15 +1135,15 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
const char kChromeUIChromeURLsHost[] = "chrome-urls";
const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/";
const char kChromeUIComponentsHost[] = "components";
@@ -432,6 +434,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
kChromeUILockScreenNetworkHost,
kChromeUILockScreenStartReauthHost,
@@ -421,6 +423,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
kChromeUIMobileSetupHost,
+ kChromeUIProxyConfigHost,
kChromeUIMultiDeviceSetupHost,
kChromeUINetworkHost,
kChromeUINotificationTesterHost,
@@ -692,6 +695,7 @@ const char* const kChromeHostURLs[] = {
+ kChromeUIProxyConfigHost,
kChromeUIOobeHost,
kChromeUIOSCreditsHost,
kChromeUIOSSettingsHost,
@@ -672,6 +675,7 @@ const char* const kChromeHostURLs[] = {
#if !BUILDFLAG(IS_ANDROID)
#if !BUILDFLAG(IS_CHROMEOS_ASH)
kChromeUIAppLauncherPageHost,
@@ -1156,7 +1154,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
--- a/chrome/common/webui_url_constants.h
+++ b/chrome/common/webui_url_constants.h
@@ -133,6 +133,8 @@ extern const char kChromeUIMemoryInternalsHost[];
@@ -132,6 +132,8 @@ extern const char kChromeUIMemoryInternalsHost[];
extern const char kChromeUINTPTilesInternalsHost[];
extern const char kChromeUINaClHost[];
extern const char kChromeUINetExportHost[];
@@ -1304,7 +1302,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.h b/components/prox
diff --git a/components/proxy_config/proxy_policy_handler.cc b/components/proxy_config/proxy_policy_handler.cc
--- a/components/proxy_config/proxy_policy_handler.cc
+++ b/components/proxy_config/proxy_policy_handler.cc
@@ -260,7 +260,7 @@ void ProxyPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
@@ -258,7 +258,7 @@ void ProxyPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
ProxyConfigDictionary::CreateFixedServers(
server->GetString(), bypass_list && bypass_list->is_string()
? bypass_list->GetString()
@@ -1316,7 +1314,7 @@ diff --git a/components/proxy_config/proxy_policy_handler.cc b/components/proxy_
diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_config.cc
--- a/net/proxy_resolution/proxy_config.cc
+++ b/net/proxy_resolution/proxy_config.cc
@@ -109,7 +109,7 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules) {
@@ -112,7 +112,7 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules) {
&single_proxies,
ProxyServer::SCHEME_HTTP);
type = Type::PROXY_LIST;
@@ -1325,7 +1323,7 @@ diff --git a/net/proxy_resolution/proxy_config.cc b/net/proxy_resolution/proxy_c
}
// Trim whitespace off the url scheme.
@@ -140,6 +140,56 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules) {
@@ -143,6 +143,56 @@ void ProxyConfig::ProxyRules::ParseFromString(const std::string& proxy_rules) {
}
}
+157 -115
View File
@@ -1,4 +1,4 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
From: uazo <uazo@users.noreply.github.com>
Date: Sat, 2 Oct 2021 13:20:36 +0200
Subject: Add an always-incognito mode
@@ -14,10 +14,7 @@ IncognitoPlaceholder is also deactivated, both in the phone and tablet version.
The relative tests are also present.
based on the original work by Ryan Archer <ryan.bradley.archer@gmail.com>
Major contributions by uazo.
See also: https://github.com/bromite/bromite/pull/1427
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/chrome_java_resources.gni | 1 +
chrome/android/chrome_java_sources.gni | 2 +
@@ -34,6 +31,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/download/DownloadUtils.java | 16 +-
.../browser/history/HistoryManager.java | 18 +-
.../chrome/browser/history/HistoryPage.java | 16 ++
.../browser/init/StartupTabPreloader.java | 14 +-
.../native_page/NativePageFactory.java | 4 +-
.../chrome/browser/ntp/RecentTabsManager.java | 3 +-
.../privacy/settings/IncognitoSettings.java | 160 ++++++++++++++++++
@@ -41,7 +39,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../HistoricalTabModelObserver.java | 8 +-
.../tab/tab_restore/HistoricalTabSaver.java | 2 +-
.../tab_restore/HistoricalTabSaverImpl.java | 16 +-
.../tabbed_mode/TabbedRootUiCoordinator.java | 4 +-
.../tabbed_mode/TabbedRootUiCoordinator.java | 5 +-
.../browser/tabmodel/ChromeTabCreator.java | 5 +-
.../tabmodel/TabModelSelectorImpl.java | 3 +
.../browser/tabmodel/TabPersistentStore.java | 9 +
@@ -82,7 +80,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 +
63 files changed, 676 insertions(+), 72 deletions(-)
64 files changed, 688 insertions(+), 75 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
@@ -91,7 +89,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
@@ -665,6 +665,7 @@ chrome_java_resources = [
@@ -695,6 +695,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",
@@ -110,7 +108,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",
@@ -954,6 +955,7 @@ chrome_java_sources = [
@@ -973,6 +974,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",
@@ -244,7 +242,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate;
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
import org.chromium.chrome.browser.accessibility_tab_switcher.OverviewListLayout;
@@ -1900,8 +1901,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1853,8 +1854,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
Bundle savedInstanceState = getSavedInstanceState();
// We determine the model as soon as possible so every systems get initialized coherently.
@@ -254,12 +252,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
+ || (savedInstanceState != null
+ && savedInstanceState.getBoolean(IS_INCOGNITO_SELECTED, false));
mNextTabPolicySupplier = new ChromeNextTabPolicySupplier(mLayoutStateProviderSupplier);
mNextTabPolicySupplier = new ChromeNextTabPolicySupplier(mOverviewModeBehaviorSupplier);
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
@@ -97,6 +97,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial;
@@ -103,6 +103,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial;
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager.ContextualSearchTabPromotionDelegate;
import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
@@ -267,7 +265,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.dependency_injection.ChromeActivityComponent;
import org.chromium.chrome.browser.dependency_injection.ModuleFactoryOverrides;
import org.chromium.chrome.browser.device.DeviceClassManager;
@@ -1808,6 +1809,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1959,6 +1960,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
throw new IllegalStateException(
"Attempting to access TabCreator before initialization");
}
@@ -288,7 +286,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.BookmarkBridge;
import org.chromium.chrome.browser.bookmarks.BookmarkFeatures;
@@ -98,6 +99,10 @@ import java.util.ArrayList;
@@ -96,6 +97,10 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -299,7 +297,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.
@@ -549,6 +554,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -524,6 +529,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) {
@@ -313,7 +311,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;
@@ -609,7 +621,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -580,7 +592,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
if (item.getItemId() == R.id.recent_tabs_menu_id) {
@@ -329,8 +327,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
+ item.setVisible(!isIncognito);
}
if (item.getItemId() == R.id.menu_group_tabs) {
// Disable incognito group tabs when a re-authentication screen is shown.
@@ -851,7 +871,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
item.setVisible(isMenuGroupTabsVisible);
@@ -817,7 +837,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
@@ -344,7 +342,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
@@ -30,6 +30,7 @@ import org.chromium.base.ContextUtils;
@@ -31,6 +31,7 @@ import org.chromium.base.ContextUtils;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.R;
@@ -352,7 +350,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator;
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuItem.Item;
import org.chromium.chrome.browser.contextmenu.ContextMenuCoordinator.ListItemType;
@@ -374,6 +375,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -418,6 +419,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
boolean hasSaveImage = false;
mShowEphemeralTabNewLabel = null;
@@ -362,7 +360,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
List<Pair<Integer, ModelList>> groupedItems = new ArrayList<>();
if (mParams.isAnchor()) {
@@ -392,6 +396,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -436,6 +440,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB_IN_GROUP));
}
}
@@ -370,7 +368,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
if (!mItemDelegate.isIncognito() && mItemDelegate.isIncognitoSupported()) {
linkGroup.add(createListItem(Item.OPEN_IN_INCOGNITO_TAB));
}
@@ -416,7 +421,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -460,7 +465,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
}
}
if (FirstRunStatus.getFirstRunFlowComplete()) {
@@ -382,7 +380,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java
@@ -66,31 +66,6 @@ public class CustomTabActivityLifecycleUmaTracker implements PauseResumeWithNati
@@ -39,31 +39,6 @@ public class CustomTabActivityLifecycleUmaTracker implements PauseResumeWithNati
private boolean mIsInitialResume = true;
private void recordIncognitoLaunchReason() {
@@ -417,7 +415,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/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
@@ -21,6 +21,7 @@ import org.chromium.base.ContextUtils;
@@ -20,6 +20,7 @@ import org.chromium.base.ContextUtils;
import org.chromium.base.supplier.ObservableSupplier;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
@@ -425,7 +423,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
import org.chromium.chrome.browser.DefaultBrowserInfo;
import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl;
import org.chromium.chrome.browser.bookmarks.BookmarkBridge;
@@ -172,6 +173,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -168,6 +169,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
downloadItemVisible = false;
openInChromeItemVisible = false;
}
@@ -438,7 +436,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/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
@@ -49,6 +49,9 @@ import org.chromium.components.embedder_support.util.UrlConstants;
@@ -50,6 +50,9 @@ import org.chromium.components.embedder_support.util.UrlConstants;
import org.chromium.components.version_info.VersionInfo;
import org.chromium.device.mojom.ScreenOrientationLockType;
@@ -448,7 +446,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
@@ -776,7 +779,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@@ -748,7 +751,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@Override
public boolean isIncognito() {
@@ -468,7 +466,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.app.download.home.DownloadActivity;
@@ -73,6 +74,10 @@ import org.chromium.ui.widget.Toast;
@@ -72,6 +73,10 @@ import org.chromium.ui.widget.Toast;
import java.io.File;
@@ -479,7 +477,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
/**
* A class containing some utility static methods.
*/
@@ -317,7 +322,16 @@ public class DownloadUtils {
@@ -312,7 +317,16 @@ public class DownloadUtils {
// Offline pages isn't supported in Incognito. This should be checked before calling
// OfflinePageBridge.getForProfile because OfflinePageBridge instance will not be found
// for incognito profile.
@@ -500,16 +498,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
@@ -31,6 +31,7 @@ import com.google.android.material.tabs.TabLayout.OnTabSelectedListener;
import org.chromium.base.metrics.RecordHistogram;
@@ -22,6 +22,7 @@ import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.base.supplier.ObservableSupplier;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.base.supplier.ObservableSupplierImpl;
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.R;
@@ -69,6 +70,12 @@ import org.chromium.url.GURL;
import java.io.Serializable;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataTabsFragment;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
@@ -43,6 +44,12 @@ import org.chromium.ui.base.Clipboard;
import java.util.List;
+import org.chromium.chrome.browser.profiles.Profile;
@@ -521,8 +519,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
/**
* Combines and manages the different UI components of browsing history.
*/
@@ -481,7 +488,16 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
return mRootView;
@@ -229,7 +236,16 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
: mSelectableListLayout;
}
- private boolean shouldShowIncognitoPlaceholder() {
@@ -542,15 +540,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
@@ -11,6 +11,7 @@ import androidx.annotation.VisibleForTesting;
@@ -10,12 +10,19 @@ import androidx.annotation.VisibleForTesting;
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.R;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.history_clusters.HistoryClustersConstants;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.tab.Tab;
@@ -19,6 +20,12 @@ import org.chromium.chrome.browser.ui.native_page.BasicNativePage;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.chrome.browser.ui.native_page.BasicNativePage;
import org.chromium.chrome.browser.ui.native_page.NativePageHost;
import org.chromium.components.embedder_support.util.UrlConstants;
@@ -563,8 +560,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
/**
* Native page for managing browsing history.
*/
@@ -41,6 +48,15 @@ public class HistoryPage extends BasicNativePage {
boolean isIncognito, Supplier<Tab> tabSupplier, String url) {
@@ -37,8 +44,17 @@ public class HistoryPage extends BasicNativePage {
boolean isIncognito, Supplier<Tab> tabSupplier) {
super(host);
+ if (isIncognito &&
@@ -575,10 +572,51 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
+ if (historyEnabledInIncognito == true) isIncognito = false;
+ }
+
mHistoryManager =
new HistoryManager(activity, false, snackbarManager, isIncognito, tabSupplier);
+
Uri uri = Uri.parse(url);
assert uri.getHost().equals(UrlConstants.HISTORY_HOST);
mTitle = host.getContext().getResources().getString(R.string.menu_history);
initWithView(mHistoryManager.getView());
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java b/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTabPreloader.java
@@ -42,6 +42,9 @@ import org.chromium.url.GURL;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+
/**
* This class attempts to preload the tab if the url is known from the intent when the profile
* is created. This is done to improve startup latency.
@@ -446,17 +449,22 @@ public class StartupTabPreloader implements ProfileManager.Observer, DestroyObse
Intent intent = mIntentSupplier.get();
GURL url = UrlFormatter.fixupUrl(getUrlFromIntent(intent));
+ boolean isIncognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito();
+
+ Profile profile = Profile.getLastUsedRegularProfile();
ChromeTabCreator chromeTabCreator =
- (ChromeTabCreator) mTabCreatorManager.getTabCreator(false);
+ (ChromeTabCreator) mTabCreatorManager.getTabCreator(isIncognito);
WebContents webContents =
- WebContentsFactory.createWebContents(Profile.getLastUsedRegularProfile(), false);
+ WebContentsFactory.createWebContents(
+ isIncognito ? profile.getPrimaryOTRProfile(true /* createIfNeeded */) : profile,
+ false);
mLoadUrlParams = mIntentHandler.createLoadUrlParamsForIntent(url.getSpec(), intent);
// Create a detached tab, but don't add it to the tab model yet. We'll do that
// later if the loadUrlParams etc... match.
mTab = TabBuilder.createLiveTab(false)
- .setIncognito(false)
+ .setIncognito(isIncognito)
.setLaunchType(TabLaunchType.FROM_EXTERNAL_APP)
.setWindow(mWindowAndroid)
.setWebContents(webContents)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageFactory.java
@@ -590,7 +628,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.app.download.home.DownloadPage;
import org.chromium.chrome.browser.bookmarks.BookmarkPage;
@@ -251,7 +252,8 @@ public class NativePageFactory {
@@ -243,7 +244,8 @@ public class NativePageFactory {
String url, NativePage candidatePage, Tab tab, boolean isIncognito) {
NativePage page;
@@ -603,7 +641,7 @@ 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
@@ -82,7 +82,8 @@ public class RecentTabsManager implements AccountsChangeObserver {
@@ -73,7 +73,8 @@ public class RecentTabsManager implements AccountsChangeObserver {
*/
public RecentTabsManager(Tab tab, TabModelSelector tabModelSelector, Profile profile,
Context context, Runnable showHistoryManager) {
@@ -781,15 +819,15 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
@@ -58,6 +58,7 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.profiles.ProfileManagerUtils;
@@ -61,6 +61,7 @@ import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment;
import org.chromium.chrome.browser.safety_check.SafetyCheckUpdatesDelegateImpl;
import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings;
import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate;
+import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
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
@@ -252,6 +253,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
if (fragment instanceof AdPersonalizationRemovedFragment) {
((AdPersonalizationRemovedFragment) fragment).setSnackbarManager(getSnackbarManager());
}
@@ -847,7 +885,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/tab/tab_restore/HistoricalTabSaverImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore/HistoricalTabSaverImpl.java
@@ -29,6 +29,8 @@ import java.util.Arrays;
@@ -25,6 +25,8 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -856,7 +894,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
/**
* Creates historical entries in TabRestoreService.
*/
@@ -62,10 +64,10 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -46,10 +48,10 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
// HistoricalTabSaver implementation.
@Override
@@ -869,7 +907,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
}
@Override
@@ -106,7 +108,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -90,7 +92,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
// If there is only a single valid tab remaining save it individually.
if (validEntries.size() == 1 && validEntries.get(0).isSingleTab()) {
@@ -878,20 +916,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
return;
}
@@ -128,10 +130,10 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -107,8 +109,8 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
CollectionUtil.integerListToIntArray(perTabGroupId), allTabs.toArray(new Tab[0]));
}
- private void createHistoricalTabInternal(Tab tab) {
+ private void createHistoricalTabInternal(Tab tab, boolean is_always_incognito) {
RecordHistogram.recordEnumeratedHistogram("Tabs.RecentlyClosed.HistoricalSaverCloseType",
HistoricalSaverCloseType.TAB, HistoricalSaverCloseType.COUNT);
- HistoricalTabSaverImplJni.get().createHistoricalTab(tab);
+ private void createHistoricalTabInternal(Tab tab, boolean is_always_incognito) {
+ HistoricalTabSaverImplJni.get().createHistoricalTab(tab, is_always_incognito);
}
/**
@@ -139,7 +141,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -116,7 +118,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
* internal Chrome scheme, about:blank, or a native page and it cannot be incognito.
*/
private boolean shouldSave(Tab tab) {
@@ -900,7 +936,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
// {@link GURL#getScheme()} is not available in unit tests.
if (mIgnoreUrlSchemesForTesting) return true;
@@ -217,7 +219,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@@ -194,7 +196,7 @@ public class HistoricalTabSaverImpl implements HistoricalTabSaver {
@NativeMethods
interface Natives {
@@ -912,28 +948,33 @@ 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
@@ -125,6 +125,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;
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
@@ -122,6 +122,8 @@ import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.base.IntentRequestTracker;
import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.ui.util.TokenHolder;
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
@@ -491,7 +493,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
/**
* A {@link RootUiCoordinator} variant that controls tabbed-mode specific UI.
@@ -493,11 +495,12 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
// TODO(twellington): Supply TabModelSelector as well and move initialization earlier.
if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) {
+ boolean tabModel = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito();
AppMenuHandler appMenuHandler =
mAppMenuCoordinator == null ? null : mAppMenuCoordinator.getAppMenuHandler();
mEmptyBackgroundViewWrapper =
new EmptyBackgroundViewWrapper(mTabModelSelectorSupplier.get(),
- mTabCreatorManagerSupplier.get().getTabCreator(false), mActivity,
+ mTabCreatorManagerSupplier.get().getTabCreator(AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()), mActivity,
appMenuHandler, mSnackbarManagerSupplier.get(), mLayoutManagerSupplier);
mEmptyBackgroundViewWrapper = new EmptyBackgroundViewWrapper(
mTabModelSelectorSupplier.get(),
- mTabCreatorManagerSupplier.get().getTabCreator(false), mActivity,
+ mTabCreatorManagerSupplier.get().getTabCreator(tabModel), mActivity,
appMenuHandler, mSnackbarManagerSupplier.get(), mOverviewModeBehaviorSupplier);
mEmptyBackgroundViewWrapper.initialize();
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
@@ -41,6 +41,10 @@ import org.chromium.ui.base.PageTransition;
@@ -43,6 +43,10 @@ import org.chromium.ui.base.PageTransition;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.url.GURL;
@@ -944,7 +985,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
/**
* This class creates various kinds of new tabs and adds them to the right {@link TabModel}.
*/
@@ -312,7 +316,6 @@ public class ChromeTabCreator extends TabCreator {
@@ -336,7 +340,6 @@ public class ChromeTabCreator extends TabCreator {
// TODO(crbug.com/1081924): Clean up the launches from SearchActivity/Chrome.
public Tab launchUrlFromExternalApp(
LoadUrlParams loadUrlParams, String appId, boolean forceNewTab, Intent intent) {
@@ -984,7 +1025,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -747,6 +749,13 @@ public class TabPersistentStore {
@@ -739,6 +741,13 @@ public class TabPersistentStore {
}
}
}
@@ -1046,7 +1087,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
@@ -4603,6 +4603,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4373,6 +4373,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kOfflinePagesLivePageSharingName,
flag_descriptions::kOfflinePagesLivePageSharingDescription, kOsAndroid,
FEATURE_VALUE_TYPE(offline_pages::kOfflinePagesLivePageSharingFeature)},
@@ -1060,7 +1101,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/android/historical_tab_saver.cc
--- a/chrome/browser/android/historical_tab_saver.cc
+++ b/chrome/browser/android/historical_tab_saver.cc
@@ -25,6 +25,11 @@
@@ -24,6 +24,11 @@
#include "components/sessions/core/tab_restore_service.h"
#include "content/public/browser/web_contents.h"
@@ -1072,7 +1113,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
using base::android::JavaParamRef;
using base::android::ScopedJavaLocalRef;
@@ -35,7 +40,7 @@ namespace {
@@ -34,7 +39,7 @@ namespace {
// Defined in TabGroupModelFilter.java
constexpr int kInvalidGroupId = -1;
@@ -1081,7 +1122,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
if (!tab_android) {
return;
}
@@ -45,9 +50,14 @@ void CreateHistoricalTab(TabAndroid* tab_android) {
@@ -44,9 +49,14 @@ void CreateHistoricalTab(TabAndroid* tab_android) {
return;
}
@@ -1098,7 +1139,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
if (!service) {
return;
}
@@ -190,8 +200,9 @@ std::unique_ptr<ScopedWebContents> ScopedWebContents::CreateForTab(
@@ -176,8 +186,9 @@ std::unique_ptr<ScopedWebContents> ScopedWebContents::CreateForTab(
// static
static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab(
JNIEnv* env,
@@ -1113,7 +1154,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -297,6 +297,13 @@ signin::IdentityManager* ChromeAutocompleteProviderClient::GetIdentityManager()
@@ -301,6 +301,13 @@ signin::IdentityManager* ChromeAutocompleteProviderClient::GetIdentityManager()
return IdentityManagerFactory::GetForProfile(profile_);
}
@@ -1187,7 +1228,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
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
@@ -3614,6 +3614,12 @@ const char kOfflinePagesLivePageSharingDescription[] =
@@ -3338,6 +3338,12 @@ const char kOfflinePagesLivePageSharingDescription[] =
"Enables to share current loaded page as offline page by saving as MHTML "
"first.";
@@ -1203,7 +1244,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
@@ -2055,6 +2055,9 @@ extern const char kNotificationPermissionRationaleDescription[];
@@ -1896,6 +1896,9 @@ extern const char kNotificationPermissionRationaleDescription[];
extern const char kOfflinePagesLivePageSharingName[];
extern const char kOfflinePagesLivePageSharingDescription[];
@@ -1216,7 +1257,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
@@ -517,8 +517,8 @@ const base::Feature kCCTNewDownloadTab{"CCTNewDownloadTab",
@@ -475,8 +475,8 @@ const base::Feature kCCTExternalLinkHandling{"CCTExternalLinkHandling",
const base::Feature kCCTIncognito{"CCTIncognito",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -1225,12 +1266,12 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
+const base::Feature kCCTIncognitoAvailableToThirdParty{ // Enabled by default in Bromite
+ "CCTIncognitoAvailableToThirdParty", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kCCTPackageNameRecording{"CCTPackageNameRecording",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kCCTPostMessageAPI{"CCTPostMessageAPI",
base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/history/history_tab_helper.cc
--- a/chrome/browser/history/history_tab_helper.cc
+++ b/chrome/browser/history/history_tab_helper.cc
@@ -29,6 +29,9 @@
@@ -28,6 +28,9 @@
#include "chrome/browser/feed/feed_service_factory.h"
#include "components/feed/core/v2/public/feed_api.h"
#include "components/feed/core/v2/public/feed_service.h"
@@ -1240,7 +1281,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
#else
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
@@ -341,6 +344,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
@@ -331,6 +334,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
history::HistoryService* HistoryTabHelper::GetHistoryService() {
Profile* profile =
Profile::FromBrowserContext(web_contents()->GetBrowserContext());
@@ -1254,7 +1295,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
if (profile->IsOffTheRecord())
return NULL;
@@ -348,6 +358,14 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
@@ -338,6 +348,14 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
profile, ServiceAccessType::IMPLICIT_ACCESS);
}
@@ -1351,7 +1392,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_bridge.cc b/chrom
diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc b/chrome/browser/offline_pages/android/offline_page_model_factory.cc
--- a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
+++ b/chrome/browser/offline_pages/android/offline_page_model_factory.cc
@@ -24,6 +24,9 @@
@@ -25,6 +25,9 @@
#include "components/keyed_service/core/simple_dependency_manager.h"
#include "components/offline_pages/core/model/offline_page_model_taskified.h"
#include "components/offline_pages/core/offline_page_metadata_store.h"
@@ -1361,7 +1402,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
namespace offline_pages {
@@ -46,6 +49,7 @@ OfflinePageModel* OfflinePageModelFactory::GetForKey(SimpleFactoryKey* key) {
@@ -47,6 +50,7 @@ OfflinePageModel* OfflinePageModelFactory::GetForKey(SimpleFactoryKey* key) {
OfflinePageModel* OfflinePageModelFactory::GetForBrowserContext(
content::BrowserContext* browser_context) {
Profile* profile = Profile::FromBrowserContext(browser_context);
@@ -1369,7 +1410,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
return GetForKey(profile->GetProfileKey());
}
@@ -54,13 +58,15 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
@@ -55,13 +59,15 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
scoped_refptr<base::SequencedTaskRunner> background_task_runner =
base::ThreadPool::CreateSequencedTaskRunner({base::MayBlock()});
@@ -1387,7 +1428,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
// If base::PathService::Get returns false, the temporary_archives_dir will be
// empty, and no temporary pages will be saved during this chrome lifecycle.
base::FilePath temporary_archives_dir;
@@ -69,7 +75,6 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
@@ -70,7 +76,6 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
temporary_archives_dir.Append(chrome::kOfflinePageArchivesDirname);
}
@@ -1395,7 +1436,7 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
auto archive_manager = std::make_unique<DownloadArchiveManager>(
temporary_archives_dir, persistent_archives_dir,
DownloadPrefs::GetDefaultDownloadDirectory(), background_task_runner,
@@ -87,4 +92,14 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
@@ -90,4 +95,14 @@ std::unique_ptr<KeyedService> OfflinePageModelFactory::BuildServiceInstanceFor(
return model;
}
@@ -1524,7 +1565,7 @@ diff --git a/chrome/browser/offline_pages/request_coordinator_factory.h b/chrome
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -227,6 +227,7 @@
@@ -221,6 +221,7 @@
#include "components/feed/core/shared_prefs/pref_names.h"
#if BUILDFLAG(IS_ANDROID)
@@ -1532,7 +1573,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h"
#include "chrome/browser/android/explore_sites/history_statistics_reporter.h"
#include "chrome/browser/android/ntp/recent_tabs_page_prefs.h"
@@ -1423,6 +1424,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -1368,6 +1369,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
variations::VariationsService::RegisterProfilePrefs(registry);
video_tutorials::RegisterPrefs(registry);
@@ -1541,17 +1582,18 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
+ /*default_value=*/false);
+ HistoryTabHelper::RegisterProfilePrefs(registry);
#else // BUILDFLAG(IS_ANDROID)
ApcClient::RegisterPrefs(registry);
AppShortcutManager::RegisterProfilePrefs(registry);
browser_sync::ForeignSessionHandler::RegisterProfilePrefs(registry);
diff --git a/chrome/browser/ui/android/native_page/BUILD.gn b/chrome/browser/ui/android/native_page/BUILD.gn
--- a/chrome/browser/ui/android/native_page/BUILD.gn
+++ b/chrome/browser/ui/android/native_page/BUILD.gn
@@ -28,7 +28,9 @@ robolectric_library("junit") {
@@ -32,8 +32,10 @@ java_library("junit") {
deps = [
":java",
+ "//base:base_java",
"//base:base_junit_test_support",
"//third_party/android_deps:robolectric_all_java",
"//third_party/junit",
+ "//components/embedder_support/android:util_java",
]
@@ -1568,7 +1610,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
/**
* An interface for pages that will be using Android views instead of html/rendered Web content.
*/
@@ -130,12 +132,12 @@ public interface NativePage {
@@ -120,12 +122,12 @@ public interface NativePage {
*/
@Deprecated // Use GURL-variant instead.
public static boolean isNativePageUrl(String url, boolean isIncognito) {
@@ -1583,7 +1625,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
}
/**
@@ -146,7 +148,8 @@ public interface NativePage {
@@ -136,7 +138,8 @@ public interface NativePage {
*/
// TODO(crbug/783819) - Convert to using GURL.
public static @NativePageType int nativePageType(
@@ -1593,7 +1635,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
if (url == null) return NativePageType.NONE;
Uri uri = Uri.parse(url);
@@ -168,7 +171,8 @@ public interface NativePage {
@@ -158,7 +161,8 @@ public interface NativePage {
return NativePageType.DOWNLOADS;
} else if (UrlConstants.HISTORY_HOST.equals(host)) {
return NativePageType.HISTORY;
@@ -1606,7 +1648,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
@@ -1168,6 +1168,37 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1113,6 +1113,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>
@@ -1690,7 +1732,7 @@ new file mode 100644
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
@@ -3408,6 +3408,12 @@ const char kShowCaretBrowsingDialog[] =
@@ -3323,6 +3323,12 @@ const char kShowCaretBrowsingDialog[] =
const char kLacrosLaunchSwitch[] = "lacros_launch_switch";
#endif
@@ -1706,7 +1748,7 @@ diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -1210,6 +1210,8 @@ extern const char kDiscountConsentShowInterestIn[];
@@ -1178,6 +1178,8 @@ extern const char kDiscountConsentShowInterestIn[];
#if BUILDFLAG(IS_ANDROID)
extern const char kWebXRImmersiveArEnabled[];
@@ -1715,7 +1757,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
#endif
#if !BUILDFLAG(IS_ANDROID)
@@ -1247,6 +1249,10 @@ extern const char kPrivacyGuideViewed[];
@@ -1214,6 +1216,10 @@ extern const char kPrivacyGuideViewed[];
extern const char kCorsNonWildcardRequestHeadersSupport[];
@@ -1729,7 +1771,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
@@ -119,10 +119,12 @@ void PrefProvider::RegisterProfilePrefs(
@@ -110,10 +110,12 @@ void PrefProvider::RegisterProfilePrefs(
PrefProvider::PrefProvider(PrefService* prefs,
bool off_the_record,
@@ -1742,7 +1784,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");
@@ -156,7 +158,9 @@ PrefProvider::PrefProvider(PrefService* prefs,
@@ -147,7 +149,9 @@ PrefProvider::PrefProvider(PrefService* prefs,
content_settings_prefs_.insert(std::make_pair(
info->type(), std::make_unique<ContentSettingsPref>(
info->type(), prefs_, &pref_change_registrar_,
@@ -1823,7 +1865,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
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
@@ -44,6 +44,9 @@ const base::Feature kOfflineIndicatorFeature{"OfflineIndicator",
@@ -47,6 +47,9 @@ const base::Feature kOfflineIndicatorFeature{"OfflineIndicator",
const base::Feature kOfflinePagesNetworkStateLikelyUnknown{
"OfflinePagesNetworkStateLikelyUnknown", base::FEATURE_DISABLED_BY_DEFAULT};
@@ -1847,7 +1889,7 @@ diff --git a/components/offline_pages/core/offline_page_feature.h b/components/o
diff --git a/components/omnibox/browser/autocomplete_provider_client.cc b/components/omnibox/browser/autocomplete_provider_client.cc
--- a/components/omnibox/browser/autocomplete_provider_client.cc
+++ b/components/omnibox/browser/autocomplete_provider_client.cc
@@ -29,3 +29,7 @@ base::WeakPtr<AutocompleteProviderClient>
@@ -34,3 +34,7 @@ base::WeakPtr<AutocompleteProviderClient>
AutocompleteProviderClient::GetWeakPtr() {
return nullptr;
}
@@ -1858,7 +1900,7 @@ diff --git a/components/omnibox/browser/autocomplete_provider_client.cc b/compon
diff --git a/components/omnibox/browser/autocomplete_provider_client.h b/components/omnibox/browser/autocomplete_provider_client.h
--- a/components/omnibox/browser/autocomplete_provider_client.h
+++ b/components/omnibox/browser/autocomplete_provider_client.h
@@ -125,6 +125,7 @@ class AutocompleteProviderClient : public OmniboxAction::Client {
@@ -130,6 +130,7 @@ class AutocompleteProviderClient : public OmniboxAction::Client {
virtual signin::IdentityManager* GetIdentityManager() const = 0;
virtual bool IsOffTheRecord() const = 0;
@@ -1869,19 +1911,19 @@ diff --git a/components/omnibox/browser/autocomplete_provider_client.h b/compone
diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omnibox/browser/base_search_provider.cc
--- a/components/omnibox/browser/base_search_provider.cc
+++ b/components/omnibox/browser/base_search_provider.cc
@@ -264,7 +264,7 @@ bool BaseSearchProvider::CanSendRequest(
}
@@ -422,7 +422,7 @@ bool BaseSearchProvider::CanSendURL(
return false;
// Don't run if in incognito mode.
- if (client->IsOffTheRecord()) {
+ if (client->IsOffTheRecord() && client->IsAlwaysIncognitoEnabled() == false) {
- if (client->IsOffTheRecord())
+ if (client->IsOffTheRecord() && client->IsAlwaysIncognitoEnabled() == false)
return false;
}
// Don't run if we can't get preferences or search suggest is not enabled.
diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/browser/search_provider.cc
--- a/components/omnibox/browser/search_provider.cc
+++ b/components/omnibox/browser/search_provider.cc
@@ -807,7 +807,9 @@ bool SearchProvider::IsQuerySuitableForSuggest(bool* query_is_private) const {
@@ -770,7 +770,9 @@ bool SearchProvider::IsQuerySuitableForSuggest(bool* query_is_private) const {
// keyword input to a keyword suggest server, if any.)
const TemplateURL* default_url = providers_.GetDefaultProviderURL();
const TemplateURL* keyword_url = providers_.GetKeywordProviderURL();
@@ -7,14 +7,12 @@ Reduce permissions needed for bookmarks import/export
Completely remove contacts picker permission from the file dialog
Requires patch: Adds-support-for-writing-URIs.patch
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/java/AndroidManifest.xml | 1 -
.../res/menu/bookmark_action_bar_menu.xml | 14 +
.../browser/TabbedModeTabDelegateFactory.java | 5 +-
.../app/bookmarks/BookmarkActivity.java | 31 ++
.../browser/bookmarks/BookmarkActionBar.java | 12 +
.../browser/bookmarks/BookmarkActivity.java | 30 ++
.../browser/bookmarks/BookmarkBridge.java | 278 +++++++++++++++++
.../browser/bookmarks/BookmarkDelegate.java | 10 +
.../browser/bookmarks/BookmarkManager.java | 22 ++
@@ -22,8 +20,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../native_page/NativePageFactory.java | 11 +-
chrome/browser/BUILD.gn | 11 +-
chrome/browser/about_flags.cc | 6 +
.../bookmarks/android/bookmark_bridge.cc | 283 ++++++++++++++++++
.../bookmarks/android/bookmark_bridge.h | 30 +-
.../android/bookmarks/bookmark_bridge.cc | 283 ++++++++++++++++++
.../android/bookmarks/bookmark_bridge.h | 30 +-
.../browser/bookmarks/bookmark_html_writer.cc | 8 +-
.../dialogs/DownloadLocationCustomView.java | 8 +-
.../DownloadLocationDialogCoordinator.java | 8 +-
@@ -45,7 +43,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
ui/shell_dialogs/select_file_dialog.h | 2 +
.../select_file_dialog_android.cc | 6 +
ui/shell_dialogs/select_file_dialog_android.h | 2 +
35 files changed, 847 insertions(+), 29 deletions(-)
35 files changed, 846 insertions(+), 29 deletions(-)
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
@@ -93,7 +91,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
import org.chromium.chrome.browser.app.tab_activity_glue.ActivityTabWebContentsDelegateAndroid;
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
@@ -47,7 +48,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
@@ -46,7 +47,7 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
* {@link ChromeTabbedActivity}.
*/
public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
@@ -102,7 +100,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
private final BrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate;
private final Supplier<ShareDelegate> mShareDelegateSupplier;
private final Supplier<EphemeralTabCoordinator> mEphemeralTabCoordinatorSupplier;
@@ -74,7 +75,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
@@ -72,7 +73,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
private NativePageFactory mNativePageFactory;
@@ -111,11 +109,54 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
BrowserControlsVisibilityDelegate appBrowserControlsVisibilityDelegate,
Supplier<ShareDelegate> shareDelegateSupplier,
Supplier<EphemeralTabCoordinator> ephemeralTabCoordinatorSupplier,
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java
@@ -18,6 +18,11 @@ import org.chromium.chrome.browser.bookmarks.BookmarkManager;
import org.chromium.chrome.browser.bookmarks.BookmarkPage;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
@@ -86,6 +86,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
} else if (menuItem.getItemId() == R.id.search_menu_id) {
mDelegate.openSearchUI();
return true;
+ } else if (menuItem.getItemId() == R.id.import_menu_id) {
+ mDelegate.importBookmarks();
+ return true;
+ } else if (menuItem.getItemId() == R.id.export_menu_id) {
+ mDelegate.exportBookmarks();
+ return true;
}
SelectionDelegate<BookmarkId> selectionDelegate = mDelegate.getSelectionDelegate();
@@ -137,6 +143,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
void showLoadingUi() {
setTitle(null);
setNavigationButton(NAVIGATION_BUTTON_NONE);
+ getMenu().findItem(R.id.import_menu_id).setVisible(false);
+ getMenu().findItem(R.id.export_menu_id).setVisible(false);
getMenu().findItem(R.id.search_menu_id).setVisible(false);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -146,6 +154,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
super.showNormalView();
if (mDelegate == null) {
+ getMenu().findItem(R.id.import_menu_id).setVisible(false);
+ getMenu().findItem(R.id.export_menu_id).setVisible(false);
getMenu().findItem(R.id.search_menu_id).setVisible(false);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -175,6 +185,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@Override
public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
+ getMenu().findItem(R.id.import_menu_id).setVisible(true);
+ getMenu().findItem(R.id.export_menu_id).setVisible(true);
getMenu().findItem(R.id.search_menu_id).setVisible(true);
getMenu().findItem(R.id.edit_menu_id).setVisible(mCurrentFolder.isEditable());
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActivity.java
@@ -16,6 +16,11 @@ import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.SnackbarActivity;
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.embedder_support.util.UrlConstants;
+import org.chromium.ui.base.ActivityWindowAndroid;
@@ -126,16 +167,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
/**
* The activity that displays the bookmark UI on the phone. It keeps a {@link BookmarkManager}
@@ -29,6 +34,8 @@ public class BookmarkActivity extends SnackbarActivity {
public static final int EDIT_BOOKMARK_REQUEST_CODE = 14;
@@ -25,6 +30,7 @@ import org.chromium.components.embedder_support.util.UrlConstants;
public class BookmarkActivity extends SnackbarActivity {
private BookmarkManager mBookmarkManager;
+ private ActivityWindowAndroid mWindowAndroid;
static final int EDIT_BOOKMARK_REQUEST_CODE = 14;
public static final String INTENT_VISIT_BOOKMARK_ID = "BookmarkEditActivity.VisitBookmarkId";
+ private ActivityWindowAndroid mWindowAndroid;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -43,8 +50,23 @@ public class BookmarkActivity extends SnackbarActivity {
@@ -42,8 +48,23 @@ public class BookmarkActivity extends SnackbarActivity {
mBookmarkManager.updateForUrl(url);
setContentView(mBookmarkManager.getView());
BackPressHelper.create(this, getOnBackPressedDispatcher(), mBookmarkManager::onBackPressed);
@@ -159,15 +199,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
@Override
protected void onDestroy() {
super.onDestroy();
@@ -54,6 +76,7 @@ public class BookmarkActivity extends SnackbarActivity {
@@ -53,6 +74,7 @@ public class BookmarkActivity extends SnackbarActivity {
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
+ mWindowAndroid.getIntentRequestTracker().onActivityResult(requestCode, resultCode, data);
if (requestCode == EDIT_BOOKMARK_REQUEST_CODE && resultCode == RESULT_OK) {
BookmarkId bookmarkId = BookmarkId.getBookmarkIdFromString(
data.getStringExtra(INTENT_VISIT_BOOKMARK_ID));
@@ -61,6 +84,14 @@ public class BookmarkActivity extends SnackbarActivity {
BookmarkId bookmarkId = BookmarkId.getBookmarkIdFromString(data.getStringExtra(
INTENT_VISIT_BOOKMARK_ID));
@@ -60,6 +82,14 @@ public class BookmarkActivity extends SnackbarActivity {
}
}
@@ -182,49 +222,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
/**
* @return The {@link BookmarkManager} for testing purposes.
*/
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
@@ -88,6 +88,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
} else if (menuItem.getItemId() == R.id.search_menu_id) {
mDelegate.openSearchUI();
return true;
+ } else if (menuItem.getItemId() == R.id.import_menu_id) {
+ mDelegate.importBookmarks();
+ return true;
+ } else if (menuItem.getItemId() == R.id.export_menu_id) {
+ mDelegate.exportBookmarks();
+ return true;
}
SelectionDelegate<BookmarkId> selectionDelegate = mDelegate.getSelectionDelegate();
@@ -139,6 +145,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
void showLoadingUi() {
setTitle(null);
setNavigationButton(NAVIGATION_BUTTON_NONE);
+ getMenu().findItem(R.id.import_menu_id).setVisible(false);
+ getMenu().findItem(R.id.export_menu_id).setVisible(false);
getMenu().findItem(R.id.search_menu_id).setVisible(false);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -148,6 +156,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
super.showNormalView();
if (mDelegate == null) {
+ getMenu().findItem(R.id.import_menu_id).setVisible(false);
+ getMenu().findItem(R.id.export_menu_id).setVisible(false);
getMenu().findItem(R.id.search_menu_id).setVisible(false);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -177,6 +187,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@Override
public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
+ getMenu().findItem(R.id.import_menu_id).setVisible(true);
+ getMenu().findItem(R.id.export_menu_id).setVisible(true);
getMenu().findItem(R.id.search_menu_id).setVisible(true);
getMenu().findItem(R.id.edit_menu_id).setVisible(mCurrentFolder.isEditable());
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkBridge.java
@@ -492,7 +489,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* Synchronously gets a list of bookmarks that match the specified search query.
* @param query Keyword used for searching bookmarks.
@@ -1303,6 +1545,39 @@ public class BookmarkBridge {
@@ -1319,6 +1561,39 @@ public class BookmarkBridge {
depthList.add(depth);
}
@@ -532,7 +529,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private static List<Pair<Integer, Integer>> createPairsList(int[] left, int[] right) {
List<Pair<Integer, Integer>> pairList = new ArrayList<Pair<Integer, Integer>>();
for (int i = 0; i < left.length; i++) {
@@ -1374,6 +1649,9 @@ public class BookmarkBridge {
@@ -1389,6 +1664,9 @@ public class BookmarkBridge {
int getChildCount(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type);
void getChildIDs(long nativeBookmarkBridge, BookmarkBridge caller, long id, int type,
List<BookmarkId> bookmarksList);
@@ -545,7 +542,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkDelegate.java
@@ -66,6 +66,16 @@ public interface BookmarkDelegate {
@@ -67,6 +67,16 @@ interface BookmarkDelegate {
*/
void openSearchUI();
@@ -565,7 +562,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManager.java
@@ -36,6 +36,8 @@ import org.chromium.components.browser_ui.util.ConversionUtils;
@@ -35,6 +35,8 @@ import org.chromium.components.browser_ui.util.ConversionUtils;
import org.chromium.components.browser_ui.widget.dragreorder.DragStateDelegate;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListLayout;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar.SearchDelegate;
@@ -574,7 +571,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
import org.chromium.components.favicon.LargeIconBridge;
import org.chromium.url.GURL;
@@ -58,6 +60,8 @@ public class BookmarkManager
@@ -57,6 +59,8 @@ public class BookmarkManager
private ComponentName mOpenBookmarkComponentName;
private ViewGroup mMainView;
private BookmarkModel mBookmarkModel;
@@ -583,7 +580,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private BookmarkUndoController mUndoController;
private final ObserverList<BookmarkUIObserver> mUIObservers = new ObserverList<>();
private BasicNativePage mNativePage;
@@ -352,6 +356,14 @@ public class BookmarkManager
@@ -351,6 +355,14 @@ public class BookmarkManager
mNativePage = nativePage;
}
@@ -598,7 +595,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @return Current URL representing the UI state of bookmark manager. If no state has been shown
* yet in this session, on phone return last used state stored in preference; on tablet
@@ -532,6 +544,16 @@ public class BookmarkManager
@@ -531,6 +543,16 @@ public class BookmarkManager
}
}
@@ -656,7 +653,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
import org.chromium.chrome.browser.app.download.home.DownloadPage;
import org.chromium.chrome.browser.bookmarks.BookmarkPage;
import org.chromium.chrome.browser.browser_controls.BrowserControlsMarginSupplier;
@@ -55,7 +56,7 @@ import org.chromium.ui.util.ColorUtils;
@@ -54,7 +55,7 @@ import org.chromium.ui.util.ColorUtils;
* Creates NativePage objects to show chrome-native:// URLs using the native Android view system.
*/
public class NativePageFactory {
@@ -665,7 +662,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
private final BottomSheetController mBottomSheetController;
private final BrowserControlsManager mBrowserControlsManager;
private final Supplier<Tab> mCurrentTabSupplier;
@@ -73,7 +74,7 @@ public class NativePageFactory {
@@ -71,7 +72,7 @@ public class NativePageFactory {
private NativePageBuilder mNativePageBuilder;
@@ -674,7 +671,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
@NonNull BottomSheetController sheetController,
@NonNull BrowserControlsManager browserControlsManager,
@NonNull Supplier<Tab> currentTabSupplier,
@@ -124,7 +125,7 @@ public class NativePageFactory {
@@ -119,7 +120,7 @@ public class NativePageFactory {
@VisibleForTesting
static class NativePageBuilder {
@@ -683,16 +680,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
private final BottomSheetController mBottomSheetController;
private final Supplier<NewTabPageUma> mUma;
private final BrowserControlsManager mBrowserControlsManager;
@@ -138,7 +139,7 @@ public class NativePageFactory {
@@ -132,7 +133,7 @@ public class NativePageFactory {
private final JankTracker mJankTracker;
private final Supplier<Toolbar> mToolbarSupplier;
private final CrowButtonDelegate mCrowButtonDelegate;
- public NativePageBuilder(Activity activity, Supplier<NewTabPageUma> uma,
+ public NativePageBuilder(ChromeActivity activity, Supplier<NewTabPageUma> uma,
BottomSheetController sheetController,
BrowserControlsManager browserControlsManager, Supplier<Tab> currentTabSupplier,
Supplier<SnackbarManager> snackbarManagerSupplier,
@@ -177,7 +178,7 @@ public class NativePageFactory {
@@ -169,7 +170,7 @@ public class NativePageFactory {
protected NativePage buildBookmarksPage(Tab tab) {
return new BookmarkPage(mActivity.getComponentName(), mSnackbarManagerSupplier.get(),
mTabModelSelector.isIncognitoSelected(),
@@ -704,9 +701,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -1862,6 +1862,13 @@ static_library("browser") {
]
}
@@ -1845,6 +1845,13 @@ static_library("browser") {
"webid/federated_identity_sharing_permission_context_factory.h",
]
+ if (is_android) {
+ sources += [
@@ -718,16 +715,16 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
configs += [
"//build/config/compiler:wexit_time_destructors",
"//build/config:precompiled_headers",
@@ -2877,6 +2884,8 @@ static_library("browser") {
"autofill/manual_filling_controller.h",
"autofill/manual_filling_controller_impl.cc",
"autofill/manual_filling_controller_impl.h",
@@ -3003,6 +3010,8 @@ static_library("browser") {
"autofill/manual_filling_view_interface.h",
"banners/android/chrome_app_banner_manager_android.cc",
"banners/android/chrome_app_banner_manager_android.h",
+ "bookmarks/bookmark_html_writer.cc",
+ "bookmarks/bookmark_html_writer.h",
"autofill/manual_filling_utils.cc",
"autofill/manual_filling_utils.h",
"autofill/manual_filling_view_interface.h",
@@ -3544,8 +3553,6 @@ static_library("browser") {
"browser_process_platform_part_android.cc",
"browser_process_platform_part_android.h",
"chrome_browser_field_trials_mobile.cc",
@@ -3621,8 +3630,6 @@ static_library("browser") {
"badging/badge_manager_factory.h",
"banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h",
@@ -739,7 +736,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -8559,6 +8559,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8246,6 +8246,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
#endif
@@ -752,10 +749,10 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#if BUILDFLAG(IS_CHROMEOS_ASH)
{"snooping-protection", flag_descriptions::kSnoopingProtectionName,
flag_descriptions::kSnoopingProtectionDescription, kOsCrOS,
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
@@ -58,6 +58,25 @@
diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browser/android/bookmarks/bookmark_bridge.cc
--- a/chrome/browser/android/bookmarks/bookmark_bridge.cc
+++ b/chrome/browser/android/bookmarks/bookmark_bridge.cc
@@ -56,6 +56,25 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"
@@ -779,11 +776,11 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
+#include "content/public/browser/browser_task_traits.h"
+
using base::android::AttachCurrentThread;
using base::android::ConvertUTF16ToJavaString;
using base::android::ConvertUTF8ToJavaString;
@@ -75,8 +94,92 @@ using bookmarks::android::JavaBookmarkIdGetType;
using base::android::ConvertUTF16ToJavaString;
@@ -72,8 +91,92 @@ using bookmarks::BookmarkNode;
using bookmarks::BookmarkType;
using content::BrowserThread;
using power_bookmarks::PowerBookmarkMeta;
+namespace internal {
+
@@ -874,7 +871,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
class BookmarkTitleComparer {
public:
explicit BookmarkTitleComparer(BookmarkBridge* bookmark_bridge,
@@ -162,6 +265,10 @@ BookmarkBridge::~BookmarkBridge() {
@@ -160,6 +263,10 @@ BookmarkBridge::~BookmarkBridge() {
if (partner_bookmarks_shim_)
partner_bookmarks_shim_->RemoveObserver(this);
reading_list_manager_->RemoveObserver(this);
@@ -885,7 +882,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
}
void BookmarkBridge::Destroy(JNIEnv*, const JavaParamRef<jobject>&) {
@@ -572,6 +679,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
@@ -577,6 +684,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
return count;
}
@@ -1066,11 +1063,11 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
+}
+
void BookmarkBridge::SetBookmarkTitle(JNIEnv* env,
const JavaParamRef<jobject>& obj,
jlong id,
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser/bookmarks/android/bookmark_bridge.h
--- a/chrome/browser/bookmarks/android/bookmark_bridge.h
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.h
const JavaParamRef<jobject>& obj,
jlong id,
diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser/android/bookmarks/bookmark_bridge.h
--- a/chrome/browser/android/bookmarks/bookmark_bridge.h
+++ b/chrome/browser/android/bookmarks/bookmark_bridge.h
@@ -18,6 +18,7 @@
#include "base/scoped_observation.h"
#include "base/strings/utf_string_conversions.h"
@@ -1128,7 +1125,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
void SetBookmarkTitle(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
jlong id,
@@ -372,12 +392,16 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -381,12 +401,16 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
void DestroyJavaObject();
raw_ptr<Profile> profile_;
@@ -1145,7 +1142,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
// Information about the Partner bookmarks (must check for IsLoaded()).
// This is owned by profile.
@@ -389,6 +413,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -398,6 +422,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
// Observes the profile destruction and creation.
base::ScopedObservation<Profile, ProfileObserver> profile_observation_{this};
@@ -1154,12 +1151,12 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
+ const std::string& contents);
+
// A means of accessing metadata about bookmarks.
raw_ptr<OptimizationGuideKeyedService> opt_guide_;
OptimizationGuideKeyedService* opt_guide_;
diff --git a/chrome/browser/bookmarks/bookmark_html_writer.cc b/chrome/browser/bookmarks/bookmark_html_writer.cc
--- a/chrome/browser/bookmarks/bookmark_html_writer.cc
+++ b/chrome/browser/bookmarks/bookmark_html_writer.cc
@@ -27,6 +27,7 @@
@@ -26,6 +26,7 @@
#include "base/task/thread_pool.h"
#include "base/time/time.h"
#include "base/values.h"
@@ -1223,7 +1220,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
--- a/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
+++ b/chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/dialogs/DownloadLocationDialogCoordinator.java
@@ -36,12 +36,12 @@ import java.util.ArrayList;
@@ -37,12 +37,12 @@ import java.util.ArrayList;
public class DownloadLocationDialogCoordinator implements ModalDialogProperties.Controller {
@NonNull
private DownloadLocationDialogController mController;
@@ -1239,7 +1236,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
private long mTotalBytes;
private @DownloadLocationDialogType int mDialogType;
private String mSuggestedPath;
@@ -130,7 +130,7 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties.
@@ -131,7 +131,7 @@ public class DownloadLocationDialogCoordinator implements ModalDialogProperties.
* Called after retrieved the download directory options.
* @param dirs An list of available download directories.
*/
@@ -1251,8 +1248,8 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -6279,6 +6279,11 @@ const char kDisableLacrosTtsSupportDescription[] =
@@ -5872,6 +5872,11 @@ const char kWebKioskEnableLacrosDescription[] =
"ChromeOS. When disabled, the Ash-chrome will be used";
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+const char kBookmarksExportUseSafName[] = "Use saf for bookmarks export";
@@ -1266,8 +1263,8 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -3625,6 +3625,9 @@ extern const char kDisableLacrosTtsSupportName[];
extern const char kDisableLacrosTtsSupportDescription[];
@@ -3404,6 +3404,9 @@ extern const char kWebKioskEnableLacrosName[];
extern const char kWebKioskEnableLacrosDescription[];
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+extern const char kBookmarksExportUseSafName[];
@@ -1279,15 +1276,15 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -178,6 +178,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -174,6 +174,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kBulkTabRestore,
&kCastDeviceFilter,
&kCloseTabSuggestions,
&kCloseAllTabsModalDialog,
+ &kBookmarksExportUseSaf,
&kCloseTabSuggestions,
&kCriticalPersistedTabData,
&kCommerceCoupons,
&kCCTBackgroundTab,
@@ -933,6 +934,10 @@ const base::Feature kWebApkInstallService{"WebApkInstallService",
@@ -854,6 +855,10 @@ const base::Feature kWebApkInstallService{"WebApkInstallService",
const base::Feature kWebApkTrampolineOnInitialIntent{
"WebApkTrampolineOnInitialIntent", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -1301,25 +1298,25 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -161,6 +161,7 @@ extern const base::Feature kTabSwitcherOnReturn;
extern const base::Feature kTabToGTSAnimation;
extern const base::Feature kTestDefaultDisabled;
extern const base::Feature kTestDefaultEnabled;
@@ -154,6 +154,7 @@ extern const base::Feature kToolbarMicIphAndroid;
extern const base::Feature kToolbarUseHardwareBitmapDraw;
extern const base::Feature kTrustedWebActivityLocationDelegation;
extern const base::Feature kTrustedWebActivityNewDisclosure;
+extern const base::Feature kBookmarksExportUseSaf;
extern const base::Feature kToolbarIphAndroid;
extern const base::Feature kToolbarMicIphAndroid;
extern const base::Feature kToolbarPhoneOptimizations;
extern const base::Feature kTrustedWebActivityPostMessage;
extern const base::Feature kTrustedWebActivityQualityEnforcement;
extern const base::Feature kTrustedWebActivityQualityEnforcementForced;
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -577,6 +577,7 @@ public abstract class ChromeFeatureList {
public static final String USE_CHIME_ANDROID_SDK = "UseChimeAndroidSdk";
public static final String USE_CLIENT_CONFIG_IPH = "UseClientConfigIPH";
public static final String VOICE_SEARCH_AUDIO_CAPTURE_POLICY = "VoiceSearchAudioCapturePolicy";
@@ -557,6 +557,7 @@ public abstract class ChromeFeatureList {
public static final String WEB_APK_INSTALL_SERVICE = "WebApkInstallService";
public static final String XSURFACE_METRICS_REPORTING = "XsurfaceMetricsReporting";
public static final String WEB_OTP_CROSS_DEVICE_SIMPLE_STRING = "WebOtpCrossDeviceSimpleString";
+ public static final String BOOKMARKS_EXPORT_USESAF = "BookmarksExportUseSaf";
public static final String VOICE_BUTTON_IN_TOP_TOOLBAR = "VoiceButtonInTopToolbar";
public static final String VR_BROWSING_FEEDBACK = "VrBrowsingFeedback";
public static final String WEB_FEED = "WebFeed";
@NativeMethods
interface Natives {
diff --git a/chrome/browser/importer/profile_writer.cc b/chrome/browser/importer/profile_writer.cc
--- a/chrome/browser/importer/profile_writer.cc
+++ b/chrome/browser/importer/profile_writer.cc
@@ -1390,14 +1387,14 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/**
* Whether Chrome is set as the default browser.
@@ -983,6 +985,7 @@ public final class ChromePreferenceKeys {
@@ -1017,6 +1019,7 @@ public final class ChromePreferenceKeys {
ASSISTANT_VOICE_SEARCH_ENABLED,
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
+ BOOKMARKS_LAST_EXPORT_URI,
APPLICATION_OVERRIDE_LANGUAGE,
BLUETOOTH_NOTIFICATION_IDS,
CHROME_SURVEY_DOWNLOAD_ATTEMPTS.pattern(),
CHROME_SURVEY_PROMPT_DISPLAYED_TIMESTAMP.pattern(),
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1429,7 +1426,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
@@ -403,6 +403,9 @@ static_library("common_lib") {
@@ -383,6 +383,9 @@ static_library("common") {
sources += [
"media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h",
@@ -1442,7 +1439,7 @@ diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
--- a/chrome/utility/BUILD.gn
+++ b/chrome/utility/BUILD.gn
@@ -85,8 +85,6 @@ static_library("utility") {
@@ -78,8 +78,6 @@ static_library("utility") {
if (!is_android) {
sources += [
@@ -1451,7 +1448,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
"importer/bookmarks_file_importer.cc",
"importer/bookmarks_file_importer.h",
"importer/external_process_importer_bridge.cc",
@@ -208,6 +206,11 @@ static_library("utility") {
@@ -196,6 +194,11 @@ static_library("utility") {
]
}
@@ -1466,7 +1463,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
diff --git a/chrome/utility/importer/bookmark_html_reader.cc b/chrome/utility/importer/bookmark_html_reader.cc
--- a/chrome/utility/importer/bookmark_html_reader.cc
+++ b/chrome/utility/importer/bookmark_html_reader.cc
@@ -17,7 +17,9 @@
@@ -16,7 +16,9 @@
#include "base/strings/utf_string_conversions.h"
#include "base/time/time.h"
#include "chrome/common/importer/imported_bookmark_entry.h"
@@ -1566,7 +1563,7 @@ diff --git a/chrome/utility/importer/bookmark_html_reader.h b/chrome/utility/imp
diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
--- a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
+++ b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
@@ -41,6 +41,7 @@ import org.chromium.base.task.AsyncTask;
@@ -39,6 +39,7 @@ import org.chromium.base.task.AsyncTask;
import org.chromium.base.task.PostTask;
import org.chromium.base.task.TaskTraits;
import org.chromium.ui.R;
@@ -1574,7 +1571,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
import org.chromium.ui.UiUtils;
import org.chromium.ui.permissions.PermissionConstants;
@@ -64,6 +65,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -58,6 +59,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
private static final String TAG = "SelectFileDialog";
private static final String IMAGE_TYPE = "image";
private static final String VIDEO_TYPE = "video";
@@ -1582,7 +1579,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
private static final String AUDIO_TYPE = "audio";
private static final String ALL_TYPES = "*/*";
@@ -258,6 +260,11 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -241,6 +243,11 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
mFileTypes = fileTypes;
}
@@ -1594,7 +1591,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
/**
* Creates and starts an intent based on the passed fileTypes and capture value.
* @param fileTypes MIME types requested (i.e. "image/*")
@@ -284,7 +291,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -267,7 +274,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
List<String> missingPermissions = new ArrayList<>();
String storagePermission = Manifest.permission.READ_EXTERNAL_STORAGE;
boolean shouldUsePhotoPicker = shouldUsePhotoPicker();
@@ -1603,7 +1600,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
if (BuildInfo.isAtLeastT()) {
if (!window.hasPermission(PermissionConstants.READ_MEDIA_IMAGES)
&& shouldShowImageTypes()) {
@@ -325,7 +332,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -308,7 +315,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
// TODO(finnur): Remove once we figure out the cause of crbug.com/950024.
@@ -1612,7 +1609,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
if (permissions.length != requestPermissions.length) {
throw new RuntimeException(
String.format("Permissions arrays misaligned: %d != %d",
@@ -339,7 +346,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -322,7 +329,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
}
@@ -1621,7 +1618,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
if (permissions[i].equals(storagePermission)
|| permissions[i].equals(PermissionConstants.READ_MEDIA_IMAGES)
|| permissions[i].equals(
@@ -544,6 +551,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -523,6 +530,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
if (!mimeTypes.contains(mimeType)) mimeTypes.add(mimeType);
}
@@ -1629,7 +1626,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
return mimeTypes;
}
@@ -872,6 +880,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -828,6 +836,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
return countAcceptTypesFor(superType) == mFileTypes.size();
}
@@ -1643,9 +1640,9 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
diff --git a/ui/android/java/strings/android_ui_strings.grd b/ui/android/java/strings/android_ui_strings.grd
--- a/ui/android/java/strings/android_ui_strings.grd
+++ b/ui/android/java/strings/android_ui_strings.grd
@@ -181,6 +181,9 @@
<message name="IDS_OPENING_ANDROID_MEDIA_PICKER" desc="Toast when the browser is unable to open the Android Media picker (when uploading files). [CHAR_LIMIT=32]">
Unable to open the photo picker
@@ -178,6 +178,9 @@
<message name="IDS_OPENING_FILE_ERROR" desc="Toast when the browser is unable to open a file for upload. [CHAR_LIMIT=32]">
Failed to open selected file
</message>
+ <message name="IDS_SAVING_FILE_ERROR" desc="Toast when the browser is unable to save a file. [CHAR-LIMIT=32]">
+ Failed to save selected file
@@ -8,8 +8,6 @@ open external links in incognito flag.
Flags are mutually exclusive.
See also: https://github.com/bromite/bromite/issues/1474
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../java/res/xml/privacy_preferences.xml | 10 ++++++++
.../browser/LaunchIntentDispatcher.java | 22 +++++++++++++++++
@@ -59,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
/**
* Dispatches incoming intents to the appropriate activity based on the current configuration and
* Intent fired.
@@ -267,6 +270,9 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
@@ -273,6 +276,9 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
*/
public static boolean isCustomTabIntent(Intent intent) {
if (intent == null) return false;
@@ -69,7 +67,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
if (CustomTabsIntent.shouldAlwaysUseBrowserUI(intent)
|| !intent.hasExtra(CustomTabsIntent.EXTRA_SESSION)) {
return false;
@@ -286,6 +292,10 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
@@ -292,6 +298,10 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
newIntent.setData(uri);
newIntent.setClassName(context, CustomTabActivity.class.getName());
@@ -80,7 +78,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
// Since configureIntentForResizableCustomTab() might change the componenet/class
// associated with the passed intent, it needs to be called after #setClassName(context,
// CustomTabActivity.class.getName());
@@ -413,6 +423,18 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
@@ -411,6 +421,18 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
if (Intent.ACTION_VIEW.equals(newIntent.getAction())
&& !IntentHandler.wasIntentSenderChrome(newIntent)) {
@@ -102,7 +100,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
@@ -35,6 +35,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
@@ -36,6 +36,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
import java.util.ArrayList;
import java.util.List;
@@ -112,20 +110,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
/**
* A model class that parses the incoming intent for incognito Custom Tabs specific customization
* data.
@@ -108,6 +111,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
@@ -109,6 +112,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
}
private static boolean isIntentFromThirdPartyAllowed() {
+ if (ContextUtils.getAppSharedPreferences()
+ .getBoolean(PrivacySettings.PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, false))
+ return true;
return ChromeFeatureList.sCctIncognitoAvailableToThirdParty.isEnabled();
return CachedFeatureFlags.isEnabled(
ChromeFeatureList.CCT_INCOGNITO_AVAILABLE_TO_THIRD_PARTY);
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -81,6 +81,9 @@ public class PrivacySettings
@@ -83,6 +83,9 @@ public class PrivacySettings
private ViewGroup mDialogContainer;
private BottomSheetController mBottomSheetController;
@@ -135,7 +133,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
PrivacyPreferencesManagerImpl privacyPrefManager =
@@ -148,6 +151,9 @@ public class PrivacySettings
@@ -154,6 +157,9 @@ public class PrivacySettings
updatePreferences();
}
@@ -145,7 +143,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@@ -164,6 +170,14 @@ public class PrivacySettings
@@ -170,6 +176,14 @@ public class PrivacySettings
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
@@ -160,7 +158,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
}
@@ -186,6 +200,16 @@ public class PrivacySettings
@@ -192,6 +206,16 @@ public class PrivacySettings
canMakePaymentPref.setChecked(prefService.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
}
@@ -196,7 +194,7 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAsso
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -4756,6 +4756,21 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4626,6 +4626,21 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_NEAR_OOM_REDUCTION_DECLINE" desc="The text of the button letting the user decline the browser's intervention, so that the page can be reloaded.">
Show original
</message>
+9 -11
View File
@@ -3,8 +3,6 @@ Date: Tue, 31 Jan 2017 22:12:27 -0500
Subject: Add exit menu item
Corrected Exit functionality
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/java/res/menu/main_menu.xml | 6 ++++++
.../org/chromium/chrome/browser/ApplicationLifetime.java | 2 ++
@@ -17,17 +15,17 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml
@@ -159,6 +159,9 @@
<item android:id="@+id/managed_by_menu_id"
android:title="@string/managed_browser"
@@ -158,6 +158,9 @@
android:icon="@drawable/ic_business" />
<item android:id="@+id/managed_by_menu_id"
android:title="@string/managed" />
+ <item android:id="@+id/exit_id"
+ android:title="@string/menu_exit"
+ android:icon="@drawable/ic_exit_to_app_white_24dp" />
</group>
<!-- Items shown only in the tab switcher -->
@@ -185,6 +188,9 @@
@@ -184,6 +187,9 @@
<item android:id="@id/preferences_id"
android:title="@string/menu_settings"
android:icon="@drawable/settings_cog" />
@@ -59,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLife
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -223,6 +223,8 @@ import java.util.HashSet;
@@ -215,6 +215,8 @@ import java.util.HashSet;
import java.util.List;
import java.util.Locale;
@@ -68,7 +66,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
/**
* This is the main activity for ChromeMobile when not running in document mode. All the tabs
* are accessible via a chrome specific tab switching UI.
@@ -2179,6 +2181,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2137,6 +2139,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
} else if (id == R.id.close_tab) {
getCurrentTabModel().closeTab(currentTab, true, false, true);
RecordUserAction.record("MobileTabClosed");
@@ -80,7 +78,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -61,6 +61,7 @@ import org.chromium.chrome.R;
@@ -65,6 +65,7 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
import org.chromium.chrome.browser.ActivityUtils;
import org.chromium.chrome.browser.AppHooks;
@@ -88,7 +86,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.ChromeActivitySessionTracker;
import org.chromium.chrome.browser.ChromeApplicationImpl;
import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate;
@@ -2311,6 +2312,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2393,6 +2394,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true;
}
@@ -119,7 +117,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3484,6 +3484,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3341,6 +3341,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_AUTO_DARK_WEB_CONTENTS" desc="Menu item in Chrome's overflow/options menu. When Chrome's browser UI is set to dark theme and this option is checked, sites will have a dark theme automatically applied as well. [CHAR_LIMIT=24]">
Dark theme
</message>
@@ -4,8 +4,6 @@ Subject: Add flag for omnibox autocomplete filtering
Adds a flag that restricts whether search history, clipboard, bookmarks
and internal chrome:// pages will be used for the autocomplete results.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/about_flags.cc | 22 ++++++++++++++++++-
.../browser/autocomplete_controller.cc | 11 ++++++++++
@@ -17,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
@@ -494,6 +494,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
@@ -466,6 +466,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_ANDROID)
@@ -40,7 +38,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[] = {
@@ -4118,7 +4134,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3868,7 +3884,11 @@ const FeatureEntry kFeatureEntries[] = {
kOsMac | kOsLinux | kOsLacros | kOsWin,
FEATURE_VALUE_TYPE(features::kSystemNotifications)},
#endif // BUILDFLAG(ENABLE_SYSTEM_NOTIFICATIONS) && !BUILDFLAG(IS_CHROMEOS_ASH)
@@ -64,11 +62,11 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
+#include "base/command_line.h"
#include "base/feature_list.h"
#include "base/format_macros.h"
#include "base/metrics/histogram_functions.h"
@@ -295,6 +297,15 @@ AutocompleteController::AutocompleteController(
in_start_(false),
#include "base/metrics/histogram.h"
@@ -292,6 +294,15 @@ AutocompleteController::AutocompleteController(
search_service_worker_signal_sent_(false),
template_url_service_(provider_client_->GetTemplateURLService()) {
provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes();
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("omnibox-autocomplete-filtering")) {
+ const std::string flag_value = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("omnibox-autocomplete-filtering");
+ provider_types &= AutocompleteProvider::TYPE_KEYWORD | AutocompleteProvider::TYPE_SEARCH |
@@ -78,13 +76,13 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
+ if (!base::Contains(flag_value, "chrome"))
+ provider_types &= ~AutocompleteProvider::TYPE_BUILTIN;
+ }
provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes();
if (OmniboxFieldTrial::kAutocompleteStabilityAsyncProvidersFirst.Get()) {
if (provider_types & AutocompleteProvider::TYPE_BOOKMARK)
providers_.push_back(new BookmarkProvider(provider_client_.get()));
if (provider_types & AutocompleteProvider::TYPE_BUILTIN)
diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omnibox/browser/history_url_provider.cc
--- a/components/omnibox/browser/history_url_provider.cc
+++ b/components/omnibox/browser/history_url_provider.cc
@@ -483,6 +483,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input,
@@ -472,6 +472,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input,
if (fixed_up_input.type() != metrics::OmniboxInputType::QUERY)
matches_.push_back(what_you_typed_match);
@@ -105,7 +103,7 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/
#include "base/feature_list.h"
#include "base/i18n/break_iterator.h"
#include "base/i18n/case_conversion.h"
@@ -652,6 +653,9 @@ void SearchProvider::Run(bool query_is_private) {
@@ -646,6 +647,9 @@ void SearchProvider::Run(bool query_is_private) {
}
void SearchProvider::DoHistoryQuery(bool minimal_changes) {
@@ -2,7 +2,6 @@ From: Wengling Chen <feiyu2817@gmail.com>
Date: Mon, 1 Feb 2021 19:18:55 +0200
Subject: Add flag for save-data-header
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/about_flags.cc | 5 ++++-
chrome/browser/flag_descriptions.cc | 4 ++++
@@ -15,7 +14,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
@@ -4718,7 +4718,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4443,7 +4443,10 @@ const FeatureEntry kFeatureEntries[] = {
{"force-text-direction", flag_descriptions::kForceTextDirectionName,
flag_descriptions::kForceTextDirectionDescription, kOsAll,
MULTI_VALUE_TYPE(kForceTextDirectionChoices)},
@@ -30,9 +29,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1214,6 +1214,10 @@ const char kDeprecateAltBasedSixPackDescription[] =
"Show deprecation notifications and disable functionality for Alt based "
"six pack deprecations. The Search based versions continue to work.";
@@ -1099,6 +1099,10 @@ const char kDisableKeepaliveFetchDescription[] =
"Disable fetch with keepalive set "
"(https://fetch.spec.whatwg.org/#request-keepalive-flag).";
+const char kEnableSaveDataHeaderName[] = "Enable save-data header";
+const char kEnableSaveDataHeaderDescription[] =
@@ -44,9 +43,9 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -634,6 +634,9 @@ extern const char kDeprecateAltClickDescription[];
extern const char kDeprecateAltBasedSixPackName[];
extern const char kDeprecateAltBasedSixPackDescription[];
@@ -583,6 +583,9 @@ extern const char kDeprecateAltBasedSixPackDescription[];
extern const char kDisableKeepaliveFetchName[];
extern const char kDisableKeepaliveFetchDescription[];
+extern const char kEnableSaveDataHeaderName[];
+extern const char kEnableSaveDataHeaderDescription[];
@@ -99,8 +98,8 @@ 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
@@ -45,7 +45,8 @@ COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kMdnsResponderGeneratedNameListing;
@@ -47,7 +47,8 @@ COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kDisableKeepaliveFetch;
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kOpaqueResponseBlockingV01;
-
@@ -5,8 +5,6 @@ Subject: Add flag to configure maximum connections per host
With the introduction of this flag it is possible to increase the maximum
allowed connections per host; this can however be detrimental to devices
with limited CPU/memory resources and it is disabled by default.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/about_flags.cc | 8 ++++++++
chrome/browser/flag_descriptions.cc | 4 ++++
@@ -21,8 +19,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -979,6 +979,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
switches::kForceDisplayColorProfile, "hdr10"},
@@ -882,6 +882,11 @@ const FeatureEntry::FeatureVariation
std::size(kIsolatedPrerenderPrefetchLimitFifteen), nullptr},
};
+const FeatureEntry::Choice kMaxConnectionsPerHostChoices[] = {
@@ -33,7 +31,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
const FeatureEntry::Choice kMemlogModeChoices[] = {
{flags_ui::kGenericExperimentChoiceDisabled, "", ""},
{flag_descriptions::kMemlogModeMinimal, heap_profiling::kMemlogMode,
@@ -4647,6 +4652,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4417,6 +4422,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kAndroidPictureInPictureAPIName,
flag_descriptions::kAndroidPictureInPictureAPIDescription, kOsAndroid,
FEATURE_VALUE_TYPE(media::kPictureInPictureAPI)},
@@ -46,7 +44,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1777,6 +1777,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
@@ -1600,6 +1600,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
"websites abusing the API will still eventually have their setTimeouts "
"clamped.";
@@ -60,7 +58,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -996,6 +996,9 @@ extern const char kLogJsConsoleMessagesDescription[];
@@ -903,6 +903,9 @@ extern const char kLogJsConsoleMessagesDescription[];
extern const char kUnthrottledNestedTimeoutName[];
extern const char kUnthrottledNestedTimeoutDescription[];
@@ -3,8 +3,6 @@ Date: Thu, 25 Oct 2018 23:13:34 +0200
Subject: Add flag to control video playback resume feature
Disable it by default on Android as it is everywhere else
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 5 +++++
@@ -15,7 +13,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
@@ -3349,6 +3349,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3168,6 +3168,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebRtcRemoteEventLogName,
flag_descriptions::kWebRtcRemoteEventLogDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kWebRtcRemoteEventLog)},
@@ -29,7 +27,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1305,6 +1305,11 @@ const char kEnablePenetratingImageSelectionDescription[] =
@@ -1183,6 +1183,11 @@ const char kEnablePenetratingImageSelectionDescription[] =
"Enables image options to be surfaced in the context menu for nodes "
"covered by transparent overlays.";
@@ -44,7 +42,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -713,6 +713,9 @@ extern const char kEnablePortalsDescription[];
@@ -646,6 +646,9 @@ extern const char kEnablePortalsDescription[];
extern const char kEnablePortalsCrossOriginName[];
extern const char kEnablePortalsCrossOriginDescription[];
@@ -57,7 +55,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -287,11 +287,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
@@ -276,11 +276,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
// when in background.
const base::Feature kResumeBackgroundVideo {
"resume-background-video",
@@ -68,6 +66,6 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
-#endif
};
// When enabled, MediaCapabilities will check with GPU Video Accelerator
// Experimental: Try to avoid destroying the media player when transferring a
--
2.25.1
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 18 Nov 2018 13:06:49 +0100
Subject: Add flag to disable IPv6 probes
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/about_flags.cc | 4 ++++
chrome/browser/flag_descriptions.cc | 4 ++++
@@ -17,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
@@ -5586,6 +5586,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5333,6 +5333,10 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-reader-mode-in-cct", flag_descriptions::kReaderModeInCCTName,
flag_descriptions::kReaderModeInCCTDescription, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
@@ -27,13 +26,13 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+ FEATURE_VALUE_TYPE(network::features::kIPv6Probing)},
#endif // BUILDFLAG(IS_ANDROID)
#if !BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3305,6 +3305,10 @@ const char kCCTRealTimeEngagementSignalsDescription[] =
"Enables sending real-time engagement signals (e.g. scroll) through "
"CustomTabsCallback.";
@@ -3017,6 +3017,10 @@ const char kCCTResizableForThirdPartiesName[] =
const char kCCTResizableForThirdPartiesDescription[] =
"Enable bottom sheet Custom Tabs for third party apps.";
+const char kIPv6ProbingName[] = "Enable IPv6 probing.";
+const char kIPv6ProbingDescription[] =
@@ -45,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
@@ -785,6 +785,9 @@ extern const char kEnableWasmLazyCompilationName[];
@@ -715,6 +715,9 @@ extern const char kEnableWasmLazyCompilationName[];
extern const char kEnableWasmLazyCompilationDescription[];
extern const char kEnableWasmTieringName[];
@@ -109,7 +108,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
#include "net/log/net_log_with_source.h"
#include "net/socket/client_socket_factory.h"
#include "net/socket/datagram_client_socket.h"
@@ -4092,8 +4093,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
@@ -4129,8 +4130,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
if (last_ipv6_probe_time_.is_null() ||
(tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
kIPv6ProbePeriodMs) {
@@ -2,10 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Tue, 25 May 2021 19:46:14 +0200
Subject: Add flag to disable external intent requests
Adds a new flag that allows to control the switch with same name;
when flag is disabled no external intent will ever be allowed, for any URL.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/about_flags.cc | 3 +++
chrome/browser/flag_descriptions.cc | 6 ++++++
@@ -15,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3348,6 +3348,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3148,6 +3148,9 @@ const FeatureEntry kFeatureEntries[] = {
{"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName,
flag_descriptions::kUiPartialSwapDescription, kOsAll,
SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)},
@@ -28,7 +24,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3673,6 +3673,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
@@ -3391,6 +3391,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
const char kPhotoPickerVideoSupportDescription[] =
"Enables video files to be shown in the Photo Picker dialog";
@@ -44,7 +40,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -2100,6 +2100,9 @@ extern const char kQueryTilesDescription[];
@@ -1938,6 +1938,9 @@ extern const char kQueryTilesDescription[];
extern const char kQueryTilesNTPName[];
extern const char kQueryTilesNTPDescription[];
extern const char kQueryTilesSingleTierName[];
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 27 Jun 2021 17:35:39 +0200
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 +++
@@ -19,7 +18,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
@@ -6983,6 +6983,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -6670,6 +6670,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)},
#endif
@@ -33,20 +32,20 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -5952,6 +5952,9 @@ extern const char kLacrosScreenCoordinatesDescription[];
#endif // #if BUILDFLAG(IS_CHROMEOS_LACROS)
@@ -5608,6 +5608,9 @@ const char kDefaultCalculatorWebAppDescription[] =
"chrome app.";
#endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
+const char kEnableVibrationName[] = "Vibration";
+const char kEnableVibrationDescription[] = "Enable vibration API; an user gesture will still be needed.";
+
#if BUILDFLAG(IS_CHROMEOS)
const char kAllowDefaultWebAppMigrationForChromeOsManagedUsersName[] =
"Allow default web app migration for ChromeOS managed users";
const char kDeprecateLowUsageCodecsName[] = "Deprecates low usage media codecs";
const char kDeprecateLowUsageCodecsDescription[] =
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -3627,6 +3627,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
@@ -3406,6 +3406,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
extern const char kWebUITabStripTabDragIntegrationDescription[];
#endif // BUILDFLAG(ENABLE_WEBUI_TAB_STRIP) && BUILDFLAG(IS_CHROMEOS_ASH)
@@ -83,7 +82,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
--- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h
@@ -321,6 +321,8 @@ CONTENT_EXPORT extern const base::FeatureParam<base::TimeDelta>
@@ -318,6 +318,8 @@ CONTENT_EXPORT extern const base::FeatureParam<base::TimeDelta>
kCompositorLockTimeout;
#endif // BUILDFLAG(IS_ANDROID)
@@ -98,11 +97,11 @@ diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_pa
@@ -87,6 +87,7 @@ class WebRuntimeFeatures {
BLINK_PLATFORM_EXPORT static void EnableBlockingFocusWithoutUserActivation(
bool);
BLINK_PLATFORM_EXPORT static void EnableClickPointerEvent(bool enable);
BLINK_PLATFORM_EXPORT static void EnableCacheInlineScriptCode(bool);
+ BLINK_PLATFORM_EXPORT static void EnableVibration(bool);
BLINK_PLATFORM_EXPORT static void EnableCompositeBGColorAnimation(
BLINK_PLATFORM_EXPORT static void EnableCapabilityDelegationPaymentRequest(
bool enable);
BLINK_PLATFORM_EXPORT static void EnableCanvas2dImageChromium(bool);
BLINK_PLATFORM_EXPORT static void EnableClickPointerEvent(bool enable);
diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.cc b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
--- a/third_party/blink/renderer/modules/vibration/vibration_controller.cc
+++ b/third_party/blink/renderer/modules/vibration/vibration_controller.cc
@@ -114,7 +113,7 @@ diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.c
// Maximum number of entries in a vibration pattern.
const unsigned kVibrationPatternLengthMax = 99;
@@ -153,6 +154,8 @@ bool VibrationController::vibrate(Navigator& navigator,
@@ -149,6 +150,8 @@ bool VibrationController::vibrate(Navigator& navigator,
// reference to |window| or |navigator| was retained in another window.
if (!navigator.DomWindow())
return false;
@@ -126,7 +125,7 @@ diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.c
diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.cc b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
@@ -156,6 +156,10 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
@@ -164,6 +164,10 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
RuntimeEnabledFeatures::SetScrollTopLeftInteropEnabled(enable);
}
@@ -140,7 +139,7 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -1611,6 +1611,10 @@
@@ -1668,6 +1668,10 @@
name: "OrientationEvent",
status: {"Android": "stable"},
},
@@ -48,9 +48,6 @@ origins and allows to perform operations when all the tabs relating to that orig
deleting the session content settings of `UntilOriginClosed`.
See also: https://github.com/bromite/bromite/issues/1549
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../permissions/last_tab_standing_tracker.cc | 33 +++++++-
.../permissions/last_tab_standing_tracker.h | 4 +-
@@ -76,10 +73,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/page_info/page_info.h | 1 +
.../permissions/PermissionDialogDelegate.java | 13 +++
.../permissions/PermissionDialogModel.java | 81 ++++++++++++++++++-
.../permission_dialog_delegate.cc | 19 +++++
.../permission_dialog_delegate.h | 1 +
.../permission_prompt_android.cc | 8 ++
.../permission_prompt_android.h | 2 +
.../android/permission_dialog_delegate.cc | 19 +++++
.../android/permission_dialog_delegate.h | 1 +
.../android/permission_prompt_android.cc | 8 ++
.../android/permission_prompt_android.h | 2 +
.../android/permissions_android_strings.grd | 17 ++++
.../geolocation_permission_context_android.cc | 35 ++++++--
.../geolocation_permission_context_android.h | 13 ++-
@@ -88,9 +85,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/permissions/permission_prompt.h | 3 +-
components/permissions/permission_request.cc | 34 +++++++-
components/permissions/permission_request.h | 17 +++-
.../permissions/permission_request_manager.cc | 37 ++++++---
.../permissions/permission_request_manager.cc | 38 ++++++---
.../permissions/permission_request_manager.h | 11 ++-
38 files changed, 480 insertions(+), 62 deletions(-)
38 files changed, 481 insertions(+), 62 deletions(-)
diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/browser/permissions/last_tab_standing_tracker.cc
--- a/chrome/browser/permissions/last_tab_standing_tracker.cc
@@ -186,8 +183,8 @@ diff --git a/chrome/browser/permissions/last_tab_standing_tracker_factory.cc b/c
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -400,10 +400,7 @@ void ChromeBrowserMainExtraPartsProfiles::
LacrosFirstRunServiceFactory::GetInstance();
@@ -372,10 +372,7 @@ void ChromeBrowserMainExtraPartsProfiles::
InstantServiceFactory::GetInstance();
#endif
LanguageModelManagerFactory::GetInstance();
- if (base::FeatureList::IsEnabled(
@@ -201,7 +198,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
--- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc
@@ -488,6 +488,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -481,6 +481,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
web_contents);
}
video_tutorials::VideoTutorialTabHelper::CreateForWebContents(web_contents);
@@ -263,8 +260,8 @@ 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;
@@ -523,6 +524,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
}
@@ -525,6 +526,11 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
return mSite.getPermissionInfo(type) != null && mSite.getPermissionInfo(type).isEmbargoed();
}
+ private boolean isSessionPermission(@ContentSettingsType int type) {
@@ -275,7 +272,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
private void setUpClearDataPreference() {
ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA);
long usage = mSite.getTotalUsage();
@@ -909,6 +915,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -911,6 +917,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
if (contentType == mHighlightedPermission) {
switchPreference.setBackgroundColor(mHighlightColor);
}
@@ -319,7 +316,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/website_preference_bridge.cc b/components/browser_ui/site_settings/android/website_preference_bridge.cc
--- a/components/browser_ui/site_settings/android/website_preference_bridge.cc
+++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc
@@ -119,7 +119,8 @@ typedef void (*InfoListInsertionFunction)(
@@ -112,7 +112,8 @@ typedef void (*InfoListInsertionFunction)(
const base::android::JavaRef<jobject>&,
const base::android::JavaRef<jstring>&,
const base::android::JavaRef<jstring>&,
@@ -329,7 +326,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
void GetOrigins(JNIEnv* env,
const JavaParamRef<jobject>& jbrowser_context_handle,
@@ -161,7 +162,7 @@ void GetOrigins(JNIEnv* env,
@@ -153,7 +154,7 @@ void GetOrigins(JNIEnv* env,
seen_origins.push_back(origin);
insertionFunc(env, static_cast<int>(content_type), list,
ConvertOriginToJavaString(env, origin), jembedder,
@@ -338,7 +335,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
}
// Add any origins which have a default content setting value (thus skipped
@@ -183,7 +184,7 @@ void GetOrigins(JNIEnv* env,
@@ -176,7 +177,7 @@ void GetOrigins(JNIEnv* env,
seen_origins.push_back(origin);
insertionFunc(env, static_cast<int>(content_type), list,
ConvertOriginToJavaString(env, origin), jembedder,
@@ -350,7 +347,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
@@ -594,6 +594,11 @@
@@ -590,6 +590,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>
@@ -365,7 +362,7 @@ diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/comp
diff --git a/components/content_settings/android/BUILD.gn b/components/content_settings/android/BUILD.gn
--- a/components/content_settings/android/BUILD.gn
+++ b/components/content_settings/android/BUILD.gn
@@ -58,6 +58,7 @@ java_cpp_enum("content_settings_enums_javagen") {
@@ -57,6 +57,7 @@ java_cpp_enum("content_settings_enums_javagen") {
"../core/common/content_settings_types.h",
"../core/common/cookie_controls_enforcement.h",
"../core/common/cookie_controls_status.h",
@@ -441,7 +438,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc
--- a/components/content_settings/core/common/content_settings.cc
+++ b/components/content_settings/core/common/content_settings.cc
@@ -157,13 +157,15 @@ ContentSettingPatternSource::ContentSettingPatternSource(
@@ -156,13 +156,15 @@ ContentSettingPatternSource::ContentSettingPatternSource(
base::Value setting_value,
const std::string& source,
bool incognito,
@@ -459,7 +456,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
ContentSettingPatternSource::ContentSettingPatternSource() : incognito(false) {}
@@ -180,6 +182,7 @@ ContentSettingPatternSource& ContentSettingPatternSource::operator=(
@@ -179,6 +181,7 @@ ContentSettingPatternSource& ContentSettingPatternSource::operator=(
expiration = other.expiration;
source = other.source;
incognito = other.incognito;
@@ -519,7 +516,7 @@ diff --git a/components/content_settings/core/common/content_settings_constraint
diff --git a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
--- a/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
+++ b/components/page_info/android/java/src/org/chromium/components/page_info/PageInfoController.java
@@ -360,9 +360,9 @@ public class PageInfoController implements PageInfoMainController, ModalDialogPr
@@ -383,9 +383,9 @@ public class PageInfoController implements PageInfoMainController, ModalDialogPr
*/
@CalledByNative
private void addPermissionSection(String name, String nameMidSentence, int type,
@@ -577,7 +574,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(
@@ -158,6 +158,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
std::map<ContentSettingsType, ContentSetting>
user_specified_settings_to_display;
@@ -586,7 +583,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(
@@ -166,6 +168,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
if (setting_to_display) {
user_specified_settings_to_display[permission.type] =
*setting_to_display;
@@ -595,7 +592,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
}
}
}
@@ -186,7 +190,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -182,7 +186,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
ConvertUTF16ToJavaString(env, setting_title),
ConvertUTF16ToJavaString(env, setting_title_mid_sentence),
static_cast<jint>(permission),
@@ -605,7 +602,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
}
}
@@ -199,7 +204,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -195,7 +200,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),
@@ -618,7 +615,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
@@ -1055,6 +1055,8 @@ void PageInfo::PresentSitePermissions() {
@@ -982,6 +982,8 @@ void PageInfo::PresentSitePermissions() {
permission_info.source = info.source;
permission_info.is_one_time =
(info.session_model == content_settings::SessionModel::OneTime);
@@ -630,7 +627,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h
--- a/components/page_info/page_info.h
+++ b/components/page_info/page_info.h
@@ -175,6 +175,7 @@ class PageInfo {
@@ -174,6 +174,7 @@ class PageInfo {
content_settings::SettingSource source =
content_settings::SETTING_SOURCE_NONE;
bool is_one_time = false;
@@ -780,9 +777,9 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
}
private static View loadDialogView(Context context) {
diff --git a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
--- a/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
+++ b/components/permissions/android/permission_prompt/permission_dialog_delegate.cc
diff --git a/components/permissions/android/permission_dialog_delegate.cc b/components/permissions/android/permission_dialog_delegate.cc
--- a/components/permissions/android/permission_dialog_delegate.cc
+++ b/components/permissions/android/permission_dialog_delegate.cc
@@ -67,6 +67,11 @@ void PermissionDialogJavaDelegate::DismissDialog() {
Java_PermissionDialogDelegate_dismissFromNative(env, j_delegate_);
}
@@ -822,9 +819,9 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
permission_prompt_->Deny();
}
diff --git a/components/permissions/android/permission_prompt/permission_dialog_delegate.h b/components/permissions/android/permission_prompt/permission_dialog_delegate.h
--- a/components/permissions/android/permission_prompt/permission_dialog_delegate.h
+++ b/components/permissions/android/permission_prompt/permission_dialog_delegate.h
diff --git a/components/permissions/android/permission_dialog_delegate.h b/components/permissions/android/permission_dialog_delegate.h
--- a/components/permissions/android/permission_dialog_delegate.h
+++ b/components/permissions/android/permission_dialog_delegate.h
@@ -35,6 +35,7 @@ class PermissionDialogJavaDelegate {
PermissionDialogDelegate* owner);
virtual void CreateDialog();
@@ -833,10 +830,10 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
private:
base::android::ScopedJavaGlobalRef<jobject> j_delegate_;
diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.cc b/components/permissions/android/permission_prompt/permission_prompt_android.cc
--- a/components/permissions/android/permission_prompt/permission_prompt_android.cc
+++ b/components/permissions/android/permission_prompt/permission_prompt_android.cc
@@ -40,6 +40,14 @@ void PermissionPromptAndroid::Accept() {
diff --git a/components/permissions/android/permission_prompt_android.cc b/components/permissions/android/permission_prompt_android.cc
--- a/components/permissions/android/permission_prompt_android.cc
+++ b/components/permissions/android/permission_prompt_android.cc
@@ -83,6 +83,14 @@ void PermissionPromptAndroid::Accept() {
delegate_->Accept();
}
@@ -851,10 +848,10 @@ diff --git a/components/permissions/android/permission_prompt/permission_prompt_
void PermissionPromptAndroid::Deny() {
delegate_->Deny();
}
diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.h b/components/permissions/android/permission_prompt/permission_prompt_android.h
--- a/components/permissions/android/permission_prompt/permission_prompt_android.h
+++ b/components/permissions/android/permission_prompt/permission_prompt_android.h
@@ -43,7 +43,9 @@ class PermissionPromptAndroid : public PermissionPrompt {
diff --git a/components/permissions/android/permission_prompt_android.h b/components/permissions/android/permission_prompt_android.h
--- a/components/permissions/android/permission_prompt_android.h
+++ b/components/permissions/android/permission_prompt_android.h
@@ -50,7 +50,9 @@ class PermissionPromptAndroid : public permissions::PermissionPrompt,
void Closing();
void Accept();
@@ -873,7 +870,7 @@ diff --git a/components/permissions/android/permissions_android_strings.grd b/co
+ <!-- Session permissions -->
+ <message name="IDS_SESSION_PERMISSIONS_TITLE" desc="Title for the session section in the permission request">
+ Remember my decision
+ Remeber my decision
+ </message>
+ <message name="IDS_SESSION_PERMISSIONS_ONLY_THIS_THIS" desc="Message indicating that the permission is only for this time">
+ Only this time
@@ -894,7 +891,7 @@ diff --git a/components/permissions/android/permissions_android_strings.grd b/co
diff --git a/components/permissions/contexts/geolocation_permission_context_android.cc b/components/permissions/contexts/geolocation_permission_context_android.cc
--- a/components/permissions/contexts/geolocation_permission_context_android.cc
+++ b/components/permissions/contexts/geolocation_permission_context_android.cc
@@ -158,6 +158,19 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -157,6 +157,19 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
ContentSetting content_setting,
bool is_one_time) {
DCHECK(!is_one_time);
@@ -914,7 +911,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
bool is_default_search = IsRequestingOriginDSE(requesting_origin);
if (content_setting == CONTENT_SETTING_ALLOW &&
!location_settings_->IsSystemLocationSettingEnabled()) {
@@ -170,7 +183,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -169,7 +182,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
if (IsInLocationSettingsBackOff(is_default_search)) {
FinishNotifyPermissionSet(id, requesting_origin, embedding_origin,
std::move(callback), false /* persist */,
@@ -924,7 +921,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
LogLocationSettingsMetric(
kLocationSettingsSuppressMetricBase, is_default_search,
LocationSettingsBackOffLevel(is_default_search));
@@ -195,7 +209,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -194,7 +208,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
!location_settings_dialog_callback_.is_null()) {
FinishNotifyPermissionSet(id, requesting_origin, embedding_origin,
std::move(callback), false /* persist */,
@@ -934,7 +931,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
// This case should be very rare, so just pretend it was a denied prompt
// for metrics purposes.
LogLocationSettingsMetric(
@@ -212,12 +227,13 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -211,12 +226,13 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
base::BindOnce(
&GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown,
weak_factory_.GetWeakPtr(), requesting_origin, embedding_origin,
@@ -950,7 +947,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
}
PermissionResult
@@ -384,6 +400,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
@@ -383,6 +399,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
const GURL& embedding_origin,
bool persist,
ContentSetting content_setting,
@@ -958,7 +955,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
LocationSettingsDialogOutcome prompt_outcome) {
bool is_default_search = IsRequestingOriginDSE(requesting_origin);
if (prompt_outcome == GRANTED) {
@@ -411,7 +428,8 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
@@ -410,7 +427,8 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
FinishNotifyPermissionSet(
location_settings_dialog_request_id_, requesting_origin, embedding_origin,
@@ -968,7 +965,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
location_settings_dialog_request_id_ =
PermissionRequestID(0, 0, PermissionRequestID::RequestLocalId());
@@ -423,10 +441,11 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
@@ -422,10 +440,11 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
const GURL& embedding_origin,
BrowserPermissionCallback callback,
bool persist,
@@ -986,7 +983,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
diff --git a/components/permissions/contexts/geolocation_permission_context_android.h b/components/permissions/contexts/geolocation_permission_context_android.h
--- a/components/permissions/contexts/geolocation_permission_context_android.h
+++ b/components/permissions/contexts/geolocation_permission_context_android.h
@@ -87,6 +87,14 @@ class GeolocationPermissionContextAndroid
@@ -88,6 +88,14 @@ class GeolocationPermissionContextAndroid
bool persist,
ContentSetting content_setting,
bool is_one_time) override;
@@ -1001,7 +998,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
PermissionResult UpdatePermissionStatusWithDeviceStatus(
PermissionResult result,
const GURL& requesting_origin,
@@ -129,6 +137,7 @@ class GeolocationPermissionContextAndroid
@@ -130,6 +138,7 @@ class GeolocationPermissionContextAndroid
const GURL& embedding_origin,
bool persist,
ContentSetting content_setting,
@@ -1009,7 +1006,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
LocationSettingsDialogOutcome prompt_outcome);
void FinishNotifyPermissionSet(const PermissionRequestID& id,
@@ -136,7 +145,9 @@ class GeolocationPermissionContextAndroid
@@ -137,7 +146,9 @@ class GeolocationPermissionContextAndroid
const GURL& embedding_origin,
BrowserPermissionCallback callback,
bool persist,
@@ -1023,7 +1020,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
diff --git a/components/permissions/permission_context_base.cc b/components/permissions/permission_context_base.cc
--- a/components/permissions/permission_context_base.cc
+++ b/components/permissions/permission_context_base.cc
@@ -250,6 +250,20 @@ PermissionContextBase::CreatePermissionRequest(
@@ -244,6 +244,20 @@ PermissionContextBase::CreatePermissionRequest(
std::move(delete_callback));
}
@@ -1044,7 +1041,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
PermissionResult PermissionContextBase::GetPermissionStatus(
content::RenderFrameHost* render_frame_host,
const GURL& requesting_origin,
@@ -441,7 +455,8 @@ void PermissionContextBase::PermissionDecided(
@@ -436,7 +450,8 @@ void PermissionContextBase::PermissionDecided(
const GURL& embedding_origin,
BrowserPermissionCallback callback,
ContentSetting content_setting,
@@ -1054,7 +1051,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
content_setting == CONTENT_SETTING_BLOCK ||
content_setting == CONTENT_SETTING_DEFAULT);
@@ -449,9 +464,9 @@ void PermissionContextBase::PermissionDecided(
@@ -444,9 +459,9 @@ void PermissionContextBase::PermissionDecided(
content_setting);
bool persist = content_setting != CONTENT_SETTING_DEFAULT;
@@ -1066,7 +1063,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
}
content::BrowserContext* PermissionContextBase::browser_context() const {
@@ -501,11 +516,26 @@ void PermissionContextBase::NotifyPermissionSet(
@@ -496,11 +511,26 @@ void PermissionContextBase::NotifyPermissionSet(
bool persist,
ContentSetting content_setting,
bool is_one_time) {
@@ -1094,7 +1091,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
}
UpdateTabContext(id, requesting_origin,
@@ -526,6 +556,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
@@ -521,6 +551,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
const GURL& embedding_origin,
ContentSetting content_setting,
bool is_one_time) {
@@ -1110,7 +1107,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
DCHECK_EQ(requesting_origin, requesting_origin.DeprecatedGetOriginAsURL());
DCHECK_EQ(embedding_origin, embedding_origin.DeprecatedGetOriginAsURL());
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
@@ -537,8 +576,7 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
@@ -532,8 +571,7 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
->SetContentSettingDefaultScope(
requesting_origin, embedding_origin, content_settings_type_,
content_setting,
@@ -1123,7 +1120,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
diff --git a/components/permissions/permission_context_base.h b/components/permissions/permission_context_base.h
--- a/components/permissions/permission_context_base.h
+++ b/components/permissions/permission_context_base.h
@@ -141,6 +141,14 @@ class PermissionContextBase : public KeyedService,
@@ -143,6 +143,14 @@ class PermissionContextBase : public KeyedService,
// Updates stored content setting if persist is set, updates tab indicators
// and runs the callback to finish the request.
@@ -1138,7 +1135,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
virtual void NotifyPermissionSet(const PermissionRequestID& id,
const GURL& requesting_origin,
const GURL& embedding_origin,
@@ -161,6 +169,11 @@ class PermissionContextBase : public KeyedService,
@@ -163,6 +171,11 @@ class PermissionContextBase : public KeyedService,
// Store the decided permission as a content setting.
// virtual since the permission might be stored with different restrictions
// (for example for desktop notifications).
@@ -1150,7 +1147,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
virtual void UpdateContentSetting(const GURL& requesting_origin,
const GURL& embedding_origin,
ContentSetting content_setting,
@@ -193,6 +206,14 @@ class PermissionContextBase : public KeyedService,
@@ -195,6 +208,14 @@ class PermissionContextBase : public KeyedService,
PermissionRequest::PermissionDecidedCallback permission_decided_callback,
base::OnceClosure delete_callback) const;
@@ -1165,7 +1162,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
ContentSettingsType content_settings_type() const {
return content_settings_type_;
}
@@ -219,7 +240,8 @@ class PermissionContextBase : public KeyedService,
@@ -221,7 +242,8 @@ class PermissionContextBase : public KeyedService,
const GURL& embedding_origin,
BrowserPermissionCallback callback,
ContentSetting content_setting,
@@ -1302,7 +1299,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
diff --git a/components/permissions/permission_request_manager.cc b/components/permissions/permission_request_manager.cc
--- a/components/permissions/permission_request_manager.cc
+++ b/components/permissions/permission_request_manager.cc
@@ -152,7 +152,7 @@ void PermissionRequestManager::AddRequest(
@@ -162,7 +162,7 @@ void PermissionRequestManager::AddRequest(
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDenyPermissionPrompts)) {
@@ -1311,7 +1308,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
request->RequestFinished();
return;
}
@@ -228,7 +228,7 @@ void PermissionRequestManager::AddRequest(
@@ -238,7 +238,7 @@ void PermissionRequestManager::AddRequest(
if (auto_approval_origin) {
if (url::Origin::Create(request->requesting_origin()) ==
auto_approval_origin.value()) {
@@ -1320,7 +1317,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
request->RequestFinished();
return;
@@ -487,12 +487,13 @@ void PermissionRequestManager::Accept() {
@@ -498,12 +498,13 @@ void PermissionRequestManager::Accept() {
for (requests_iter = requests_.begin(); requests_iter != requests_.end();
requests_iter++) {
PermissionGrantedIncludingDuplicates(*requests_iter,
@@ -1336,7 +1333,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_)
return;
DCHECK(view_);
@@ -500,12 +501,22 @@ void PermissionRequestManager::AcceptThisTime() {
@@ -511,12 +512,22 @@ void PermissionRequestManager::AcceptThisTime() {
for (requests_iter = requests_.begin(); requests_iter != requests_.end();
requests_iter++) {
PermissionGrantedIncludingDuplicates(*requests_iter,
@@ -1360,7 +1357,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_)
return;
DCHECK(view_);
@@ -527,7 +538,7 @@ void PermissionRequestManager::Deny() {
@@ -538,7 +549,7 @@ void PermissionRequestManager::Deny() {
std::vector<PermissionRequest*>::iterator requests_iter;
for (requests_iter = requests_.begin(); requests_iter != requests_.end();
requests_iter++) {
@@ -1369,15 +1366,15 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
FinalizeCurrentRequests(PermissionAction::DENIED);
}
@@ -892,25 +903,25 @@ PermissionRequest* PermissionRequestManager::GetExistingRequest(
@@ -890,25 +901,26 @@ PermissionRequest* PermissionRequestManager::GetExistingRequest(
void PermissionRequestManager::PermissionGrantedIncludingDuplicates(
PermissionRequest* request,
- bool is_one_time) {
+ bool is_one_time, content_settings::LifetimeMode lifetime_option) {
DCHECK_EQ(1ul, base::STLCount(requests_, request) +
pending_permission_requests_.Count(request))
<< "Only requests in [pending_permission_]requests_ can have duplicates";
DCHECK_EQ(1, base::STLCount(requests_, request) +
base::STLCount(queued_requests_, request))
<< "Only requests in [queued_[frame_]]requests_ can have duplicates";
- request->PermissionGranted(is_one_time);
+ request->PermissionGranted(is_one_time, lifetime_option);
auto range = duplicate_requests_.equal_range(request);
@@ -1388,10 +1385,11 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
void PermissionRequestManager::PermissionDeniedIncludingDuplicates(
- PermissionRequest* request) {
+ PermissionRequest* request, bool is_one_time, content_settings::LifetimeMode lifetime_option) {
DCHECK_EQ(1ul, base::STLCount(requests_, request) +
pending_permission_requests_.Count(request))
<< "Only requests in [pending_permission_]requests_ can have duplicates";
+ PermissionRequest* request, bool is_one_time,
+ content_settings::LifetimeMode lifetime_option) {
DCHECK_EQ(1, base::STLCount(requests_, request) +
base::STLCount(queued_requests_, request))
<< "Only requests in [queued_]requests_ can have duplicates";
- request->PermissionDenied();
+ request->PermissionDenied(is_one_time, lifetime_option);
auto range = duplicate_requests_.equal_range(request);
@@ -1401,7 +1399,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
void PermissionRequestManager::CancelledIncludingDuplicates(
@@ -1090,7 +1101,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
@@ -1084,7 +1096,7 @@ void PermissionRequestManager::LogWarningToConsole(const char* message) {
void PermissionRequestManager::DoAutoResponseForTesting() {
switch (auto_response_for_test_) {
case ACCEPT_ONCE:
@@ -1413,7 +1411,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
diff --git a/components/permissions/permission_request_manager.h b/components/permissions/permission_request_manager.h
--- a/components/permissions/permission_request_manager.h
+++ b/components/permissions/permission_request_manager.h
@@ -134,8 +134,10 @@ class PermissionRequestManager
@@ -136,8 +136,10 @@ class PermissionRequestManager
GURL GetRequestingOrigin() const override;
GURL GetEmbeddingOrigin() const override;
void Accept() override;
@@ -2,14 +2,13 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 18 Feb 2021 21:22:52 +0100
Subject: Add menu item to bookmark all tabs
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/java/res/menu/main_menu.xml | 7 +++
.../chrome/browser/ChromeTabbedActivity.java | 26 ++++++++
.../browser/bookmarks/BookmarkBridge.java | 60 +++++++++++++++++++
.../browser/bookmarks/BookmarkUtils.java | 4 ++
.../bookmarks/android/bookmark_bridge.cc | 17 ++++++
.../bookmarks/android/bookmark_bridge.h | 4 ++
.../android/bookmarks/bookmark_bridge.cc | 17 ++++++
.../android/bookmarks/bookmark_bridge.h | 4 ++
.../browser/bookmarks/bookmark_html_writer.cc | 8 ++-
.../bookmarks/chrome_bookmark_client.cc | 2 +
.../dialogs/DownloadLocationCustomView.java | 4 +-
@@ -41,7 +40,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
<item android:id="@+id/recent_tabs_menu_id"
android:title="@string/menu_recent_tabs"
android:icon="@drawable/devices_black_24dp" />
@@ -182,6 +186,9 @@
@@ -181,6 +185,9 @@
<item android:id="@+id/menu_group_tabs"
android:title="@string/menu_group_tabs"
android:icon="@drawable/ic_widgets" />
@@ -54,16 +53,16 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -75,6 +75,8 @@ import org.chromium.chrome.browser.back_press.MinimizeAppAndCloseTabBackPressHan
@@ -69,6 +69,8 @@ import org.chromium.chrome.browser.app.tabmodel.ChromeNextTabPolicySupplier;
import org.chromium.chrome.browser.app.tabmodel.TabModelOrchestrator;
import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
import org.chromium.chrome.browser.app.tabmodel.TabbedModeTabModelOrchestrator;
+import org.chromium.chrome.browser.bookmarks.BookmarkBridge;
+import org.chromium.chrome.browser.bookmarks.BookmarkModel;
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
+import org.chromium.chrome.browser.bookmarks.BookmarkBridge;
+import org.chromium.chrome.browser.bookmarks.BookmarkModel;
import org.chromium.chrome.browser.compositor.layouts.Layout;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone;
@@ -2193,6 +2195,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2150,6 +2152,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
() -> getTabModelSelector().closeAllTabs(), /*isIncognito=*/false);
RecordUserAction.record("MobileMenuCloseAllTabs");
@@ -72,7 +71,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
// Close only incognito tabs
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
@@ -2245,6 +2249,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2202,6 +2206,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
mTabModalHandler.onOmniboxFocusChanged(hasFocus);
}
@@ -112,9 +111,9 @@ 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;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.read_later.ReadingListUtils;
@@ -46,6 +47,10 @@ import org.chromium.chrome.browser.subscriptions.CommerceSubscription;
import org.chromium.chrome.browser.subscriptions.CommerceSubscriptionsServiceFactory;
import org.chromium.chrome.browser.subscriptions.SubscriptionsManager;
import org.chromium.chrome.browser.tab.Tab;
+import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
@@ -123,7 +122,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.bookmarks.BookmarkType;
import org.chromium.components.commerce.PriceTracking.ProductPrice;
@@ -86,6 +91,7 @@ import java.io.File;
@@ -90,6 +95,7 @@ import java.io.File;
* bookmark model stored in native.
*/
public class BookmarkBridge {
@@ -131,7 +130,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private final Profile mProfile;
private boolean mIsDestroyed;
private boolean mIsDoingExtensiveChanges;
@@ -603,6 +609,16 @@ public class BookmarkBridge {
@@ -633,6 +639,16 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this);
}
@@ -148,7 +147,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @return Id representing the special "other" folder from bookmark model.
*/
@@ -1258,6 +1274,49 @@ public class BookmarkBridge {
@@ -1358,6 +1374,49 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, title, url);
}
@@ -165,7 +164,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
+ }
+ }
+ BookmarkId bookmarkId =
+ addBookmark(parent, getChildCount(parent), tab.getTitle(), tab.getUrl());
+ addBookmark(parent, getChildCount(parent), tab.getTitle(), tab.getUrl().getSpec());
+
+ if (bookmarkId == null) {
+ Log.e(TAG,
@@ -198,7 +197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @param url The URL of the reading list item.
* @return The reading list item with the URL, or null if no such reading list item.
@@ -1555,6 +1614,7 @@ public class BookmarkBridge {
@@ -1655,6 +1714,7 @@ public class BookmarkBridge {
void getAllFoldersWithDepths(long nativeBookmarkBridge, BookmarkBridge caller,
List<BookmarkId> folderList, List<Integer> depthList);
BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
@@ -209,7 +208,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
@@ -614,6 +614,7 @@ public class BookmarkUtils {
@@ -633,6 +633,7 @@ public class BookmarkUtils {
List<BookmarkId> topLevelFolders = new ArrayList<>();
BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId();
BookmarkId mobileNodeId = bookmarkModel.getMobileFolderId();
@@ -217,7 +216,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
BookmarkId othersNodeId = bookmarkModel.getOtherFolderId();
List<BookmarkId> specialFoldersIds =
@@ -639,6 +640,9 @@ public class BookmarkUtils {
@@ -658,6 +659,9 @@ public class BookmarkUtils {
if (bookmarkModel.isFolderVisible(mobileNodeId)) {
topLevelFolders.add(mobileNodeId);
}
@@ -227,10 +226,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
if (bookmarkModel.isFolderVisible(desktopNodeId)) {
topLevelFolders.add(desktopNodeId);
}
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
@@ -435,6 +435,11 @@ void BookmarkBridge::GetTopLevelFolderIDs(
diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browser/android/bookmarks/bookmark_bridge.cc
--- a/chrome/browser/android/bookmarks/bookmark_bridge.cc
+++ b/chrome/browser/android/bookmarks/bookmark_bridge.cc
@@ -434,6 +434,11 @@ void BookmarkBridge::GetTopLevelFolderIDs(
top_level_folders.push_back(node.get());
}
@@ -250,7 +249,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
bookmark_model_->bookmark_bar_node(),
bookmark_model_->other_node(),
};
@@ -534,6 +540,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId(
@@ -536,6 +542,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId(
return folder_id_obj;
}
@@ -268,9 +267,9 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
ScopedJavaLocalRef<jobject> BookmarkBridge::GetOtherFolderId(
JNIEnv* env,
const JavaParamRef<jobject>& obj) {
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser/bookmarks/android/bookmark_bridge.h
--- a/chrome/browser/bookmarks/android/bookmark_bridge.h
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.h
diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser/android/bookmarks/bookmark_bridge.h
--- a/chrome/browser/android/bookmarks/bookmark_bridge.h
+++ b/chrome/browser/android/bookmarks/bookmark_bridge.h
@@ -121,6 +121,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
@@ -350,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
@@ -3573,6 +3573,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3414,6 +3414,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_TRACK_PRICES" desc="Menu item for tracking prices on tabs. [CHAR_LIMIT=27]">
Track prices
</message>
@@ -537,7 +536,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/bookmarks/browser/bookmark_load_details.cc
--- a/components/bookmarks/browser/bookmark_load_details.cc
+++ b/components/bookmarks/browser/bookmark_load_details.cc
@@ -37,6 +37,10 @@ BookmarkLoadDetails::BookmarkLoadDetails(BookmarkClient* client)
@@ -36,6 +36,10 @@ BookmarkLoadDetails::BookmarkLoadDetails(BookmarkClient* client)
root_node_->Add(BookmarkPermanentNode::CreateMobileBookmarks(
max_id_++,
client->IsPermanentNodeVisibleWhenEmpty(BookmarkNode::MOBILE))));
@@ -551,7 +550,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.cc b/components/
diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/bookmarks/browser/bookmark_load_details.h
--- a/components/bookmarks/browser/bookmark_load_details.h
+++ b/components/bookmarks/browser/bookmark_load_details.h
@@ -47,6 +47,7 @@ class BookmarkLoadDetails {
@@ -43,6 +43,7 @@ class BookmarkLoadDetails {
BookmarkPermanentNode* bb_node() { return bb_node_; }
BookmarkPermanentNode* mobile_folder_node() { return mobile_folder_node_; }
BookmarkPermanentNode* other_folder_node() { return other_folder_node_; }
@@ -559,7 +558,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
TitledUrlIndex* index() { return index_.get(); }
std::unique_ptr<TitledUrlIndex> owned_index() { return std::move(index_); }
@@ -103,6 +104,7 @@ class BookmarkLoadDetails {
@@ -97,6 +98,7 @@ class BookmarkLoadDetails {
raw_ptr<BookmarkPermanentNode> bb_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> other_folder_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> mobile_folder_node_ = nullptr;
@@ -570,7 +569,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
--- a/components/bookmarks/browser/bookmark_model.cc
+++ b/components/bookmarks/browser/bookmark_model.cc
@@ -571,7 +571,7 @@ bool BookmarkModel::HasBookmarks() {
@@ -565,7 +565,7 @@ bool BookmarkModel::HasBookmarks() {
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return bookmark_bar_node_->children().empty() &&
@@ -579,7 +578,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
}
bool BookmarkModel::IsBookmarked(const GURL& url) {
@@ -825,6 +825,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
@@ -807,6 +807,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
bookmark_bar_node_ = details->bb_node();
other_node_ = details->other_folder_node();
mobile_node_ = details->mobile_folder_node();
@@ -603,7 +602,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark
bool is_root_node(const BookmarkNode* node) const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return node == root_;
@@ -411,6 +417,7 @@ class BookmarkModel : public BookmarkUndoProvider,
@@ -396,6 +402,7 @@ class BookmarkModel : public BookmarkUndoProvider,
raw_ptr<BookmarkPermanentNode> bookmark_bar_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> other_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> mobile_node_ = nullptr;
@@ -675,7 +674,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks/browser/model_loader.cc
--- a/components/bookmarks/browser/model_loader.cc
+++ b/components/bookmarks/browser/model_loader.cc
@@ -57,7 +57,8 @@ void LoadBookmarks(const base::FilePath& path,
@@ -54,7 +54,8 @@ void LoadBookmarks(const base::FilePath& path,
std::string sync_metadata_str;
BookmarkCodec codec;
codec.Decode(*root, details->bb_node(), details->other_folder_node(),
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon, 13 Jul 2020 00:37:06 +0200
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 +++
@@ -42,7 +41,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -2219,6 +2219,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2176,6 +2176,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
}
RecordUserAction.record("MobileMenuDownloadManager");
@@ -54,7 +53,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -2417,6 +2417,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2518,6 +2518,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true;
}
@@ -69,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
@@ -527,6 +527,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -507,6 +507,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
isChromeScheme, isFileScheme, isContentScheme, isIncognito, url));
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isChromeScheme);
@@ -77,8 +76,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
updateAutoDarkMenuItem(menu, currentTab, isChromeScheme);
@@ -1157,6 +1158,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
stopPriceTrackingMenuItem.setVisible(false);
@@ -1153,6 +1154,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
stopPriceTrackingMenuItem.setVisible(priceTrackingEnabled);
}
+ /**
@@ -100,7 +99,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
@@ -220,6 +220,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -216,6 +216,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
updateRequestDesktopSiteMenuItem(
menu, currentTab, requestDesktopSiteVisible, isChromeScheme);
@@ -111,16 +110,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -312,6 +312,10 @@ CHAR_LIMIT guidelines:
USB
@@ -306,6 +306,10 @@ CHAR_LIMIT guidelines:
Chrome tips
</message>
+ <message name="IDS_VIEW_SOURCE" desc="Title for the menu command to view the source of the current page. [CHAR-LIMIT=40]">
+ View source
+ </message>
+
<!-- Sign-in, sync and personalization preferences -->
<message name="IDS_PREFS_SECTION_ACCOUNT_AND_GOOGLE_SERVICES" desc="Title for the group of account-related entries and google services in Settings. [CHAR_LIMIT=32]">
You and Google
<message name="IDS_UNSUPPORTED" desc="Message displayed to the user when an attempted action is not supported.">
Unsupported
</message>
--
2.25.1
@@ -1,191 +0,0 @@
From: Ari Chivukula <arichiv@chromium.org>
Date: Wed, 10 Aug 2022 23:41:51 +0000
Subject: Add new cache check function
Currently, if a.com is loaded and has a favicon at a.com/icon.png and
then b.com is loaded and has the exact same favicon, the cache entry is
shared which permits b.com to notice that a.com was visited. The end
goal of this task is to prevent cross-origin cache leaks.
This CL adds a new variant of GetFaviconIDForFaviconURL that filters
results by page origin. This will be used in UpdateFaviconMappingsAndFetch
in the next CL, but is just tested here.
This CL is part of a series:
(1) Cache browser test
(2) Add new cache check function
(3) Stop cross-origin cache hits
Bug: 1300214
Change-Id: Ic1513c63f0a09a32e3316d3569f0719990be833b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3822854
Reviewed-by: Scott Violet <sky@chromium.org>
Auto-Submit: Ari Chivukula <arichiv@chromium.org>
Commit-Queue: Ari Chivukula <arichiv@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1033779}
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
components/favicon/core/favicon_database.cc | 27 +++++++++
components/favicon/core/favicon_database.h | 20 ++++++-
.../favicon/core/favicon_database_unittest.cc | 60 +++++++++++++++++++
3 files changed, 104 insertions(+), 3 deletions(-)
diff --git a/components/favicon/core/favicon_database.cc b/components/favicon/core/favicon_database.cc
--- a/components/favicon/core/favicon_database.cc
+++ b/components/favicon/core/favicon_database.cc
@@ -29,6 +29,7 @@
#include "sql/statement.h"
#include "sql/transaction.h"
#include "third_party/sqlite/sqlite3.h"
+#include "url/origin.h"
#if BUILDFLAG(IS_APPLE)
#include "base/mac/backup_util.h"
@@ -666,6 +667,32 @@ bool FaviconDatabase::GetFaviconLastUpdatedTime(favicon_base::FaviconID icon_id,
return true;
}
+favicon_base::FaviconID FaviconDatabase::GetFaviconIDForFaviconURL(
+ const GURL& icon_url,
+ favicon_base::IconType icon_type,
+ const url::Origin& page_origin) {
+ // Look to see if there even is any relevant cached entry.
+ auto const icon_id = GetFaviconIDForFaviconURL(icon_url, icon_type);
+ if (!icon_id) {
+ return icon_id;
+ }
+
+ // Check existing mappings to see if any are for the same origin.
+ sql::Statement statement(db_.GetCachedStatement(
+ SQL_FROM_HERE, "SELECT page_url FROM icon_mapping WHERE icon_id=?"));
+ statement.BindInt64(0, icon_id);
+ while (statement.Step()) {
+ const auto candidate_origin =
+ url::Origin::Create(GURL(statement.ColumnString(0)));
+ if (candidate_origin == page_origin) {
+ return icon_id;
+ }
+ }
+
+ // Act as if there is no entry in the cache if no mapping exists.
+ return 0;
+}
+
favicon_base::FaviconID FaviconDatabase::GetFaviconIDForFaviconURL(
const GURL& icon_url,
favicon_base::IconType icon_type) {
diff --git a/components/favicon/core/favicon_database.h b/components/favicon/core/favicon_database.h
--- a/components/favicon/core/favicon_database.h
+++ b/components/favicon/core/favicon_database.h
@@ -22,6 +22,10 @@ class RefCountedMemory;
class Time;
} // namespace base
+namespace url {
+class Origin;
+} // namespace url
+
namespace favicon {
// The minimum number of days after which last_requested field gets updated.
@@ -146,9 +150,19 @@ class FaviconDatabase {
// Returns true if successful.
bool TouchOnDemandFavicon(const GURL& icon_url, base::Time time);
- // Returns the id of the entry in the favicon database with the specified url
- // and icon type.
- // Returns 0 if no entry exists for the specified url.
+ // Returns the id of the entry in the favicon database with the specified
+ // `icon_url` and `icon_type` that has an existing mapping to `page_origin`
+ // (and 0 if no entry exists). See crbug.com/1300214 for more context.
+ favicon_base::FaviconID GetFaviconIDForFaviconURL(
+ const GURL& icon_url,
+ favicon_base::IconType icon_type,
+ const url::Origin& page_origin);
+
+ // Returns the id of the entry in the favicon database with the specified
+ // `icon_url` and `icon_type` (and 0 if no entry exists). This function does
+ // not respect cross-origin partitioning and returns an entry from the cache
+ // without verifying it was stored for the origin requesting it. This can leak
+ // navigation history, see crbug.com/1300214 for more context.
favicon_base::FaviconID GetFaviconIDForFaviconURL(
const GURL& icon_url,
favicon_base::IconType icon_type);
diff --git a/components/favicon/core/favicon_database_unittest.cc b/components/favicon/core/favicon_database_unittest.cc
--- a/components/favicon/core/favicon_database_unittest.cc
+++ b/components/favicon/core/favicon_database_unittest.cc
@@ -25,6 +25,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/sqlite/sqlite3.h"
#include "url/gurl.h"
+#include "url/origin.h"
using testing::AllOf;
using testing::ElementsAre;
@@ -1447,4 +1448,63 @@ TEST_F(FaviconDatabaseTest, SetFaviconsOutOfDateBetween) {
EXPECT_EQ(base::Time(), GetLastUpdated(&db, icon3));
}
+// Test that GetFaviconIDForFaviconURL can filter by origin.
+TEST_F(FaviconDatabaseTest, GetFaviconIDForFaviconURLOriginFilter) {
+ // Setup DB with `kPageUrl1` mapped to `kIconUrl1`.
+ FaviconDatabase db;
+ ASSERT_EQ(sql::INIT_OK, db.Init(file_name_));
+ db.BeginTransaction();
+ scoped_refptr<base::RefCountedStaticMemory> favicon1(
+ new base::RefCountedStaticMemory(kBlob1, sizeof(kBlob1)));
+ const auto icon_id = db.AddFavicon(
+ kIconUrl1, favicon_base::IconType::kFavicon, favicon1,
+ FaviconBitmapType::ON_VISIT, base::Time::Now(), gfx::Size());
+ db.AddIconMapping(kPageUrl1, icon_id);
+ ASSERT_NE(0, icon_id);
+
+ // We should be able to find the `icon_id` via the non-filtered function.
+ auto icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon);
+ ASSERT_EQ(icon_id, icon_id_found);
+
+ // We should be able to find the `icon_id` via a the origin of `kPageUrl1`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl1));
+ ASSERT_EQ(icon_id, icon_id_found);
+
+ // We shouldn't be able to find the `icon_id` via a the origin of `kPageUrl2`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl2));
+ ASSERT_EQ(0, icon_id_found);
+
+ // We shouldn't be able to find the `icon_id` via a the origin of `kPageUrl3`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl3));
+ ASSERT_EQ(0, icon_id_found);
+
+ // If we map `kPageUrl2` then the situation changes.
+ db.AddIconMapping(kPageUrl2, icon_id);
+
+ // We should be able to find the `icon_id` via a the origin of `kPageUrl1`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl1));
+ ASSERT_EQ(icon_id, icon_id_found);
+
+ // We should be able to find the `icon_id` via a the origin of `kPageUrl2`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl2));
+ ASSERT_EQ(icon_id, icon_id_found);
+
+ // We shouldn't be able to find the `icon_id` via a the origin of `kPageUrl3`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl3));
+ ASSERT_EQ(0, icon_id_found);
+}
+
} // namespace favicon
--
2.25.1
@@ -2,55 +2,23 @@ From: Wengling Chen <feiyu2817@gmail.com>
Date: Mon, 1 Feb 2021 19:18:55 +0200
Subject: Add option to force tablet UI
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++++++++
.../preferences/ChromePreferenceKeys.java | 1 +
.../LegacyChromePreferenceKeys.java | 1 +
.../omnibox/LocationBarCoordinator.java | 2 +-
.../strings/android_chrome_strings.grd | 6 ++++++
.../toolbar/top/ToolbarControlContainer.java | 16 ----------------
components/BUILD.gn | 6 +++---
.../res/xml/accessibility_preferences.xml | 5 +++++
.../accessibility/AccessibilitySettings.java | 10 ++++++++++
.../AccessibilitySettingsDelegate.java | 2 ++
ui/android/BUILD.gn | 2 ++
.../chromium/ui/base/DeviceFormFactor.java | 5 +++++
12 files changed, 55 insertions(+), 20 deletions(-)
.../preferences/ChromePreferenceKeys.java | 1 +
.../preferences/LegacyChromePreferenceKeys.java | 1 +
.../browser/omnibox/LocationBarCoordinator.java | 2 +-
.../android/strings/android_chrome_strings.grd | 6 ++++++
.../toolbar/top/ToolbarControlContainer.java | 16 ----------------
components/BUILD.gn | 6 +++---
.../java/res/xml/accessibility_preferences.xml | 5 +++++
.../accessibility/AccessibilitySettings.java | 10 ++++++++++
ui/android/BUILD.gn | 2 ++
.../org/chromium/ui/base/DeviceFormFactor.java | 5 +++++
10 files changed, 34 insertions(+), 20 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java
@@ -68,6 +68,25 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting
return new ReaderForAccessibilityDelegate();
}
+ private static class ForceTabletUIDelegate implements BooleanPreferenceDelegate {
+ @Override
+ public boolean isEnabled() {
+ return SharedPreferencesManager.getInstance().readBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false);
+ }
+
+ @Override
+ public void setEnabled(boolean value) {
+ SharedPreferencesManager.getInstance().writeBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, value);
+ }
+ }
+
+ @Override
+ public BooleanPreferenceDelegate getForceTabletUIDelegate() {
+ return new ForceTabletUIDelegate();
+ }
+
@Override
public void addExtraPreferences(PreferenceFragmentCompat fragment) {
if (ImageDescriptionsController.getInstance().shouldShowImageDescriptionsMenuItem()) {
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -372,6 +372,7 @@ public final class ChromePreferenceKeys {
@@ -441,6 +441,7 @@ public final class ChromePreferenceKeys {
AccessibilityConstants.FONT_USER_SET_FORCE_ENABLE_ZOOM;
public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info";
@@ -61,7 +29,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
@@ -66,6 +66,7 @@ public class LegacyChromePreferenceKeys {
@@ -85,6 +85,7 @@ public class LegacyChromePreferenceKeys {
ChromePreferenceKeys.FLAGS_CACHED_SWAP_PIXEL_FORMAT_TO_FIX_CONVERT_FROM_TRANSLUCENT,
ChromePreferenceKeys.FLAGS_CACHED_TAB_GROUPS_ANDROID_ENABLED,
ChromePreferenceKeys.FONT_USER_FONT_SCALE_FACTOR,
@@ -72,7 +40,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
@@ -355,7 +355,7 @@ public class LocationBarCoordinator implements LocationBar, NativeInitObserver,
@@ -365,7 +365,7 @@ public final class LocationBarCoordinator implements LocationBar, NativeInitObse
// OmniboxSuggestionsDropdownEmbedder implementation
@Override
public boolean isTablet() {
@@ -84,7 +52,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
@@ -1433,6 +1433,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1359,6 +1359,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_PRIVACY_REVIEW_SB_ENHANCED_ITEM_SEVEN" desc="Seventh bullet point that describes the details of the Safe Browsing control.">
Temporarily links this data to your Google Account when youre signed in, to protect you across Google apps
</message>
@@ -100,7 +68,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
@@ -109,22 +109,6 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
@@ -106,22 +106,6 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
public void setToolbar(Toolbar toolbar, boolean isIncognito) {
mToolbar = toolbar;
mToolbarContainer.setToolbar(mToolbar);
@@ -126,7 +94,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
diff --git a/components/BUILD.gn b/components/BUILD.gn
--- a/components/BUILD.gn
+++ b/components/BUILD.gn
@@ -45,7 +45,7 @@ if (is_ios) {
@@ -44,7 +44,7 @@ if (is_ios) {
# Omit Lacros because it allows //components to depend on //chrome, which in
# turn depends on //extensions.
@@ -135,7 +103,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
disallowed_extension_deps_ = [
# Components should largely not depend on //extensions. Since // extensions
# is not a component target and is linked with //chrome, depending on most
@@ -663,7 +663,7 @@ test("components_unittests") {
@@ -630,7 +630,7 @@ test("components_unittests") {
# On other platforms, no components should depend on Chrome.
# Since //chrome depends on //extensions, we also only assert_no_deps on
# extensions targets for non-lacros builds.
@@ -144,7 +112,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
assert_no_deps = [ "//chrome/*" ]
assert_no_deps += disallowed_extension_deps_
}
@@ -950,7 +950,7 @@ if (!is_ios) {
@@ -910,7 +910,7 @@ if (!is_ios) {
# dependency. On other platforms, no components should depend on Chrome.
# Since //chrome depends on //extensions, we also only assert_no_deps on
# extensions targets for non-lacros builds.
@@ -156,7 +124,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
@@ -34,6 +34,11 @@
@@ -25,6 +25,11 @@
android:summary="@string/accessibility_tab_switcher_summary"
android:title="@string/accessibility_tab_switcher_title" />
@@ -171,65 +139,53 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
@@ -30,6 +30,8 @@ public class AccessibilitySettings
@@ -27,6 +27,7 @@ public class AccessibilitySettings
public static final String PREF_READER_FOR_ACCESSIBILITY = "reader_for_accessibility";
public static final String PREF_CAPTIONS = "captions";
+ private BooleanPreferenceDelegate mForceTabletUIDelegate;
+ static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
private TextScalePreference mTextScalePref;
private PageZoomPreference mPageZoomDefaultZoomPref;
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
@@ -105,6 +107,12 @@ public class AccessibilitySettings
private ChromeBaseCheckBoxPreference mForceEnableZoomPref;
private boolean mRecordFontSizeChangeOnStop;
@@ -85,6 +86,12 @@ public class AccessibilitySettings
getPreferenceScreen().removePreference(readerForAccessibilityPref);
}
+ ChromeBaseCheckBoxPreference forceTabletUiPref =
+ (ChromeBaseCheckBoxPreference) findPreference(PREF_FORCE_TABLET_UI);
+ mForceTabletUIDelegate = mDelegate.getForceTabletUIDelegate();
+ forceTabletUiPref.setChecked(mForceTabletUIDelegate.isEnabled());
+ forceTabletUiPref.setChecked(SharedPreferencesManager.getInstance().readBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, false));
+ forceTabletUiPref.setOnPreferenceChangeListener(this);
+
ChromeBaseCheckBoxPreference accessibilityTabSwitcherPref =
(ChromeBaseCheckBoxPreference) findPreference(
AccessibilityConstants.ACCESSIBILITY_TAB_SWITCHER);
@@ -153,6 +161,8 @@ public class AccessibilitySettings
@@ -133,6 +140,9 @@ public class AccessibilitySettings
mFontSizePrefs.setUserFontScaleFactor((Float) newValue);
} else if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
mFontSizePrefs.setForceEnableZoomFromUser((Boolean) newValue);
+ } else if (PREF_FORCE_TABLET_UI.equals(preference.getKey())) {
+ mForceTabletUIDelegate.setEnabled((Boolean) newValue);
+ SharedPreferencesManager.getInstance().writeBoolean(
+ ChromePreferenceKeys.FLAGS_FORCE_TABLET_UI_ENABLED, (Boolean) newValue);
} else if (PREF_READER_FOR_ACCESSIBILITY.equals(preference.getKey())) {
if (mReaderForAccessibilityDelegate != null) {
mReaderForAccessibilityDelegate.setEnabled((Boolean) newValue);
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettingsDelegate.java
@@ -44,6 +44,8 @@ public interface AccessibilitySettingsDelegate {
*/
BooleanPreferenceDelegate getReaderForAccessibilityDelegate();
+ BooleanPreferenceDelegate getForceTabletUIDelegate();
+
/**
* Allows the embedder to add more preferences to the preference screen.
*
diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn
--- a/ui/android/BUILD.gn
+++ b/ui/android/BUILD.gn
@@ -369,6 +369,8 @@ android_library("ui_no_recycler_view_java") {
deps = [
@@ -362,6 +362,8 @@ android_library("ui_no_recycler_view_java") {
":ui_java_resources",
":ui_utils_java",
"//base:base_java",
+ # dependency for ui_no_recycler_view_java
+ "//chrome/browser/preferences:java",
"//base:base_java",
"//base:jni_java",
"//build/android:build_java",
"//components/url_formatter/android:url_formatter_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/androidx:androidx_appcompat_appcompat_java",
diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
--- a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
+++ b/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java
@@ -12,6 +12,8 @@ import androidx.annotation.VisibleForTesting;
@@ -11,6 +11,8 @@ import androidx.annotation.UiThread;
import org.chromium.base.ContextUtils;
import org.chromium.base.ThreadUtils;
import org.chromium.base.annotations.CalledByNative;
@@ -238,7 +194,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
import org.chromium.ui.R;
import org.chromium.ui.display.DisplayAndroid;
import org.chromium.ui.display.DisplayUtil;
@@ -62,6 +64,9 @@ public class DeviceFormFactor {
@@ -60,6 +62,9 @@ public class DeviceFormFactor {
* E.g. http://developer.samsung.com/samsung-dex/testing
*/
public static boolean isNonMultiDisplayContextOnTablet(Context context) {
@@ -2,13 +2,12 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 7 Sep 2019 15:07:42 +0200
Subject: Add option to not persist tabs across sessions
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../android/java/res/xml/privacy_preferences.xml | 5 +++++
.../chrome/browser/ChromeTabbedActivity.java | 5 ++++-
.../chrome/browser/ChromeTabbedActivity.java | 4 +++-
.../privacy/settings/PrivacySettings.java | 16 +++++++++++++++-
.../android/strings/android_chrome_strings.grd | 6 ++++++
4 files changed, 30 insertions(+), 2 deletions(-)
4 files changed, 29 insertions(+), 2 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
@@ -28,15 +27,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -38,6 +38,7 @@ import androidx.lifecycle.LifecycleRegistry;
import org.chromium.base.CallbackController;
import org.chromium.base.CommandLine;
+import org.chromium.base.ContextUtils;
import org.chromium.base.IntentUtils;
import org.chromium.base.Log;
import org.chromium.base.MemoryPressureListener;
@@ -1317,8 +1318,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1263,8 +1263,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
boolean hadCipherData =
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
@@ -68,16 +59,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.chrome.R;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -57,6 +60,8 @@ public class PrivacySettings
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
@@ -59,6 +62,8 @@ public class PrivacySettings
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
private static final String PREF_PHONE_AS_A_SECURITY_KEY = "phone_as_a_security_key";
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
+
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
private ViewGroup mDialogContainer;
@@ -128,7 +133,11 @@ public class PrivacySettings
@@ -134,7 +139,11 @@ public class PrivacySettings
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@@ -90,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
@@ -169,6 +178,11 @@ public class PrivacySettings
@@ -175,6 +184,11 @@ public class PrivacySettings
PreloadPagesSettingsFragment.getPreloadPagesSummaryString(getContext()));
}
@@ -105,7 +96,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -4437,6 +4437,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4314,6 +4314,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_CONTEXTMENU_IMAGE_TITLE" desc="The title of a context menu tab when the item pressed contains more than one type. This indicates that all the actions are related to the image.">
IMAGE
</message>
@@ -3,8 +3,6 @@ Date: Sat, 20 Nov 2021 15:36:54 +0000
Subject: Add option to use home page as NTP
And allow use about:blank as default homepage
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../java/res/xml/homepage_preferences.xml | 5 +++++
.../chrome/browser/homepage/HomepageManager.java | 16 ++++++++++++++++
@@ -37,7 +35,7 @@ diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/andro
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
@@ -223,6 +223,22 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat
@@ -214,6 +214,22 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat
notifyHomepageUpdated();
}
@@ -110,15 +108,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchM
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
@@ -19,6 +19,7 @@ import org.chromium.chrome.browser.ServiceTabLauncher;
@@ -20,6 +20,7 @@ import org.chromium.chrome.browser.ServiceTabLauncher;
import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingDelegateFactory;
import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingTask;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
+import org.chromium.chrome.browser.homepage.HomepageManager;
import org.chromium.chrome.browser.init.StartupTabPreloader;
import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin;
import org.chromium.chrome.browser.ntp.NewTabPageUtils;
import org.chromium.chrome.browser.tab.RedirectHandlerTabHelper;
@@ -297,6 +298,12 @@ public class ChromeTabCreator extends TabCreator {
@@ -321,6 +322,12 @@ public class ChromeTabCreator extends TabCreator {
* @return the created tab.
*/
public Tab launchUrl(String url, @TabLaunchType int type, Intent intent, long intentTimestamp) {
@@ -134,18 +132,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -383,6 +383,7 @@ public final class ChromePreferenceKeys {
public static final String HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_GURL =
"Chrome.Homepage.PartnerCustomizedDefaultGurl";
@@ -449,6 +449,7 @@ public final class ChromePreferenceKeys {
public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled";
public static final String HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_URI =
"Chrome.Homepage.PartnerCustomizedDefaultUri";
+ public static final String HOMEPAGE_NTP_IS_HOMEPAGE = "newtabpage_is_homepage";
/**
* Key used to save homepage location set by enterprise policy
*/
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/LegacyChromePreferenceKeys.java
@@ -71,6 +71,7 @@ public class LegacyChromePreferenceKeys {
@@ -90,6 +90,7 @@ public class LegacyChromePreferenceKeys {
ChromePreferenceKeys.HOMEPAGE_CUSTOM_URI,
ChromePreferenceKeys.HOMEPAGE_ENABLED,
ChromePreferenceKeys.HOMEPAGE_USE_DEFAULT_URI,
@@ -156,7 +154,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1248,6 +1248,9 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1174,6 +1174,9 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_CLEAR_BROWSING_DATA_TAB_PERIOD_HOUR" desc="The option to delete browsing data from the last hour.">
Last hour
</message>
@@ -195,7 +193,7 @@ diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -373,6 +373,7 @@ extern const char kSettingsShowOSBanner[];
@@ -368,6 +368,7 @@ extern const char kSettingsShowOSBanner[];
extern const char kUsedPolicyCertificates[];
#endif // BUILDFLAG(IS_CHROMEOS)
extern const char kShowHomeButton[];
+16 -19
View File
@@ -3,9 +3,6 @@ Date: Mon, 2 May 2022 11:48:03 +0000
Subject: Add site engagement flag
Enabled by default.
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/about_flags.cc | 6 ++++
chrome/browser/flag_descriptions.cc | 5 +++
@@ -21,17 +18,17 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -138,6 +138,7 @@
#include "components/segmentation_platform/public/features.h"
@@ -132,6 +132,7 @@
#include "components/security_state/core/security_state.h"
#include "components/send_tab_to_self/features.h"
#include "components/services/heap_profiling/public/cpp/switches.h"
+#include "components/site_engagement/core/features.h"
#include "components/shared_highlighting/core/common/shared_highlighting_features.h"
#include "components/signin/core/browser/dice_account_reconcilor_delegate.h"
#include "components/signin/public/base/signin_buildflags.h"
@@ -8669,6 +8670,11 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kSearchReadyOmniboxDescription, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kSearchReadyOmniboxFeature)},
@@ -8495,6 +8496,11 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kReduceUserAgentMinorVersionDescription, kOsAll,
FEATURE_VALUE_TYPE(blink::features::kReduceUserAgentMinorVersion)},
+ {"site-engagement",
+ flag_descriptions::kSiteEngagementName,
@@ -39,14 +36,14 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+ FEATURE_VALUE_TYPE(site_engagement::features::kSiteEngagement)},
+
#if BUILDFLAG(IS_CHROMEOS_ASH)
{"use-multiple-overlays", flag_descriptions::kUseMultipleOverlaysName,
flag_descriptions::kUseMultipleOverlaysDescription, kOsCrOS,
{"enable-variable-refresh-rate",
flag_descriptions::kEnableVariableRefreshRateName,
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3221,6 +3221,11 @@ const char kReduceUserAgentPlatformOsCpuDescription[] =
"The platform and oscpu in the User-Agent string will be reported as "
"<unifiedPlatform>";
@@ -2953,6 +2953,11 @@ const char kReduceUserAgentMinorVersionDescription[] =
"The Chrome version in the User-Agent string will be reported as "
"Chrome/<major_version>.0.0.0.";
+const char kSiteEngagementName[] =
+ "Enable site engagement feature";
@@ -59,9 +56,9 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1825,6 +1825,9 @@ extern const char kReduceUserAgentMinorVersionDescription[];
extern const char kReduceUserAgentPlatformOsCpuName[];
extern const char kReduceUserAgentPlatformOsCpuDescription[];
@@ -1680,6 +1680,9 @@ extern const char kDurableClientHintsCacheDescription[];
extern const char kReduceUserAgentMinorVersionName[];
extern const char kReduceUserAgentMinorVersionDescription[];
+extern const char kSiteEngagementName[];
+extern const char kSiteEngagementDescription[];
@@ -80,8 +77,8 @@ diff --git a/components/site_engagement/content/site_engagement_score.cc b/compo
#include "components/site_engagement/content/engagement_type.h"
#include "components/site_engagement/content/site_engagement_metrics.h"
#include "components/variations/variations_associated_data.h"
@@ -275,6 +276,10 @@ void SiteEngagementScore::Commit() {
if (!UpdateScoreDict(*score_dict_))
@@ -277,6 +278,10 @@ void SiteEngagementScore::Commit() {
if (!UpdateScoreDict(score_dict_.get()))
return;
+ if (!base::FeatureList::IsEnabled(features::kSiteEngagement)) {
@@ -90,7 +87,7 @@ diff --git a/components/site_engagement/content/site_engagement_score.cc b/compo
+ }
settings_map_->SetWebsiteSettingDefaultScope(
origin_, GURL(), ContentSettingsType::SITE_ENGAGEMENT,
base::Value(std::move(*score_dict_)));
base::Value::FromUniquePtrValue(std::move(score_dict_)));
diff --git a/components/site_engagement/core/BUILD.gn b/components/site_engagement/core/BUILD.gn
--- a/components/site_engagement/core/BUILD.gn
+++ b/components/site_engagement/core/BUILD.gn
@@ -2,8 +2,6 @@ From: uazo <uazo@users.noreply.github.com>
Date: Mon, 17 May 2021 12:30:12 +0000
Subject: Add support for ISupportHelpAndFeedback
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../chrome/browser/settings/SettingsActivity.java | 11 ++++++++---
.../components/browser_ui/settings/SettingsUtils.java | 4 ++++
@@ -12,8 +10,8 @@ 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
import org.chromium.components.browser_ui.modaldialog.AppModalPresenter;
@@ -69,6 +69,7 @@ import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory;
import org.chromium.components.browser_ui.settings.FragmentSettingsLauncher;
import org.chromium.components.browser_ui.settings.SettingsLauncher;
+import org.chromium.components.browser_ui.settings.SettingsUtils;
@@ -3,9 +3,6 @@ Date: Tue, 12 Apr 2022 15:58:01 +0000
Subject: Add support for writing URIs
Allows native-side URI file writing
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
base/android/content_uri_utils.cc | 10 ++++++
base/android/content_uri_utils.h | 4 +++
+16 -27
View File
@@ -5,9 +5,6 @@ Subject: Add webGL site setting
Do not provide any device information when serving context creation errors.
Requires patch: Content-settings-infrastructure.patch
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../browser_ui/site_settings/android/BUILD.gn | 3 +
.../BromiteCustomContentSettingImpl.java | 1 +
@@ -18,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/components_strings.grd | 1 +
.../core/browser/content_settings_registry.cc | 14 +++
.../core/browser/content_settings_utils.cc | 2 +
.../core/common/content_settings.cc | 4 +-
.../core/common/content_settings.cc | 3 +-
.../core/common/content_settings.h | 1 +
.../core/common/content_settings.mojom | 1 +
.../common/content_settings_mojom_traits.cc | 3 +-
@@ -31,14 +28,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../execution_context/execution_context.h | 5 ++
.../webgl/webgl_rendering_context_base.cc | 32 +++----
.../webgl/webgl_rendering_context_base.h | 2 +
22 files changed, 197 insertions(+), 23 deletions(-)
22 files changed, 196 insertions(+), 23 deletions(-)
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteWebGLContentSetting.java
create mode 100644 components/browser_ui/strings/android/webgl.grdp
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
--- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -79,6 +79,9 @@ android_library("java") {
@@ -72,6 +72,9 @@ android_library("java") {
"java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java",
"java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java",
]
@@ -211,18 +208,18 @@ new file mode 100644
diff --git a/components/components_strings.grd b/components/components_strings.grd
--- a/components/components_strings.grd
+++ b/components/components_strings.grd
@@ -338,6 +338,7 @@
@@ -336,6 +336,7 @@
<part file="version_ui_strings.grdp" />
<part file="webapps_strings.grdp" />
<part file="user_scripts/strings/userscripts_strings.grdp" />
+ <part file="browser_ui/strings/android/webgl.grdp" />
<if expr="not is_ios">
<part file="history_clusters_strings.grdp" />
<part file="management_strings.grdp" />
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -679,6 +679,20 @@ void ContentSettingsRegistry::Init() {
@@ -677,6 +677,20 @@ void ContentSettingsRegistry::Init() {
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
ContentSettingsInfo::PERSISTENT,
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
@@ -258,7 +255,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc
--- a/components/content_settings/core/common/content_settings.cc
+++ b/components/content_settings/core/common/content_settings.cc
@@ -205,7 +205,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
@@ -204,7 +204,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
content_type == ContentSettingsType::AUTOPLAY ||
content_type == ContentSettingsType::MIXEDSCRIPT ||
content_type == ContentSettingsType::AUTO_DARK_WEB_CONTENT ||
@@ -268,14 +265,6 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
}
void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
@@ -217,6 +218,7 @@ void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
FilterRulesForType(auto_dark_content_rules, outermost_main_frame_url);
FilterRulesForType(timezone_override_rules, outermost_main_frame_url);
FilterRulesForType(autoplay_rules, outermost_main_frame_url);
+ FilterRulesForType(webgl_rules, outermost_main_frame_url);
}
RendererContentSettingRules::RendererContentSettingRules() = default;
diff --git a/components/content_settings/core/common/content_settings.h b/components/content_settings/core/common/content_settings.h
--- a/components/content_settings/core/common/content_settings.h
+++ b/components/content_settings/core/common/content_settings.h
@@ -327,7 +316,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
diff --git a/components/content_settings/core/common/content_settings_types.h b/components/content_settings/core/common/content_settings_types.h
--- a/components/content_settings/core/common/content_settings_types.h
+++ b/components/content_settings/core/common/content_settings_types.h
@@ -280,6 +280,8 @@ enum class ContentSettingsType : int32_t {
@@ -287,6 +287,8 @@ enum class ContentSettingsType : int32_t {
// site instead of the mobile one.
REQUEST_DESKTOP_SITE,
@@ -339,7 +328,7 @@ diff --git a/components/content_settings/core/common/content_settings_types.h b/
diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc
--- a/components/content_settings/renderer/content_settings_agent_impl.cc
+++ b/components/content_settings/renderer/content_settings_agent_impl.cc
@@ -449,6 +449,15 @@ void ContentSettingsAgentImpl::ClearBlockedContentSettings() {
@@ -455,6 +455,15 @@ void ContentSettingsAgentImpl::ClearBlockedContentSettings() {
cached_script_permissions_.clear();
}
@@ -358,7 +347,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc
diff --git a/components/content_settings/renderer/content_settings_agent_impl.h b/components/content_settings/renderer/content_settings_agent_impl.h
--- a/components/content_settings/renderer/content_settings_agent_impl.h
+++ b/components/content_settings/renderer/content_settings_agent_impl.h
@@ -99,6 +99,7 @@ class ContentSettingsAgentImpl
@@ -94,6 +94,7 @@ class ContentSettingsAgentImpl
bool AllowAutoplay(bool default_value) override;
bool AllowPopupsAndRedirects(bool default_value) override;
bool ShouldAutoupgradeMixedContent() override;
@@ -381,7 +370,7 @@ diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/t
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc
--- a/third_party/blink/renderer/core/execution_context/execution_context.cc
+++ b/third_party/blink/renderer/core/execution_context/execution_context.cc
@@ -65,6 +65,29 @@
@@ -64,6 +64,29 @@
namespace blink {
@@ -436,7 +425,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
@@ -244,6 +244,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
@@ -242,6 +242,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
}
}
@@ -448,9 +437,9 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
+}
+
unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() {
base::AutoLock locker(WebGLContextLimitLock());
MutexLocker locker(WebGLContextLimitMutex());
DCHECK(webgl_context_limits_initialized_);
@@ -490,25 +497,6 @@ static String ExtractWebGLContextCreationError(
@@ -488,25 +495,6 @@ static String ExtractWebGLContextCreationError(
const Platform::GraphicsInfo& info) {
StringBuilder builder;
builder.Append("Could not create a WebGL context");
@@ -476,7 +465,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(),
builder);
builder.Append('.');
@@ -576,6 +564,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
@@ -574,6 +562,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
const CanvasContextCreationAttributesCore& attributes,
Platform::ContextType context_type,
Platform::GraphicsInfo* graphics_info) {
@@ -492,7 +481,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
@@ -1808,6 +1808,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
@@ -1771,6 +1771,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
DOMArrayBufferView* pixels,
int64_t offset);
+11 -22
View File
@@ -3,9 +3,6 @@ Date: Fri, 6 May 2022 14:27:17 +0000
Subject: Add webRTC site settings
Requires patch: Content-settings-infrastructure.patch
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../browser_ui/site_settings/android/BUILD.gn | 3 +
.../BromiteCustomContentSettingImpl.java | 1 +
@@ -16,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/components_strings.grd | 1 +
.../core/browser/content_settings_registry.cc | 14 +++
.../core/browser/content_settings_utils.cc | 2 +
.../core/common/content_settings.cc | 4 +-
.../core/common/content_settings.cc | 3 +-
.../core/common/content_settings.h | 1 +
.../core/common/content_settings.mojom | 1 +
.../common/content_settings_mojom_traits.cc | 3 +-
@@ -26,14 +23,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../renderer/content_settings_agent_impl.h | 1 +
.../platform/web_content_settings_client.h | 2 +
.../peer_connection_dependency_factory.cc | 5 ++
19 files changed, 160 insertions(+), 4 deletions(-)
19 files changed, 159 insertions(+), 4 deletions(-)
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteWebRTCContentSetting.java
create mode 100644 components/browser_ui/strings/android/webrtc.grdp
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
--- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -82,6 +82,9 @@ android_library("java") {
@@ -75,6 +75,9 @@ android_library("java") {
sources += [
"java/src/org/chromium/components/browser_ui/site_settings/BromiteWebGLContentSetting.java",
]
@@ -207,18 +204,18 @@ new file mode 100644
diff --git a/components/components_strings.grd b/components/components_strings.grd
--- a/components/components_strings.grd
+++ b/components/components_strings.grd
@@ -339,6 +339,7 @@
@@ -337,6 +337,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" />
<part file="management_strings.grdp" />
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -693,6 +693,20 @@ void ContentSettingsRegistry::Init() {
@@ -691,6 +691,20 @@ void ContentSettingsRegistry::Init() {
/*show_into_info_page*/ true,
/*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_WEBGL,
/*permission_type_ui_mid_sentence*/ IDS_SITE_SETTINGS_TYPE_WEBGL_MID_SENTENCE);
@@ -254,7 +251,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc
--- a/components/content_settings/core/common/content_settings.cc
+++ b/components/content_settings/core/common/content_settings.cc
@@ -206,7 +206,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
@@ -205,7 +205,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
content_type == ContentSettingsType::MIXEDSCRIPT ||
content_type == ContentSettingsType::AUTO_DARK_WEB_CONTENT ||
content_type == ContentSettingsType::TIMEZONE_OVERRIDE ||
@@ -264,14 +261,6 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
}
void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
@@ -219,6 +220,7 @@ void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
FilterRulesForType(timezone_override_rules, outermost_main_frame_url);
FilterRulesForType(autoplay_rules, outermost_main_frame_url);
FilterRulesForType(webgl_rules, outermost_main_frame_url);
+ FilterRulesForType(webrtc_rules, outermost_main_frame_url);
}
RendererContentSettingRules::RendererContentSettingRules() = default;
diff --git a/components/content_settings/core/common/content_settings.h b/components/content_settings/core/common/content_settings.h
--- a/components/content_settings/core/common/content_settings.h
+++ b/components/content_settings/core/common/content_settings.h
@@ -323,7 +312,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
diff --git a/components/content_settings/core/common/content_settings_types.h b/components/content_settings/core/common/content_settings_types.h
--- a/components/content_settings/core/common/content_settings_types.h
+++ b/components/content_settings/core/common/content_settings_types.h
@@ -282,6 +282,8 @@ enum class ContentSettingsType : int32_t {
@@ -289,6 +289,8 @@ enum class ContentSettingsType : int32_t {
WEBGL,
@@ -335,7 +324,7 @@ diff --git a/components/content_settings/core/common/content_settings_types.h b/
diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc
--- a/components/content_settings/renderer/content_settings_agent_impl.cc
+++ b/components/content_settings/renderer/content_settings_agent_impl.cc
@@ -458,6 +458,15 @@ bool ContentSettingsAgentImpl::AllowWebgl(bool enabled_per_settings) {
@@ -464,6 +464,15 @@ bool ContentSettingsAgentImpl::AllowWebgl(bool enabled_per_settings) {
url::Origin(frame->GetDocument().GetSecurityOrigin()).GetURL());
}
@@ -354,7 +343,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc
diff --git a/components/content_settings/renderer/content_settings_agent_impl.h b/components/content_settings/renderer/content_settings_agent_impl.h
--- a/components/content_settings/renderer/content_settings_agent_impl.h
+++ b/components/content_settings/renderer/content_settings_agent_impl.h
@@ -100,6 +100,7 @@ class ContentSettingsAgentImpl
@@ -95,6 +95,7 @@ class ContentSettingsAgentImpl
bool AllowPopupsAndRedirects(bool default_value) override;
bool ShouldAutoupgradeMixedContent() override;
bool AllowWebgl(bool enabled_per_settings) override;
@@ -377,7 +366,7 @@ diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/t
diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
@@ -758,6 +758,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
@@ -762,6 +762,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
// origin.
WebRTCIPHandlingPolicy policy =
GetWebRTCIPHandlingPolicy(webrtc_ip_handling_policy);
@@ -2,13 +2,12 @@ From: Zoraver Kang <Zoraver@users.noreply.github.com>
Date: Fri, 22 May 2020 22:43:27 -0400
Subject: Allow building without enable_reporting
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../browser/devtools/protocol/network_handler.cc | 2 ++
.../net/cross_origin_embedder_policy_reporter.cc | 4 +++-
.../net/cross_origin_opener_policy_reporter.cc | 16 +++++++---------
content/browser/net/reporting_service_proxy.cc | 3 +++
.../renderer_host/render_frame_host_impl.cc | 6 ------
.../renderer_host/render_frame_host_impl.cc | 2 ++
.../web_package/signed_exchange_reporter.cc | 2 ++
...content_switch_dependent_feature_overrides.cc | 1 +
net/reporting/reporting_service.cc | 6 ++++++
@@ -19,7 +18,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(+), 24 deletions(-)
15 files changed, 50 insertions(+), 18 deletions(-)
diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc
--- a/content/browser/devtools/protocol/network_handler.cc
@@ -56,9 +55,9 @@ diff --git a/content/browser/net/cross_origin_embedder_policy_reporter.cc b/cont
}
if (endpoint) {
+#if BUILDFLAG(ENABLE_REPORTING)
base::Value::Dict body_to_pass;
base::DictionaryValue body_to_pass;
for (const auto& pair : body) {
body_to_pass.Set(pair.first, pair.second);
body_to_pass.SetString(pair.first, pair.second);
@@ -123,7 +125,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
kType, *endpoint, context_url_, reporting_source_,
network_isolation_key_,
@@ -106,15 +105,15 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
switch (coop_value) {
case network::mojom::CrossOriginOpenerPolicyValue::kUnsafeNone:
@@ -61,6 +54,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
return "restrict-properties-plus-coep";
@@ -59,6 +52,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
return "same-origin-allow-popups-plus-coep";
}
}
+#endif
FrameTreeNode* TopLevelOpener(FrameTreeNode* frame) {
FrameTreeNode* opener =
@@ -232,6 +226,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
FrameTreeNode* opener = frame->original_opener();
@@ -229,6 +223,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
network::mojom::SourceLocationPtr source_location,
const std::string& reported_window_url,
const std::string& initial_popup_url) const {
@@ -122,7 +121,7 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
// Cross-Origin-Opener-Policy-Report-Only is not required to provide
// endpoints.
if (!coop_.report_only_reporting_endpoint)
@@ -279,12 +274,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
@@ -277,12 +272,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
storage_partition_->GetNetworkContext()->QueueReport(
"coop", endpoint, context_url_, reporting_source_, network_isolation_key_,
absl::nullopt, std::move(body));
@@ -130,14 +129,14 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
}
void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
base::Value::Dict body,
base::DictionaryValue body,
const std::string& endpoint,
bool is_report_only) {
+#if BUILDFLAG(ENABLE_REPORTING)
body.Set(kDisposition,
is_report_only ? kDispositionReporting : kDispositionEnforce);
body.Set(kEffectivePolicy,
@@ -292,6 +289,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
body.SetString(kDisposition,
is_report_only ? kDispositionReporting : kDispositionEnforce);
body.SetString(
@@ -291,6 +288,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
storage_partition_->GetNetworkContext()->QueueReport(
"coop", endpoint, context_url_, reporting_source_, network_isolation_key_,
/*user_agent=*/absl::nullopt, std::move(body));
@@ -156,17 +155,18 @@ diff --git a/content/browser/net/reporting_service_proxy.cc b/content/browser/ne
#include "content/browser/service_worker/service_worker_host.h"
#include "content/browser/worker_host/dedicated_worker_host.h"
#include "content/browser/worker_host/shared_worker_host.h"
@@ -174,12 +175,14 @@ class ReportingServiceProxyImpl : public blink::mojom::ReportingServiceProxy {
@@ -173,6 +174,7 @@ class ReportingServiceProxyImpl : public blink::mojom::ReportingServiceProxy {
const std::string& group,
const std::string& type,
base::Value::Dict body) {
std::unique_ptr<base::Value> body) {
+#if BUILDFLAG(ENABLE_REPORTING)
auto* rph = RenderProcessHost::FromID(render_process_id_);
if (!rph)
return;
rph->GetStoragePartition()->GetNetworkContext()->QueueReport(
@@ -180,6 +182,7 @@ class ReportingServiceProxyImpl : public blink::mojom::ReportingServiceProxy {
type, group, url, reporting_source_, network_isolation_key_,
/*user_agent=*/absl::nullopt, std::move(body));
/*user_agent=*/absl::nullopt,
base::Value::FromUniquePtrValue(std::move(body)));
+#endif
}
@@ -174,16 +174,19 @@ diff --git a/content/browser/net/reporting_service_proxy.cc b/content/browser/ne
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -12081,12 +12081,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
base::Value::Dict body;
if (!reason.empty())
body.Set("reason", reason);
-
- // Send the crash report to the Reporting API.
- GetProcess()->GetStoragePartition()->GetNetworkContext()->QueueReport(
- /*type=*/"crash", /*group=*/"default", last_committed_url_,
- GetReportingSource(), isolation_info_.network_isolation_key(),
- absl::nullopt /* user_agent */, std::move(body));
@@ -11437,6 +11437,7 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed(
void RenderFrameHostImpl::MaybeGenerateCrashReport(
base::TerminationStatus status,
int exit_code) {
+#if BUILDFLAG(ENABLE_REPORTING)
if (!last_committed_url_.SchemeIsHTTPOrHTTPS())
return;
@@ -11486,6 +11487,7 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
/*type=*/"crash", /*group=*/"default", last_committed_url_,
GetReportingSource(), isolation_info_.network_isolation_key(),
absl::nullopt /* user_agent */, std::move(body));
+#endif
}
void RenderFrameHostImpl::SendCommitNavigation(
@@ -220,8 +223,8 @@ diff --git a/content/public/common/content_switch_dependent_feature_overrides.cc
diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_service.cc
--- a/net/reporting/reporting_service.cc
+++ b/net/reporting/reporting_service.cc
@@ -208,6 +208,12 @@ class ReportingServiceImpl : public ReportingService {
base::Value::Dict body,
@@ -212,6 +212,12 @@ class ReportingServiceImpl : public ReportingService {
std::unique_ptr<const base::Value> body,
int depth,
base::TimeTicks queued_ticks) {
+#if BUILDFLAG(ENABLE_REPORTING)
@@ -236,12 +239,12 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic
diff --git a/services/network/network_context.h b/services/network/network_context.h
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
@@ -454,10 +454,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -459,10 +459,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
const absl::optional<base::UnguessableToken>& reporting_source,
const net::NetworkIsolationKey& network_isolation_key,
const absl::optional<std::string>& user_agent,
- base::Value::Dict body) override;
+ base::Value::Dict body);
- base::Value body) override;
+ base::Value body);
void QueueSignedExchangeReport(
mojom::SignedExchangeReportPtr report,
- const net::NetworkIsolationKey& network_isolation_key) override;
@@ -252,7 +255,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn
--- a/services/network/public/mojom/BUILD.gn
+++ b/services/network/public/mojom/BUILD.gn
@@ -965,7 +965,6 @@ mojom("mojom") {
@@ -963,7 +963,6 @@ mojom("mojom") {
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/blink/public/platform/web_common.h"
if (enable_reporting) {
@@ -263,7 +266,7 @@ diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mo
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -1059,6 +1059,7 @@ interface NetworkContext {
@@ -1043,6 +1043,7 @@ interface NetworkContext {
// provided |network_isolation_key|.
//
// Spec: https://w3c.github.io/reporting/#concept-reports
@@ -271,7 +274,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
QueueReport(string type,
string group,
url.mojom.Url url,
@@ -1072,6 +1073,7 @@ interface NetworkContext {
@@ -1056,6 +1057,7 @@ interface NetworkContext {
// Note that this queued report will never be delivered if no reporting
// endpoint matching is registered for with the provided
// |network_isolation_key|.
@@ -290,7 +293,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
#include "services/data_decoder/public/mojom/resource_snapshot_for_web_bundle.mojom-blink.h"
#include "services/network/public/cpp/features.h"
#include "services/network/public/mojom/content_security_policy.mojom-blink.h"
@@ -2382,9 +2383,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
@@ -2334,9 +2335,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
return base::UnguessableToken::Null();
}
@@ -316,7 +319,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b
#include "services/device/public/mojom/device_posture_provider.mojom-blink-forward.h"
#include "services/network/public/mojom/fetch_api.mojom-blink-forward.h"
#include "third_party/blink/public/common/frame/frame_ad_evidence.h"
@@ -576,9 +576,9 @@ class CORE_EXPORT LocalFrame final
@@ -561,9 +561,9 @@ class CORE_EXPORT LocalFrame final
}
SmoothScrollSequencer& GetSmoothScrollSequencer();
@@ -2,15 +2,15 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Mon, 21 Feb 2022 01:24:11 +0100
Subject: Allow building without supervised users
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../browser/supervised_user/ChildAccountService.java | 11 -----------
.../browser/childaccounts/ChildAccountService.java | 11 -----------
chrome/browser/startup_data.cc | 3 ---
.../child_accounts/child_account_service_android.cc | 9 ---------
2 files changed, 20 deletions(-)
3 files changed, 23 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/supervised_user/ChildAccountService.java b/chrome/android/java/src/org/chromium/chrome/browser/supervised_user/ChildAccountService.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/supervised_user/ChildAccountService.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/supervised_user/ChildAccountService.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/childaccounts/ChildAccountService.java b/chrome/android/java/src/org/chromium/chrome/browser/childaccounts/ChildAccountService.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/childaccounts/ChildAccountService.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/childaccounts/ChildAccountService.java
@@ -31,21 +31,10 @@ public class ChildAccountService {
ThreadUtils.assertOnUiThread();
final Activity activity = windowAndroid.getActivity().get();
@@ -33,6 +33,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/supervised_user
- void onReauthenticationFailed(long onFailureCallbackPtr);
- }
}
diff --git a/chrome/browser/startup_data.cc b/chrome/browser/startup_data.cc
--- a/chrome/browser/startup_data.cc
+++ b/chrome/browser/startup_data.cc
@@ -32,9 +32,6 @@
#include "chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.h"
#include "chrome/browser/profiles/pref_service_builder_utils.h"
#include "chrome/browser/profiles/profile_key.h"
-#include "chrome/browser/supervised_user/supervised_user_pref_store.h"
-#include "chrome/browser/supervised_user/supervised_user_settings_service.h"
-#include "chrome/browser/supervised_user/supervised_user_settings_service_factory.h"
#include "chrome/common/chrome_constants.h"
#include "chrome/common/chrome_paths.h"
#include "components/keyed_service/content/browser_context_dependency_manager.h"
diff --git a/chrome/browser/supervised_user/child_accounts/child_account_service_android.cc b/chrome/browser/supervised_user/child_accounts/child_account_service_android.cc
--- a/chrome/browser/supervised_user/child_accounts/child_account_service_android.cc
+++ b/chrome/browser/supervised_user/child_accounts/child_account_service_android.cc
@@ -2,7 +2,6 @@ From: AlexeyBarabash <alexey@brave.com>
Date: Thu, 2 Nov 2017 18:21:16 +0200
Subject: Allow playing audio in background
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../renderer/platform/media/web_media_player_impl.cc | 12 +++++++++++-
.../renderer/platform/media/web_media_player_impl.h | 3 +++
@@ -11,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc b/third_party/blink/renderer/platform/media/web_media_player_impl.cc
--- a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.cc
@@ -1218,6 +1218,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
@@ -1214,6 +1214,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
return pipeline_metadata_.has_audio;
}
@@ -24,7 +23,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
void WebMediaPlayerImpl::EnabledAudioTracksChanged(
const WebVector<WebMediaPlayer::TrackId>& enabledTrackIds) {
DCHECK(main_task_runner_->BelongsToCurrentThread());
@@ -3612,7 +3618,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
@@ -3586,7 +3592,11 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
// Audio only stream is allowed to play when in background.
// TODO: We should check IsBackgroundOptimizationCandidate here. But we need
// to move the logic of checking video frames out of that function.
@@ -40,7 +39,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.h b/third_party/blink/renderer/platform/media/web_media_player_impl.h
--- a/third_party/blink/renderer/platform/media/web_media_player_impl.h
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.h
@@ -192,6 +192,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl
@@ -191,6 +191,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl
bool HasVideo() const override;
bool HasAudio() const override;
@@ -0,0 +1,23 @@
From: xsmile <xsmile@users.noreply.github.com>
Date: Thu, 11 Oct 2018 21:29:35 +0200
Subject: Allow website sign-in without account sign-in
Disable prefs::kSigninAllowedOnNextStartup by default. The setting can be found in chrome://settings
---
chrome/browser/signin/account_consistency_mode_manager.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/chrome/browser/signin/account_consistency_mode_manager.cc b/chrome/browser/signin/account_consistency_mode_manager.cc
--- a/chrome/browser/signin/account_consistency_mode_manager.cc
+++ b/chrome/browser/signin/account_consistency_mode_manager.cc
@@ -112,7 +112,7 @@ AccountConsistencyModeManager::~AccountConsistencyModeManager() {}
// static
void AccountConsistencyModeManager::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
- registry->RegisterBooleanPref(prefs::kSigninAllowedOnNextStartup, true);
+ registry->RegisterBooleanPref(prefs::kSigninAllowedOnNextStartup, false);
}
// static
--
2.25.1
@@ -3,25 +3,22 @@ Date: Wed, 27 Jun 2018 11:02:38 +0200
Subject: Always use new tab page for default home page
Ignore any partner-provided home page.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../org/chromium/chrome/browser/homepage/HomepageManager.java | 4 ----
1 file changed, 4 deletions(-)
.../org/chromium/chrome/browser/homepage/HomepageManager.java | 3 ---
1 file changed, 3 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
@@ -147,10 +147,6 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat
@@ -146,9 +146,6 @@ public class HomepageManager implements HomepagePolicyManager.HomepagePolicyStat
* if the homepage button is force enabled via flag.
*/
public static String getDefaultHomepageUri() {
- if (PartnerBrowserCustomizations.getInstance().isHomepageProviderAvailableAndEnabled()) {
- return PartnerBrowserCustomizations.getInstance().getHomePageUrl().getSpec();
- return PartnerBrowserCustomizations.getInstance().getHomePageUrl();
- }
-
String homepagePartnerDefaultUri;
String homepagePartnerDefaultGurlSerialized =
SharedPreferencesManager.getInstance().readString(
String homepagePartnerDefaultUri = SharedPreferencesManager.getInstance().readString(
ChromePreferenceKeys.HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_URI, "");
--
2.25.1
@@ -2,7 +2,6 @@ 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(-)
@@ -10,16 +9,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -496,8 +496,8 @@ const base::Feature kConditionalTabStripAndroid{
@@ -454,8 +454,8 @@ const base::Feature kConditionalTabStripAndroid{
const base::Feature kCastDeviceFilter{"CastDeviceFilter",
base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kCloseTabSuggestions{"CloseTabSuggestions",
- base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kCloseTabSuggestions{"CloseTabSuggestions", // Enabled by default in Bromite
+ base::FEATURE_ENABLED_BY_DEFAULT}; // ^
-const base::Feature kCloseAllTabsModalDialog{"CloseAllTabsModalDialog",
- base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kCloseAllTabsModalDialog{"CloseAllTabsModalDialog", // Enabled by default in Bromite
+ base::FEATURE_ENABLED_BY_DEFAULT}; // ^
const base::Feature kCriticalPersistedTabData{
"CriticalPersistedTabData", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kCloseTabSuggestions{"CloseTabSuggestions",
base::FEATURE_DISABLED_BY_DEFAULT};
--
2.25.1
@@ -3,8 +3,6 @@ Date: Sun, 25 Mar 2018 21:49:37 +0200
Subject: AudioBuffer, AnalyserNode: fp mitigations
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 ------
@@ -48,7 +46,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.idl b/thir
diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/third_party/blink/renderer/modules/webaudio/audio_context.cc
--- a/third_party/blink/renderer/modules/webaudio/audio_context.cc
+++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc
@@ -497,7 +497,9 @@ double AudioContext::baseLatency() const {
@@ -492,7 +492,9 @@ double AudioContext::baseLatency() const {
DCHECK(IsMainThread());
DCHECK(destination());
File diff suppressed because one or more lines are too long
@@ -3,8 +3,6 @@ Date: Thu, 22 Mar 2018 22:11:57 +0100
Subject: Battery API: return nothing
Include @thestinger's fix for correct charging/unknown values
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../modules/battery/battery_manager.cc | 26 +++----------------
1 file changed, 4 insertions(+), 22 deletions(-)
@@ -12,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/third_party/blink/renderer/modules/battery/battery_manager.cc b/third_party/blink/renderer/modules/battery/battery_manager.cc
--- a/third_party/blink/renderer/modules/battery/battery_manager.cc
+++ b/third_party/blink/renderer/modules/battery/battery_manager.cc
@@ -77,46 +77,28 @@ ScriptPromise BatteryManager::StartRequest(ScriptState* script_state) {
@@ -84,46 +84,28 @@ ScriptPromise BatteryManager::StartRequest(ScriptState* script_state) {
}
bool BatteryManager::charging() {
@@ -4,8 +4,6 @@ Subject: Block gateway attacks via websockets
This approach is not comprehensive, see also:
* https://bugs.chromium.org/p/chromium/issues/detail?id=590714
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../execution_context/execution_context.cc | 16 ++++++++++
.../execution_context/execution_context.h | 1 +
@@ -23,8 +21,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.cc b/third_party/blink/renderer/core/execution_context/execution_context.cc
--- a/third_party/blink/renderer/core/execution_context/execution_context.cc
+++ b/third_party/blink/renderer/core/execution_context/execution_context.cc
@@ -674,4 +674,20 @@ bool ExecutionContext::RequireTrustedTypes() const {
return require_safe_types_;
@@ -672,4 +672,20 @@ bool ExecutionContext::RequireTrustedTypes() const {
RuntimeEnabledFeatures::TrustedDOMTypesEnabled(this);
}
+String ExecutionContext::addressSpaceForBindings() const {
@@ -47,18 +45,18 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
@@ -386,6 +386,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
@@ -374,6 +374,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
const String& message = g_empty_string,
const String& source_file = g_empty_string) const {}
+ String addressSpaceForBindings() const;
network::mojom::IPAddressSpace AddressSpace() const;
void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space);
HeapObserverSet<ContextLifecycleObserver>& ContextLifecycleObserverSet();
+ String addressSpaceForBindings() const;
unsigned ContextLifecycleStateObserverCountForTesting() const;
// Implementation of WindowOrWorkerGlobalScope.crossOriginIsolated.
diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third_party/blink/renderer/core/loader/base_fetch_context.h
--- a/third_party/blink/renderer/core/loader/base_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/base_fetch_context.h
@@ -84,6 +84,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext {
@@ -83,6 +83,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext {
virtual SubresourceFilter* GetSubresourceFilter() const = 0;
virtual bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const = 0;
@@ -69,7 +67,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
@@ -528,6 +528,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
@@ -546,6 +546,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
return should_block_request;
}
@@ -99,7 +97,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/third_party/blink/renderer/core/loader/frame_fetch_context.h
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h
@@ -166,6 +166,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
@@ -171,6 +171,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override;
std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle()
override;
@@ -110,7 +108,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/thir
diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/third_party/blink/renderer/core/loader/worker_fetch_context.cc
--- a/third_party/blink/renderer/core/loader/worker_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/worker_fetch_context.cc
@@ -25,6 +25,7 @@
@@ -24,6 +24,7 @@
#include "third_party/blink/renderer/platform/loader/fetch/resource_timing_info.h"
#include "third_party/blink/renderer/platform/loader/fetch/worker_resource_timing_notifier.h"
#include "third_party/blink/renderer/platform/network/network_state_notifier.h"
@@ -118,7 +116,7 @@ diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/th
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
#include "third_party/blink/renderer/platform/supplementable.h"
#include "third_party/blink/renderer/platform/weborigin/security_policy.h"
@@ -91,6 +92,26 @@ bool WorkerFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
@@ -90,6 +91,26 @@ bool WorkerFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
return should_block_request;
}
@@ -148,7 +146,7 @@ diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/th
diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.h b/third_party/blink/renderer/core/loader/worker_fetch_context.h
--- a/third_party/blink/renderer/core/loader/worker_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/worker_fetch_context.h
@@ -61,6 +61,7 @@ class WorkerFetchContext final : public BaseFetchContext {
@@ -62,6 +62,7 @@ class WorkerFetchContext final : public BaseFetchContext {
bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override;
std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle()
override;
@@ -190,7 +188,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc
scoped_refptr<BlobDataHandle> ExtractBlobHandle(
Request* request,
ExceptionState& exception_state) {
@@ -220,6 +244,13 @@ ScriptPromise BackgroundFetchManager::fetch(
@@ -222,6 +246,13 @@ ScriptPromise BackgroundFetchManager::fetch(
exception_state);
}
@@ -222,7 +220,7 @@ diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_imp
diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.cc b/third_party/blink/renderer/modules/websockets/websocket_common.cc
--- a/third_party/blink/renderer/modules/websockets/websocket_common.cc
+++ b/third_party/blink/renderer/modules/websockets/websocket_common.cc
@@ -125,9 +125,38 @@ WebSocketCommon::ConnectResult WebSocketCommon::Connect(
@@ -124,9 +124,38 @@ WebSocketCommon::ConnectResult WebSocketCommon::Connect(
return ConnectResult::kException;
}
@@ -4,8 +4,6 @@ Subject: Block 'qjz9zk' or 'trk:' requests
An info bar is displayed unless the --disable-trkbar command-line flag or the chrome://flag option is used.
This patch is based on Iridium's 'net: add "trk:" scheme and help identify URLs being retrieved'
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../chrome_autocomplete_scheme_classifier.cc | 1 +
chrome/browser/history/history_utils.cc | 1 +
@@ -31,10 +29,10 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.c
@@ -58,6 +58,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForScheme(
if (base::IsStringASCII(scheme) &&
(ProfileIOData::IsHandledProtocol(scheme) ||
base::EqualsCaseInsensitiveASCII(scheme, content::kViewSourceScheme) ||
+ base::EqualsCaseInsensitiveASCII(scheme, url::kTraceScheme) ||
base::EqualsCaseInsensitiveASCII(scheme, url::kJavaScriptScheme) ||
base::EqualsCaseInsensitiveASCII(scheme, url::kDataScheme))) {
base::LowerCaseEqualsASCII(scheme, content::kViewSourceScheme) ||
+ base::LowerCaseEqualsASCII(scheme, url::kTraceScheme) ||
base::LowerCaseEqualsASCII(scheme, url::kJavaScriptScheme) ||
base::LowerCaseEqualsASCII(scheme, url::kDataScheme))) {
return metrics::OmniboxInputType::URL;
diff --git a/chrome/browser/history/history_utils.cc b/chrome/browser/history/history_utils.cc
--- a/chrome/browser/history/history_utils.cc
@@ -50,7 +48,7 @@ diff --git a/chrome/browser/history/history_utils.cc b/chrome/browser/history/hi
diff --git a/chrome/browser/ui/singleton_tabs.cc b/chrome/browser/ui/singleton_tabs.cc
--- a/chrome/browser/ui/singleton_tabs.cc
+++ b/chrome/browser/ui/singleton_tabs.cc
@@ -101,6 +101,11 @@ int GetIndexOfExistingTab(Browser* browser, const NavigateParams& params) {
@@ -106,6 +106,11 @@ int GetIndexOfExistingTab(Browser* browser, const NavigateParams& params) {
continue;
}
@@ -81,13 +79,13 @@ diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnib
return url::FindAndCompareScheme(utf8_input, scheme, nullptr);
}
@@ -571,7 +576,8 @@ void AutocompleteInput::ParseForEmphasizeComponents(
@@ -560,7 +565,8 @@ void AutocompleteInput::ParseForEmphasizeComponents(
// For the view-source and blob schemes, we should emphasize the host of the
// URL qualified by the view-source or blob prefix.
if ((base::EqualsCaseInsensitiveASCII(scheme_str, kViewSourceScheme) ||
- base::EqualsCaseInsensitiveASCII(scheme_str, url::kBlobScheme)) &&
+ base::EqualsCaseInsensitiveASCII(scheme_str, url::kBlobScheme) ||
+ base::EqualsCaseInsensitiveASCII(scheme_str, url::kTraceScheme)) &&
if ((base::LowerCaseEqualsASCII(scheme_str, kViewSourceScheme) ||
- base::LowerCaseEqualsASCII(scheme_str, url::kBlobScheme)) &&
+ base::LowerCaseEqualsASCII(scheme_str, url::kBlobScheme) ||
+ base::LowerCaseEqualsASCII(scheme_str, url::kTraceScheme)) &&
(static_cast<int>(text.length()) > after_scheme_and_colon)) {
// Obtain the URL prefixed by view-source or blob and parse it.
std::u16string real_url(text.substr(after_scheme_and_colon));
@@ -108,7 +106,7 @@ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/ur
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc
--- a/content/browser/child_process_security_policy_impl.cc
+++ b/content/browser/child_process_security_policy_impl.cc
@@ -755,6 +755,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
@@ -747,6 +747,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
RegisterPseudoScheme(url::kJavaScriptScheme);
RegisterPseudoScheme(kViewSourceScheme);
RegisterPseudoScheme(kGoogleChromeScheme);
@@ -119,7 +117,7 @@ diff --git a/content/browser/child_process_security_policy_impl.cc b/content/bro
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1020,6 +1020,8 @@ component("net") {
@@ -1033,6 +1033,8 @@ component("net") {
"url_request/url_request_http_job.cc",
"url_request/url_request_http_job.h",
"url_request/url_request_interceptor.cc",
@@ -212,7 +210,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
using base::Time;
using std::string;
@@ -587,6 +589,12 @@ URLRequest::URLRequest(const GURL& url,
@@ -609,6 +611,12 @@ URLRequest::URLRequest(const GURL& url,
// Sanity check out environment.
DCHECK(base::ThreadTaskRunnerHandle::IsSet());
@@ -236,7 +234,7 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_context_storage.h"
#include "net/url_request/url_request_job_factory.h"
@@ -631,6 +632,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
@@ -626,6 +627,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
job_factory->SetProtocolHandler(scheme_handler.first,
std::move(scheme_handler.second));
}
@@ -270,7 +268,7 @@ diff --git a/url/url_constants.h b/url/url_constants.h
diff --git a/url/url_util.cc b/url/url_util.cc
--- a/url/url_util.cc
+++ b/url/url_util.cc
@@ -45,6 +45,7 @@ struct SchemeRegistry {
@@ -35,6 +35,7 @@ struct SchemeRegistry {
std::vector<SchemeWithType> standard_schemes = {
{kHttpsScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION},
{kHttpScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION},
@@ -278,7 +276,7 @@ diff --git a/url/url_util.cc b/url/url_util.cc
// Yes, file URLs can have a hostname, so file URLs should be handled as
// "standard". File URLs never have a port as specified by the SchemeType
// field. Unlike other SCHEME_WITH_HOST schemes, the 'host' in a file
@@ -88,6 +89,7 @@ struct SchemeRegistry {
@@ -78,6 +79,7 @@ struct SchemeRegistry {
kAboutScheme,
kJavaScriptScheme,
kDataScheme,
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 9 Apr 2022 23:01:55 +0200
Subject: Bookmarks select all menu entry
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../java/res/menu/bookmark_action_bar_menu.xml | 7 +++++++
.../browser/bookmarks/BookmarkActionBar.java | 15 +++++++++++++++
@@ -29,7 +28,7 @@ diff --git a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml b/chrome/
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
@@ -31,6 +31,7 @@ import org.chromium.content_public.browser.LoadUrlParams;
@@ -29,6 +29,7 @@ import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.url.GURL;
import java.util.List;
@@ -37,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* Main action bar of bookmark UI. It is responsible for displaying title and buttons
@@ -136,6 +137,17 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -134,6 +135,17 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
new TabDelegate(true), mDelegate.getModel());
selectionDelegate.clearSelection();
return true;
@@ -55,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
assert false : "Unhandled menu click.";
@@ -145,6 +157,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -143,6 +155,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
void showLoadingUi() {
setTitle(null);
setNavigationButton(NAVIGATION_BUTTON_NONE);
@@ -63,7 +62,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.import_menu_id).setVisible(false);
getMenu().findItem(R.id.export_menu_id).setVisible(false);
getMenu().findItem(R.id.search_menu_id).setVisible(false);
@@ -156,6 +169,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -154,6 +167,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
super.showNormalView();
if (mDelegate == null) {
@@ -71,7 +70,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.import_menu_id).setVisible(false);
getMenu().findItem(R.id.export_menu_id).setVisible(false);
getMenu().findItem(R.id.search_menu_id).setVisible(false);
@@ -187,6 +201,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -185,6 +199,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@Override
public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
@@ -8,10 +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)
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/BUILD.gn | 1 +
chrome/android/chrome_java_resources.gni | 2 +
chrome/android/chrome_java_sources.gni | 2 +
.../java/res/layout/adblock_editor.xml | 67 +++++
@@ -23,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/settings/AdBlockPreferences.java | 61 ++++
.../chrome/browser/tabmodel/TabModelImpl.java | 2 +-
chrome/app/generated_resources.grd | 10 +
chrome/browser/after_startup_task_utils.cc | 4 +
chrome/browser/after_startup_task_utils.cc | 5 +
chrome/browser/browser_process.h | 6 +
chrome/browser/browser_process_impl.cc | 20 ++
chrome/browser/browser_process_impl.h | 2 +
@@ -46,10 +43,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../content/browser/ruleset_service.h | 7 +-
.../content/browser/ruleset_version.h | 4 +
.../browser/verified_ruleset_dealer.cc | 4 +
.../browser/subresource_filter_features.cc | 116 +-------
.../browser/subresource_filter_features.cc | 113 +-------
.../core/common/indexed_ruleset.cc | 5 +-
.../navigation_throttle_runner.cc | 5 -
38 files changed, 1160 insertions(+), 129 deletions(-)
37 files changed, 1160 insertions(+), 126 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
@@ -59,21 +56,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
create mode 100644 components/component_updater/download_filters_task.cc
create mode 100644 components/component_updater/download_filters_task.h
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -361,6 +361,7 @@ android_library("chrome_java") {
"//chrome/browser/download/android:java",
"//chrome/browser/download/android:java_resources",
"//chrome/browser/enterprise/util:java",
+ "//chrome/browser/endpoint_fetcher:java",
"//chrome/browser/feature_engagement:java",
"//chrome/browser/feature_guide/notifications:java",
"//chrome/browser/feed/android:java",
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
@@ -452,6 +452,7 @@ chrome_java_resources = [
@@ -473,6 +473,7 @@ chrome_java_resources = [
"java/res/layout/account_chooser_dialog_title.xml",
"java/res/layout/account_divider_preference.xml",
"java/res/layout/account_management_account_row.xml",
@@ -81,7 +67,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
"java/res/layout/auto_sign_in_first_run_dialog.xml",
"java/res/layout/autofill_billing_address_dropdown.xml",
"java/res/layout/autofill_card_unmask_prompt.xml",
@@ -645,6 +646,7 @@ chrome_java_resources = [
@@ -667,6 +668,7 @@ chrome_java_resources = [
"java/res/values/values.xml",
"java/res/xml/about_chrome_preferences.xml",
"java/res/xml/account_management_preferences.xml",
@@ -92,7 +78,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
@@ -899,6 +899,8 @@ chrome_java_sources = [
@@ -904,6 +904,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",
@@ -100,7 +86,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
+ "java/src/org/chromium/chrome/browser/settings/AdBlockPreferences.java",
"java/src/org/chromium/chrome/browser/policy/PolicyAuditor.java",
"java/src/org/chromium/chrome/browser/prerender/ChromePrerenderServiceImpl.java",
"java/src/org/chromium/chrome/browser/printing/TabPrinter.java",
"java/src/org/chromium/chrome/browser/printing/PrintShareActivity.java",
diff --git a/chrome/android/java/res/layout/adblock_editor.xml b/chrome/android/java/res/layout/adblock_editor.xml
new file mode 100644
--- /dev/null
@@ -176,7 +162,7 @@ new file mode 100644
diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res/values/styles.xml
--- a/chrome/android/java/res/values/styles.xml
+++ b/chrome/android/java/res/values/styles.xml
@@ -178,6 +178,24 @@
@@ -194,6 +194,24 @@
</item>
</style>
@@ -423,7 +409,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
@@ -693,7 +693,7 @@ public class TabModelImpl extends TabModelJniBridge {
@@ -670,7 +670,7 @@ public class TabModelImpl extends TabModelJniBridge {
protected boolean createTabWithWebContents(
Tab parent, Profile profile, WebContents webContents) {
return getTabCreator(profile.isOffTheRecord())
@@ -435,7 +421,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -12074,6 +12074,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
@@ -11873,6 +11873,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
Never show this again.
</message>
@@ -455,8 +441,8 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_startup_task_utils.cc
--- a/chrome/browser/after_startup_task_utils.cc
+++ b/chrome/browser/after_startup_task_utils.cc
@@ -28,6 +28,8 @@
#include "chromeos/startup/browser_params_proxy.h"
@@ -33,6 +33,8 @@
#include "chromeos/lacros/lacros_service.h"
#endif // BUILDFLAG(IS_CHROMEOS_LACROS)
+#include "chrome/browser/browser_process.h"
@@ -464,15 +450,16 @@ diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_s
using content::BrowserThread;
namespace {
@@ -123,6 +125,8 @@ void SetBrowserStartupIsComplete() {
ScheduleTask(base::WrapUnique(queued_task));
@@ -128,6 +130,9 @@ void SetBrowserStartupIsComplete() {
g_after_startup_tasks.Get().clear();
g_after_startup_tasks.Get().shrink_to_fit();
+ // initialize AdBlock engine scheduled updates
+ g_browser_process->adblock_updater()->Start();
}
// Observes the first visible page load and sets the startup complete
+
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
--- a/chrome/browser/browser_process.h
+++ b/chrome/browser/browser_process.h
@@ -506,7 +493,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -1077,6 +1077,26 @@ BrowserProcessImpl::component_updater() {
@@ -1068,6 +1068,26 @@ BrowserProcessImpl::component_updater() {
return component_updater_.get();
}
@@ -536,7 +523,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h
--- a/chrome/browser/browser_process_impl.h
+++ b/chrome/browser/browser_process_impl.h
@@ -192,6 +192,7 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -200,6 +200,7 @@ class BrowserProcessImpl : public BrowserProcess,
#endif
component_updater::ComponentUpdateService* component_updater() override;
@@ -544,7 +531,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
MediaFileSystemRegistry* media_file_system_registry() override;
WebRtcLogUploader* webrtc_log_uploader() override;
network_time::NetworkTimeTracker* network_time_tracker() override;
@@ -372,6 +373,7 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -378,6 +379,7 @@ class BrowserProcessImpl : public BrowserProcess,
// to concerns over integrity of data shared between profiles,
// but some users of component updater only install per-user.
std::unique_ptr<component_updater::ComponentUpdateService> component_updater_;
@@ -555,7 +542,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
--- a/chrome/browser/chrome_browser_main.cc
+++ b/chrome/browser/chrome_browser_main.cc
@@ -1746,6 +1746,9 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1730,6 +1730,9 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// will be initialized when the app enters foreground mode.
variations_service->set_policy_pref_service(profile->GetPrefs());
@@ -578,7 +565,7 @@ diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/brows
#include "content/public/common/content_features.h"
#include "content/public/common/network_service_util.h"
@@ -42,3 +45,11 @@ static jboolean JNI_CachedFeatureFlags_IsNetworkServiceWarmUpEnabled(
@@ -41,3 +44,11 @@ static jboolean JNI_CachedFeatureFlags_IsNetworkServiceWarmUpEnabled(
return content::IsOutOfProcessNetworkService() &&
base::FeatureList::IsEnabled(features::kWarmUpNetworkProcess);
}
@@ -593,7 +580,7 @@ diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/brows
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
@@ -267,6 +267,14 @@ public class CachedFeatureFlags {
@@ -270,6 +270,14 @@ public class CachedFeatureFlags {
ChromeFeatureList.isEnabled(ChromeFeatureList.BACKGROUND_THREAD_POOL));
}
@@ -608,7 +595,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
/**
* Caches flags that must take effect on startup but are set via native code.
*/
@@ -513,5 +521,7 @@ public class CachedFeatureFlags {
@@ -487,5 +495,7 @@ public class CachedFeatureFlags {
@NativeMethods
interface Natives {
boolean isNetworkServiceWarmUpEnabled();
@@ -619,7 +606,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
--- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc
@@ -449,6 +449,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
@@ -436,6 +436,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
ssl_config_service_manager_(local_state_),
proxy_config_monitor_(local_state_),
stub_resolver_config_reader_(local_state_) {
@@ -628,7 +615,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
#if !BUILDFLAG(IS_ANDROID)
// QuicAllowed was not part of Android policy.
const base::Value* value =
@@ -529,6 +531,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
@@ -516,6 +518,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
StubResolverConfigReader::RegisterPrefs(registry);
@@ -678,7 +665,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
--- a/chrome/common/pref_names.cc
+++ b/chrome/common/pref_names.cc
@@ -2306,6 +2306,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
@@ -2318,6 +2318,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
// capture devices without prompt.
const char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls";
@@ -702,7 +689,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp
--- a/components/browser_ui/strings/android/site_settings.grdp
+++ b/components/browser_ui/strings/android/site_settings.grdp
@@ -262,8 +262,8 @@
@@ -247,8 +247,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>
@@ -1680,7 +1667,7 @@ diff --git a/components/subresource_filter/content/browser/verified_ruleset_deal
diff --git a/components/subresource_filter/core/browser/subresource_filter_features.cc b/components/subresource_filter/core/browser/subresource_filter_features.cc
--- a/components/subresource_filter/core/browser/subresource_filter_features.cc
+++ b/components/subresource_filter/core/browser/subresource_filter_features.cc
@@ -55,72 +55,7 @@ class CommaSeparatedStrings {
@@ -55,69 +55,7 @@ class CommaSeparatedStrings {
const std::vector<base::StringPiece> pieces_;
};
@@ -1697,21 +1684,18 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
-
-mojom::ActivationLevel ParseActivationLevel(
- const base::StringPiece activation_level) {
- if (base::EqualsCaseInsensitiveASCII(activation_level,
- kActivationLevelEnabled))
- if (base::LowerCaseEqualsASCII(activation_level, kActivationLevelEnabled))
- return mojom::ActivationLevel::kEnabled;
- else if (base::EqualsCaseInsensitiveASCII(activation_level,
- kActivationLevelDryRun))
- else if (base::LowerCaseEqualsASCII(activation_level, kActivationLevelDryRun))
- return mojom::ActivationLevel::kDryRun;
- return mojom::ActivationLevel::kDisabled;
-}
-
-ActivationScope ParseActivationScope(const base::StringPiece activation_scope) {
- if (base::EqualsCaseInsensitiveASCII(activation_scope,
- kActivationScopeAllSites))
- if (base::LowerCaseEqualsASCII(activation_scope, kActivationScopeAllSites))
- return ActivationScope::ALL_SITES;
- else if (base::EqualsCaseInsensitiveASCII(activation_scope,
- kActivationScopeActivationList))
- else if (base::LowerCaseEqualsASCII(activation_scope,
- kActivationScopeActivationList))
- return ActivationScope::ACTIVATION_LIST;
- return ActivationScope::NO_SITES;
-}
@@ -1754,7 +1738,7 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
// If ad tagging is enabled, turn on the dryrun automatically.
bool ad_tagging_enabled = base::FeatureList::IsEnabled(kAdTagging);
const struct {
@@ -128,23 +63,16 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
@@ -125,23 +63,16 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
bool enabled_by_default;
Configuration (*factory_method)();
} kAvailablePresetConfigurations[] = {
@@ -1780,7 +1764,7 @@ diff --git a/components/subresource_filter/core/browser/subresource_filter_featu
enabled_configurations.push_back(available_preset.factory_method());
}
}
@@ -152,46 +80,10 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
@@ -149,46 +80,10 @@ std::vector<Configuration> FillEnabledPresetConfigurations(
return enabled_configurations;
}
@@ -1854,10 +1838,10 @@ diff --git a/components/subresource_filter/core/common/indexed_ruleset.cc b/comp
diff --git a/content/browser/renderer_host/navigation_throttle_runner.cc b/content/browser/renderer_host/navigation_throttle_runner.cc
--- a/content/browser/renderer_host/navigation_throttle_runner.cc
+++ b/content/browser/renderer_host/navigation_throttle_runner.cc
@@ -182,11 +182,6 @@ void NavigationThrottleRunner::RegisterNavigationThrottles() {
// wait for the JS task that starts the navigation to finish, so add it close
// to the end to not delay running other throttles.
AddThrottle(RendererCancellationThrottle::MaybeCreateThrottleFor(request));
@@ -180,11 +180,6 @@ void NavigationThrottleRunner::RegisterNavigationThrottles() {
// than other throttles that might care about those navigations, e.g.
// throttles handling pages with 407 errors that require extra authentication.
AddThrottle(HttpErrorNavigationThrottle::MaybeCreateThrottleFor(*request));
-
- // Insert all testing NavigationThrottles last.
- throttles_.insert(throttles_.end(),
+306 -296
View File
@@ -2,10 +2,7 @@ From: uazo <uazo@users.noreply.github.com>
Date: Thu, 7 Oct 2021 14:27:12 +0000
Subject: Bromite auto updater
Enable checking for new versions, with notifications and proxy support.
Some parts authored by csagan5.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
Enable checking for new versions, with notifications and proxy support
---
.../java/templates/BuildConfig.template | 2 +
build/config/android/rules.gni | 3 +
@@ -21,16 +18,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../omaha/inline/InlineUpdateController.java | 51 ++++
.../inline/InlineUpdateControllerFactory.java | 21 ++
chrome/browser/endpoint_fetcher/BUILD.gn | 2 +
.../endpoint_fetcher_android.cc | 52 +++-
.../endpoint_fetcher/endpoint_fetcher.cc | 158 +++++++++++-
.../endpoint_fetcher/endpoint_fetcher.h | 22 +-
.../endpoint_fetcher/EndpointFetcher.java | 22 +-
.../EndpointHeaderResponse.java | 31 +++
.../flags/android/chrome_feature_list.cc | 4 +
.../flags/android/chrome_feature_list.h | 1 +
.../browser/flags/ChromeFeatureList.java | 1 +
.../strings/android_chrome_strings.grd | 23 +-
.../endpoint_fetcher/endpoint_fetcher.cc | 102 +++++++-
.../endpoint_fetcher/endpoint_fetcher.h | 22 +-
23 files changed, 896 insertions(+), 53 deletions(-)
22 files changed, 898 insertions(+), 55 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
@@ -39,9 +35,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/build/android/java/templates/BuildConfig.template b/build/android/java/templates/BuildConfig.template
--- a/build/android/java/templates/BuildConfig.template
+++ b/build/android/java/templates/BuildConfig.template
@@ -92,4 +92,6 @@ public class BuildConfig {
@@ -86,4 +86,6 @@ public class BuildConfig {
#else
public static MAYBE_FINAL boolean IS_FOR_TEST MAYBE_FALSE;
public static MAYBE_FINAL boolean ISOLATED_SPLITS_ENABLED MAYBE_FALSE;
#endif
+
+ public static MAYBE_FINAL String BUILD_TARGET_CPU = _BUILD_TARGET_CPU;
@@ -49,9 +45,9 @@ diff --git a/build/android/java/templates/BuildConfig.template b/build/android/j
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
--- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni
@@ -2153,6 +2153,9 @@ if (enable_java_templates) {
if (defined(testonly) && testonly) {
defines += [ "_IS_FOR_TEST" ]
@@ -2018,6 +2018,9 @@ if (enable_java_templates) {
]
}
}
+
+ # add arch to org.chromium.build.BuildConfig
@@ -62,7 +58,7 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -802,6 +802,9 @@ chrome_java_sources = [
@@ -807,6 +807,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",
@@ -1071,7 +1067,7 @@ new file mode 100644
diff --git a/chrome/browser/endpoint_fetcher/BUILD.gn b/chrome/browser/endpoint_fetcher/BUILD.gn
--- a/chrome/browser/endpoint_fetcher/BUILD.gn
+++ b/chrome/browser/endpoint_fetcher/BUILD.gn
@@ -17,6 +17,7 @@ android_library("java") {
@@ -15,6 +15,7 @@ android_library("java") {
sources = [
"java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java",
"java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointResponse.java",
@@ -1079,25 +1075,223 @@ diff --git a/chrome/browser/endpoint_fetcher/BUILD.gn b/chrome/browser/endpoint_
]
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
}
@@ -25,5 +26,6 @@ generate_jni("jni_headers") {
@@ -23,5 +24,6 @@ generate_jni("jni_headers") {
sources = [
"java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java",
"java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointResponse.java",
+ "java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointHeaderResponse.java",
]
}
diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc b/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc
--- a/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc
+++ b/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc
@@ -9,6 +9,7 @@
diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc
--- a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc
+++ b/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc
@@ -26,10 +26,15 @@
#include "base/android/jni_string.h"
#include "chrome/browser/endpoint_fetcher/jni_headers/EndpointFetcher_jni.h"
#include "chrome/browser/endpoint_fetcher/jni_headers/EndpointResponse_jni.h"
+#include "chrome/browser/endpoint_fetcher/jni_headers/EndpointHeaderResponse_jni.h"
#include "chrome/browser/profiles/profile_android.h"
#include "chrome/browser/signin/identity_manager_factory.h"
#include "chrome/common/channel_info.h"
@@ -30,6 +31,24 @@ static void OnEndpointFetcherComplete(
#endif // BUILDFLAG(IS_ANDROID)
+#include "net/base/load_flags.h"
+#include "net/http/http_status_code.h"
+#include "services/network/public/cpp/resource_request.h"
+
namespace {
const char kContentTypeKey[] = "Content-Type";
const char kDeveloperKey[] = "X-Developer-Key";
@@ -73,6 +78,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
+ intercept_redirect_(false),
post_data_(post_data),
headers_(headers),
annotation_tag_(annotation_tag),
@@ -90,6 +96,7 @@ EndpointFetcher::EndpointFetcher(
http_method_("GET"),
content_type_(std::string()),
timeout_ms_(0),
+ intercept_redirect_(false),
post_data_(std::string()),
annotation_tag_(annotation_tag),
url_loader_factory_(profile->GetDefaultStoragePartition()
@@ -114,6 +121,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
+ intercept_redirect_(false),
post_data_(post_data),
annotation_tag_(annotation_tag),
url_loader_factory_(url_loader_factory),
@@ -140,6 +148,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
+ intercept_redirect_(false),
post_data_(post_data),
headers_(headers),
cors_exempt_headers_(cors_exempt_headers),
@@ -151,10 +160,29 @@ EndpointFetcher::EndpointFetcher(
EndpointFetcher::EndpointFetcher(
const net::NetworkTrafficAnnotationTag& annotation_tag)
: timeout_ms_(kDefaultTimeOutMs),
+ intercept_redirect_(false),
annotation_tag_(annotation_tag),
identity_manager_(nullptr),
sanitize_response_(true) {}
+// constructor used by Bromite
+EndpointFetcher::EndpointFetcher(
+ Profile* const profile,
+ const GURL& url,
+ const std::string& http_method,
+ int64_t timeout_ms,
+ const bool intercept_redirect,
+ const net::NetworkTrafficAnnotationTag& annotation_tag)
+ : url_(url),
+ http_method_(http_method),
+ timeout_ms_(timeout_ms),
+ intercept_redirect_(intercept_redirect),
+ annotation_tag_(annotation_tag),
+ url_loader_factory_(profile->GetDefaultStoragePartition()
+ ->GetURLLoaderFactoryForBrowserProcess()),
+ identity_manager_(nullptr),
+ sanitize_response_(false) {}
+
EndpointFetcher::~EndpointFetcher() = default;
void EndpointFetcher::Fetch(EndpointFetcherCallback endpoint_fetcher_callback) {
@@ -207,6 +235,8 @@ void EndpointFetcher::PerformRequest(
resource_request->method = http_method_;
resource_request->url = url_;
resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit;
+ resource_request->load_flags = net::LOAD_BYPASS_CACHE | net::LOAD_DISABLE_CACHE
+ | net::LOAD_DO_NOT_SAVE_COOKIES;
if (base::EqualsCaseInsensitiveASCII(http_method_, "POST")) {
resource_request->headers.SetHeader(kContentTypeKey, content_type_);
}
@@ -239,31 +269,59 @@ void EndpointFetcher::PerformRequest(
default:
break;
}
+
+ if (intercept_redirect_ == true) {
+ // will need manual mode to capture the landing page URL
+ resource_request->redirect_mode = network::mojom::RedirectMode::kManual; // default is kFollow
+ }
+
// TODO(crbug.com/997018) Make simple_url_loader_ local variable passed to
// callback
simple_url_loader_ = network::SimpleURLLoader::Create(
std::move(resource_request), annotation_tag_);
+ simple_url_loader_->SetTimeoutDuration(base::Milliseconds(timeout_ms_));
+ simple_url_loader_->SetAllowHttpErrorResults(true);
+
+ if (!response_) {
+ //RFC: what is this for?
+ response_ = std::make_unique<EndpointResponse>();
+ }
+ if (intercept_redirect_ == true) {
+ // use a callback to capture landing page URL
+ simple_url_loader_->SetOnRedirectCallback(base::BindRepeating(
+ &EndpointFetcher::OnSimpleLoaderRedirect, base::Unretained(this)));
+ }
if (base::EqualsCaseInsensitiveASCII(http_method_, "POST")) {
simple_url_loader_->AttachStringForUpload(post_data_, content_type_);
}
simple_url_loader_->SetRetryOptions(kNumRetries,
network::SimpleURLLoader::RETRY_ON_5XX);
- simple_url_loader_->SetTimeoutDuration(base::Milliseconds(timeout_ms_));
- simple_url_loader_->SetAllowHttpErrorResults(true);
- network::SimpleURLLoader::BodyAsStringCallback body_as_string_callback =
- base::BindOnce(&EndpointFetcher::OnResponseFetched,
+
+ LOG(INFO) << "performing " << http_method_ << " request to " << url_;
+ if (base::EqualsCaseInsensitiveASCII(http_method_, "HEAD")) {
+ endpoint_fetcher_callback_ = std::move(endpoint_fetcher_callback);
+
+ simple_url_loader_->DownloadHeadersOnly(
+ url_loader_factory_.get(),
+ base::BindOnce(&EndpointFetcher::OnURLLoadComplete,
+ base::Unretained(this)));
+ } else {
+ network::SimpleURLLoader::BodyAsStringCallback body_as_string_callback =
+ base::BindOnce(&EndpointFetcher::OnResponseFetched,
weak_ptr_factory_.GetWeakPtr(),
std::move(endpoint_fetcher_callback));
- simple_url_loader_->DownloadToString(
- url_loader_factory_.get(), std::move(body_as_string_callback),
- network::SimpleURLLoader::kMaxBoundedStringDownloadSize);
+ simple_url_loader_->DownloadToString(
+ url_loader_factory_.get(), std::move(body_as_string_callback),
+ network::SimpleURLLoader::kMaxBoundedStringDownloadSize);
+ }
}
void EndpointFetcher::OnResponseFetched(
EndpointFetcherCallback endpoint_fetcher_callback,
std::unique_ptr<std::string> response_body) {
if (response_body) {
+ simple_url_loader_.reset();
if (sanitize_response_) {
data_decoder::JsonSanitizer::Sanitize(
std::move(*response_body),
@@ -281,9 +339,9 @@ void EndpointFetcher::OnResponseFetched(
std::string net_error = net::ErrorToString(simple_url_loader_->NetError());
VLOG(1) << __func__ << " with response error: " << net_error;
response->response = "There was a response error";
+ simple_url_loader_.reset();
std::move(endpoint_fetcher_callback).Run(std::move(response));
}
- simple_url_loader_.reset();
}
void EndpointFetcher::OnSanitizationResult(
@@ -304,6 +362,40 @@ std::string EndpointFetcher::GetUrlForTesting() {
return url_.spec();
}
+void EndpointFetcher::OnSimpleLoaderRedirect(
+ const net::RedirectInfo& redirect_info,
+ const network::mojom::URLResponseHead& response_head,
+ std::vector<std::string>* removed_headers) {
+ url_ = redirect_info.new_url;
+ if (response_->redirect_url.empty()) {
+ response_->redirect_url = url_.spec();
+ response_->response = std::to_string(redirect_info.status_code);
+ } else {
+ LOG(INFO) << "BromiteUpdater: redirect URL is not empty, status code is " << redirect_info.status_code;
+ }
+
+ std::move(endpoint_fetcher_callback_).Run(std::move(response_));
+}
+
+void EndpointFetcher::OnURLLoadComplete(
+ scoped_refptr<net::HttpResponseHeaders> headers) {
+ if (!endpoint_fetcher_callback_)
+ return;
+
+ if (headers) {
+ if (response_->redirect_url.empty()) {
+ std::string location;
+ if (simple_url_loader_->ResponseInfo()->headers->IsRedirect(&location)) {
+ response_->redirect_url = location;
+ }
+ }
+ }
+
+ std::string net_error = net::ErrorToString(simple_url_loader_->NetError());
+ response_->response = net_error;
+ std::move(endpoint_fetcher_callback_).Run(std::move(response_));
+}
+
#if BUILDFLAG(IS_ANDROID)
namespace {
static void OnEndpointFetcherComplete(
@@ -320,6 +412,25 @@ static void OnEndpointFetcherComplete(
base::android::AttachCurrentThread(),
std::move(endpoint_response->response))));
}
@@ -1119,10 +1313,11 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc b/chrom
+ base::android::AttachCurrentThread(),
+ std::move(endpoint_response->redirect_url))));
+}
+
} // namespace
// TODO(crbug.com/1077537) Create a KeyProvider so
@@ -109,15 +128,17 @@ static void JNI_EndpointFetcher_NativeFetchWithNoAuth(
@@ -392,13 +503,15 @@ static void JNI_EndpointFetcher_NativeFetchWithNoAuth(
JNIEnv* env,
const base::android::JavaParamRef<jobject>& jprofile,
const base::android::JavaParamRef<jstring>& jurl,
@@ -1130,9 +1325,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc b/chrom
+ jlong jtimeout, jboolean intercept_redirect,
const base::android::JavaParamRef<jobject>& jcallback) {
auto endpoint_fetcher = std::make_unique<EndpointFetcher>(
ProfileAndroid::FromProfileAndroid(jprofile)
->GetDefaultStoragePartition()
->GetURLLoaderFactoryForBrowserProcess(),
ProfileAndroid::FromProfileAndroid(jprofile),
GURL(base::android::ConvertJavaStringToUTF8(env, jurl)),
- net::NetworkTrafficAnnotationTag::FromJavaAnnotation(
- jannotation_hash_code));
@@ -1143,11 +1336,10 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc b/chrom
auto* const endpoint_fetcher_ptr = endpoint_fetcher.get();
endpoint_fetcher_ptr->PerformRequest(
base::BindOnce(&OnEndpointFetcherComplete,
@@ -127,3 +148,28 @@ static void JNI_EndpointFetcher_NativeFetchWithNoAuth(
std::move(endpoint_fetcher)),
@@ -409,4 +522,27 @@ static void JNI_EndpointFetcher_NativeFetchWithNoAuth(
nullptr);
}
+
+static void JNI_EndpointFetcher_NativeHeadWithNoAuth(
+ JNIEnv* env,
+ const base::android::JavaParamRef<jobject>& jprofile,
@@ -1155,9 +1347,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc b/chrom
+ jlong jtimeout, jboolean intercept_redirect,
+ const base::android::JavaParamRef<jobject>& jcallback) {
+ auto endpoint_fetcher = std::make_unique<EndpointFetcher>(
+ ProfileAndroid::FromProfileAndroid(jprofile)
+ ->GetDefaultStoragePartition()
+ ->GetURLLoaderFactoryForBrowserProcess(),
+ ProfileAndroid::FromProfileAndroid(jprofile),
+ GURL(base::android::ConvertJavaStringToUTF8(env, jurl)),
+ "HEAD",
+ jtimeout,
@@ -1172,6 +1362,78 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher_android.cc b/chrom
+ std::move(endpoint_fetcher)),
+ nullptr);
+}
+
#endif // BUILDFLAG(IS_ANDROID)
diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.h b/chrome/browser/endpoint_fetcher/endpoint_fetcher.h
--- a/chrome/browser/endpoint_fetcher/endpoint_fetcher.h
+++ b/chrome/browser/endpoint_fetcher/endpoint_fetcher.h
@@ -15,6 +15,8 @@
#include "components/signin/public/identity_manager/scope_set.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
#include "services/data_decoder/public/cpp/json_sanitizer.h"
+#include "services/network/public/cpp/resource_request.h"
+#include "services/network/public/mojom/url_response_head.mojom.h"
namespace network {
struct ResourceRequest;
@@ -32,6 +34,8 @@ class Profile;
struct EndpointResponse {
std::string response;
+ long last_modified;
+ std::string redirect_url;
// TODO(crbug.com/993393) Add more detailed error messaging
};
@@ -78,6 +82,14 @@ class EndpointFetcher {
const GURL& url,
const net::NetworkTrafficAnnotationTag& annotation_tag);
+ // Constructor if no authentication is needed, with timeout
+ EndpointFetcher(Profile* const profile,
+ const GURL& url,
+ const std::string& http_method,
+ int64_t timeout_ms,
+ const bool intercept_redirect,
+ const net::NetworkTrafficAnnotationTag& annotation_tag);
+
// Used for tests. Can be used if caller constructs their own
// url_loader_factory and identity_manager.
EndpointFetcher(
@@ -131,6 +143,10 @@ class EndpointFetcher {
std::unique_ptr<std::string> response_body);
void OnSanitizationResult(EndpointFetcherCallback endpoint_fetcher_callback,
data_decoder::JsonSanitizer::Result result);
+ void OnURLLoadComplete(scoped_refptr<net::HttpResponseHeaders> headers);
+ void OnSimpleLoaderRedirect(const net::RedirectInfo& redirect_info,
+ const network::mojom::URLResponseHead& response_head,
+ std::vector<std::string>* removed_headers);
enum AuthType { CHROME_API_KEY, OAUTH, NO_AUTH };
AuthType auth_type_;
@@ -138,10 +154,11 @@ class EndpointFetcher {
// Members set in constructor to be passed to network::ResourceRequest or
// network::SimpleURLLoader.
const std::string oauth_consumer_name_;
- const GURL url_;
+ GURL url_;
const std::string http_method_;
const std::string content_type_;
int64_t timeout_ms_;
+ const bool intercept_redirect_;
const std::string post_data_;
const std::vector<std::string> headers_;
const std::vector<std::string> cors_exempt_headers_;
@@ -158,6 +175,9 @@ class EndpointFetcher {
access_token_fetcher_;
std::unique_ptr<network::SimpleURLLoader> simple_url_loader_;
+ EndpointFetcherCallback endpoint_fetcher_callback_;
+ std::unique_ptr<EndpointResponse> response_;
+
base::WeakPtrFactory<EndpointFetcher> weak_ptr_factory_{this};
};
diff --git a/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java b/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java
--- a/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java
+++ b/chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointFetcher.java
@@ -1250,15 +1512,15 @@ new file mode 100644
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -261,6 +261,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -249,6 +249,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kNewWindowAppMenu,
&kNotificationPermissionVariant,
&kPageAnnotationsService,
+ &kInlineUpdateFlow,
&kBookmarksImprovedSaveFlow,
&kBookmarksRefresh,
&kBackGestureRefactorAndroid,
@@ -709,6 +710,9 @@ const base::Feature kIncognitoReauthenticationForAndroid{
&kProbabilisticCryptidRenderer,
@@ -660,6 +661,9 @@ const base::Feature kIncognitoReauthenticationForAndroid{
const base::Feature kIncognitoScreenshot{"IncognitoScreenshot",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -1271,18 +1533,18 @@ 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
@@ -103,6 +103,7 @@ extern const base::Feature kGridTabSwitcherForTablets;
extern const base::Feature kHandleMediaIntents;
extern const base::Feature kImmersiveUiMode;
@@ -101,6 +101,7 @@ extern const base::Feature kImmersiveUiMode;
extern const base::Feature kIncognitoReauthenticationForAndroid;
+extern const base::Feature kInlineUpdateFlow;
extern const base::Feature kIncognitoScreenshot;
extern const base::Feature kImprovedA2HS;
+extern const base::Feature kInlineUpdateFlow;
extern const base::Feature kImproveReaderModePrompt;
extern const base::Feature kInstanceSwitcher;
extern const base::Feature kInstantStart;
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -379,6 +379,7 @@ public abstract class ChromeFeatureList {
@@ -363,6 +363,7 @@ public abstract class ChromeFeatureList {
public static final String INCOGNITO_REAUTHENTICATION_FOR_ANDROID =
"IncognitoReauthenticationForAndroid";
public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot";
@@ -1293,7 +1555,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1887,6 +1887,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1840,6 +1840,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_DEPRECATION_WARNING" desc="Warning about Chrome updates no longer being supported">
Chrome updates are no longer supported for this version of Android
</message>
@@ -1306,7 +1568,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Account management UI strings. -->
<message name="IDS_ACCOUNT_MANAGEMENT_TITLE" desc="Header title for the account management screen. [CHAR_LIMIT=32]">
@@ -3492,7 +3498,10 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3333,7 +3339,10 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<!-- Main menu items -->
<message name="IDS_MENU_UPDATE" desc="Menu item for updating chrome. [CHAR_LIMIT=24]">
@@ -1318,7 +1580,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
</message>
<message name="IDS_MENU_UPDATE_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that a newer version of Chrome is available. [CHAR_LIMIT=30]">
Newer version is available
@@ -3503,6 +3512,18 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3344,6 +3353,18 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_UPDATE_UNSUPPORTED_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that the Android version on the device is unsupported. [CHAR_LIMIT=30]">
Android version is unsupported
</message>
@@ -1337,257 +1599,5 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_MENU_NEW_WINDOW" desc="Menu item for opening a new window. [CHAR_LIMIT=27]">
New window
</message>
diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoint_fetcher/endpoint_fetcher.cc
--- a/components/endpoint_fetcher/endpoint_fetcher.cc
+++ b/components/endpoint_fetcher/endpoint_fetcher.cc
@@ -15,6 +15,11 @@
#include "services/network/public/cpp/shared_url_loader_factory.h"
#include "services/network/public/cpp/simple_url_loader.h"
+// used for the Bromite customization
+#include "net/base/load_flags.h"
+#include "net/http/http_status_code.h"
+#include "services/network/public/cpp/resource_request.h"
+
namespace {
const char kContentTypeKey[] = "Content-Type";
const char kDeveloperKey[] = "X-Developer-Key";
@@ -59,6 +64,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
+ intercept_redirect_(false),
post_data_(post_data),
headers_(headers),
annotation_tag_(annotation_tag),
@@ -76,6 +82,7 @@ EndpointFetcher::EndpointFetcher(
http_method_("GET"),
content_type_(std::string()),
timeout_ms_(0),
+ intercept_redirect_(false),
post_data_(std::string()),
annotation_tag_(annotation_tag),
url_loader_factory_(url_loader_factory),
@@ -99,6 +106,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
+ intercept_redirect_(false),
post_data_(post_data),
annotation_tag_(annotation_tag),
url_loader_factory_(url_loader_factory),
@@ -125,6 +133,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
+ intercept_redirect_(false),
post_data_(post_data),
headers_(headers),
cors_exempt_headers_(cors_exempt_headers),
@@ -136,10 +145,28 @@ EndpointFetcher::EndpointFetcher(
EndpointFetcher::EndpointFetcher(
const net::NetworkTrafficAnnotationTag& annotation_tag)
: timeout_ms_(kDefaultTimeOutMs),
+ intercept_redirect_(false),
annotation_tag_(annotation_tag),
identity_manager_(nullptr),
sanitize_response_(true) {}
+// constructor used by Bromite
+EndpointFetcher::EndpointFetcher(
+ const scoped_refptr<network::SharedURLLoaderFactory>& url_loader_factory,
+ const GURL& url,
+ const std::string& http_method,
+ int64_t timeout_ms,
+ const bool intercept_redirect,
+ const net::NetworkTrafficAnnotationTag& annotation_tag)
+ : url_(url),
+ http_method_(http_method),
+ timeout_ms_(timeout_ms),
+ intercept_redirect_(intercept_redirect),
+ annotation_tag_(annotation_tag),
+ url_loader_factory_(url_loader_factory),
+ identity_manager_(nullptr),
+ sanitize_response_(false) {}
+
EndpointFetcher::~EndpointFetcher() = default;
void EndpointFetcher::Fetch(EndpointFetcherCallback endpoint_fetcher_callback) {
@@ -192,6 +219,8 @@ void EndpointFetcher::PerformRequest(
resource_request->method = http_method_;
resource_request->url = url_;
resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit;
+ resource_request->load_flags = net::LOAD_BYPASS_CACHE | net::LOAD_DISABLE_CACHE
+ | net::LOAD_DO_NOT_SAVE_COOKIES;
if (base::EqualsCaseInsensitiveASCII(http_method_, "POST")) {
resource_request->headers.SetHeader(kContentTypeKey, content_type_);
}
@@ -222,25 +251,52 @@ void EndpointFetcher::PerformRequest(
default:
break;
}
+
+ if (intercept_redirect_ == true) {
+ // will need manual mode to capture the landing page URL
+ resource_request->redirect_mode = network::mojom::RedirectMode::kManual; // default is kFollow
+ }
+
// TODO(crbug.com/997018) Make simple_url_loader_ local variable passed to
// callback
simple_url_loader_ = network::SimpleURLLoader::Create(
std::move(resource_request), annotation_tag_);
+ simple_url_loader_->SetTimeoutDuration(base::Milliseconds(timeout_ms_));
+ simple_url_loader_->SetAllowHttpErrorResults(true);
+
+ if (!response_) {
+ //RFC: what is this for?
+ response_ = std::make_unique<EndpointResponse>();
+ }
+ if (intercept_redirect_ == true) {
+ // use a callback to capture landing page URL
+ simple_url_loader_->SetOnRedirectCallback(base::BindRepeating(
+ &EndpointFetcher::OnSimpleLoaderRedirect, base::Unretained(this)));
+ }
if (base::EqualsCaseInsensitiveASCII(http_method_, "POST")) {
simple_url_loader_->AttachStringForUpload(post_data_, content_type_);
}
simple_url_loader_->SetRetryOptions(kNumRetries,
network::SimpleURLLoader::RETRY_ON_5XX);
- simple_url_loader_->SetTimeoutDuration(base::Milliseconds(timeout_ms_));
- simple_url_loader_->SetAllowHttpErrorResults(true);
- network::SimpleURLLoader::BodyAsStringCallback body_as_string_callback =
+
+ LOG(INFO) << "performing " << http_method_ << " request to " << url_;
+ if (base::EqualsCaseInsensitiveASCII(http_method_, "HEAD")) {
+ endpoint_fetcher_callback_ = std::move(endpoint_fetcher_callback);
+
+ simple_url_loader_->DownloadHeadersOnly(
+ url_loader_factory_.get(),
+ base::BindOnce(&EndpointFetcher::OnURLLoadComplete,
+ base::Unretained(this)));
+ } else {
+ network::SimpleURLLoader::BodyAsStringCallback body_as_string_callback =
base::BindOnce(&EndpointFetcher::OnResponseFetched,
weak_ptr_factory_.GetWeakPtr(),
std::move(endpoint_fetcher_callback));
- simple_url_loader_->DownloadToString(
- url_loader_factory_.get(), std::move(body_as_string_callback),
- network::SimpleURLLoader::kMaxBoundedStringDownloadSize);
+ simple_url_loader_->DownloadToString(
+ url_loader_factory_.get(), std::move(body_as_string_callback),
+ network::SimpleURLLoader::kMaxBoundedStringDownloadSize);
+ }
}
void EndpointFetcher::OnResponseFetched(
@@ -293,3 +349,37 @@ void EndpointFetcher::OnSanitizationResult(
std::string EndpointFetcher::GetUrlForTesting() {
return url_.spec();
}
+
+void EndpointFetcher::OnSimpleLoaderRedirect(
+ const net::RedirectInfo& redirect_info,
+ const network::mojom::URLResponseHead& response_head,
+ std::vector<std::string>* removed_headers) {
+ url_ = redirect_info.new_url;
+ if (response_->redirect_url.empty()) {
+ response_->redirect_url = url_.spec();
+ response_->response = std::to_string(redirect_info.status_code);
+ } else {
+ LOG(INFO) << "BromiteUpdater: redirect URL is not empty, status code is " << redirect_info.status_code;
+ }
+
+ std::move(endpoint_fetcher_callback_).Run(std::move(response_));
+}
+
+void EndpointFetcher::OnURLLoadComplete(
+ scoped_refptr<net::HttpResponseHeaders> headers) {
+ if (!endpoint_fetcher_callback_)
+ return;
+
+ if (headers) {
+ if (response_->redirect_url.empty()) {
+ std::string location;
+ if (simple_url_loader_->ResponseInfo()->headers->IsRedirect(&location)) {
+ response_->redirect_url = location;
+ }
+ }
+ }
+
+ std::string net_error = net::ErrorToString(simple_url_loader_->NetError());
+ response_->response = net_error;
+ std::move(endpoint_fetcher_callback_).Run(std::move(response_));
+}
diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoint_fetcher/endpoint_fetcher.h
--- a/components/endpoint_fetcher/endpoint_fetcher.h
+++ b/components/endpoint_fetcher/endpoint_fetcher.h
@@ -15,6 +15,8 @@
#include "components/signin/public/identity_manager/scope_set.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
#include "services/data_decoder/public/cpp/json_sanitizer.h"
+#include "services/network/public/cpp/resource_request.h"
+#include "services/network/public/mojom/url_response_head.mojom.h"
namespace network {
struct ResourceRequest;
@@ -31,6 +33,8 @@ class GURL;
struct EndpointResponse {
std::string response;
+ long last_modified;
+ std::string redirect_url;
// TODO(crbug.com/993393) Add more detailed error messaging
};
@@ -82,6 +86,14 @@ class EndpointFetcher {
const GURL& url,
const net::NetworkTrafficAnnotationTag& annotation_tag);
+ // Constructor if no authentication is needed, with timeout
+ EndpointFetcher(const scoped_refptr<network::SharedURLLoaderFactory>& url_loader_factory,
+ const GURL& url,
+ const std::string& http_method,
+ int64_t timeout_ms,
+ const bool intercept_redirect,
+ const net::NetworkTrafficAnnotationTag& annotation_tag);
+
// Used for tests. Can be used if caller constructs their own
// url_loader_factory and identity_manager.
EndpointFetcher(
@@ -135,6 +147,10 @@ class EndpointFetcher {
std::unique_ptr<std::string> response_body);
void OnSanitizationResult(EndpointFetcherCallback endpoint_fetcher_callback,
data_decoder::JsonSanitizer::Result result);
+ void OnURLLoadComplete(scoped_refptr<net::HttpResponseHeaders> headers);
+ void OnSimpleLoaderRedirect(const net::RedirectInfo& redirect_info,
+ const network::mojom::URLResponseHead& response_head,
+ std::vector<std::string>* removed_headers);
enum AuthType { CHROME_API_KEY, OAUTH, NO_AUTH };
AuthType auth_type_;
@@ -142,10 +158,11 @@ class EndpointFetcher {
// Members set in constructor to be passed to network::ResourceRequest or
// network::SimpleURLLoader.
const std::string oauth_consumer_name_;
- const GURL url_;
+ GURL url_;
const std::string http_method_;
const std::string content_type_;
int64_t timeout_ms_;
+ const bool intercept_redirect_;
const std::string post_data_;
const std::vector<std::string> headers_;
const std::vector<std::string> cors_exempt_headers_;
@@ -163,6 +180,9 @@ class EndpointFetcher {
access_token_fetcher_;
std::unique_ptr<network::SimpleURLLoader> simple_url_loader_;
+ EndpointFetcherCallback endpoint_fetcher_callback_;
+ std::unique_ptr<EndpointResponse> response_;
+
base::WeakPtrFactory<EndpointFetcher> weak_ptr_factory_{this};
};
--
2.25.1
+1 -2
View File
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 8 Jan 2022 19:42:34 +0100
Subject: Bromite package name
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/BUILD.gn | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -10,7 +9,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
@@ -46,7 +46,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) {
@@ -44,7 +44,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) {
assert(current_toolchain != android_secondary_abi_toolchain)
}
+1 -2
View File
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 8 Jan 2022 19:42:34 +0100
Subject: Chromium package name
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/BUILD.gn | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -10,7 +9,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
@@ -46,7 +46,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) {
@@ -44,7 +44,7 @@ if (android_64bit_target_cpu && skip_secondary_abi_for_cq) {
assert(current_toolchain != android_secondary_abi_toolchain)
}
+19 -21
View File
@@ -5,8 +5,6 @@ Subject: Client hints overrides
Disable critical client hints
Hard-code model to SAMSUNG SM-G960U
use Google Chrome branding for client hints
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/prefs/browser_prefs.cc | 2 +-
components/embedder_support/user_agent_utils.cc | 4 +---
@@ -24,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -793,7 +793,7 @@ void RegisterLocalStatePrefsForMigration(PrefRegistrySimple* registry) {
@@ -765,7 +765,7 @@ void RegisterLocalStatePrefsForMigration(PrefRegistrySimple* registry) {
registry->RegisterListPref(prefs::kUsedPolicyCertificates);
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -36,7 +34,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
--- a/components/embedder_support/user_agent_utils.cc
+++ b/components/embedder_support/user_agent_utils.cc
@@ -253,9 +253,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList(
@@ -226,9 +226,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList(
bool parse_result = base::StringToInt(major_version, &major_version_number);
DCHECK(parse_result);
absl::optional<std::string> brand;
@@ -63,7 +61,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie
diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/browser/loader/navigation_url_loader_impl.cc
--- a/content/browser/loader/navigation_url_loader_impl.cc
+++ b/content/browser/loader/navigation_url_loader_impl.cc
@@ -1034,6 +1034,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
@@ -988,6 +988,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
return;
}
@@ -78,7 +76,7 @@ diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/brow
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) {
@@ -300,14 +300,7 @@ std::string BuildUserAgentFromProduct(const std::string& product) {
}
std::string BuildModelInfo() {
@@ -97,7 +95,7 @@ diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -233,7 +233,7 @@ const base::Feature kCrashReporting{"CrashReporting",
@@ -240,7 +240,7 @@ const base::Feature kCrashReporting{"CrashReporting",
// Enables support for the `Critical-CH` response header.
// https://github.com/WICG/client-hints-infrastructure/blob/master/reliability.md#critical-ch
const base::Feature kCriticalClientHint{"CriticalClientHint",
@@ -109,7 +107,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
diff --git a/services/network/public/cpp/client_hints.cc b/services/network/public/cpp/client_hints.cc
--- a/services/network/public/cpp/client_hints.cc
+++ b/services/network/public/cpp/client_hints.cc
@@ -97,6 +97,7 @@ const DecodeMap& GetDecodeMap() {
@@ -98,6 +98,7 @@ const DecodeMap& GetDecodeMap() {
absl::optional<std::vector<network::mojom::WebClientHintsType>>
ParseClientHintsHeader(const std::string& header) {
@@ -120,7 +118,7 @@ diff --git a/services/network/public/cpp/client_hints.cc b/services/network/publ
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
@@ -179,8 +179,8 @@ const base::Feature kWebSocketReassembleShortMessages{
@@ -184,8 +184,8 @@ const base::Feature kWebSocketReassembleShortMessages{
// Enable support for ACCEPT_CH H2/3 frame as part of Client Hint Reliability.
// See:
// https://tools.ietf.org/html/draft-davidben-http-client-hint-reliability-02#section-4.3
@@ -134,7 +132,7 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c
diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party/blink/common/client_hints/client_hints.cc
--- a/third_party/blink/common/client_hints/client_hints.cc
+++ b/third_party/blink/common/client_hints/client_hints.cc
@@ -111,6 +111,7 @@ const size_t kWebEffectiveConnectionTypeMappingCount =
@@ -118,6 +118,7 @@ const size_t kWebEffectiveConnectionTypeMappingCount =
std::size(kWebEffectiveConnectionTypeMapping);
bool IsClientHintSentByDefault(network::mojom::WebClientHintsType type) {
@@ -145,7 +143,7 @@ diff --git a/third_party/blink/common/client_hints/client_hints.cc b/third_party
diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/third_party/blink/common/client_hints/enabled_client_hints.cc
--- a/third_party/blink/common/client_hints/enabled_client_hints.cc
+++ b/third_party/blink/common/client_hints/enabled_client_hints.cc
@@ -21,6 +21,7 @@ namespace {
@@ -22,6 +22,7 @@ namespace {
using ::network::mojom::WebClientHintsType;
bool IsDisabledByFeature(const WebClientHintsType type) {
@@ -153,7 +151,7 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi
switch (type) {
case WebClientHintsType::kUA:
case WebClientHintsType::kUAArch:
@@ -127,7 +128,7 @@ bool IsOriginTrialEnabled(const GURL& url,
@@ -136,7 +137,7 @@ bool IsOriginTrialEnabled(const GURL& url,
} // namespace
bool EnabledClientHints::IsEnabled(const WebClientHintsType type) const {
@@ -162,7 +160,7 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi
}
void EnabledClientHints::SetIsEnabled(const WebClientHintsType type,
@@ -156,6 +157,7 @@ void EnabledClientHints::SetIsEnabled(
@@ -169,6 +170,7 @@ void EnabledClientHints::SetIsEnabled(
std::vector<WebClientHintsType> EnabledClientHints::GetEnabledHints() const {
std::vector<WebClientHintsType> hints;
@@ -173,18 +171,18 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -162,7 +162,7 @@ const base::Feature kMixedContentAutoupgrade{"AutoupgradeMixedContent",
// Enables User-Agent Client Hints
@@ -156,7 +156,7 @@ const base::Feature kMixedContentAutoupgrade{"AutoupgradeMixedContent",
// An experimental replacement for the `User-Agent` header, defined in
// https://tools.ietf.org/html/draft-west-ua-client-hints.
const base::Feature kUserAgentClientHint{"UserAgentClientHint",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Handle prefers-color-scheme user preference media feature via client hints.
const base::Feature kPrefersColorSchemeClientHintHeader{
@@ -542,7 +542,7 @@ const base::Feature kAudioWorkletThreadRealtimePriority{
const base::Feature kLightweightNoStatePrefetch {
"LightweightNoStatePrefetch",
// Enable `sec-ch-ua-full-version-list` client hint.
const base::Feature kUserAgentClientHintFullVersionList{
@@ -767,7 +767,7 @@ const base::Feature kResamplingScrollEvents{"ResamplingScrollEvents",
const base::Feature kAllowClientHintsToThirdParty {
"AllowClientHintsToThirdParty",
#if BUILDFLAG(IS_ANDROID)
- base::FEATURE_ENABLED_BY_DEFAULT
+ base::FEATURE_DISABLED_BY_DEFAULT
@@ -6,13 +6,10 @@ This patch is used by other patches to provide the UI for Bromite-specific
site settings.
See BromiteCustomContentSetting_README.md for more information.
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../browser_ui/site_settings/android/BUILD.gn | 4 +
.../BromiteCustomContentSetting.java | 125 ++++++++
.../BromiteCustomContentSettingImpl.java | 270 ++++++++++++++++++
.../BromiteCustomContentSettingImpl.java | 269 ++++++++++++++++++
.../BromiteCustomContentSetting_README.md | 151 ++++++++++
.../ContentSettingsResources.java | 13 +-
.../site_settings/SingleCategorySettings.java | 28 +-
@@ -33,7 +30,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../android/page_info_controller_android.cc | 18 ++
components/page_info/page_info.cc | 23 +-
components/page_info/page_info_ui.cc | 18 ++
23 files changed, 731 insertions(+), 28 deletions(-)
23 files changed, 730 insertions(+), 28 deletions(-)
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting_README.md
@@ -41,7 +38,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
--- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -75,6 +75,10 @@ android_library("java") {
@@ -68,6 +68,10 @@ android_library("java") {
"java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java",
"java/src/org/chromium/components/browser_ui/site_settings/TimezoneOverrideSiteSettingsPreference.java"
]
@@ -186,7 +183,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
new file mode 100644
--- /dev/null
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
@@ -0,0 +1,270 @@
@@ -0,0 +1,269 @@
+/*
+ This file is part of Bromite.
+
@@ -405,8 +402,7 @@ new file mode 100644
+ ContentSettingException exception = cs.createCustomException(type, value, websiteAddress);
+ if (exception == null) {
+ exception = new ContentSettingException(
+ cs.getContentSetting(), websiteAddress.getHost(), value, "",
+ /*isEmbargoed=*/false);
+ cs.getContentSetting(), websiteAddress.getHost(), value, "");
+ }
+ return exception;
+ }
@@ -667,7 +663,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/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
@@ -235,6 +235,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -227,6 +227,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
else
return ContentSettingValues.BLOCK == contentSetting;
}
@@ -676,7 +672,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
return false;
}
@@ -384,6 +386,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -376,6 +378,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS))
: null;
@@ -684,7 +680,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
configureGlobalToggles();
setHasOptionsMenu(true);
@@ -483,6 +486,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -475,6 +478,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
BrowserContextHandle browserContextHandle =
getSiteSettingsDelegate().getBrowserContextHandle();
PrefService prefService = UserPrefs.get(browserContextHandle);
@@ -696,7 +692,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (BINARY_TOGGLE_KEY.equals(preference.getKey())) {
assert !mCategory.isManaged();
@@ -638,6 +646,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -620,6 +628,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
} else if (mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE)) {
resource = R.string.website_settings_category_timezone_override_allowed;
}
@@ -705,7 +701,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
assert resource > 0;
return getString(resource);
}
@@ -750,6 +760,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -730,6 +740,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
allowSpecifyingExceptions = true;
} else if (mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE)) {
allowSpecifyingExceptions = true;
@@ -715,7 +711,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
if (allowSpecifyingExceptions) {
getPreferenceScreen().addPreference(new AddExceptionPreference(getStyledContext(),
@@ -921,6 +934,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -901,6 +914,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
TriStateSiteSettingsPreference triStateToggle =
(TriStateSiteSettingsPreference) getPreferenceScreen().findPreference(
TRI_STATE_TOGGLE_KEY);
@@ -726,7 +722,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (triStateToggle != null)
return (triStateToggle.getCheckedSetting() == ContentSettingValues.BLOCK);
@@ -999,6 +1016,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -977,6 +994,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
if (!(mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE))) {
screen.removePreference(screen.findPreference(TIMEOVERRIDE_INFO_TEXT));
}
@@ -734,7 +730,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (permissionBlockedByOs) {
maybeShowOsWarning(screen);
@@ -1125,7 +1143,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -1089,7 +1107,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
getSiteSettingsDelegate().getBrowserContextHandle(), contentType);
int[] descriptionIds =
ContentSettingsResources.getTriStateSettingDescriptionIDs(contentType);
@@ -743,7 +739,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
private void configureTimeOverrideStateToggle(
@@ -1236,6 +1254,14 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -1182,6 +1200,14 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@ContentSettingValues
Integer value = site.getContentSetting(browserContextHandle, contentSettingsType);
@@ -769,7 +765,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
/**
* Shows the permissions and other settings for a particular website.
@@ -168,7 +169,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -166,7 +167,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
case ContentSettingsType.CLIPBOARD_READ_WRITE:
return "clipboard_permission_list";
default:
@@ -778,7 +774,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
}
@@ -493,7 +494,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -491,7 +492,8 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private void setupContentSettingsPreferences() {
mMaxPermissionOrder = findPreference(PREF_PERMISSIONS_HEADER).getOrder();
@@ -788,7 +784,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
Preference preference = new ChromeSwitchPreference(getStyledContext());
preference.setKey(getPreferenceKey(type));
@@ -899,16 +901,22 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -901,16 +903,22 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private void setupContentSettingsPreference(Preference preference,
@ContentSettingValues @Nullable Integer value, boolean isEmbargoed) {
@@ -816,7 +812,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
switchPreference.setOnPreferenceChangeListener(this);
@ContentSettingsType
int contentType = getContentSettingsTypeFromPreferenceKey(preference.getKey());
@@ -1157,7 +1165,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -1159,7 +1167,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
}
mSite.setContentSetting(browserContextHandle, type, permission);
@@ -927,8 +923,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
@@ -265,6 +265,10 @@ public final class Website implements Serializable {
/*isEmbargoed=*/false);
@@ -259,6 +259,10 @@ public final class Website implements Serializable {
ContentSettingsType.TIMEZONE_OVERRIDE, getAddress().getHost(), value, "");
setContentSettingException(type, exception);
}
+ } else if (exception == null) {
@@ -953,7 +949,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
@@ -227,7 +227,7 @@ public class WebsitePreferenceBridge {
@@ -226,7 +226,7 @@ public class WebsitePreferenceBridge {
case ContentSettingsType.TIMEZONE_OVERRIDE:
return true;
default:
@@ -974,7 +970,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
#if BUILDFLAG(IS_ANDROID)
#include "media/base/android/media_drm_bridge.h"
@@ -690,7 +692,10 @@ void ContentSettingsRegistry::Register(
@@ -688,7 +690,10 @@ void ContentSettingsRegistry::Register(
Platforms platforms,
ContentSettingsInfo::IncognitoBehavior incognito_behavior,
ContentSettingsInfo::StorageBehavior storage_behavior,
@@ -986,7 +982,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
// Ensure that nothing has been registered yet for the given type.
DCHECK(!website_settings_registry_->Get(type));
@@ -699,7 +704,9 @@ void ContentSettingsRegistry::Register(
@@ -697,7 +702,9 @@ void ContentSettingsRegistry::Register(
website_settings_registry_->Register(
type, name, std::move(default_value), sync_status,
WebsiteSettingsInfo::NOT_LOSSY, scoping_type, platforms,
@@ -1137,9 +1133,9 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
#include "components/content_settings/core/common/content_settings.h"
#include "components/content_settings/core/common/content_settings_types.h"
#include "components/page_info/android/jni_headers/PageInfoController_jni.h"
@@ -160,6 +161,14 @@ void PageInfoControllerAndroid::SetPermissionInfo(
ContentSettingsType::FEDERATED_IDENTITY_API);
}
@@ -156,6 +157,14 @@ void PageInfoControllerAndroid::SetPermissionInfo(
permissions_to_display.push_back(ContentSettingsType::VR);
permissions_to_display.push_back(ContentSettingsType::AR);
+ content_settings::WebsiteSettingsRegistry* website_settings =
+ content_settings::WebsiteSettingsRegistry::GetInstance();
@@ -1152,7 +1148,7 @@ 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(
@@ -238,6 +247,15 @@ absl::optional<ContentSetting> PageInfoControllerAndroid::GetSettingToDisplay(
// The images content setting should show up if it is blocked globally
// to give users an easy way to create exceptions.
return permission.default_setting;
@@ -1171,7 +1167,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
@@ -23,6 +23,7 @@
@@ -24,6 +24,7 @@
#include "components/browser_ui/util/android/url_constants.h"
#include "components/browsing_data/content/local_storage_helper.h"
#include "components/content_settings/browser/page_specific_content_settings.h"
@@ -1179,7 +1175,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
#include "components/content_settings/core/browser/content_settings_registry.h"
#include "components/content_settings/core/browser/content_settings_utils.h"
#include "components/content_settings/core/browser/host_content_settings_map.h"
@@ -162,6 +163,15 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info,
@@ -164,6 +165,15 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info,
return true;
}
@@ -1195,7 +1191,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
const bool is_incognito = web_contents->GetBrowserContext()->IsOffTheRecord();
#if BUILDFLAG(IS_ANDROID)
// Special geolocation DSE settings apply only on Android, so make sure it
@@ -1037,7 +1047,18 @@ void PageInfo::PresentSitePermissions() {
@@ -964,7 +974,18 @@ void PageInfo::PresentSitePermissions() {
PermissionInfo permission_info;
HostContentSettingsMap* content_settings = GetContentSettings();
DCHECK(web_contents_);
@@ -1226,7 +1222,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
#include "components/omnibox/common/omnibox_features.h"
#include "components/page_info/core/features.h"
#include "components/page_info/page_info_ui_delegate.h"
@@ -563,6 +564,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
@@ -559,6 +560,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
if (info.type == type)
return l10n_util::GetStringUTF16(info.string_id);
}
@@ -1239,7 +1235,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
NOTREACHED();
return std::u16string();
}
@@ -574,6 +581,12 @@ std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence(
@@ -570,6 +577,12 @@ std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence(
if (info.type == type)
return l10n_util::GetStringUTF16(info.string_id_mid_sentence);
}
@@ -1252,7 +1248,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
NOTREACHED();
return std::u16string();
}
@@ -958,6 +971,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
@@ -970,6 +983,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
if (info.type == type)
return true;
}
@@ -5,9 +5,6 @@ Subject: Dictionary suggestions for the Omnibox
Revert "Disable Dictionary suggestions for the Omnibox"
This reverts commit d3ec2b2d25066ec089f8351a44b919ded4270e83.
Original License: BSD-3-Clause - https://spdx.org/licenses/BSD-3-Clause.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/java/res/layout/url_bar.xml | 1 +
.../chrome/browser/omnibox/UrlBar.java | 931 ++++++++++++++++++
@@ -964,7 +961,7 @@ new file mode 100644
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
@@ -214,8 +214,7 @@ public abstract class UrlBar extends AutocompleteEditText {
@@ -207,8 +207,7 @@ public abstract class UrlBar extends AutocompleteEditText {
// the first draw.
setFocusable(false);
setFocusableInTouchMode(false);
+12 -294
View File
@@ -2,268 +2,16 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 26 Sep 2021 11:17:53 +0200
Subject: Disable AGSA by default
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/BUILD.gn | 3 ---
.../org/chromium/chrome/browser/AppHooks.java | 1 -
.../chrome/browser/IntentHandler.java | 5 ----
.../chrome/browser/app/ChromeActivity.java | 27 -------------------
.../ChromeContextMenuPopulator.java | 7 -----
...stomTabActivityClientConnectionKeeper.java | 9 -------
.../init/ProcessInitializationHandler.java | 8 ------
.../browser/ntp/search/SearchBoxMediator.java | 1 -
.../chrome/browser/share/LensUtils.java | 12 +--------
.../flags/android/chrome_feature_list.cc | 2 +-
.../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(-)
chrome/browser/flags/android/chrome_feature_list.cc | 2 +-
.../org/chromium/chrome/browser/flags/CachedFeatureFlags.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -369,7 +369,6 @@ android_library("chrome_java") {
"//chrome/browser/first_run/android:java",
"//chrome/browser/flags:java",
"//chrome/browser/fullscreen/android:java",
- "//chrome/browser/gsa:java",
"//chrome/browser/history_clusters:java",
"//chrome/browser/history_clusters:java_resources",
"//chrome/browser/image_descriptions:java",
@@ -998,7 +997,6 @@ robolectric_binary("chrome_junit_tests") {
"//chrome/browser/flags:flags_junit_tests",
"//chrome/browser/flags:java",
"//chrome/browser/fullscreen/android:java",
- "//chrome/browser/gsa:java",
"//chrome/browser/history_clusters:java",
"//chrome/browser/image_descriptions:java",
"//chrome/browser/image_editor/public:java",
@@ -1516,7 +1514,6 @@ android_library("chrome_test_java") {
"//chrome/browser/first_run/android:java",
"//chrome/browser/flags:java",
"//chrome/browser/fullscreen/android:java",
- "//chrome/browser/gsa:java",
"//chrome/browser/history_clusters:java",
"//chrome/browser/image_descriptions:javatests",
"//chrome/browser/incognito:incognito_java_tests",
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java
@@ -17,7 +17,6 @@ import org.chromium.chrome.browser.directactions.DirectActionCoordinator;
import org.chromium.chrome.browser.feedback.FeedbackReporter;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncher;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
-import org.chromium.chrome.browser.gsa.GSAHelper;
import org.chromium.chrome.browser.historyreport.AppIndexingReporter;
import org.chromium.chrome.browser.init.ChromeStartupDelegate;
import org.chromium.chrome.browser.init.ProcessInitializationHandler;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
@@ -42,7 +42,6 @@ import org.chromium.chrome.browser.customtabs.CustomTabsConnection;
import org.chromium.chrome.browser.document.ChromeLauncherActivity;
import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler;
import org.chromium.chrome.browser.externalnav.IntentWithRequestMetadataHandler.RequestMetadata;
-import org.chromium.chrome.browser.gsa.GSAState;
import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator;
import org.chromium.chrome.browser.profiles.Profile;
@@ -246,8 +245,6 @@ public class IntentHandler {
private static int sReferrerId;
private static String sPendingIncognitoUrl;
- public static final String PACKAGE_GSA = GSAState.PACKAGE_NAME;
-
private static final String PACKAGE_GMAIL = "com.google.android.gm";
private static final String PACKAGE_PLUS = "com.google.android.apps.plus";
private static final String PACKAGE_HANGOUTS = "com.google.android.talk";
@@ -477,8 +474,6 @@ public class IntentHandler {
return ExternalAppId.LINE;
} else if (packageName.equals(PACKAGE_WHATSAPP)) {
return ExternalAppId.WHATSAPP;
- } else if (packageName.equals(PACKAGE_GSA)) {
- return ExternalAppId.GSA;
} else if (packageName.equals(ContextUtils.getApplicationContext().getPackageName())) {
return ExternalAppId.CHROME;
} else if (packageName.startsWith(WEBAPK_PACKAGE_PREFIX)) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -111,10 +111,6 @@ import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
import org.chromium.chrome.browser.fullscreen.BrowserControlsManagerSupplier;
import org.chromium.chrome.browser.fullscreen.FullscreenBackPressHandler;
import org.chromium.chrome.browser.fullscreen.FullscreenManager;
-import org.chromium.chrome.browser.gsa.ContextReporter;
-import org.chromium.chrome.browser.gsa.GSAAccountChangeListener;
-import org.chromium.chrome.browser.gsa.GSAContextDisplaySelection;
-import org.chromium.chrome.browser.gsa.GSAState;
import org.chromium.chrome.browser.history.HistoryManagerUtils;
import org.chromium.chrome.browser.init.AsyncInitializationActivity;
import org.chromium.chrome.browser.init.ProcessInitializationHandler;
@@ -370,8 +366,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
private LaunchCauseMetrics mLaunchCauseMetrics;
- private GSAAccountChangeListener mGSAAccountChangeListener;
-
// TODO(972867): Pull MenuOrKeyboardActionController out of ChromeActivity.
private List<MenuOrKeyboardActionController.MenuOrKeyboardActionHandler> mMenuActionHandlers =
new ArrayList<>();
@@ -1159,10 +1153,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@Override
public void onStopWithNative() {
- if (GSAState.getInstance(this).isGsaAvailable() && !SysUtils.isLowEndDevice()) {
- if (mGSAAccountChangeListener != null) mGSAAccountChangeListener.disconnect();
- }
-
super.onStopWithNative();
}
@@ -1251,23 +1241,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
FontSizePrefs.getInstance(Profile.getLastUsedRegularProfile())
.recordUserFontPrefOnStartup();
});
-
- // GSA connection is not needed on low-end devices because Icing is disabled.
- if (!SysUtils.isLowEndDevice()) {
- if (isActivityFinishingOrDestroyed()) return;
- DeferredStartupHandler.getInstance().addDeferredTask(() -> {
- if (!GSAState.getInstance(this).isGsaAvailable()) {
- ContextReporter.reportStatus(ContextReporter.STATUS_GSA_NOT_AVAILABLE);
- return;
- }
-
- if (mGSAAccountChangeListener == null) {
- mGSAAccountChangeListener =
- GSAAccountChangeListener.create(AppHooks.get().createGsaHelper());
- }
- mGSAAccountChangeListener.connect();
- });
- }
}
/**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
@@ -37,7 +37,6 @@ import org.chromium.chrome.browser.contextmenu.ContextMenuCoordinator.ListItemTy
import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
import org.chromium.chrome.browser.firstrun.FirstRunStatus;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
-import org.chromium.chrome.browser.gsa.GSAState;
import org.chromium.chrome.browser.lens.LensController;
import org.chromium.chrome.browser.lens.LensEntryPoint;
import org.chromium.chrome.browser.lens.LensIntentParams;
@@ -997,12 +996,6 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
LensMetrics.LensSupportStatus.ACTIVITY_NOT_ACCESSIBLE);
return false;
}
- if (GSAState.getInstance(mContext).isAgsaVersionBelowMinimum(
- versionName, LensUtils.getMinimumAgsaVersionForLensSupport())) {
- LensMetrics.recordLensSupportStatus(
- LENS_SUPPORT_STATUS_HISTOGRAM_NAME, LensMetrics.LensSupportStatus.OUT_OF_DATE);
- return false;
- }
if (LensUtils.isDeviceOsBelowMinimum()) {
LensMetrics.recordLensSupportStatus(
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityClientConnectionKeeper.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityClientConnectionKeeper.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityClientConnectionKeeper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityClientConnectionKeeper.java
@@ -11,7 +11,6 @@ import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.browser.browserservices.intents.BrowserServicesIntentDataProvider;
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityTabProvider;
import org.chromium.chrome.browser.dependency_injection.ActivityScope;
-import org.chromium.chrome.browser.gsa.GSAState;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.lifecycle.StartStopWithNativeObserver;
import org.chromium.chrome.browser.tab.Tab;
@@ -95,13 +94,5 @@ public class CustomTabActivityClientConnectionKeeper implements StartStopWithNat
}
}
assert status >= 0;
-
- if (GSAState.isGsaPackageName(packageName)) {
- RecordHistogram.recordEnumeratedHistogram("CustomTabs.ConnectionStatusOnReturn.GSA",
- status, ConnectionStatus.NUM_ENTRIES);
- } else {
- RecordHistogram.recordEnumeratedHistogram("CustomTabs.ConnectionStatusOnReturn.NonGSA",
- status, ConnectionStatus.NUM_ENTRIES);
- }
}
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
@@ -359,14 +359,6 @@ public class ProcessInitializationHandler {
}
});
- deferredStartupHandler.addDeferredTask(new Runnable() {
- @Override
- public void run() {
- // Starts syncing with GSA.
- AppHooks.get().createGsaHelper().startSync();
- }
- });
-
deferredStartupHandler.addDeferredTask(new Runnable() {
@Override
public void run() {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java
@@ -13,7 +13,6 @@ import android.view.ViewGroup;
import androidx.core.graphics.drawable.RoundedBitmapDrawable;
-import org.chromium.chrome.browser.gsa.GSAState;
import org.chromium.chrome.browser.lens.LensController;
import org.chromium.chrome.browser.lens.LensEntryPoint;
import org.chromium.chrome.browser.lens.LensIntentParams;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils.java
@@ -10,7 +10,6 @@ import android.text.TextUtils;
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
-import org.chromium.chrome.browser.gsa.GSAState;
import org.chromium.chrome.browser.lens.LensController;
import org.chromium.components.externalauth.ExternalAuthUtils;
@@ -57,12 +56,7 @@ public class LensUtils {
if (context == null) {
return "";
}
- String agsaVersion = GSAState.getInstance(context).getAgsaVersionName();
- if (agsaVersion == null) {
return "";
- } else {
- return agsaVersion;
- }
}
}
@@ -114,11 +108,7 @@ public class LensUtils {
* @return Whether the package is valid.
*/
public static boolean isValidAgsaPackage(final ExternalAuthUtils externalAuthUtils) {
- if (sFakePassableLensEnvironmentForTesting) {
- return true;
- }
-
- return externalAuthUtils.isGoogleSigned(IntentHandler.PACKAGE_GSA);
+ return false;
}
/**
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -688,7 +688,7 @@ const base::Feature kDynamicColorButtonsAndroid{
"DynamicColorButtonsAndroid", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -636,7 +636,7 @@ const base::Feature kDynamicColorButtonsAndroid{
"DynamicColorButtonsAndroid", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kExperimentsForAgsa{"ExperimentsForAgsa",
- base::FEATURE_ENABLED_BY_DEFAULT};
@@ -274,44 +22,14 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
@@ -72,7 +72,7 @@ public class CachedFeatureFlags {
.put(ChromeFeatureList.EARLY_LIBRARY_LOAD, true)
.put(ChromeFeatureList.ELASTIC_OVERSCROLL, true)
.put(ChromeFeatureList.ELIDE_PRIORITIZATION_OF_PRE_NATIVE_BOOTSTRAP_TASKS, true)
@@ -90,7 +90,7 @@ public class CachedFeatureFlags {
.put(ChromeFeatureList.READ_LATER, false)
.put(ChromeFeatureList.CCT_REMOVE_REMOTE_VIEW_IDS, true)
.put(ChromeFeatureList.CCT_INCOGNITO, true)
- .put(ChromeFeatureList.EXPERIMENTS_FOR_AGSA, true)
+ .put(ChromeFeatureList.EXPERIMENTS_FOR_AGSA, false)
.put(ChromeFeatureList.FEED_LOADING_PLACEHOLDER, false)
.put(ChromeFeatureList.GRID_TAB_SWITCHER_FOR_TABLETS, false)
.put(ChromeFeatureList.IMMERSIVE_UI_MODE, false)
diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn
--- a/chrome/browser/ui/android/omnibox/BUILD.gn
+++ b/chrome/browser/ui/android/omnibox/BUILD.gn
@@ -140,7 +140,6 @@ android_library("java") {
"//chrome/browser/device:java",
"//chrome/browser/feature_engagement:java",
"//chrome/browser/flags:java",
- "//chrome/browser/gsa:java",
"//chrome/browser/history_clusters:java",
"//chrome/browser/language/android:java",
"//chrome/browser/lens:java",
@@ -425,7 +424,6 @@ robolectric_library("junit") {
"//chrome/browser/commerce/merchant_viewer/android:java",
"//chrome/browser/device:java",
"//chrome/browser/flags:java",
- "//chrome/browser/gsa:java",
"//chrome/browser/lens:java",
"//chrome/browser/locale:java",
"//chrome/browser/preferences:java",
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
@@ -38,7 +38,6 @@ import org.chromium.chrome.browser.back_press.BackPressManager;
import org.chromium.chrome.browser.device.DeviceClassManager;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
-import org.chromium.chrome.browser.gsa.GSAState;
import org.chromium.chrome.browser.lens.LensController;
import org.chromium.chrome.browser.lens.LensEntryPoint;
import org.chromium.chrome.browser.lens.LensIntentParams;
.put(ChromeFeatureList.APP_MENU_MOBILE_SITE_OPTION, false)
.put(ChromeFeatureList.OPTIMIZATION_GUIDE_PUSH_NOTIFICATIONS, false)
.put(ChromeFeatureList.NEW_WINDOW_APP_MENU, true)
--
2.25.1
@@ -2,8 +2,6 @@ From: uazo <uazo@users.noreply.github.com>
Date: Mon, 8 Nov 2021 09:47:23 +0000
Subject: Disable Accessibility service by default
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../browser/ui/android/strings/android_chrome_strings.grd | 6 ++++++
.../android/java/res/xml/accessibility_preferences.xml | 5 +++++
@@ -14,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1494,6 +1494,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1420,6 +1420,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>
@@ -45,8 +43,8 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
@@ -18,6 +18,9 @@ import org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
@@ -17,6 +17,9 @@ import org.chromium.components.browser_ui.accessibility.FontSizePrefs.FontSizePr
import org.chromium.components.browser_ui.settings.ChromeBaseCheckBoxPreference;
import org.chromium.components.browser_ui.settings.SettingsUtils;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
@@ -58,7 +56,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
--- a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
@@ -947,6 +947,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
@@ -940,6 +940,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
structure.setChildCount(0);
return;
}
@@ -4,8 +4,6 @@ Subject: Disable AsyncDNS by default
This feature is detrimental to privacy, see also:
* https://bugs.chromium.org/p/chromium/issues/detail?id=805020
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/common/chrome_features.cc | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
@@ -13,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -81,12 +81,8 @@ const base::Feature kAppShimNewCloseBehavior{"AppShimNewCloseBehavior",
@@ -95,12 +95,8 @@ const base::Feature kArcPiGhostWindow{"ArcPiGhostWindow",
// Enables the built-in DNS resolver.
const base::Feature kAsyncDns {
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Fri, 24 Jan 2020 09:46:48 +0100
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(-)
@@ -10,7 +9,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -748,7 +748,7 @@ const base::Feature kMediaDrmPersistentLicense{
@@ -703,7 +703,7 @@ const base::Feature kMediaDrmPersistentLicense{
// MediaDrmBridge. If disabled, MediaDrmBridge will get unprovisioned origin IDs
// which will trigger provisioning process after MediaDrmBridge is created.
const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
@@ -6,19 +6,17 @@ Remove UI from the settings and set the flags to inactive
Permanently removes FLoC support, disabling the download of LSH clusters,
the marking the history navigation and the javascript API and permission policies.
Also added the disabling of blink features through the DisabledForBromite tag
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../java/res/xml/privacy_preferences.xml | 4 ---
.../privacy/settings/PrivacySettings.java | 22 ------------
.../browser/chrome_content_browser_client.cc | 3 ++
.../privacy_sandbox/generated_floc_pref.cc | 2 +-
.../history/core/browser/history_backend.cc | 13 +------
.../history/core/browser/history_service.cc | 2 +-
.../privacy_sandbox/privacy_sandbox_prefs.cc | 2 +-
.../privacy_sandbox_settings.cc | 35 +++++++++++--------
.../privacy_sandbox/privacy_sandbox_prefs.cc | 4 +--
.../privacy_sandbox_settings.cc | 36 +++++++++++--------
.../privacy_sandbox_settings.h | 1 -
8 files changed, 26 insertions(+), 56 deletions(-)
9 files changed, 29 insertions(+), 58 deletions(-)
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
@@ -37,7 +35,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
@@ -61,7 +61,6 @@ public class PrivacySettings
@@ -62,7 +62,6 @@ public class PrivacySettings
private static final String PREF_SECURE_DNS = "secure_dns";
private static final String PREF_DO_NOT_TRACK = "do_not_track";
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
@@ -45,7 +43,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
@@ -91,21 +90,6 @@ public class PrivacySettings
@@ -93,21 +92,6 @@ public class PrivacySettings
SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences);
getActivity().setTitle(R.string.prefs_privacy_security);
@@ -67,7 +65,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference privacyReviewPreference = findPreference(PREF_PRIVACY_REVIEW);
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_REVIEW)) {
getPreferenceScreen().removePreference(privacyReviewPreference);
@@ -233,12 +217,6 @@ public class PrivacySettings
@@ -239,12 +223,6 @@ public class PrivacySettings
secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
}
@@ -83,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -2976,6 +2976,9 @@ bool ChromeContentBrowserClient::IsConversionMeasurementOperationAllowed(
@@ -2824,6 +2824,9 @@ bool ChromeContentBrowserClient::IsConversionMeasurementOperationAllowed(
const url::Origin* impression_origin,
const url::Origin* conversion_origin,
const url::Origin* reporting_origin) {
@@ -93,10 +91,22 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
Profile* profile = Profile::FromBrowserContext(browser_context);
auto* privacy_sandbox_settings =
diff --git a/chrome/browser/privacy_sandbox/generated_floc_pref.cc b/chrome/browser/privacy_sandbox/generated_floc_pref.cc
--- a/chrome/browser/privacy_sandbox/generated_floc_pref.cc
+++ b/chrome/browser/privacy_sandbox/generated_floc_pref.cc
@@ -35,7 +35,7 @@ extensions::settings_private::SetPrefResult GeneratedFlocPref::SetPref(
return extensions::settings_private::SetPrefResult::PREF_NOT_MODIFIABLE;
profile_->GetPrefs()->SetBoolean(prefs::kPrivacySandboxFlocEnabled,
- value->GetBool());
+ false);
return extensions::settings_private::SetPrefResult::SUCCESS;
}
diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc
--- a/components/history/core/browser/history_backend.cc
+++ b/components/history/core/browser/history_backend.cc
@@ -490,18 +490,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
@@ -497,18 +497,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
if (!visit_id)
return;
@@ -119,7 +129,7 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his
diff --git a/components/history/core/browser/history_service.cc b/components/history/core/browser/history_service.cc
--- a/components/history/core/browser/history_service.cc
+++ b/components/history/core/browser/history_service.cc
@@ -393,7 +393,7 @@ void HistoryService::AddPage(const GURL& url,
@@ -394,7 +394,7 @@ void HistoryService::AddPage(const GURL& url,
AddPage(HistoryAddPageArgs(
url, time, context_id, nav_entry_id, referrer, redirects, transition,
!ui::PageTransitionIsMainFrame(transition), visit_source,
@@ -131,7 +141,7 @@ diff --git a/components/history/core/browser/history_service.cc b/components/his
diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/privacy_sandbox/privacy_sandbox_prefs.cc
--- a/components/privacy_sandbox/privacy_sandbox_prefs.cc
+++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc
@@ -60,7 +60,7 @@ namespace privacy_sandbox {
@@ -71,7 +71,7 @@ namespace privacy_sandbox {
void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
@@ -139,7 +149,16 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/pr
+ prefs::kPrivacySandboxApisEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(prefs::kPrivacySandboxApisEnabledV2, false);
registry->RegisterBooleanPref(prefs::kPrivacySandboxApisEnabledV2Init, false);
@@ -88,7 +88,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterTimePref(prefs::kPrivacySandboxTopicsDataAccessibleSince,
base::Time());
registry->RegisterBooleanPref(
- prefs::kPrivacySandboxFlocEnabled, true,
+ prefs::kPrivacySandboxFlocEnabled, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterListPref(prefs::kPrivacySandboxBlockedTopics);
registry->RegisterDictionaryPref(prefs::kPrivacySandboxFledgeJoinBlocked);
diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components/privacy_sandbox/privacy_sandbox_settings.cc
--- a/components/privacy_sandbox/privacy_sandbox_settings.cc
+++ b/components/privacy_sandbox/privacy_sandbox_settings.cc
@@ -163,8 +182,8 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
// Topics API calculation should be prevented if the user has blocked 3PC
// cookies, as there will be no context specific check.
const auto cookie_controls_mode =
@@ -113,7 +113,8 @@ bool PrivacySandboxSettings::IsTopicsAllowedForContext(
IsPrivacySandboxEnabledForContext(url, top_frame_origin);
@@ -119,7 +119,8 @@ bool PrivacySandboxSettings::IsTopicsAllowedForContext(
cookie_settings);
}
-bool PrivacySandboxSettings::IsTopicAllowed(const CanonicalTopic& topic) {
@@ -173,19 +192,17 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
auto* blocked_topics =
pref_service_->GetList(prefs::kPrivacySandboxBlockedTopics);
@@ -181,9 +182,8 @@ base::Time PrivacySandboxSettings::TopicsDataAccessibleSince() const {
@@ -187,7 +188,8 @@ base::Time PrivacySandboxSettings::TopicsDataAccessibleSince() const {
bool PrivacySandboxSettings::IsConversionMeasurementAllowed(
const url::Origin& top_frame_origin,
- const url::Origin& reporting_origin) const {
- return IsPrivacySandboxEnabledForContext(reporting_origin.GetURL(),
- top_frame_origin);
+ const url::Origin& reporting_origin) const { // disabled in Bromite
+ return false;
}
+ if ((true)) return false;
ContentSettingsForOneType cookie_settings;
cookie_settings_->GetCookieSettings(&cookie_settings);
bool PrivacySandboxSettings::ShouldSendConversionReport(
@@ -277,7 +277,8 @@ void PrivacySandboxSettings::ClearFledgeJoiningAllowedSettings(
@@ -291,7 +293,8 @@ void PrivacySandboxSettings::ClearFledgeJoiningAllowedSettings(
}
bool PrivacySandboxSettings::IsFledgeJoiningAllowed(
@@ -195,18 +212,17 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
DictionaryPrefUpdate scoped_pref_update(
pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked);
auto* pref_data = scoped_pref_update.Get();
@@ -328,7 +329,9 @@ bool PrivacySandboxSettings::IsSharedStorageAllowed(
top_frame_origin);
@@ -338,7 +341,8 @@ std::vector<GURL> PrivacySandboxSettings::FilterFledgeAllowedParties(
return allowed_parties;
}
-bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
+bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const { // disabled in Bromite
+ if ((true))
+ return false;
// If the delegate is restricting access the Privacy Sandbox is disabled.
if (delegate_->IsPrivacySandboxRestricted())
return false;
@@ -343,7 +346,7 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
+ if ((true)) return false;
// If the delegate is restricting access, or indicates confirmation has not
// occurred, the Privacy Sandbox is disabled.
if (delegate_->IsPrivacySandboxRestricted() ||
@@ -356,7 +360,7 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
// settings is available.
if (base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3)) {
// For Privacy Sandbox Settings 3, APIs are disabled in incognito.
@@ -215,7 +231,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
return false;
if (should_override_setting_for_local_testing) {
@@ -361,7 +364,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
@@ -374,7 +378,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
return pref_service_->GetBoolean(prefs::kPrivacySandboxApisEnabled);
}
@@ -225,7 +241,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
// Only apply the decision to the appropriate preference.
if (base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3)) {
pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabledV2, enabled);
@@ -370,7 +374,8 @@ void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) {
@@ -383,7 +388,8 @@ void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) {
}
}
@@ -235,7 +251,18 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
// The PrivacySandboxSettings is only involved in Trust Token access
// decisions when the Release 3 flag is enabled.
if (!base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3))
@@ -424,9 +429,9 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabledForContext(
@@ -428,8 +434,8 @@ PrivacySandboxSettings::PrivacySandboxSettings() = default;
bool PrivacySandboxSettings::IsPrivacySandboxEnabledForContext(
const GURL& url,
const absl::optional<url::Origin>& top_frame_origin,
- const ContentSettingsForOneType& cookie_settings) const {
- if (!IsPrivacySandboxEnabled())
+ const ContentSettingsForOneType& cookie_settings) const { // always disable this in Bromite
+ if ((true))
return false;
// Third party cookies must also be available for this context. An empty site
@@ -438,9 +444,9 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabledForContext(
top_frame_origin);
}
@@ -251,7 +278,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
diff --git a/components/privacy_sandbox/privacy_sandbox_settings.h b/components/privacy_sandbox/privacy_sandbox_settings.h
--- a/components/privacy_sandbox/privacy_sandbox_settings.h
+++ b/components/privacy_sandbox/privacy_sandbox_settings.h
@@ -215,7 +215,6 @@ class PrivacySandboxSettings : public KeyedService {
@@ -217,7 +217,6 @@ class PrivacySandboxSettings : public KeyedService {
scoped_refptr<content_settings::CookieSettings> cookie_settings_;
raw_ptr<PrefService> pref_service_;
PrefChangeRegistrar pref_change_registrar_;
@@ -2,12 +2,42 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 12 Oct 2017 08:15:17 +0200
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(-)
.../chrome/browser/feed/FeedSurfaceMediator.java | 13 ++++++++++---
components/feed/core/shared_prefs/pref_names.cc | 4 ++--
components/ntp_snippets/features.cc | 4 ++--
3 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java
@@ -294,9 +294,13 @@ public class FeedSurfaceMediator
/** Update the content based on supervised user or enterprise policy. */
void updateContent() {
mFeedEnabled = FeedFeatures.isFeedEnabled();
- if (mFeedEnabled == !mTabToStreamMap.isEmpty()) {
- return;
- }
+ // Bromite needs the next lines removed because mFeedEnabled
+ // is always false and mTabToStreamMap never empty
+ //
+ // addHeaderAndStream is called at least once
+ // if (mFeedEnabled == !mTabToStreamMap.isEmpty()) {
+ // return;
+ // }
RecyclerView recyclerView = mCoordinator.getRecyclerView();
if (mSnapScrollHelper != null && recyclerView != null) {
@@ -450,6 +454,9 @@ public class FeedSurfaceMediator
}
private void addHeaderAndStream(String headerText, Stream stream) {
+ // Bromite also needs this early return because
+ // the first item inserted is the feed setting
+ if (FeedFeatures.isFeedEnabled() == false) return;
int tabId = mSectionHeaderModel.get(SectionHeaderListProperties.SECTION_HEADERS_KEY).size();
mTabToStreamMap.put(tabId, stream);
diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/core/shared_prefs/pref_names.cc
--- a/components/feed/core/shared_prefs/pref_names.cc
+++ b/components/feed/core/shared_prefs/pref_names.cc
-41
View File
@@ -1,41 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 31 Jul 2022 22:13:11 +0200
Subject: Disable PrivacyGuide
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/common/chrome_features.cc | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -445,8 +445,8 @@ const base::Feature kHaTSDesktopDevToolsIssuesCSP{
// Enables or disables the Happiness Tracking System for Desktop Privacy Guide.
const base::Feature kHappinessTrackingSurveysForDesktopPrivacyGuide{
- "HappinessTrackingSurveysForDesktopPrivacyGuide",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ "HappinessTrackingSurveysForDesktopPrivacyGuide", // must be disabled
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
const base::FeatureParam<base::TimeDelta>
kHappinessTrackingSurveysForDesktopPrivacyGuideTime{
&kHappinessTrackingSurveysForDesktopPrivacyGuide, "settings-time",
@@ -759,11 +759,11 @@ const base::Feature kPrefixWebAppWindowsWithAppName{
const base::Feature kPrerenderFallbackToPreconnect{
"PrerenderFallbackToPreconnect", base::FEATURE_ENABLED_BY_DEFAULT};
-const base::Feature kPrivacyGuide2{"PrivacyGuide2",
- base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kPrivacyGuide2{"PrivacyGuide2", // always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
-const base::Feature kPrivacyGuideAndroid{"PrivacyGuideAndroid",
- base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kPrivacyGuideAndroid{"PrivacyGuideAndroid", // always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
// Enables or disables push subscriptions keeping Chrome running in the
// background when closed.
--
2.25.1
+13 -16
View File
@@ -21,9 +21,6 @@ Two new user configurable flags are introduced:
See also:
* https://arxiv.org/abs/1810.07304
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/about_flags.cc | 6 +++
chrome/browser/flag_descriptions.cc | 8 ++++
@@ -39,7 +36,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
@@ -4747,6 +4747,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4472,6 +4472,12 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-tls13-early-data", flag_descriptions::kEnableTLS13EarlyDataName,
flag_descriptions::kEnableTLS13EarlyDataDescription, kOsAll,
FEATURE_VALUE_TYPE(net::features::kEnableTLS13EarlyData)},
@@ -55,7 +52,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1023,6 +1023,14 @@ const char kEnableTLS13EarlyDataDescription[] =
@@ -922,6 +922,14 @@ const char kEnableTLS13EarlyDataDescription[] =
"during the handshake when resuming a connection to a compatible TLS 1.3 "
"server.";
@@ -73,7 +70,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -586,6 +586,12 @@ extern const char kEnablePreinstalledWebAppDuplicationFixerDescription[];
@@ -532,6 +532,12 @@ extern const char kEnablePreinstalledWebAppDuplicationFixerDescription[];
extern const char kEnableTLS13EarlyDataName[];
extern const char kEnableTLS13EarlyDataDescription[];
@@ -89,7 +86,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -111,6 +111,12 @@ const base::Feature kUseDnsHttpsSvcbAlpn{"UseDnsHttpsSvcbAlpn",
@@ -112,6 +112,12 @@ const base::FeatureParam<int> kUseDnsHttpsSvcbExtraTimePercent{
const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -105,7 +102,7 @@ diff --git a/net/base/features.cc b/net/base/features.cc
diff --git a/net/base/features.h b/net/base/features.h
--- a/net/base/features.h
+++ b/net/base/features.h
@@ -174,6 +174,12 @@ NET_EXPORT extern const base::Feature kUseDnsHttpsSvcbAlpn;
@@ -175,6 +175,12 @@ NET_EXPORT extern const base::FeatureParam<int>
// Enables TLS 1.3 early data.
NET_EXPORT extern const base::Feature kEnableTLS13EarlyData;
@@ -121,7 +118,7 @@ diff --git a/net/base/features.h b/net/base/features.h
diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
--- a/net/http/http_network_session.cc
+++ b/net/http/http_network_session.cc
@@ -206,6 +206,7 @@ HttpNetworkSession::HttpNetworkSession(const HttpNetworkSessionParams& params,
@@ -232,6 +232,7 @@ HttpNetworkSession::HttpNetworkSession(const HttpNetworkSessionParams& params,
next_protos_.push_back(kProtoHTTP11);
@@ -140,7 +137,7 @@ diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
#include "url/gurl.h"
#include "url/scheme_host_port.h"
#include "url/url_constants.h"
@@ -248,6 +249,38 @@ quic::ParsedQuicVersion SelectQuicVersion(
@@ -229,6 +230,38 @@ std::set<std::string> HostsFromOrigins(std::set<HostPortPair> origins) {
} // namespace
@@ -179,7 +176,7 @@ diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
// Refcounted class that owns quic::QuicCryptoClientConfig and tracks how many
// consumers are using it currently. When the last reference is freed, the
// QuicCryptoClientConfigHandle informs the owning QuicStreamFactory, moves it
@@ -2244,7 +2277,7 @@ QuicStreamFactory::CreateCryptoConfigHandle(
@@ -2209,7 +2242,7 @@ QuicStreamFactory::CreateCryptoConfigHandle(
sct_auditing_delegate_,
HostsFromOrigins(params_.origins_to_force_quic_on),
actual_network_isolation_key),
@@ -191,7 +188,7 @@ diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc
--- a/net/socket/ssl_client_socket_impl.cc
+++ b/net/socket/ssl_client_socket_impl.cc
@@ -392,7 +392,33 @@ SSLClientSocketImpl::SSLClientSocketImpl(
@@ -404,7 +404,33 @@ SSLClientSocketImpl::SSLClientSocketImpl(
CHECK(context_);
}
@@ -225,7 +222,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
Disconnect();
}
@@ -787,6 +813,8 @@ int SSLClientSocketImpl::Init() {
@@ -803,6 +829,8 @@ int SSLClientSocketImpl::Init() {
}
if (session)
SSL_set_session(ssl_.get(), session.get());
@@ -234,7 +231,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
}
transport_adapter_ = std::make_unique<SocketBIOAdapter>(
@@ -1075,6 +1103,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) {
@@ -1091,6 +1119,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) {
: SSLHandshakeDetails::kTLS13Full;
}
}
@@ -270,7 +267,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
UMA_HISTOGRAM_ENUMERATION("Net.SSLHandshakeDetails", details);
// Measure TLS connections that implement the renegotiation_info extension.
@@ -1748,6 +1805,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const {
@@ -1764,6 +1821,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const {
}
bool SSLClientSocketImpl::IsCachingEnabled() const {
@@ -282,7 +279,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
diff --git a/net/socket/ssl_client_socket_impl.h b/net/socket/ssl_client_socket_impl.h
--- a/net/socket/ssl_client_socket_impl.h
+++ b/net/socket/ssl_client_socket_impl.h
@@ -127,6 +127,8 @@ class SSLClientSocketImpl : public SSLClientSocket,
@@ -130,6 +130,8 @@ class SSLClientSocketImpl : public SSLClientSocket,
friend class SSLClientSocket;
friend class SSLContext;
@@ -3,9 +3,6 @@ Date: Wed, 16 Feb 2022 14:28:58 +0000
Subject: Disable UA full version
getHighEntropyValues will return only the major version
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../renderer/core/frame/navigator_ua_data.cc | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
@@ -1,26 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 28 Sep 2022 00:54:10 +0200
Subject: Disable add to home screen prompt
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../webapps/AddToHomescreenMostVisitedTileClickObserver.java | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/AddToHomescreenMostVisitedTileClickObserver.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/AddToHomescreenMostVisitedTileClickObserver.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/AddToHomescreenMostVisitedTileClickObserver.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/AddToHomescreenMostVisitedTileClickObserver.java
@@ -43,10 +43,7 @@ public class AddToHomescreenMostVisitedTileClickObserver implements MostVisitedT
ntp.addMostVisitedTileClickObserver(
AddToHomescreenMostVisitedTileClickObserver.this);
} else {
- // If it is a regular web page, and started from a most visited tile, show IPH.
- if (url.getOrigin().equals(mLastClickedMostVisitedTileUrl)) {
- addToHomescreenIPHController.showAddToHomescreenIPH(tab);
- }
+ // do not show any add to home screen IPH in Bromite
removeObserver(tab);
}
mLastClickedMostVisitedTileUrl = null;
--
2.25.1
+50 -69
View File
@@ -2,22 +2,20 @@ From: uazo <uazo@users.noreply.github.com>
Date: Tue, 25 Jan 2022 12:22:52 +0000
Subject: Disable all predictors code
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../chrome_hints_manager.cc | 1 +
.../optimization_guide_keyed_service.cc | 1 -
chrome/common/chrome_features.cc | 6 ++---
chrome/common/chrome_features.cc | 4 ++--
.../optimization_guide/core/hints_fetcher.cc | 1 +
.../optimization_guide/core/hints_manager.cc | 4 ++++
.../core/optimization_guide_features.cc | 24 +++++++++----------
.../core/prediction_model_download_manager.cc | 6 +++--
.../optimization_guide/core/hints_manager.cc | 3 +++
.../core/optimization_guide_features.cc | 20 +++++++++----------
.../core/prediction_model_download_manager.cc | 4 +++-
.../core/prediction_model_fetcher_impl.cc | 1 +
components/optimization_guide/features.gni | 4 +---
components/permissions/features.cc | 2 +-
.../segmentation_platform/public/features.cc | 2 +-
third_party/blink/common/features.cc | 2 +-
12 files changed, 30 insertions(+), 24 deletions(-)
12 files changed, 25 insertions(+), 20 deletions(-)
diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/browser/optimization_guide/chrome_hints_manager.cc
--- a/chrome/browser/optimization_guide/chrome_hints_manager.cc
@@ -33,7 +31,7 @@ diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/
diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
--- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
+++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
@@ -354,7 +354,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
@@ -362,7 +362,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
void OptimizationGuideKeyedService::RegisterOptimizationTypes(
const std::vector<optimization_guide::proto::OptimizationType>&
optimization_types) {
@@ -44,23 +42,21 @@ diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -726,8 +726,8 @@ const base::Feature kPermissionAuditing{"PermissionAuditing",
@@ -788,7 +788,7 @@ const base::Feature kPermissionAuditing{"PermissionAuditing",
// Enables using the prediction service for permission prompts. We will keep
// this feature in order to allow us to update the holdback chance via finch.
-const base::Feature kPermissionPredictions{"PermissionPredictions",
const base::Feature kPermissionPredictions{"PermissionPredictions",
- base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kPermissionPredictions{"PermissionPredictions", // always disabled
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
+ base::FEATURE_DISABLED_BY_DEFAULT};
// The holdback chance is 30% but it can also be configured/updated
// through finch if needed.
@@ -738,7 +738,7 @@ const base::FeatureParam<double> kPermissionPredictionsHoldbackChance(
@@ -799,7 +799,7 @@ const base::FeatureParam<double> kPermissionPredictionsHoldbackChance(
// Enables using the prediction service for geolocation permission prompts.
const base::Feature kPermissionGeolocationPredictions{
- "PermissionGeolocationPredictions", base::FEATURE_ENABLED_BY_DEFAULT};
+ "PermissionGeolocationPredictions", base::FEATURE_DISABLED_BY_DEFAULT}; // always disabled in Bromite
- "PermissionGeolocationPredictions", base::FEATURE_DISABLED_BY_DEFAULT};
+ "PermissionGeolocationPredictions", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
const base::FeatureParam<double>
kPermissionGeolocationPredictionsHoldbackChance(
@@ -78,15 +74,7 @@ diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/op
diff --git a/components/optimization_guide/core/hints_manager.cc b/components/optimization_guide/core/hints_manager.cc
--- a/components/optimization_guide/core/hints_manager.cc
+++ b/components/optimization_guide/core/hints_manager.cc
@@ -348,6 +348,7 @@ void HintsManager::Shutdown() {
OptimizationGuideDecision
HintsManager::GetOptimizationGuideDecisionFromOptimizationTypeDecision(
OptimizationTypeDecision optimization_type_decision) {
+ if ((true)) return OptimizationGuideDecision::kFalse;
switch (optimization_type_decision) {
case OptimizationTypeDecision::kAllowedByOptimizationFilter:
case OptimizationTypeDecision::kAllowedByHint:
@@ -1239,6 +1240,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
@@ -1211,6 +1211,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
proto::OptimizationType optimization_type,
OptimizationMetadata* optimization_metadata) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -99,34 +87,36 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op
diff --git a/components/optimization_guide/core/optimization_guide_features.cc b/components/optimization_guide/core/optimization_guide_features.cc
--- a/components/optimization_guide/core/optimization_guide_features.cc
+++ b/components/optimization_guide/core/optimization_guide_features.cc
@@ -77,16 +77,16 @@ bool IsSupportedLocaleForFeature(const std::string locale,
@@ -79,7 +79,7 @@ bool IsSupportedLocaleForFeature(const std::string locale,
// Enables the syncing of the Optimization Hints component, which provides
// hints for what optimizations can be applied on a page load.
-const base::Feature kOptimizationHints{"OptimizationHints",
const base::Feature kOptimizationHints{"OptimizationHints",
- base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kOptimizationHints{"OptimizationHints", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Feature flag that contains a feature param that specifies the field trials
// that are allowed to be sent up to the Optimization Guide Server.
@@ -88,12 +88,12 @@ const base::Feature kOptimizationHintsFieldTrials{
// Enables fetching from a remote Optimization Guide Service.
const base::Feature kRemoteOptimizationGuideFetching{
- "OptimizationHintsFetching", base::FEATURE_ENABLED_BY_DEFAULT};
+ "OptimizationHintsFetching", base::FEATURE_DISABLED_BY_DEFAULT}; // disabled by default in Bromite
+ "OptimizationHintsFetching", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
const base::Feature kRemoteOptimizationGuideFetchingAnonymousDataConsent{
- "OptimizationHintsFetchingAnonymousDataConsent",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ "OptimizationHintsFetchingAnonymousDataConsent", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
// Enables performance info in the context menu and fetching from a remote
// Optimization Guide Service.
@@ -96,15 +96,15 @@ const base::Feature kContextMenuPerformanceInfoAndRemoteHintFetching{
const base::Feature kRemoteOptimizationGuideFetchingAnonymousDataConsent {
"OptimizationHintsFetchingAnonymousDataConsent",
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
- base::FEATURE_ENABLED_BY_DEFAULT
+ base::FEATURE_DISABLED_BY_DEFAULT
#else // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
base::FEATURE_DISABLED_BY_DEFAULT
#endif // BUILDFLAG(IS_ANDROID)
@@ -107,15 +107,15 @@ const base::Feature kContextMenuPerformanceInfoAndRemoteHintFetching{
// Enables the prediction of optimization targets.
const base::Feature kOptimizationTargetPrediction{
- "OptimizationTargetPrediction", base::FEATURE_ENABLED_BY_DEFAULT};
+ "OptimizationTargetPrediction", base::FEATURE_DISABLED_BY_DEFAULT}; // disabled by default in Bromite
+ "OptimizationTargetPrediction", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
// Enables the downloading of models.
const base::Feature kOptimizationGuideModelDownloading {
@@ -140,7 +130,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
#endif // !BUILD_WITH_TFLITE_LIB
};
@@ -134,7 +134,7 @@ const base::Feature kPageEntitiesModelResetOnShutdown{
@@ -141,7 +141,7 @@ const base::Feature kPageEntitiesModelResetOnShutdown{
// Enables push notification of hints.
const base::Feature kPushNotifications{"OptimizationGuidePushNotifications",
@@ -149,7 +139,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
// This feature flag does not turn off any behavior, it is only used for
// experiment parameters.
@@ -146,12 +146,12 @@ const base::Feature kOptimizationGuideMetadataValidation{
@@ -153,12 +153,12 @@ const base::Feature kOptimizationGuideMetadataValidation{
"OptimizationGuideMetadataValidation", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kPageTopicsBatchAnnotations{
@@ -162,9 +152,9 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
- "UseLocalPageEntitiesMetadataProvider", base::FEATURE_DISABLED_BY_DEFAULT};
+ "UseLocalPageEntitiesMetadataProvider", base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
const base::Feature kPageContentAnnotationsValidation{
"PageContentAnnotationsValidation", base::FEATURE_DISABLED_BY_DEFAULT};
@@ -390,7 +390,7 @@ size_t MaxURLKeyedHintCacheSize() {
const base::Feature kBatchAnnotationsValidation{
"BatchAnnotationsValidation", base::FEATURE_DISABLED_BY_DEFAULT};
@@ -389,7 +389,7 @@ size_t MaxURLKeyedHintCacheSize() {
bool ShouldPersistHintsToDisk() {
return GetFieldTrialParamByFeatureAsBool(kOptimizationHints,
@@ -185,16 +175,7 @@ diff --git a/components/optimization_guide/core/prediction_model_download_manage
0x5c, 0x7f, 0xd0, 0x0c, 0xa1, 0x6e, 0xef, 0xdd, 0x63, 0x7a};
const net::NetworkTrafficAnnotationTag
kOptimizationGuidePredictionModelsTrafficAnnotation =
@@ -99,7 +99,7 @@ PredictionModelDownloadManager::PredictionModelDownloadManager(
const base::FilePath& models_dir_path,
scoped_refptr<base::SequencedTaskRunner> background_task_runner)
: download_service_(download_service),
- is_available_for_downloads_(true),
+ is_available_for_downloads_(false),
api_key_(features::GetOptimizationGuideServiceAPIKey()),
models_dir_path_(models_dir_path),
background_task_runner_(background_task_runner) {}
@@ -114,6 +114,7 @@ base::FilePath::StringType PredictionModelDownloadManager::ModelInfoFileName() {
@@ -106,6 +106,7 @@ PredictionModelDownloadManager::~PredictionModelDownloadManager() = default;
void PredictionModelDownloadManager::StartDownload(
const GURL& download_url,
proto::OptimizationTarget optimization_target) {
@@ -202,18 +183,18 @@ diff --git a/components/optimization_guide/core/prediction_model_download_manage
download::DownloadParams download_params;
download_params.client =
download::DownloadClient::OPTIMIZATION_GUIDE_PREDICTION_MODELS;
@@ -250,6 +251,7 @@ void PredictionModelDownloadManager::OnDownloadFailed(
@@ -240,6 +241,7 @@ void PredictionModelDownloadManager::OnDownloadFailed(
absl::optional<std::pair<base::FilePath, base::FilePath>>
PredictionModelDownloadManager::VerifyDownload(const base::FilePath& file_path,
bool delete_file_on_error) {
PredictionModelDownloadManager::ProcessDownload(
const base::FilePath& file_path) {
+ if ((true)) return absl::nullopt;
DCHECK(background_task_runner_->RunsTasksInCurrentSequence());
if (!switches::ShouldSkipModelDownloadVerificationForTesting()) {
// Verify that the |file_path| contains a valid CRX file.
std::string public_key;
diff --git a/components/optimization_guide/core/prediction_model_fetcher_impl.cc b/components/optimization_guide/core/prediction_model_fetcher_impl.cc
--- a/components/optimization_guide/core/prediction_model_fetcher_impl.cc
+++ b/components/optimization_guide/core/prediction_model_fetcher_impl.cc
@@ -50,6 +50,7 @@ bool PredictionModelFetcherImpl::FetchOptimizationGuideServiceModels(
@@ -51,6 +51,7 @@ bool PredictionModelFetcherImpl::FetchOptimizationGuideServiceModels(
proto::RequestContext request_context,
const std::string& locale,
ModelsFetchedCallback models_fetched_callback) {
@@ -238,7 +219,7 @@ diff --git a/components/optimization_guide/features.gni b/components/optimizatio
diff --git a/components/permissions/features.cc b/components/permissions/features.cc
--- a/components/permissions/features.cc
+++ b/components/permissions/features.cc
@@ -65,7 +65,7 @@ const base::Feature kPermissionPredictionServiceUseUrlOverride{
@@ -69,7 +69,7 @@ const base::Feature kPermissionPredictionServiceUseUrlOverride{
const base::Feature kPermissionOnDeviceNotificationPredictions{
"PermissionOnDeviceNotificationPredictions",
@@ -250,19 +231,19 @@ diff --git a/components/permissions/features.cc b/components/permissions/feature
diff --git a/components/segmentation_platform/public/features.cc b/components/segmentation_platform/public/features.cc
--- a/components/segmentation_platform/public/features.cc
+++ b/components/segmentation_platform/public/features.cc
@@ -27,7 +27,7 @@ const base::Feature kSegmentationPlatformLowEngagementFeature{
const base::Feature kSegmentationPlatformFeedSegmentFeature{
"SegmentationPlatformFeedSegmentFeature",
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
@@ -12,7 +12,7 @@ namespace features {
const base::Feature kSegmentationPlatformFeature {
"SegmentationPlatform",
#if BUILDFLAG(IS_ANDROID)
- base::FEATURE_ENABLED_BY_DEFAULT
+ base::FEATURE_DISABLED_BY_DEFAULT
};
#else
base::FEATURE_DISABLED_BY_DEFAULT
#endif
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -185,7 +185,7 @@ const base::Feature kViewportHeightClientHintHeader{
@@ -180,7 +180,7 @@ const base::Feature kViewportHeightClientHintHeader{
const base::Feature kNavigationPredictor {
"NavigationPredictor",
#if BUILDFLAG(IS_ANDROID)
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Tue, 12 Jun 2018 15:09:26 +0200
Subject: Disable all promo dialogs
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
@@ -10,7 +9,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -848,7 +848,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -863,7 +863,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
* displayed.
*/
private boolean triggerPromo(boolean intentWithEffect) {
@@ -19,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
if (CommandLine.getInstance().hasSwitch(ChromeSwitches.DISABLE_STARTUP_PROMOS)) {
return false;
}
@@ -883,8 +883,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -898,8 +898,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
preferenceManager.writeBoolean(
ChromePreferenceKeys.PROMOS_SKIPPED_ON_FIRST_START, true);
}
@@ -7,27 +7,24 @@ support for the AttributionReporting provider. it also removes
the handling of attributions via intents between apps.
This patch enforces the deactivation by preventing the report from
being sent and being saved to disk, although it is currently in uncalled code.
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../browser/flags/android/chrome_feature_list.cc | 2 +-
.../embedder_support/origin_trials/features.cc | 3 ++-
.../render_view_context_menu_base.cc | 3 ---
.../aggregatable_report_sender.cc | 15 +++++++--------
.../attribution_reporting/attribution_host.cc | 1 +
.../attribution_report_network_sender.cc | 15 ++++++++-------
.../attribution_storage_sql.cc | 2 +-
content/browser/storage_partition_impl.cc | 7 +------
content/public/browser/navigation_controller.cc | 1 -
third_party/blink/common/features.cc | 2 +-
.../platform/runtime_enabled_features.json5 | 7 +++++++
11 files changed, 29 insertions(+), 29 deletions(-)
.../flags/android/chrome_feature_list.cc | 2 +-
.../embedder_support/origin_trials/features.cc | 3 ++-
.../render_view_context_menu_base.cc | 3 ---
.../aggregatable_report_sender.cc | 17 ++++++++---------
.../attribution_reporting/attribution_host.cc | 1 +
.../attribution_report_network_sender.cc | 15 ++++++++-------
.../attribution_storage_sql.cc | 2 +-
content/browser/storage_partition_impl.cc | 7 +------
content/public/browser/navigation_controller.cc | 1 -
third_party/blink/common/features.cc | 2 +-
.../platform/runtime_enabled_features.json5 | 9 ++++++++-
11 files changed, 31 insertions(+), 31 deletions(-)
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -487,7 +487,7 @@ const base::Feature kAppMenuMobileSiteOption{"AppMenuMobileSiteOption",
@@ -442,7 +442,7 @@ const base::Feature kAppMenuMobileSiteOption{"AppMenuMobileSiteOption",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kAppToWebAttribution{"AppToWebAttribution",
@@ -66,7 +63,7 @@ diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b
diff --git a/content/browser/aggregation_service/aggregatable_report_sender.cc b/content/browser/aggregation_service/aggregatable_report_sender.cc
--- a/content/browser/aggregation_service/aggregatable_report_sender.cc
+++ b/content/browser/aggregation_service/aggregatable_report_sender.cc
@@ -136,19 +136,18 @@ void AggregatableReportSender::SendReport(const GURL& url,
@@ -137,19 +137,18 @@ void AggregatableReportSender::SendReport(const GURL& url,
// Allow bodies of non-2xx responses to be returned.
simple_url_loader_ptr->SetAllowHttpErrorResults(true);
@@ -93,21 +90,28 @@ diff --git a/content/browser/aggregation_service/aggregatable_report_sender.cc b
RequestStatus status;
absl::optional<int> http_response_code;
@@ -189,4 +188,4 @@ void AggregatableReportSender::OnReportSent(
std::move(callback).Run(status);
}
-} // namespace content
\ No newline at end of file
+} // namespace content
diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content/browser/attribution_reporting/attribution_host.cc
--- a/content/browser/attribution_reporting/attribution_host.cc
+++ b/content/browser/attribution_reporting/attribution_host.cc
@@ -124,6 +124,7 @@ void AttributionHost::DidRedirectNavigation(
@@ -141,6 +141,7 @@ void AttributionHost::DidFinishNavigation(NavigationHandle* navigation_handle) {
return;
}
+ if ((true)) return;
AttributionManager* attribution_manager =
AttributionManager::FromWebContents(web_contents());
if (!attribution_manager)
attribution_manager_provider_->GetManager(web_contents());
if (!attribution_manager) {
diff --git a/content/browser/attribution_reporting/attribution_report_network_sender.cc b/content/browser/attribution_reporting/attribution_report_network_sender.cc
--- a/content/browser/attribution_reporting/attribution_report_network_sender.cc
+++ b/content/browser/attribution_reporting/attribution_report_network_sender.cc
@@ -117,13 +117,8 @@ void AttributionReportNetworkSender::SendReport(
@@ -118,13 +118,8 @@ void AttributionReportNetworkSender::SendReport(
network::SimpleURLLoader::RETRY_ON_NAME_NOT_RESOLVED;
simple_url_loader_ptr->SetRetryOptions(/*max_retries=*/1, retry_mode);
@@ -123,7 +127,7 @@ diff --git a/content/browser/attribution_reporting/attribution_report_network_se
}
void AttributionReportNetworkSender::SetURLLoaderFactoryForTesting(
@@ -137,6 +132,12 @@ void AttributionReportNetworkSender::OnReportSent(
@@ -138,6 +133,12 @@ void AttributionReportNetworkSender::OnReportSent(
bool is_debug_report,
ReportSentCallback sent_callback,
scoped_refptr<net::HttpResponseHeaders> headers) {
@@ -139,19 +143,19 @@ diff --git a/content/browser/attribution_reporting/attribution_report_network_se
diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/content/browser/attribution_reporting/attribution_storage_sql.cc
--- a/content/browser/attribution_reporting/attribution_storage_sql.cc
+++ b/content/browser/attribution_reporting/attribution_storage_sql.cc
@@ -425,7 +425,7 @@ void AttributionStorageSql::RunInMemoryForTesting() {
@@ -358,7 +358,7 @@ void AttributionStorageSql::RunInMemoryForTesting() {
}
// static
-bool AttributionStorageSql::g_run_in_memory_ = false;
+bool AttributionStorageSql::g_run_in_memory_ = true;
// static
bool AttributionStorageSql::DeleteStorageForTesting(
AttributionStorageSql::AttributionStorageSql(
const base::FilePath& path_to_database,
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc
--- a/content/browser/storage_partition_impl.cc
+++ b/content/browser/storage_partition_impl.cc
@@ -1318,12 +1318,7 @@ void StoragePartitionImpl::Initialize(
@@ -1304,12 +1304,7 @@ void StoragePartitionImpl::Initialize(
bucket_manager_ = std::make_unique<BucketManager>(quota_manager_proxy);
@@ -164,11 +168,11 @@ diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage
+ // The Conversion Measurement API is not available in Bromite.
if (base::FeatureList::IsEnabled(blink::features::kInterestGroupStorage)) {
// Auction worklets on non-Android use dedicated processes; on Android due
interest_group_manager_ = std::make_unique<InterestGroupManagerImpl>(
diff --git a/content/public/browser/navigation_controller.cc b/content/public/browser/navigation_controller.cc
--- a/content/public/browser/navigation_controller.cc
+++ b/content/public/browser/navigation_controller.cc
@@ -39,7 +39,6 @@ NavigationController::LoadURLParams::LoadURLParams(const OpenURLParams& input)
@@ -36,7 +36,6 @@ NavigationController::LoadURLParams::LoadURLParams(const OpenURLParams& input)
blob_url_loader_factory(input.blob_url_loader_factory),
href_translate(input.href_translate),
reload_type(input.reload_type),
@@ -205,5 +209,14 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
{
name: "AbortSignalThrowIfAborted",
status: "stable",
@@ -482,7 +489,7 @@
},
{
name: "ConversionMeasurement",
- status: "test",
+ depends_on: ["DisabledForBromite"],
},
{
name: "CooperativeScheduling"
--
2.25.1
+1 -2
View File
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 9 Apr 2022 21:43:35 +0200
Subject: Disable crash reporting
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
content/public/common/content_features.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -10,7 +9,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
@@ -227,8 +227,8 @@ const base::Feature kCooperativeScheduling{"CooperativeScheduling",
@@ -234,8 +234,8 @@ const base::Feature kCooperativeScheduling{"CooperativeScheduling",
// Enables crash reporting via Reporting API.
// https://www.w3.org/TR/reporting/#crash-report
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 19 Dec 2019 22:52:53 +0100
Subject: Disable feeds support by default
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../org/chromium/chrome/browser/feed/FeedFeatures.java | 8 +-------
.../chromium/chrome/browser/flags/CachedFeatureFlags.java | 2 +-
@@ -12,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
--- a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
+++ b/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/FeedFeatures.java
@@ -42,13 +42,7 @@ public final class FeedFeatures {
@@ -43,13 +43,7 @@ public final class FeedFeatures {
* the user is signed in and confirms it's not a child profile.
*/
public static boolean isWebFeedUIEnabled() {
@@ -30,19 +29,19 @@ diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/fe
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
@@ -78,7 +78,7 @@ public class CachedFeatureFlags {
.put(ChromeFeatureList.INCOGNITO_REAUTHENTICATION_FOR_ANDROID, false)
.put(ChromeFeatureList.INSTANCE_SWITCHER, true)
.put(ChromeFeatureList.INSTANT_START, false)
@@ -82,7 +82,7 @@ public class CachedFeatureFlags {
.put(ChromeFeatureList.TAB_TO_GTS_ANIMATION, true)
.put(ChromeFeatureList.TEST_DEFAULT_DISABLED, false)
.put(ChromeFeatureList.TEST_DEFAULT_ENABLED, true)
- .put(ChromeFeatureList.INTEREST_FEED_V2, true)
+ .put(ChromeFeatureList.INTEREST_FEED_V2, false)
.put(ChromeFeatureList.LENS_CAMERA_ASSISTED_SEARCH, false)
.put(ChromeFeatureList.NEW_WINDOW_APP_MENU, true)
.put(ChromeFeatureList.OMNIBOX_ANDROID_AUXILIARY_SEARCH, false)
.put(ChromeFeatureList.THEME_REFACTOR_ANDROID, true)
.put(ChromeFeatureList.USE_CHIME_ANDROID_SDK, false)
.put(ChromeFeatureList.CCT_INCOGNITO_AVAILABLE_TO_THIRD_PARTY, false)
diff --git a/components/feed/feed_feature_list.cc b/components/feed/feed_feature_list.cc
--- a/components/feed/feed_feature_list.cc
+++ b/components/feed/feed_feature_list.cc
@@ -16,12 +16,12 @@
@@ -12,12 +12,12 @@
namespace feed {
const base::Feature kInterestFeedContentSuggestions{
@@ -3,26 +3,23 @@ Date: Sun, 8 Jul 2018 18:16:34 +0200
Subject: Disable fetching of all field trials
Disable seed-based field trials
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
android_webview/nonembedded/BUILD.gn | 2 --
.../services/VariationsSeedServer.java | 2 --
.../metrics/chrome_browser_sampling_trials.cc | 4 +++
components/ukm/ukm_recorder_impl.cc | 3 +++
.../chrome_metrics_services_manager_client.cc | 2 ++
components/ukm/ukm_recorder_impl.cc | 3 ++
.../firstrun/VariationsSeedBridge.java | 2 +-
.../firstrun/VariationsSeedFetcher.java | 26 ++++---------------
.../firstrun/VariationsSeedFetcher.java | 28 ++++---------------
.../variations/net/omnibox_http_headers.cc | 2 +-
.../variations/net/variations_http_headers.cc | 3 +++
.../service/variations_field_trial_creator.cc | 3 ++-
.../variations/service/variations_service.cc | 15 +++--------
.../renderer/core/loader/document_loader.cc | 7 -----
11 files changed, 22 insertions(+), 47 deletions(-)
.../variations/net/variations_http_headers.cc | 3 ++
.../service/variations_field_trial_creator.cc | 3 +-
.../variations/service/variations_service.cc | 15 ++--------
10 files changed, 21 insertions(+), 41 deletions(-)
diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/BUILD.gn
--- a/android_webview/nonembedded/BUILD.gn
+++ b/android_webview/nonembedded/BUILD.gn
@@ -105,7 +105,6 @@ android_library("services_java") {
@@ -101,7 +101,6 @@ android_library("services_java") {
sources = [
"java/src/org/chromium/android_webview/services/AwMinidumpUploadJobService.java",
"java/src/org/chromium/android_webview/services/AwMinidumpUploaderDelegate.java",
@@ -30,7 +27,7 @@ diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/
"java/src/org/chromium/android_webview/services/ComponentUpdaterSafeModeUtils.java",
"java/src/org/chromium/android_webview/services/ComponentsProviderPathUtil.java",
"java/src/org/chromium/android_webview/services/ComponentsProviderService.java",
@@ -116,7 +115,6 @@ android_library("services_java") {
@@ -112,7 +111,6 @@ android_library("services_java") {
"java/src/org/chromium/android_webview/services/MetricsUploadService.java",
"java/src/org/chromium/android_webview/services/SafeModeContentProvider.java",
"java/src/org/chromium/android_webview/services/SafeModeService.java",
@@ -50,40 +47,31 @@ diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/s
}
};
diff --git a/chrome/browser/metrics/chrome_browser_sampling_trials.cc b/chrome/browser/metrics/chrome_browser_sampling_trials.cc
--- a/chrome/browser/metrics/chrome_browser_sampling_trials.cc
+++ b/chrome/browser/metrics/chrome_browser_sampling_trials.cc
@@ -51,6 +51,8 @@ void CreateFallbackSamplingTrial(const std::string& trial_name,
const std::string& feature_name,
const int sampled_in_rate_per_mille,
base::FeatureList* feature_list) {
diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
--- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
+++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
@@ -189,6 +189,8 @@ ChromeMetricsServicesManagerClient::GetMetricsStateManagerForTesting() {
void ChromeMetricsServicesManagerClient::CreateFallbackSamplingTrial(
version_info::Channel channel,
base::FeatureList* feature_list) {
+ if ((true))
+ return;
scoped_refptr<base::FieldTrial> trial(
base::FieldTrialList::FactoryGetFieldTrial(
trial_name, /*total_probability=*/1000, "Default",
@@ -90,6 +92,8 @@ void CreateFallbackSamplingTrial(const std::string& trial_name,
// field trial controlling the sampling feature.
void CreateFallbackUkmSamplingTrial(bool is_stable_channel,
base::FeatureList* feature_list) {
+ if ((true))
+ return;
static const char kSampledGroup_Stable[] = "Sampled_NoSeed_Stable";
static const char kSampledGroup_Other[] = "Sampled_NoSeed_Other";
const char* sampled_group = kSampledGroup_Other;
// The trial name must be kept in sync with the server config controlling
// sampling. If they don't match, then clients will be shuffled into different
// groups when the server config takes over from the fallback trial.
diff --git a/components/ukm/ukm_recorder_impl.cc b/components/ukm/ukm_recorder_impl.cc
--- a/components/ukm/ukm_recorder_impl.cc
+++ b/components/ukm/ukm_recorder_impl.cc
@@ -210,6 +210,9 @@ bool HasUnknownMetrics(const builders::DecodeMap& decode_map,
UkmRecorderImpl::UkmRecorderImpl()
: sampling_seed_(static_cast<uint32_t>(base::RandUint64())) {
@@ -192,6 +192,9 @@ UkmRecorderImpl::~UkmRecorderImpl() = default;
void UkmRecorderImpl::CreateFallbackSamplingTrial(
bool is_stable_channel,
base::FeatureList* feature_list) {
+ if ((true))
+ return;
+
max_kept_sources_ =
static_cast<size_t>(base::GetFieldTrialParamByFeatureAsInt(
kUkmFeature, "MaxKeptSources", max_kept_sources_));
static const char kSampledGroup_Stable[] = "Sampled_NoSeed_Stable";
static const char kSampledGroup_Other[] = "Sampled_NoSeed_Other";
const char* sampled_group = kSampledGroup_Other;
diff --git a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedBridge.java b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedBridge.java
--- a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedBridge.java
+++ b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedBridge.java
@@ -99,7 +87,16 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari
diff --git a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java
--- a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java
+++ b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java
@@ -340,29 +340,13 @@ public class VariationsSeedFetcher {
@@ -80,7 +80,7 @@ public class VariationsSeedFetcher {
}
private static final String VARIATIONS_SERVER_URL =
- "https://clientservices.googleapis.com/chrome-variations/seed?osname=";
+ "https://clientservices.9oo91apis.qjz9zk/chrome-variations/seed?osname=";
private static final int READ_TIMEOUT = 3000; // time in ms
private static final int REQUEST_TIMEOUT = 1000; // time in ms
@@ -337,29 +337,13 @@ public class VariationsSeedFetcher {
*/
public void fetchSeed(String restrictMode, String milestone, String channel) {
assert !ThreadUtils.runningOnUiThread();
@@ -133,7 +130,7 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari
}
private void recordFetchResultOrCode(int resultOrCode) {
@@ -405,7 +389,7 @@ public class VariationsSeedFetcher {
@@ -402,7 +386,7 @@ public class VariationsSeedFetcher {
* @param curSeedInfo optional currently saved seed info to set the `If-None-Match` header.
* @return the object holds the request result and seed data with its related header fields.
*/
@@ -170,7 +167,7 @@ diff --git a/components/variations/net/variations_http_headers.cc b/components/v
diff --git a/components/variations/service/variations_field_trial_creator.cc b/components/variations/service/variations_field_trial_creator.cc
--- a/components/variations/service/variations_field_trial_creator.cc
+++ b/components/variations/service/variations_field_trial_creator.cc
@@ -161,7 +161,8 @@ Study::CpuArchitecture GetCurrentCpuArchitecture() {
@@ -159,7 +159,8 @@ Study::CpuArchitecture GetCurrentCpuArchitecture() {
// "--variations-server-url" switches are passed. It is however possible to
// apply the testing config as well as specify additional field trials (using
// "--force-fieldtrials") by using the "--enable-field-trial-config" switch.
@@ -203,7 +200,7 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
}
std::unique_ptr<SeedResponse> MaybeImportFirstRunSeed(
@@ -599,7 +590,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) {
@@ -603,7 +594,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) {
// debugger or if the machine was suspended) and OnURLFetchComplete() hasn't
// had a chance to run yet from the previous request. In this case, don't
// start a new request and just let the previous one finish.
@@ -212,22 +209,5 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
return false;
last_request_was_http_retry_ = is_http_retry;
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
--- a/third_party/blink/renderer/core/loader/document_loader.cc
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
@@ -172,13 +172,6 @@ Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
WebVector<int> CopyInitiatorOriginTrials(
const Vector<OriginTrialFeature>& initiator_origin_trial_features) {
WebVector<int> result;
- for (auto feature : initiator_origin_trial_features) {
- // Convert from OriginTrialFeature to int. These values are passed between
- // blink navigations. OriginTrialFeature isn't visible outside of blink (and
- // doesn't need to be) so the values are transferred outside of blink as
- // ints and casted to OriginTrialFeature once being processed in blink.
- result.emplace_back(static_cast<int>(feature));
- }
return result;
}
--
2.25.1
+3 -4
View File
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 19 Feb 2022 12:01:33 +0100
Subject: Disable idle detection
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
content/public/common/content_features.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -10,14 +9,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -433,7 +433,7 @@ const base::Feature kIdentityInCanMakePaymentEventFeature{
@@ -426,7 +426,7 @@ const base::Feature kGreaseUACH{"GreaseUACH", base::FEATURE_ENABLED_BY_DEFAULT};
// this feature, the experimental web platform features flag should be set,
// or the site should obtain an Origin Trial token.
const base::Feature kIdleDetection{"IdleDetection",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// A feature flag for the memory-backed code cache.
const base::Feature kInMemoryCodeCache{"InMemoryCodeCache",
// Historically most navigations required IPC from browser to renderer and
// from renderer back to browser. This was done to check for before-unload
--
2.25.1
@@ -2,22 +2,19 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Fri, 8 Oct 2021 00:30:26 +0200
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 +-
chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/common/omnibox_features.cc
--- a/components/omnibox/common/omnibox_features.cc
+++ b/components/omnibox/common/omnibox_features.cc
@@ -320,7 +320,7 @@ const base::Feature kSiteSearchStarterPack{"OmniboxSiteSearchStarterPack",
// Experiment to introduce new security indicators for HTTPS.
const base::Feature kUpdatedConnectionSecurityIndicators{
"OmniboxUpdatedConnectionSecurityIndicators",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
// Feature used to default typed navigations to use HTTPS instead of HTTP.
// This only applies to navigations that don't have a scheme such as
diff --git a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc b/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
--- a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
+++ b/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
@@ -313,5 +313,5 @@ TemplateURLService* ChromeLocationBarModelDelegate::GetTemplateURLService() {
void ChromeLocationBarModelDelegate::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(omnibox::kPreventUrlElisionsInOmnibox, true);
- registry->RegisterBooleanPref(omnibox::kLockIconInAddressBarEnabled, false);
+ registry->RegisterBooleanPref(omnibox::kLockIconInAddressBarEnabled, true);
}
--
2.25.1
@@ -2,8 +2,6 @@ From: Daniel Micay <danielmicay@gmail.com>
Date: Thu, 4 Jul 2019 19:08:52 -0400
Subject: Disable media router and remoting by default
Original License: MIT - https://spdx.org/licenses/MIT.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../media/router/media_router_feature.cc | 27 ++++++-------------
chrome/browser/profiles/profile_impl.cc | 2 +-
@@ -12,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc
--- a/chrome/browser/media/router/media_router_feature.cc
+++ b/chrome/browser/media/router/media_router_feature.cc
@@ -51,26 +51,15 @@ const base::Feature kGlobalMediaControlsCastStartStop{
@@ -50,26 +50,15 @@ const base::Feature kGlobalMediaControlsCastStartStop{
#endif // !BUILDFLAG(IS_ANDROID)
@@ -45,7 +43,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
#if !BUILDFLAG(IS_ANDROID)
if (!base::FeatureList::IsEnabled(kMediaRouter))
return false;
@@ -98,7 +87,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
@@ -93,7 +82,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
return allowed;
}
return true;
@@ -54,7 +52,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
#if !BUILDFLAG(IS_ANDROID)
void RegisterLocalStatePrefs(PrefRegistrySimple* registry) {
@@ -111,7 +100,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -106,7 +95,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
PrefRegistry::PUBLIC);
registry->RegisterBooleanPref(
@@ -66,7 +64,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -412,7 +412,7 @@ void ProfileImpl::RegisterProfilePrefs(
@@ -417,7 +417,7 @@ void ProfileImpl::RegisterProfilePrefs(
#endif
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);
@@ -2,28 +2,27 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 27 Feb 2022 23:58:22 +0100
Subject: Disable minidump upload scheduling
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
components/endpoint_fetcher/endpoint_fetcher.cc | 2 +-
chrome/browser/endpoint_fetcher/endpoint_fetcher.cc | 2 +-
.../minidump_uploader/MinidumpUploadJobService.java | 5 ++++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoint_fetcher/endpoint_fetcher.cc
--- a/components/endpoint_fetcher/endpoint_fetcher.cc
+++ b/components/endpoint_fetcher/endpoint_fetcher.cc
@@ -323,7 +323,7 @@ void EndpointFetcher::OnResponseFetched(
diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc
--- a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc
+++ b/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc
@@ -337,7 +337,7 @@ void EndpointFetcher::OnResponseFetched(
auto response = std::make_unique<EndpointResponse>();
// TODO(crbug.com/993393) Add more detailed error messaging
std::string net_error = net::ErrorToString(net_error_code);
std::string net_error = net::ErrorToString(simple_url_loader_->NetError());
- VLOG(1) << __func__ << " with response error: " << net_error;
+ LOG(ERROR) << __func__ << " with response error: " << net_error;
response->response = "There was a response error";
simple_url_loader_.reset();
std::move(endpoint_fetcher_callback).Run(std::move(response));
}
diff --git a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java
--- a/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java
+++ b/components/minidump_uploader/android/java/src/org/chromium/components/minidump_uploader/MinidumpUploadJobService.java
@@ -45,7 +45,10 @@ public abstract class MinidumpUploadJobService extends JobService {
@@ -44,7 +44,10 @@ public abstract class MinidumpUploadJobService extends JobService {
* to build an upload job for scheduling.
*/
public static void scheduleUpload(JobInfo.Builder jobInfoBuilder) {
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 30 May 2019 03:37:45 +0200
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(-)
@@ -10,7 +9,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/offline_pages/core/offline_page_feature.cc b/components/offline_pages/core/offline_page_feature.cc
--- a/components/offline_pages/core/offline_page_feature.cc
+++ b/components/offline_pages/core/offline_page_feature.cc
@@ -36,7 +36,7 @@ const base::Feature kOfflinePagesDescriptivePendingStatusFeature{
@@ -39,7 +39,7 @@ const base::Feature kOfflinePagesDescriptivePendingStatusFeature{
"OfflinePagesDescriptivePendingStatus", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kOfflinePagesInDownloadHomeOpenInCctFeature{
@@ -4,8 +4,6 @@ Subject: Disable omission of URL elements in Omnibox
Disable all omissions because they are used throughout the code without
a corresponding user option to individually disable their usage.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../toolbar/chrome_location_bar_model_delegate.cc | 2 +-
components/url_formatter/url_formatter.cc | 14 +++++++-------
@@ -14,17 +12,18 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc b/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
--- a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
+++ b/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc
@@ -305,5 +305,5 @@ TemplateURLService* ChromeLocationBarModelDelegate::GetTemplateURLService() {
@@ -312,6 +312,6 @@ TemplateURLService* ChromeLocationBarModelDelegate::GetTemplateURLService() {
// static
void ChromeLocationBarModelDelegate::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
- registry->RegisterBooleanPref(omnibox::kPreventUrlElisionsInOmnibox, false);
+ registry->RegisterBooleanPref(omnibox::kPreventUrlElisionsInOmnibox, true);
registry->RegisterBooleanPref(omnibox::kLockIconInAddressBarEnabled, false);
}
diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatter/url_formatter.cc
--- a/components/url_formatter/url_formatter.cc
+++ b/components/url_formatter/url_formatter.cc
@@ -533,13 +533,13 @@ bool HasTwoViewSourceSchemes(base::StringPiece spec) {
@@ -492,13 +492,13 @@ bool HasTwoViewSourceSchemes(base::StringPiece spec) {
} // namespace
const FormatUrlType kFormatUrlOmitNothing = 0;
@@ -43,7 +42,7 @@ diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatte
+const FormatUrlType kFormatUrlTrimAfterHost = 0 << 6;
+const FormatUrlType kFormatUrlOmitFileScheme = 0 << 7;
const FormatUrlType kFormatUrlOmitMailToScheme = 1 << 8;
const FormatUrlType kFormatUrlOmitMobilePrefix = 1 << 9;
const FormatUrlType kFormatUrlOmitDefaults =
--
2.25.1
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 22 Mar 2018 22:38:00 +0100
Subject: Disable plugins enumeration
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
third_party/blink/renderer/core/frame/local_frame.cc | 2 --
1 file changed, 2 deletions(-)
@@ -10,7 +9,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -1958,9 +1958,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
@@ -1913,9 +1913,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
}
PluginData* LocalFrame::GetPluginData() const {
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 15 Oct 2017 21:45:46 +0200
Subject: Disable references to fonts.googleapis.com
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../content/browser/dom_distiller_viewer_source.cc | 2 +-
components/dom_distiller/core/html/preview.html | 2 +-
@@ -3,8 +3,6 @@ Date: Sun, 27 Oct 2019 10:21:19 +0100
Subject: Disable requests for single-word Omnibar searches
Patch from https://github.com/Eloston/ungoogled-chromium/issues/814#issuecomment-526873727
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../ui/omnibox/chrome_omnibox_navigation_observer.cc | 7 -------
1 file changed, 7 deletions(-)
File diff suppressed because it is too large Load Diff
+38 -15
View File
@@ -2,13 +2,13 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 6 Mar 2022 17:39:15 +0100
Subject: Disable safety check
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/BUILD.gn | 5 -----
chrome/android/chrome_java_sources.gni | 1 -
.../browser/app/omnibox/OmniboxPedalDelegateImpl.java | 8 --------
.../chrome/browser/settings/SettingsActivity.java | 6 ------
chrome/browser/BUILD.gn | 1 -
4 files changed, 15 deletions(-)
5 files changed, 21 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
@@ -19,30 +19,30 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//chrome/browser/safe_browsing/android:java",
- "//chrome/browser/safety_check/android:java",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/search_resumption:java",
"//chrome/browser/segmentation_platform:factory_java",
@@ -1028,8 +1027,6 @@ robolectric_binary("chrome_junit_tests") {
"//chrome/browser/settings:java",
@@ -999,8 +998,6 @@ junit_binary("chrome_junit_tests") {
"//chrome/browser/preferences:java",
"//chrome/browser/preferences:preferences_junit_tests",
"//chrome/browser/profiles/android:java",
- "//chrome/browser/safety_check/android:java",
- "//chrome/browser/safety_check/android:junit",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/search_resumption:junit",
"//chrome/browser/segmentation_platform:factory_java",
@@ -1554,8 +1551,6 @@ android_library("chrome_test_java") {
"//chrome/browser/share:java",
"//chrome/browser/signin/services/android:java",
@@ -1380,8 +1377,6 @@ android_library("chrome_test_java") {
"//chrome/browser/profiles/android:java",
"//chrome/browser/safe_browsing/android:java",
"//chrome/browser/safe_browsing/android:javatests",
- "//chrome/browser/safety_check/android:java",
- "//chrome/browser/safety_check/android:javatests",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/selection/android:javatests",
"//chrome/browser/settings:java",
"//chrome/browser/settings:javatests",
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -936,7 +936,6 @@ chrome_java_sources = [
@@ -941,7 +941,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",
@@ -53,7 +53,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/OmniboxPedalDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/OmniboxPedalDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/OmniboxPedalDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/OmniboxPedalDelegateImpl.java
@@ -33,7 +33,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.SuggestionsMetrics;
@@ -27,7 +27,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.OmniboxPedalDelegate;
import org.chromium.chrome.browser.omnibox.suggestions.pedal.PedalSuggestionViewProperties.PedalIcon;
import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
@@ -61,7 +61,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/Omn
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
import org.chromium.components.browser_ui.accessibility.AccessibilitySettings;
import org.chromium.components.browser_ui.settings.SettingsLauncher;
@@ -96,12 +95,6 @@ public class OmniboxPedalDelegateImpl implements OmniboxPedalDelegate {
@@ -77,12 +76,6 @@ public class OmniboxPedalDelegateImpl implements OmniboxPedalDelegate {
startActivity(intent);
}
break;
@@ -74,7 +74,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/Omn
case OmniboxPedalType.MANAGE_SITE_SETTINGS:
settingsLauncher.launchSettingsActivity(mActivity, SiteSettings.class);
break;
@@ -198,7 +191,6 @@ public class OmniboxPedalDelegateImpl implements OmniboxPedalDelegate {
@@ -158,7 +151,6 @@ public class OmniboxPedalDelegateImpl implements OmniboxPedalDelegate {
case OmniboxPedalType.MANAGE_PASSWORDS:
case OmniboxPedalType.UPDATE_CREDIT_CARD:
case OmniboxPedalType.LAUNCH_INCOGNITO:
@@ -82,16 +82,39 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/Omn
case OmniboxPedalType.MANAGE_SITE_SETTINGS:
case OmniboxPedalType.MANAGE_CHROME_SETTINGS:
case OmniboxPedalType.VIEW_CHROME_HISTORY:
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
@@ -56,9 +56,6 @@ import org.chromium.chrome.browser.privacy_sandbox.FlocSettingsFragment;
import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsFragment;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.profiles.ProfileManagerUtils;
-import org.chromium.chrome.browser.safety_check.SafetyCheckCoordinator;
-import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment;
-import org.chromium.chrome.browser.safety_check.SafetyCheckUpdatesDelegateImpl;
import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings;
import org.chromium.chrome.browser.site_settings.ChromeSiteSettingsDelegate;
import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
@@ -370,9 +367,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
fragmentHelpAndFeedbackLauncher.setHelpAndFeedbackLauncher(
HelpAndFeedbackLauncherImpl.getInstance());
}
- if (fragment instanceof SafetyCheckSettingsFragment) {
- // not supported
- }
if (fragment instanceof PasswordCheckFragmentView) {
PasswordCheckComponentUiFactory.create((PasswordCheckFragmentView) fragment,
HelpAndFeedbackLauncherImpl.getInstance(), mSettingsLauncher,
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3288,7 +3288,6 @@ static_library("browser") {
@@ -3370,7 +3370,6 @@ static_library("browser") {
"//chrome/browser/privacy_sandbox/android:jni_headers",
"//chrome/browser/reading_list/android",
"//chrome/browser/safe_browsing/android:safe_browsing_enums",
- "//chrome/browser/safety_check/android",
"//chrome/browser/search_resumption:jni_headers",
"//chrome/browser/share/android:jni_headers",
"//chrome/browser/share/core/crow:crow_configuration",
"//chrome/browser/signin/services/android:jni_headers",
"//chrome/browser/sync/android:jni_headers",
--
2.25.1
@@ -7,8 +7,6 @@ disabled in incognito as per upstream.
Partial revert of da1d809c003749846cb4ade8c11b6d038e44416b to restore
the ChromeSmartSelection feature flag.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../contextualsearch/SelectionClientManager.java | 4 +++-
.../browser/flags/android/chrome_feature_list.cc | 4 ++++
@@ -42,15 +40,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearc
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -185,6 +185,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCCTBrandTransparency,
@@ -181,6 +181,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCCTClientDataHeader,
&kCCTExternalLinkHandling,
&kCCTIncognito,
+ &kChromeSmartSelection,
&kCCTIncognitoAvailableToThirdParty,
&kCCTNewDownloadTab,
&kCCTPackageNameRecording,
@@ -581,6 +582,9 @@ const base::Feature kChromeSharingHubLaunchAdjacent{
&kCCTPostMessageAPI,
@@ -524,6 +525,9 @@ const base::Feature kChromeSharingHubLaunchAdjacent{
const base::Feature kChromeSurveyNextAndroid{"ChromeSurveyNextAndroid",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -63,7 +61,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -59,6 +59,7 @@ extern const base::Feature kCacheDeprecatedSystemLocationSetting;
@@ -53,6 +53,7 @@ extern const base::Feature kDontAutoHideBrowserControls;
extern const base::Feature kChromeNewDownloadTab;
extern const base::Feature kChromeShareLongScreenshot;
extern const base::Feature kChromeShareScreenshot;
@@ -74,9 +72,9 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -255,6 +255,7 @@ public abstract class ChromeFeatureList {
@@ -246,6 +246,7 @@ public abstract class ChromeFeatureList {
public static final String CCT_NEW_DOWNLOAD_TAB = "CCTNewDownloadTab";
public static final String CCT_POST_MESSAGE_API = "CCTPostMessageAPI";
public static final String CCT_REAL_TIME_ENGAGEMENT_SIGNALS = "CCTRealTimeEngagementSignals";
public static final String CCT_REDIRECT_PRECONNECT = "CCTRedirectPreconnect";
+ public static final String CHROME_SMART_SELECTION = "ChromeSmartSelection";
public static final String CCT_REMOVE_REMOTE_VIEW_IDS = "CCTRemoveRemoteViewIds";
@@ -85,7 +83,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
@@ -818,7 +818,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
@@ -840,7 +840,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
menu.removeItem(R.id.select_action_menu_share);
}
@@ -97,7 +95,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -2415,6 +2415,21 @@
@@ -1962,6 +1962,21 @@
]
}
],
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sat, 2 Nov 2019 16:22:56 +0100
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(-)
@@ -10,7 +9,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
@@ -850,7 +850,7 @@ const base::Feature kSharedArrayBufferOnDesktop{
@@ -846,7 +846,7 @@ const base::Feature kSharedArrayBufferOnDesktop{
// Signed Exchange Reporting for distributors
// https://www.chromestatus.com/feature/5687904902840320
const base::Feature kSignedExchangeReportingForDistributors{
@@ -19,7 +18,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
// Subresource prefetching+loading via Signed HTTP Exchange
// https://www.chromestatus.com/feature/5126805474246656
@@ -860,7 +860,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
@@ -856,7 +856,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
// Origin-Signed HTTP Exchanges (for WebPackage Loading)
// https://www.chromestatus.com/feature/5745285984681984
const base::Feature kSignedHTTPExchange{"SignedHTTPExchange",
@@ -2,7 +2,6 @@ From: Michael Gilbert <mgilbert@debian.org>
Date: Wed, 21 Nov 2018 02:37:35 +0000
Subject: Disable support for RAR files inspection
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../download_protection/file_analyzer.cc | 2 +-
chrome/common/safe_browsing/BUILD.gn | 33 -------------------
@@ -12,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
--- a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
+++ b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
@@ -97,7 +97,7 @@ void FileAnalyzer::Start(const base::FilePath& target_path,
@@ -96,7 +96,7 @@ void FileAnalyzer::Start(const base::FilePath& target_path,
if (inspection_type == DownloadFileType::ZIP) {
StartExtractZipFeatures();
} else if (inspection_type == DownloadFileType::RAR) {
@@ -3,27 +3,25 @@ Date: Sat, 22 Aug 2020 12:46:20 +0200
Subject: Disable text fragments by default
Revert "[Text Fragment] Unflag fragment directive removal."
Original License: BSD-3-Clause - https://spdx.org/licenses/BSD-3-Clause.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/about_flags.cc | 5 +++++
chrome/browser/flag-metadata.json | 5 +++++
chrome/browser/flag_descriptions.cc | 4 ++++
chrome/browser/flag_descriptions.h | 3 +++
chrome/browser/ui/prefs/prefs_tab_helper.cc | 2 +-
content/child/runtime_features.cc | 2 +-
third_party/blink/common/features.cc | 2 +-
third_party/blink/renderer/core/dom/document.cc | 5 +++++
.../blink/renderer/platform/runtime_enabled_features.json5 | 3 +--
9 files changed, 26 insertions(+), 5 deletions(-)
chrome/browser/about_flags.cc | 5 ++++
chrome/browser/flag-metadata.json | 5 ++++
chrome/browser/flag_descriptions.cc | 4 +++
chrome/browser/flag_descriptions.h | 3 ++
chrome/browser/ui/prefs/prefs_tab_helper.cc | 2 +-
content/child/runtime_features.cc | 2 +-
third_party/blink/common/features.cc | 2 +-
.../blink/renderer/core/dom/document.cc | 5 ++++
.../text_fragment_anchor_metrics_test.cc | 29 +++++++------------
.../platform/runtime_enabled_features.json5 | 3 +-
10 files changed, 36 insertions(+), 24 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
@@ -5815,6 +5815,11 @@ const FeatureEntry kFeatureEntries[] = {
"")},
#endif
@@ -5583,6 +5583,11 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kEnableWebAuthenticationPasskeysUIExperimentDescription,
kOsDesktop, FEATURE_VALUE_TYPE(device::kWebAuthPasskeysUIExperiment)},
+ {"enable-text-fragment-anchor",
+ flag_descriptions::kEnableTextFragmentAnchorName,
@@ -36,7 +34,7 @@ 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
@@ -2651,6 +2651,11 @@
@@ -2492,6 +2492,11 @@
"owners": [ "alionadangla", "bwwilliams", "bling-flags@google.com"],
"expiry_milestone": 105
},
@@ -51,7 +49,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1360,6 +1360,10 @@ const char kEnableRestrictedWebApisDescription[] =
@@ -1231,6 +1231,10 @@ const char kEnableRestrictedWebApisDescription[] =
"Enable the restricted web APIs for dev trial. This will be replaced with "
"permission policies to control the capabilities afterwards.";
@@ -65,7 +63,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -754,6 +754,9 @@ extern const char
@@ -687,6 +687,9 @@ extern const char
extern const char kEnableRestrictedWebApisName[];
extern const char kEnableRestrictedWebApisDescription[];
@@ -78,7 +76,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
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
@@ -361,7 +361,7 @@ void PrefsTabHelper::RegisterProfilePrefs(
@@ -355,7 +355,7 @@ void PrefsTabHelper::RegisterProfilePrefs(
prefs::kEnableReferrers,
!base::FeatureList::IsEnabled(features::kNoReferrers));
registry->RegisterBooleanPref(prefs::kEnableEncryptedMedia, true);
@@ -90,9 +88,9 @@ 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
@@ -279,7 +279,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
{wf::EnableSpeculationRulesPrefetchProxy,
blink::features::kSpeculationRulesPrefetchProxy, kSetOnlyIfOverridden},
@@ -282,7 +282,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
features::kSignedExchangeSubresourcePrefetch},
{wf::EnableSkipTouchEventFilter, blink::features::kSkipTouchEventFilter},
{wf::EnableSubresourceWebBundles, features::kSubresourceWebBundles},
- {wf::EnableTextFragmentAnchor, blink::features::kTextFragmentAnchor},
+ {wf::EnableTextFragmentAnchor, blink::features::kTextFragmentAnchor}, // will set the TextFragmentIdentifiers runtime feature
@@ -102,7 +100,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
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
@@ -457,7 +457,7 @@ const base::Feature kStopInBackground {
@@ -450,7 +450,7 @@ const base::Feature kStorageAccessAPI{"StorageAccessAPI",
// Enable text snippets in URL fragments. https://crbug.com/919204.
const base::Feature kTextFragmentAnchor{"TextFragmentAnchor",
@@ -114,7 +112,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -4244,9 +4244,14 @@ void Document::SetURL(const KURL& url) {
@@ -4164,9 +4164,14 @@ void Document::SetURL(const KURL& url) {
TRACE_EVENT1("navigation", "Document::SetURL", "url",
new_url.GetString().Utf8());
@@ -129,10 +127,58 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
url_ = new_url;
UpdateBaseURL();
diff --git a/third_party/blink/renderer/core/fragment_directive/text_fragment_anchor_metrics_test.cc b/third_party/blink/renderer/core/fragment_directive/text_fragment_anchor_metrics_test.cc
--- a/third_party/blink/renderer/core/fragment_directive/text_fragment_anchor_metrics_test.cc
+++ b/third_party/blink/renderer/core/fragment_directive/text_fragment_anchor_metrics_test.cc
@@ -1214,34 +1214,25 @@ TEST_P(TextFragmentRelatedMetricTest, ElementIdSuccessFailureCounts) {
// result of the element-id fragment if a text directive is successfully
// parsed. If the feature is off we treat the text directive as an element-id
// and should count the result.
+ const int kUncountedOrNotFound = GetParam() ? kUncounted : kNotFound;
const int kUncountedOrFound = GetParam() ? kUncounted : kFound;
- // Note: We'll strip the fragment directive (i.e. anything after :~:) leaving
- // just the element anchor. The fragment directive stripping behavior is now
- // shipped unflagged so it should always be performed.
+ // When the TextFragmentAnchors feature is on, we'll strip the fragment
+ // directive (i.e. anything after :~:) leaving just the element anchor.
+ const int kFoundIfDirectiveStripped = GetParam() ? kFound : kNotFound;
Vector<std::pair<String, int>> test_cases = {
{"", kUncounted},
{"#element", kFound},
{"#doesntExist", kNotFound},
- // `:~:foo` will be stripped so #element will be found and #doesntexist
- // ##element will be not found.
- {"#element:~:foo", kFound},
+ {"#element:~:foo", kFoundIfDirectiveStripped},
{"#doesntexist:~:foo", kNotFound},
{"##element", kNotFound},
- // If the feature is on, `:~:text=` will parse so we shouldn't count.
- // Otherwise, it'll just be stripped so #element will be found.
- {"#element:~:text=doesntexist", kUncountedOrFound},
- {"#element:~:text=page", kUncountedOrFound},
- // If the feature is on, `:~:text` is parsed so we don't count. If it's
- // off the entire fragment is a directive that's stripped so no search is
- // performed either.
- {"#:~:text=doesntexist", kUncounted},
- {"#:~:text=page", kUncounted},
- {"#:~:text=name", kUncounted},
- // If the feature is enabled, `:~:text` parses and we don't count the
- // element-id. If the feature is off, we still strip the :~: directive
- // and the remaining fragment does match an element id.
+ {"#element:~:text=doesntexist", kUncountedOrNotFound},
+ {"#element:~:text=page", kUncountedOrNotFound},
+ {"#:~:text=doesntexist", kUncountedOrNotFound},
+ {"#:~:text=page", kUncountedOrNotFound},
+ {"#:~:text=name", kUncountedOrFound},
{"#element:~:text=name", kUncountedOrFound}};
const int kNotFoundSample = 0;
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
@@ -2280,8 +2280,7 @@
@@ -2290,8 +2290,7 @@
},
{
name: "TextFragmentIdentifiers",
@@ -3,8 +3,6 @@ Date: Sun, 23 Aug 2020 14:32:55 -0500
Subject: Disable the DIAL repeating discovery
This causes unnecessary SSDP network spam
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/media/router/discovery/dial/dial_registry.cc | 6 ------
1 file changed, 6 deletions(-)
@@ -0,0 +1,22 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 11 Oct 2017 22:50:10 +0200
Subject: Disable third-party cookies by default
---
components/content_settings/core/browser/cookie_settings.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/content_settings/core/browser/cookie_settings.cc b/components/content_settings/core/browser/cookie_settings.cc
--- a/components/content_settings/core/browser/cookie_settings.cc
+++ b/components/content_settings/core/browser/cookie_settings.cc
@@ -64,7 +64,7 @@ void CookieSettings::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterIntegerPref(
prefs::kCookieControlsMode,
- static_cast<int>(CookieControlsMode::kIncognitoOnly),
+ static_cast<int>(CookieControlsMode::kBlockThirdParty),
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
}
--
2.25.1
@@ -2,7 +2,6 @@ From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 4 Nov 2021 09:19:24 +0100
Subject: Disable third-party origin trials
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../origin_trials/origin_trial_policy_impl.cc | 7 ++++---
.../origin_trials/origin_trial_policy_impl.h | 2 +-
@@ -60,7 +59,7 @@ diff --git a/components/embedder_support/origin_trials/origin_trial_policy_impl.
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
--- a/content/browser/renderer_host/navigation_request.cc
+++ b/content/browser/renderer_host/navigation_request.cc
@@ -7174,7 +7174,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() {
@@ -6965,7 +6965,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() {
void NavigationRequest::ForceEnableOriginTrials(
const std::vector<std::string>& trials) {
DCHECK(!HasCommitted());
@@ -71,7 +70,7 @@ diff --git a/content/browser/renderer_host/navigation_request.cc b/content/brows
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -472,10 +472,6 @@ void FillNavigationParamsRequest(
@@ -471,10 +471,6 @@ void FillNavigationParamsRequest(
common_params.initiator_origin.value();
}
@@ -82,7 +81,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
navigation_params->was_discarded = commit_params.was_discarded;
navigation_params->document_ukm_source_id =
commit_params.document_ukm_source_id;
@@ -508,12 +504,6 @@ void FillNavigationParamsRequest(
@@ -507,12 +503,6 @@ void FillNavigationParamsRequest(
navigation_params->web_bundle_claimed_url =
commit_params.web_bundle_claimed_url;
@@ -95,7 +94,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
if (!commit_params.early_hints_preloaded_resources.empty()) {
navigation_params->early_hints_preloaded_resources = WebVector<WebURL>();
for (const auto& resource : commit_params.early_hints_preloaded_resources) {
@@ -560,11 +550,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
@@ -559,11 +549,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
info->url_request.GetURLRequestExtraData().get());
DCHECK(url_request_extra_data);
@@ -107,7 +106,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
blink::NavigationDownloadPolicy download_policy;
download_policy.ApplyDownloadFramePolicy(
info->is_opener_navigation, info->url_request.HasUserGesture(),
@@ -582,7 +567,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
@@ -581,7 +566,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
info->url_request.HasUserGesture(),
info->url_request.HasTextFragmentToken(),
info->should_check_main_world_content_security_policy,
@@ -148,7 +147,7 @@ diff --git a/content/shell/common/shell_origin_trial_policy.cc b/content/shell/c
diff --git a/third_party/blink/common/origin_trials/trial_token_validator.cc b/third_party/blink/common/origin_trials/trial_token_validator.cc
--- a/third_party/blink/common/origin_trials/trial_token_validator.cc
+++ b/third_party/blink/common/origin_trials/trial_token_validator.cc
@@ -401,6 +401,7 @@ TrialTokenValidator::GetValidTokens(const url::Origin& origin,
@@ -242,6 +242,7 @@ TrialTokenValidator::GetValidTokens(const url::Origin& origin,
// static
bool TrialTokenValidator::IsTrialPossibleOnOrigin(const GURL& url) {
@@ -159,26 +158,25 @@ diff --git a/third_party/blink/common/origin_trials/trial_token_validator.cc b/t
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
--- a/third_party/blink/renderer/core/loader/document_loader.cc
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
@@ -159,13 +159,6 @@ constexpr base::FeatureParam<bool> kCacheInlineScriptCodeFixConfiguring{
Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
const WebVector<int>& initiator_origin_trial_features) {
Vector<OriginTrialFeature> result;
@@ -158,31 +158,18 @@ Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
WebVector<int> CopyInitiatorOriginTrials(
const Vector<OriginTrialFeature>& initiator_origin_trial_features) {
WebVector<int> result;
- for (auto feature : initiator_origin_trial_features) {
- // Convert from int to OriginTrialFeature. These values are passed between
- // Convert from OriginTrialFeature to int. These values are passed between
- // blink navigations. OriginTrialFeature isn't visible outside of blink (and
- // doesn't need to be) so the values are transferred outside of blink as
- // ints and casted to OriginTrialFeature once being processed in blink.
- result.push_back(static_cast<OriginTrialFeature>(feature));
- result.emplace_back(static_cast<int>(feature));
- }
return result;
}
@@ -178,18 +171,12 @@ WebVector<int> CopyInitiatorOriginTrials(
Vector<String> CopyForceEnabledOriginTrials(
const WebVector<WebString>& force_enabled_origin_trials) {
Vector<String> result;
- result.ReserveInitialCapacity(
- base::checked_cast<wtf_size_t>(force_enabled_origin_trials.size()));
- SafeCast<wtf_size_t>(force_enabled_origin_trials.size()));
- for (const auto& trial : force_enabled_origin_trials)
- result.push_back(trial);
return result;
@@ -192,7 +190,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
return result;
}
@@ -2557,10 +2544,6 @@ void DocumentLoader::CreateParserPostCommit() {
@@ -2564,10 +2551,6 @@ void DocumentLoader::CreateParserPostCommit() {
OriginTrialFeature::kTouchEventFeatureDetection);
}
@@ -206,7 +204,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
diff --git a/third_party/blink/renderer/core/loader/http_equiv.cc b/third_party/blink/renderer/core/loader/http_equiv.cc
--- a/third_party/blink/renderer/core/loader/http_equiv.cc
+++ b/third_party/blink/renderer/core/loader/http_equiv.cc
@@ -108,7 +108,7 @@ void HttpEquiv::ProcessHttpEquivDefaultStyle(Document& document,
@@ -103,7 +103,7 @@ void HttpEquiv::ProcessHttpEquivDefaultStyle(Document& document,
void HttpEquiv::ProcessHttpEquivOriginTrial(LocalDOMWindow* window,
const AtomicString& content) {

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