Patches for v97 (#1795)

Patches for v97

Add uazo's patch to build with use_sysroot=false
Start using new SystemWebView package name
Cleanup metrics patches and add a few more patches from Vanadium
Enable use_cfi_cast
This commit is contained in:
Carl 2022-02-17 19:16:35 +01:00 committed by Yifeng Wu
parent af711ed2fa
commit 5deb1f7a71
131 changed files with 5675 additions and 6537 deletions

View file

@ -1 +1 @@
96.0.4664.54
97.0.4692.106

View file

@ -1,7 +1,12 @@
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
exit-on-failure-of-inclusion.patch
AV1-codec-support.patch
Switch-to-fstack-protector-strong.patch
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
Bromite-package-name.patch
Restore-classic-new-tab-page.patch
Always-use-new-tab-page-for-default-home-page.patch
Always-allow-partner-customisation.patch
@ -29,7 +34,7 @@ ungoogled-chromium-Disable-Gaia.patch
ungoogled-chromium-Disable-domain-reliability.patch
ungoogled-chromium-Disable-Network-Time-Tracker.patch
Disable-safe-browsing.patch
Skip-the-first-run-and-metrics.patch
Skip-the-first-run-and-remove-report-sending.patch
Disable-all-promo-dialogs.patch
Remove-signin-and-data-saver-integrations.patch
Hide-passwords-manager-link.patch
@ -46,7 +51,6 @@ Add-exit-menu-item.patch
Remove-help-menu-item.patch
AudioBuffer-AnalyserNode-fp-mitigations.patch
Multiple-fingerprinting-mitigations.patch
Disable-metrics-on-all-I-O-threads.patch
Add-flag-to-configure-maximum-connections-per-host.patch
Do-not-ignore-download-location-prompt-setting.patch
Add-bookmark-import-export-actions.patch
@ -61,7 +65,7 @@ Do-not-build-API-keys-infobar.patch
autofill-disable-autofill-download-manager.patch
first_run-deactivate-autoupdate-globally.patch
translate-disable-fetching-of-translate-languages-from-server.patch
kill-TOS-and-metrics-opt-out.patch
kill-TOS.patch
kill-Vision.patch
kill-Location-fall-back-to-system.patch
kill-Auth.patch
@ -74,12 +78,14 @@ Disable-search-engine-DSE-automatic-permission.patch
Add-flag-to-disable-IPv6-probes.patch
Add-a-proxy-configuration-page.patch
Use-4-tile-rows-never-show-logo.patch
Disable-metrics-on-all-I-O-threads.patch
Disable-various-metrics.patch
Disable-metrics-collection-for-NTP-tiles.patch
Enable-SPPI-for-devices-with-enough-memory.patch
Use-64-bit-WebView-processes.patch
prefs-disable-signinallowed-by-default.patch
prefs-always-prompt-for-download-directory-by-default.patch
Disable-offline-pages-in-the-downloads-home-to-be-opened-in-CCT-by-default.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
@ -88,7 +94,7 @@ Restore-Search-Ready-Omnibox-flag.patch
disable-AdsBlockedInfoBar.patch
Bromite-AdBlockUpdaterService.patch
Replace-DoH-probe-domain-with-RIPE-domain.patch
Increase-number-of-autocomplete-matches-from-5-to-10.patch
Increase-number-of-autocomplete-matches-to-10.patch
Disable-requests-for-single-word-Omnibar-searches.patch
Disable-some-signed-exchange-features.patch
Add-flag-to-disable-WebGL.patch
@ -168,4 +174,11 @@ Disable-Accessibility-service-by-default.patch
Disable-privacy-sandbox.patch
Disable-conversion-measurement-api.patch
Disable-FLoC.patch
Restore-offline-indicator-v2-flag.patch
Automated-domain-substitution.patch
Reintroduce-override_build_timestamp.patch
enable-ftrivial-auto-var-init-zero.patch
disable-appending-variations-header.patch
use-Google-Chrome-branding-for-client-hints.patch
Make-HTTPS-only-mode-the-default.patch
disable-mobile-identity-consistency-by-default.patch

View file

@ -16,10 +16,11 @@ enable_iterator_debugging=false
enable_mdns=false
enable_mse_mpeg2ts_stream_parser=true
enable_nacl=false
enable_nacl_nonsfi=false
enable_platform_dolby_vision=true
enable_platform_hevc=true
enable_remoting=false
enable_reporting=true
enable_reporting=false
enable_vr=false
exclude_unwind_tables=false
ffmpeg_branding="Chrome"
@ -30,9 +31,9 @@ is_debug=false
is_official_build=true
proprietary_codecs=true
rtc_build_examples=false
safe_browsing_mode=2
safe_browsing_mode=0
symbol_level=1
system_webview_package_name="com.android.webview"
system_webview_package_name="org.bromite.webview"
target_os="android"
use_cfi_cast = true
use_debug_fission=true

View file

@ -20,7 +20,7 @@ See discussions at:
---
base/android/android_image_reader_compat.cc | 8 +++++++-
base/android/android_image_reader_compat.h | 4 ++++
chrome/browser/flag-metadata.json | 2 +-
chrome/browser/flag-metadata.json | 6 +++---
gpu/config/gpu_driver_bug_list.json | 16 ++++++++++++++++
gpu/config/gpu_finch_features.cc | 5 +++++
gpu/config/gpu_finch_features.h | 1 +
@ -30,7 +30,7 @@ See discussions at:
gpu/ipc/service/stream_texture_android.cc | 11 ++++++++++-
media/base/media_switches.cc | 4 ++++
media/base/media_switches.h | 1 +
12 files changed, 63 insertions(+), 3 deletions(-)
12 files changed, 65 insertions(+), 5 deletions(-)
diff --git a/base/android/android_image_reader_compat.cc b/base/android/android_image_reader_compat.cc
--- a/base/android/android_image_reader_compat.cc
@ -82,15 +82,19 @@ 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
@@ -2121,7 +2121,7 @@
@@ -2095,9 +2095,9 @@
"expiry_milestone": 100
},
{
"name": "enable-launcher-app-paging",
"owners": [ "//ash/app_list/OWNERS" ],
- "expiry_milestone": 95
- "name": "enable-image-reader",
- "owners": [ "vikassoni", "liberato" ],
- "expiry_milestone": 115
+ "name": "enable-image-reader", // Bromite: do not expire
+ "owners": [ "vikassoni", "liberato" ], // flag
+ "expiry_milestone": -1
},
{
"name": "enable-layout-ng",
"name": "enable-immersive-fullscreen-toolbar",
diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json
--- a/gpu/config/gpu_driver_bug_list.json
+++ b/gpu/config/gpu_driver_bug_list.json
@ -120,7 +124,7 @@ 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
@@ -51,6 +51,11 @@ bool IsDeviceBlocked(const char* field, const std::string& block_list) {
@@ -52,6 +52,11 @@ bool IsDeviceBlocked(const char* field, const std::string& block_list) {
} // namespace
#if defined(OS_ANDROID)
@ -156,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;
@@ -344,6 +347,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) {
@@ -356,6 +359,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) {
gpu_feature_info->status_values[GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION] =
kGpuFeatureStatusBlocklisted;
}
@ -225,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
@@ -663,6 +663,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
@@ -678,6 +678,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};
@ -239,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
@@ -219,6 +219,7 @@ MEDIA_EXPORT extern const base::Feature kForceHardwareAudioDecoders;
@@ -216,6 +216,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;
@ -247,6 +251,5 @@ diff --git a/media/base/media_switches.h b/media/base/media_switches.h
MEDIA_EXPORT extern const base::Feature kMediaDrmPreprovisioning;
MEDIA_EXPORT extern const base::Feature kMediaDrmPreprovisioningAtStartup;
MEDIA_EXPORT extern const base::Feature kCanPlayHls;
--
2.20.1
--
2.25.1

View file

@ -54,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
@@ -642,6 +642,11 @@ aom_mem_sources = [
@@ -643,6 +643,11 @@ aom_mem_sources = [
aom_ports_asm_x86 = [ "//third_party/libaom/source/libaom/aom_ports/float.asm" ]
@ -210,6 +210,5 @@ diff --git a/third_party/libaom/source/config/linux/x64/config/aom_config.h b/th
#define CONFIG_RD_COMMAND 0
#define CONFIG_RD_DEBUG 0
#define CONFIG_REALTIME_ONLY 1
--
2.20.1
--
2.25.1

View file

@ -18,7 +18,7 @@ Subject: Add AllowUserCertificates flag
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -226,6 +226,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
@@ -227,6 +227,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;
@ -26,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;
@@ -981,6 +982,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -990,6 +991,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
UpdateMenuItemHelper.getInstance().onStart();
ChromeActivitySessionTracker.getInstance().onStartWithNative();
ChromeCachedFlags.getInstance().cacheNativeFlags();
@ -38,7 +38,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/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
@@ -90,6 +90,7 @@ public class ChromeCachedFlags {
@@ -91,6 +91,7 @@ public class ChromeCachedFlags {
add(ChromeFeatureList
.GIVE_JAVA_UI_THREAD_DEFAULT_TASK_TRAITS_USER_BLOCKING_PRIORITY);
add(ChromeFeatureList.IMMERSIVE_UI_MODE);
@ -49,7 +49,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/Chrom
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -2874,6 +2874,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2903,6 +2903,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kCSSContainerQueriesDescription, kOsAll,
FEATURE_VALUE_TYPE(blink::features::kCSSContainerQueries)},
#if defined(OS_ANDROID)
@ -91,7 +91,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
@@ -150,6 +150,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -153,6 +153,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedSignInPromoDismiss,
&feed::kInterestFeedContentSuggestions,
&feed::kInterestFeedSpinnerAlwaysAnimate,
@ -99,7 +99,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&feed::kInterestFeedV1ClicksAndViewsConditionalUpload,
&feed::kInterestFeedV2,
&feed::kInterestFeedV2Autoplay,
@@ -387,6 +388,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{
@@ -392,6 +393,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{
"AdaptiveButtonInTopToolbarCustomizationV2",
base::FEATURE_DISABLED_BY_DEFAULT};
@ -164,6 +164,5 @@ diff --git a/net/android/java/src/org/chromium/net/X509Util.java b/net/android/j
return new AndroidCertVerifyResult(CertVerifyStatusAndroid.OK,
isIssuedByKnownRoot, verifiedChain);
}
--
2.20.1
--
2.25.1

View file

@ -9,7 +9,7 @@ Subject: Add Alt+D hotkey to focus address bar
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
@@ -156,6 +156,8 @@ public class KeyboardShortcuts {
@@ -154,6 +154,8 @@ public class KeyboardShortcuts {
KeyEvent.KEYCODE_F, KeyEvent.META_CTRL_ON);
addShortcut(context, chromeFeatureShortcutGroup, R.string.keyboard_shortcut_address_bar,
KeyEvent.KEYCODE_L, KeyEvent.META_CTRL_ON);

File diff suppressed because it is too large Load diff

View file

@ -14,7 +14,7 @@ Subject: Add IsCleartextPermitted flag
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
@@ -7783,6 +7783,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -7817,6 +7817,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(
chrome::android::kBookmarksExportUseSaf)},
@ -29,7 +29,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
@@ -1507,6 +1507,10 @@ const char kHttpsOnlyModeDescription[] =
@@ -1474,6 +1474,10 @@ const char kHttpsOnlyModeDescription[] =
"Adds a setting under chrome://settings/security to opt-in to HTTPS-First "
"Mode.";
@ -43,7 +43,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
@@ -867,6 +867,9 @@ extern const char kHostedAppShimCreationDescription[];
@@ -846,6 +846,9 @@ extern const char kHideShelfControlsInTabletModeDescription[];
extern const char kHttpsOnlyModeName[];
extern const char kHttpsOnlyModeDescription[];
@ -56,8 +56,8 @@ 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
@@ -89,6 +89,9 @@ const base::FeatureParam<int> kUseDnsHttpsSvcbExtraTimePercent{
const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
@@ -92,6 +92,9 @@ const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
const base::Feature kEncryptedClientHello{"EncryptedClientHello",
base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kIsCleartextPermitted{"IsCleartextPermitted",
@ -69,9 +69,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
@@ -37,6 +37,8 @@ NET_EXPORT extern const base::Feature kCapReferrerToOriginOnCrossOrigin;
// Enables TLS 1.3 early data.
NET_EXPORT extern const base::Feature kEnableTLS13EarlyData;
@@ -34,6 +34,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;
+NET_EXPORT extern const base::Feature kIsCleartextPermitted;
+
@ -92,6 +92,5 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
// Check whether the app allows cleartext traffic to this host, and return
// ERR_CLEARTEXT_NOT_PERMITTED if not.
if (request->context()->check_cleartext_permitted() &&
--
2.20.1
--
2.25.1

View file

@ -17,7 +17,7 @@ See also:
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
@@ -7538,6 +7538,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -7535,6 +7535,12 @@ const FeatureEntry kFeatureEntries[] = {
"AndroidDynamicColor")},
#endif // defined(OS_ANDROID)
@ -33,7 +33,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -712,6 +712,11 @@ const char kEnableAutofillCreditCardAuthenticationDescription[] =
@@ -700,6 +700,11 @@ const char kEnableAutofillCreditCardAuthenticationDescription[] =
"authenticator (if available) to verify card ownership when retrieving "
"credit cards from Google Payments.";
@ -48,7 +48,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
@@ -446,6 +446,9 @@ extern const char kEnableAutofillSaveCardInfoBarAccountIndicationFooterName[];
@@ -440,6 +440,9 @@ extern const char kEnableAutofillSaveCardInfoBarAccountIndicationFooterName[];
extern const char
kEnableAutofillSaveCardInfoBarAccountIndicationFooterDescription[];
@ -75,7 +75,7 @@ diff --git a/chrome/browser/flags/android/java_templates/ChromeSwitches.java.tmp
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -335,6 +335,9 @@ const char kHomePage[] = "homepage";
@@ -332,6 +332,9 @@ const char kHomePage[] = "homepage";
// Causes the browser to launch directly in incognito mode.
const char kIncognito[] = "incognito";
@ -88,7 +88,7 @@ diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
@@ -110,6 +110,7 @@ extern const char kForceStackedTabStripLayout[];
@@ -109,6 +109,7 @@ extern const char kForceFirstRun[];
extern const char kHideCrashRestoreBubble[];
extern const char kHomePage[];
extern const char kIncognito[];
@ -96,6 +96,5 @@ diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
extern const char kInstallAutogeneratedTheme[];
extern const char kInstallChromeApp[];
extern const char kInstantProcess[];
--
2.20.1
--
2.25.1

View file

@ -70,7 +70,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
@@ -52,6 +52,7 @@ import org.chromium.ui.text.SpanApplier;
@@ -51,6 +51,7 @@ import org.chromium.ui.text.SpanApplier;
public class PrivacySettings
extends PreferenceFragmentCompat implements Preference.OnPreferenceChangeListener,
INeedSnackbarManager {
@ -81,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
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
@@ -374,6 +374,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
@@ -280,6 +280,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
#endif
@ -173,7 +173,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
@@ -164,6 +164,8 @@
@@ -160,6 +160,8 @@
#include "printing/buildflags/buildflags.h"
#include "rlz/buildflags/buildflags.h"
@ -182,7 +182,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
@@ -960,6 +962,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -981,6 +983,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
PluginsResourceService::RegisterPrefs(registry);
#endif
@ -647,7 +647,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
#include "chrome/browser/ui/webui/quota_internals/quota_internals_ui.h"
#include "chrome/browser/ui/webui/signin_internals_ui.h"
#include "chrome/browser/ui/webui/support_tool_ui.h"
@@ -644,6 +645,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -647,6 +648,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<MemoryInternalsUI>;
if (url.host_piece() == chrome::kChromeUINetExportHost)
return &NewWebUI<NetExportUI>;
@ -1138,7 +1138,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
kChromeUIOobeHost,
kChromeUIOSCreditsHost,
kChromeUIOSSettingsHost,
@@ -584,6 +587,7 @@ const char* const kChromeHostURLs[] = {
@@ -582,6 +585,7 @@ const char* const kChromeHostURLs[] = {
#if !defined(OS_ANDROID)
#if !BUILDFLAG(IS_CHROMEOS_ASH)
kChromeUIAppLauncherPageHost,
@ -1149,7 +1149,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
@@ -127,6 +127,8 @@ extern const char kChromeUIMemoryInternalsHost[];
@@ -125,6 +125,8 @@ extern const char kChromeUIMemoryInternalsHost[];
extern const char kChromeUINTPTilesInternalsHost[];
extern const char kChromeUINaClHost[];
extern const char kChromeUINetExportHost[];
@ -1388,6 +1388,5 @@ diff --git a/net/proxy_resolution/proxy_config.h b/net/proxy_resolution/proxy_co
// Returns one of {&proxies_for_http, &proxies_for_https, &proxies_for_ftp,
// &fallback_proxies}, or NULL if there is no proxy to use.
--
2.20.1
--
2.25.1

View file

@ -153,7 +153,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;
@@ -1770,8 +1771,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1760,8 +1761,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
Bundle savedInstanceState = getSavedInstanceState();
// We determine the model as soon as possible so every systems get initialized coherently.
@ -176,7 +176,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;
@@ -1891,6 +1892,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1910,6 +1911,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
throw new IllegalStateException(
"Attempting to access TabCreator before initialization");
}
@ -189,7 +189,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
@@ -538,6 +538,12 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -515,6 +515,12 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) {
@ -301,7 +301,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/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
@@ -34,6 +34,9 @@ import org.chromium.content_public.browser.WebContents;
@@ -38,6 +38,9 @@ import org.chromium.network.mojom.ReferrerPolicy;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.url.GURL;
@ -311,7 +311,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTab
/**
* 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.
@@ -185,17 +188,22 @@ public class StartupTabPreloader implements ProfileManager.Observer, DestroyObse
@@ -349,17 +352,22 @@ public class StartupTabPreloader implements ProfileManager.Observer, DestroyObse
Intent intent = mIntentSupplier.get();
GURL url = UrlFormatter.fixupUrl(getUrlFromIntent(intent));
@ -340,18 +340,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/StartupTab
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
@@ -29,6 +29,10 @@ import org.chromium.chrome.browser.profiles.Profile;
@@ -27,6 +27,10 @@ import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsFragmen
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
+import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
+import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
+import org.chromium.chrome.browser.ApplicationLifetime;
import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
import org.chromium.components.browser_ui.settings.SettingsLauncher;
@@ -43,7 +47,12 @@ import org.chromium.ui.text.SpanApplier;
@@ -42,7 +46,12 @@ import org.chromium.ui.text.SpanApplier;
* Fragment to keep track of the all the privacy related preferences.
*/
public class PrivacySettings
@ -365,7 +365,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
private static final String PREF_NETWORK_PREDICTIONS = "preload_pages";
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
@@ -96,6 +105,25 @@ public class PrivacySettings
@@ -99,6 +108,25 @@ public class PrivacySettings
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
canMakePaymentPref.setOnPreferenceChangeListener(this);
@ -391,7 +391,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
ChromeSwitchPreference networkPredictionPref =
(ChromeSwitchPreference) findPreference(PREF_NETWORK_PREDICTIONS);
networkPredictionPref.setChecked(
@@ -156,6 +184,9 @@ public class PrivacySettings
@@ -130,6 +158,9 @@ public class PrivacySettings
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
PrivacyPreferencesManagerImpl.getInstance().setNetworkPredictionEnabled(
(boolean) newValue);
@ -401,7 +401,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue);
@@ -238,4 +269,8 @@ public class PrivacySettings
@@ -208,4 +239,8 @@ public class PrivacySettings
}
return false;
}
@ -434,7 +434,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
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
@@ -121,6 +121,8 @@ import org.chromium.ui.base.DeviceFormFactor;
@@ -120,6 +120,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;
@ -443,7 +443,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
/**
* A {@link RootUiCoordinator} variant that controls tabbed-mode specific UI.
@@ -483,11 +485,13 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -494,11 +496,13 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
// TODO(twellington): Supply TabModelSelector as well and move initialization earlier.
if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) {
@ -608,7 +608,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
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
@@ -455,7 +455,7 @@ const base::Feature kCCTIncognito{"CCTIncognito",
@@ -460,7 +460,7 @@ const base::Feature kCCTIncognito{"CCTIncognito",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kCCTIncognitoAvailableToThirdParty{
@ -683,6 +683,5 @@ new file mode 100644
+public interface INeedSnackbarManager {
+ void setSnackbarManager(SnackbarManager manager);
+}
--
2.20.1
--
2.25.1

View file

@ -19,7 +19,7 @@ Completely remove contacts picker permission from the file dialog
.../browser/bookmarks/BookmarkManager.java | 22 ++
.../browser/bookmarks/BookmarkPage.java | 8 +-
.../native_page/NativePageFactory.java | 11 +-
chrome/browser/BUILD.gn | 7 +
chrome/browser/BUILD.gn | 11 +-
chrome/browser/about_flags.cc | 6 +
.../android/bookmarks/bookmark_bridge.cc | 284 ++++++++++++++++++
.../android/bookmarks/bookmark_bridge.h | 29 +-
@ -44,7 +44,7 @@ Completely remove contacts picker permission from the file dialog
ui/shell_dialogs/select_file_dialog.h | 2 +
.../select_file_dialog_android.cc | 6 +
ui/shell_dialogs/select_file_dialog_android.h | 2 +
38 files changed, 889 insertions(+), 27 deletions(-)
38 files changed, 891 insertions(+), 29 deletions(-)
diff --git a/base/android/content_uri_utils.cc b/base/android/content_uri_utils.cc
--- a/base/android/content_uri_utils.cc
@ -196,7 +196,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
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
@@ -85,6 +85,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -86,6 +86,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
} else if (menuItem.getItemId() == R.id.search_menu_id) {
mDelegate.openSearchUI();
return true;
@ -209,7 +209,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
SelectionDelegate<BookmarkId> selectionDelegate = mDelegate.getSelectionDelegate();
@@ -136,6 +142,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -137,6 +143,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
void showLoadingUi() {
setTitle(null);
setNavigationButton(NAVIGATION_BUTTON_NONE);
@ -218,7 +218,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.search_menu_id).setVisible(false);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -145,6 +153,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -146,6 +154,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
super.showNormalView();
if (mDelegate == null) {
@ -227,7 +227,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.search_menu_id).setVisible(false);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -175,6 +185,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -176,6 +186,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
@ -330,7 +330,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import android.text.TextUtils;
import android.util.Pair;
@@ -30,8 +43,33 @@ import org.chromium.components.url_formatter.UrlFormatter;
@@ -32,8 +45,33 @@ import org.chromium.components.url_formatter.UrlFormatter;
import org.chromium.content_public.browser.WebContents;
import org.chromium.url.GURL;
@ -364,7 +364,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* Provides the communication channel for Android to fetch and manipulate the
@@ -588,6 +626,209 @@ public class BookmarkBridge {
@@ -614,6 +652,209 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, id.getId(), id.getType());
}
@ -574,7 +574,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.
@@ -1100,6 +1341,39 @@ public class BookmarkBridge {
@@ -1132,6 +1373,39 @@ public class BookmarkBridge {
depthList.add(depth);
}
@ -614,7 +614,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++) {
@@ -1167,6 +1441,9 @@ public class BookmarkBridge {
@@ -1202,6 +1476,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);
@ -786,7 +786,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -1843,6 +1843,13 @@ static_library("browser") {
@@ -1855,6 +1855,13 @@ static_library("browser") {
"window_placement/window_placement_permission_context.h",
]
@ -800,12 +800,30 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
configs += [
"//build/config/compiler:wexit_time_destructors",
"//build/config:precompiled_headers",
@@ -2989,6 +2996,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",
"browser_process_platform_part_android.cc",
"browser_process_platform_part_android.h",
"chrome_browser_field_trials_mobile.cc",
@@ -3618,8 +3627,6 @@ static_library("browser") {
"badging/badge_manager_factory.h",
"banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h",
- "bookmarks/bookmark_html_writer.cc",
- "bookmarks/bookmark_html_writer.h",
"cart/cart_db.cc",
"cart/cart_db.h",
"cart/cart_discount_fetcher.cc",
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -7733,6 +7733,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(ui::kLibinputHandleTouchpad)},
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -7770,6 +7770,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(ash::features::kDesksTemplates)},
#endif
+ {"export-bookmarks-use-saf",
+ flag_descriptions::kBookmarksExportUseSafName,
@ -943,10 +961,10 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
+};
+
+
const int kInvalidId = -1;
class BookmarkTitleComparer {
@@ -156,6 +260,10 @@ BookmarkBridge::~BookmarkBridge() {
public:
explicit BookmarkTitleComparer(BookmarkBridge* bookmark_bridge,
@@ -154,6 +258,10 @@ BookmarkBridge::~BookmarkBridge() {
if (partner_bookmarks_shim_)
partner_bookmarks_shim_->RemoveObserver(this);
reading_list_manager_->RemoveObserver(this);
@ -957,7 +975,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
}
void BookmarkBridge::Destroy(JNIEnv*, const JavaParamRef<jobject>&) {
@@ -547,6 +655,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
@@ -571,6 +679,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
return count;
}
@ -1184,7 +1202,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
jboolean IsEditBookmarksEnabled(JNIEnv* env);
void LoadEmptyPartnerBookmarkShimForTesting(
@@ -146,6 +157,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -156,6 +167,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
jlong id,
jint type);
@ -1200,7 +1218,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
void SetBookmarkTitle(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
jlong id,
@@ -347,12 +367,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -359,12 +379,15 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
void DestroyJavaObject();
Profile* profile_;
@ -1216,7 +1234,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.h b/chrome/browser
// Information about the Partner bookmarks (must check for IsLoaded()).
// This is owned by profile.
@@ -363,6 +386,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -375,6 +398,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
// Observes the profile destruction and creation.
base::ScopedObservation<Profile, ProfileObserver> profile_observation_{this};
@ -1322,7 +1340,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -5474,6 +5474,11 @@ const char kWebKioskEnableLacrosDescription[] =
@@ -5468,6 +5468,11 @@ const char kWebKioskEnableLacrosDescription[] =
"Chrome OS. When disabled, the Ash-chrome will be used";
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@ -1337,7 +1355,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
@@ -3185,6 +3185,9 @@ extern const char kWebKioskEnableLacrosName[];
@@ -3193,6 +3193,9 @@ extern const char kWebKioskEnableLacrosName[];
extern const char kWebKioskEnableLacrosDescription[];
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@ -1350,7 +1368,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
@@ -174,6 +174,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -177,6 +177,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kBackgroundThreadPool,
&kBentoOffline,
&kBookmarkBottomSheet,
@ -1358,7 +1376,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kCastDeviceFilter,
&kCloseTabSuggestions,
&kCriticalPersistedTabData,
@@ -824,6 +825,10 @@ const base::Feature kWebApkInstallCompleteNotification{
@@ -829,6 +830,10 @@ const base::Feature kWebApkInstallCompleteNotification{
const base::Feature kWebApkTrampolineOnInitialIntent{
"WebApkTrampolineOnInitialIntent", base::FEATURE_ENABLED_BY_DEFAULT};
@ -1383,7 +1401,7 @@ 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
@@ -552,6 +552,7 @@ public abstract class ChromeFeatureList {
@@ -560,6 +560,7 @@ public abstract class ChromeFeatureList {
"WebApkTrampolineOnInitialIntent";
public static final String XSURFACE_METRICS_REPORTING = "XsurfaceMetricsReporting";
public static final String WEB_OTP_CROSS_DEVICE_SIMPLE_STRING = "WebOtpCrossDeviceSimpleString";
@ -1452,7 +1470,7 @@ diff --git a/chrome/browser/importer/profile_writer.h b/chrome/browser/importer/
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -121,6 +121,8 @@ public final class ChromePreferenceKeys {
@@ -122,6 +122,8 @@ public final class ChromePreferenceKeys {
public static final String BOOKMARKS_LAST_USED_URL = "enhanced_bookmark_last_used_url";
public static final String BOOKMARKS_LAST_USED_PARENT =
"enhanced_bookmark_last_used_parent_folder";
@ -1461,7 +1479,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/**
* Whether Chrome is set as the default browser.
@@ -1042,6 +1044,7 @@ public final class ChromePreferenceKeys {
@@ -1049,6 +1051,7 @@ public final class ChromePreferenceKeys {
AUTOFILL_ASSISTANT_PROACTIVE_HELP,
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
@ -1500,7 +1518,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
@@ -414,6 +414,9 @@ static_library("common") {
@@ -415,6 +415,9 @@ static_library("common") {
sources += [
"media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h",
@ -1764,6 +1782,5 @@ diff --git a/ui/shell_dialogs/select_file_dialog_android.h b/ui/shell_dialogs/se
protected:
~SelectFileDialogImpl() override;
--
2.20.1
--
2.25.1

View file

@ -124,8 +124,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
--- 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
@@ -94,6 +94,9 @@ public class PrivacySettings
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
+ private ChromeSwitchPreference allowCustomTabIntentsPref;
+ private ChromeSwitchPreference openExternalLinksPref;
@ -133,8 +133,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
PrivacyPreferencesManagerImpl privacyPrefManager =
@@ -232,6 +235,9 @@ public class PrivacySettings
incognitoReauthPreference.setChecked(lastPrefValue);
@@ -206,6 +209,9 @@ public class PrivacySettings
updatePreferences();
}
+ public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
@ -143,10 +143,10 @@ 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();
@@ -266,6 +272,14 @@ public class PrivacySettings
} else if (PREF_INCOGNITO_TAB_HISTORY_ENABLED.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED, (boolean) newValue);
@@ -225,6 +231,14 @@ public class PrivacySettings
} else if (PREF_AUTOFILL_ASSISTANT.equals(key)) {
mSharedPreferencesManager.writeBoolean(
ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, (boolean) newValue);
+ } else if (PREF_ALLOW_CUSTOM_TAB_INTENTS.equals(key)) {
+ SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
+ sharedPreferencesEditor.putBoolean(PREF_ALLOW_CUSTOM_TAB_INTENTS, (boolean)newValue);
@ -155,10 +155,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+ SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
+ sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue);
+ sharedPreferencesEditor.apply();
}
return true;
@@ -301,6 +315,16 @@ public class PrivacySettings
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
PrivacyPreferencesManagerImpl.getInstance().setNetworkPredictionEnabled(
(boolean) newValue);
@@ -260,6 +274,16 @@ public class PrivacySettings
canMakePaymentPref.setChecked(prefService.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
}
@ -194,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
@@ -4615,6 +4615,21 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4622,6 +4622,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>
@ -216,6 +216,5 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Autofill Assistant preferences -->
<!-- TODO(b/168178344): Move to Assistant settings strings section below. -->
--
2.20.1
--
2.25.1

View file

@ -14,7 +14,7 @@ Corrected Exit functionality
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
@@ -150,6 +150,9 @@
@@ -147,6 +147,9 @@
android:icon="@drawable/gm_filled_cardboard_24" />
<item android:id="@+id/managed_by_menu_id"
android:title="@string/managed" />
@ -24,7 +24,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
</group>
<!-- Items shown only in the tab switcher -->
@@ -176,6 +179,9 @@
@@ -173,6 +176,9 @@
<item android:id="@id/preferences_id"
android:title="@string/menu_settings"
android:icon="@drawable/settings_cog" />
@ -46,7 +46,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.
@@ -2032,6 +2034,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2022,6 +2024,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
} else if (id == R.id.close_tab) {
getCurrentTabModel().closeTab(currentTab, true, false, true);
RecordUserAction.record("MobileTabClosed");
@ -66,7 +66,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;
@@ -2316,6 +2317,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2346,6 +2347,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true;
}
@ -97,7 +97,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
@@ -3229,6 +3229,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3222,6 +3222,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>
@ -107,6 +107,5 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_MENU_READER_MODE_PREFS" desc="Menu item to show reader mode preferences pane, which allows users to change the appearance (font size, theme, etc.) of the page. [CHAR_LIMIT=27]">
Appearance
</message>
--
2.20.1
--
2.25.1

View file

@ -15,7 +15,7 @@ and internal chrome:// pages will be used for the autocomplete results.
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -459,6 +459,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
@@ -474,6 +474,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
base::size(kReaderModeOfferInSettings), nullptr}};
#endif // OS_ANDROID
@ -38,7 +38,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#if defined(OS_ANDROID)
const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNone[] = {
{"mode", "always-none"}};
@@ -4916,6 +4932,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5008,6 +5024,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
#endif // !defined(OS_ANDROID)
@ -133,6 +133,5 @@ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/ur
url.append(kChromeUIDefaultHost);
FixupPort(trimmed, parts.port, &url);
FixupPath(trimmed, parts.path, &url);
--
2.20.1
--
2.25.1

View file

@ -14,7 +14,7 @@ Subject: Add flag for save-data-header
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
@@ -4655,6 +4655,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4735,6 +4735,9 @@ const FeatureEntry kFeatureEntries[] = {
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
#if defined(OS_ANDROID)
@ -27,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
@@ -1111,6 +1111,10 @@ const char kDisableKeepaliveFetchDescription[] =
@@ -1096,6 +1096,10 @@ const char kDisableKeepaliveFetchDescription[] =
"Disable fetch with keepalive set "
"(https://fetch.spec.whatwg.org/#request-keepalive-flag).";
@ -41,7 +41,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
@@ -605,6 +605,9 @@ extern const char kDiagnosticsAppNavigationDescription[];
@@ -596,6 +596,9 @@ extern const char kDiagnosticsAppNavigationDescription[];
extern const char kDisableKeepaliveFetchName[];
extern const char kDisableKeepaliveFetchDescription[];
@ -70,7 +70,7 @@ diff --git a/content/browser/loader/browser_initiated_resource_request.cc b/cont
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
@@ -141,6 +141,10 @@ const base::FeatureParam<std::string>
@@ -134,6 +134,10 @@ const base::FeatureParam<std::string>
"DisabledProviders", ""};
// Disable special treatment on requests with keepalive set (see
@ -84,7 +84,7 @@ 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
@@ -54,6 +54,8 @@ extern const base::FeatureParam<std::string>
@@ -52,6 +52,8 @@ extern const base::FeatureParam<std::string>
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kDisableKeepaliveFetch;
@ -93,6 +93,5 @@ diff --git a/services/network/public/cpp/features.h b/services/network/public/cp
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kTrustTokens;
--
2.20.1
--
2.25.1

View file

@ -19,7 +19,7 @@ with limited CPU/memory resources and it is disabled by default.
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -849,6 +849,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
@@ -862,6 +862,11 @@ const FeatureEntry::Choice kForceEffectiveConnectionTypeChoices[] = {
net::kEffectiveConnectionType4G},
};
@ -31,7 +31,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
// Ensure that all effective connection types returned by Network Quality
// Estimator (NQE) are also exposed via flags.
static_assert(net::EFFECTIVE_CONNECTION_TYPE_LAST + 2 ==
@@ -3918,6 +3923,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3988,6 +3993,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kAndroidPictureInPictureAPIName,
flag_descriptions::kAndroidPictureInPictureAPIDescription, kOsAndroid,
FEATURE_VALUE_TYPE(media::kPictureInPictureAPI)},
@ -44,9 +44,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1626,6 +1626,10 @@ const char kMediaHistoryDescription[] =
"Enables Media History which records data around media playbacks on "
"websites.";
@@ -1585,6 +1585,10 @@ const char kLogJsConsoleMessagesDescription[] =
"Enable logging JS console messages in system logs, please note that they "
"may contain PII.";
+const char kMaxConnectionsPerHostName[] = "Maximum connections per host";
+const char kMaxConnectionsPerHostDescription[] =
@ -58,9 +58,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
@@ -933,6 +933,9 @@ extern const char kLogJsConsoleMessagesDescription[];
extern const char kMediaHistoryName[];
extern const char kMediaHistoryDescription[];
@@ -909,6 +909,9 @@ extern const char kLiteVideoForceOverrideDecisionDescription[];
extern const char kLogJsConsoleMessagesName[];
extern const char kLogJsConsoleMessagesDescription[];
+extern const char kMaxConnectionsPerHostName[];
+extern const char kMaxConnectionsPerHostDescription[];
@ -110,7 +110,7 @@ diff --git a/components/network_session_configurator/common/network_switch_list.
diff --git a/components/url_formatter/spoof_checks/top_domains/BUILD.gn b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
--- a/components/url_formatter/spoof_checks/top_domains/BUILD.gn
+++ b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
@@ -73,6 +73,7 @@ executable("make_top_domain_list_variables") {
@@ -89,6 +89,7 @@ executable("make_top_domain_list_variables") {
"//base:i18n",
"//components/url_formatter/spoof_checks/common_words:common",
"//third_party/icu",
@ -152,6 +152,5 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket
return g_max_sockets_per_group[pool_type];
}
--
2.20.1
--
2.25.1

View file

@ -13,7 +13,7 @@ Disable it by default on Android as it is everywhere else
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
@@ -2801,6 +2801,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2830,6 +2830,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebRtcRemoteEventLogName,
flag_descriptions::kWebRtcRemoteEventLogDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kWebRtcRemoteEventLog)},
@ -27,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
@@ -1196,6 +1196,11 @@ const char kEnablePenetratingImageSelectionDescription[] =
@@ -1185,6 +1185,11 @@ const char kEnablePenetratingImageSelectionDescription[] =
"Enables image options to be surfaced in the context menu for nodes "
"covered by transparent overlays.";
@ -42,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
@@ -673,6 +673,9 @@ extern const char kEnablePortalsDescription[];
@@ -664,6 +664,9 @@ extern const char kEnablePortalsDescription[];
extern const char kEnablePortalsCrossOriginName[];
extern const char kEnablePortalsCrossOriginDescription[];
@ -55,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
@@ -282,11 +282,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
@@ -283,11 +283,7 @@ const base::Feature kPreloadMetadataLazyLoad{"PreloadMetadataLazyLoad",
// when in background.
const base::Feature kResumeBackgroundVideo {
"resume-background-video",
@ -68,6 +68,5 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
};
// Experimental: Try to avoid destroying the media player when transferring a
--
2.20.1
--
2.25.1

View file

@ -16,7 +16,7 @@ Subject: Add flag to disable IPv6 probes
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
@@ -4892,6 +4892,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4987,6 +4987,11 @@ const FeatureEntry kFeatureEntries[] = {
#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ||
// defined(OS_CHROMEOS)
@ -31,7 +31,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
@@ -3124,6 +3124,10 @@ const char kContextualSearchRankerQueryDescription[] =
@@ -3083,6 +3083,10 @@ const char kContextualSearchRankerQueryDescription[] =
const char kContextualSearchSecondTapName[] =
"Contextual Search second tap triggering";
@ -45,7 +45,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -736,6 +736,9 @@ extern const char kEnableWasmLazyCompilationName[];
@@ -727,6 +727,9 @@ extern const char kEnableWasmLazyCompilationName[];
extern const char kEnableWasmLazyCompilationDescription[];
extern const char kEnableWasmTieringName[];
@ -88,7 +88,7 @@ diff --git a/components/subresource_filter/tools/BUILD.gn b/components/subresour
diff --git a/components/url_formatter/spoof_checks/top_domains/BUILD.gn b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
--- a/components/url_formatter/spoof_checks/top_domains/BUILD.gn
+++ b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
@@ -73,7 +73,8 @@ executable("make_top_domain_list_variables") {
@@ -89,7 +89,8 @@ executable("make_top_domain_list_variables") {
"//base:i18n",
"//components/url_formatter/spoof_checks/common_words:common",
"//third_party/icu",
@ -109,7 +109,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
#include "net/log/net_log_with_source.h"
#include "net/socket/client_socket_factory.h"
#include "net/socket/datagram_client_socket.h"
@@ -3695,8 +3696,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
@@ -3697,8 +3698,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
if (last_ipv6_probe_time_.is_null() ||
(tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
kIPv6ProbePeriodMs) {
@ -151,6 +151,5 @@ diff --git a/services/network/public/cpp/features.h b/services/network/public/cp
extern const base::Feature kReporting;
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::Feature kThrottleDelayable;
--
2.20.1
--
2.25.1

View file

@ -11,7 +11,7 @@ Subject: Add flag to disable WebGL
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
@@ -2736,6 +2736,9 @@ const FeatureEntry::FeatureVariation kWin11StyleMenusVariations[] = {
@@ -2771,6 +2771,9 @@ const FeatureEntry::FeatureVariation kWin11StyleMenusVariations[] = {
// When adding a new choice, add it to the end of the list.
const FeatureEntry kFeatureEntries[] = {
// Include generated flags for flag unexpiry; see //docs/flag_expiry.md and
@ -24,10 +24,10 @@ 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
@@ -690,6 +690,10 @@ const char kEnableAudioFocusEnforcementName[] = "Audio Focus Enforcement";
const char kEnableAudioFocusEnforcementDescription[] =
"Enables enforcement of a single media session having audio focus at "
"any one time. Requires #enable-media-session-service to be enabled too.";
@@ -678,6 +678,10 @@ const char kDocumentTransitionSlowdownFactorName[] =
const char kDocumentTransitionSlowdownFactorDescription[] =
"Slows down animations triggered by documentTransition JavaScript API for "
"debugging.";
+const char kDisableWebGLName[] = "WebGL";
+
+const char kDisableWebGLDescription[] = "Enable or disable all versions of WebGL";
@ -38,7 +38,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
@@ -380,6 +380,9 @@ extern const char kForceColorProfileSRGB[];
@@ -377,6 +377,9 @@ extern const char kForceColorProfileSRGB[];
extern const char kForceColorProfileP3[];
extern const char kForceColorProfileColorSpin[];
extern const char kForceColorProfileSCRGBLinear[];
@ -48,6 +48,5 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
extern const char kForceColorProfileHDR10[];
extern const char kForceColorProfileName[];
--
2.20.1
--
2.25.1

View file

@ -11,7 +11,7 @@ Subject: Add flag to disable external intent requests
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
@@ -2790,6 +2790,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2825,6 +2825,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebrtcCaptureMultiChannelApmName,
flag_descriptions::kWebrtcCaptureMultiChannelApmDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kWebRtcEnableCaptureMultiChannelApm)},
@ -24,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
@@ -3378,6 +3378,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
@@ -3349,6 +3349,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
const char kPhotoPickerVideoSupportDescription[] =
"Enables video files to be shown in the Photo Picker dialog";
@ -40,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
@@ -1948,6 +1948,9 @@ extern const char kQueryTilesNTPDescription[];
@@ -1939,6 +1939,9 @@ extern const char kQueryTilesNTPDescription[];
extern const char kQueryTilesOmniboxName[];
extern const char kQueryTilesOmniboxDescription[];
extern const char kQueryTilesSingleTierName[];
@ -50,6 +50,5 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
extern const char kQueryTilesSingleTierDescription[];
extern const char kQueryTilesEnableQueryEditingName[];
extern const char kQueryTilesEnableQueryEditingDescription[];
--
2.20.1
--
2.25.1

View file

@ -7,18 +7,18 @@ Subject: Add flag to disable vibration
chrome/browser/flag_descriptions.cc | 3 +++
chrome/browser/flag_descriptions.h | 3 +++
content/child/runtime_features.cc | 1 +
content/public/common/content_features.cc | 3 +++
content/public/common/content_features.cc | 4 ++++
content/public/common/content_features.h | 2 ++
third_party/blink/public/platform/web_runtime_features.h | 1 +
.../blink/renderer/modules/vibration/vibration_controller.cc | 3 +++
.../blink/renderer/platform/exported/web_runtime_features.cc | 4 ++++
.../blink/renderer/platform/runtime_enabled_features.json5 | 4 ++++
10 files changed, 28 insertions(+)
10 files changed, 29 insertions(+)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -6357,6 +6357,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -6361,6 +6361,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)},
#endif
@ -32,7 +32,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
@@ -5283,6 +5283,9 @@ const char kDefaultCalculatorWebAppDescription[] =
@@ -5267,6 +5267,9 @@ const char kDefaultCalculatorWebAppDescription[] =
"chrome app.";
#endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
@ -45,7 +45,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -3054,6 +3054,9 @@ extern const char kDefaultCalculatorWebAppName[];
@@ -3053,6 +3053,9 @@ extern const char kDefaultCalculatorWebAppName[];
extern const char kDefaultCalculatorWebAppDescription[];
#endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
@ -58,7 +58,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
--- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc
@@ -102,6 +102,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
@@ -103,6 +103,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
#if defined(OS_ANDROID)
if (command_line.HasSwitch(switches::kDisableMediaSessionAPI))
WebRuntimeFeatures::EnableMediaSession(false);
@ -69,21 +69,23 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -103,6 +103,9 @@ const base::Feature kBackForwardCacheMemoryControls {
@@ -113,7 +113,11 @@ const base::Feature kBackForwardCacheMemoryControls {
#endif
};
// Block subresource requests whose URLs contain embedded credentials (e.g.
+// Enables vibration; an user gesture will still be required if enabled.
+const base::Feature kVibration{"Vibration",
+ base::FEATURE_DISABLED_BY_DEFAULT};
+
// Block subresource requests whose URLs contain embedded credentials (e.g.
+// Enables vibration; an user gesture will still be required if enabled.
// `https://user:pass@example.com/resource`).
const base::Feature kBlockCredentialedSubresources{
"BlockCredentialedSubresources", base::FEATURE_ENABLED_BY_DEFAULT};
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
@@ -274,6 +274,8 @@ CONTENT_EXPORT extern const base::Feature kWarmUpNetworkProcess;
CONTENT_EXPORT extern const base::Feature kWebNfc;
@@ -289,6 +289,8 @@ extern const char kBigLittleSchedulingGpuMainBigParam[];
#endif // defined(OS_ANDROID)
+CONTENT_EXPORT extern const base::Feature kVibration;
@ -139,7 +141,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
@@ -1577,6 +1577,10 @@
@@ -1595,6 +1595,10 @@
name: "OrientationEvent",
status: {"Android": "stable"},
},
@ -150,6 +152,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
{
name: "OriginIsolationHeader",
status: "stable",
--
2.20.1
--
2.25.1

View file

@ -19,7 +19,7 @@ See also: https://github.com/bromite/bromite/pull/1427
.../browser/history/HistoryManager.java | 17 +-
.../chrome/browser/history/HistoryPage.java | 15 +
.../chrome/browser/ntp/RecentTabsManager.java | 8 +-
.../privacy/settings/PrivacySettings.java | 18 +
.../privacy/settings/PrivacySettings.java | 17 +
.../browser/tab/HistoricalTabSaver.java | 12 +-
.../browser/tabmodel/TabPersistentStore.java | 5 +-
.../history/Bromite_HistoryManagerTest.java | 112 ++++++
@ -46,7 +46,7 @@ See also: https://github.com/bromite/bromite/pull/1427
chrome/common/pref_names.cc | 5 +
chrome/common/pref_names.h | 4 +
chrome/test/BUILD.gn | 5 +
36 files changed, 1045 insertions(+), 38 deletions(-)
36 files changed, 1044 insertions(+), 38 deletions(-)
create mode 100644 chrome/android/javatests/src/org/chromium/chrome/browser/history/Bromite_HistoryManagerTest.java
create mode 100644 chrome/android/javatests/src/org/chromium/chrome/browser/privacy/settings/Bromite_PrivacySettingsFragmentTest_HistoryInAlwaysIncognito.java
create mode 100644 chrome/android/junit/src/org/chromium/chrome/browser/app/appmenu/Bromite_AppMenuPropertiesDelegateUnitTest.java
@ -56,7 +56,7 @@ See also: https://github.com/bromite/bromite/pull/1427
diff --git a/chrome/android/chrome_junit_test_java_sources.gni b/chrome/android/chrome_junit_test_java_sources.gni
--- a/chrome/android/chrome_junit_test_java_sources.gni
+++ b/chrome/android/chrome_junit_test_java_sources.gni
@@ -226,3 +226,7 @@ chrome_junit_test_java_sources = [
@@ -228,3 +228,7 @@ chrome_junit_test_java_sources = [
"junit/src/org/chromium/chrome/browser/webapps/WebappLauncherActivityTest.java",
"junit/src/org/chromium/chrome/browser/webapps/WebappRegistryTest.java",
]
@ -68,7 +68,7 @@ diff --git a/chrome/android/chrome_junit_test_java_sources.gni b/chrome/android/
diff --git a/chrome/android/chrome_test_java_sources.gni b/chrome/android/chrome_test_java_sources.gni
--- a/chrome/android/chrome_test_java_sources.gni
+++ b/chrome/android/chrome_test_java_sources.gni
@@ -653,3 +653,9 @@ chrome_test_java_sources = [
@@ -660,3 +660,9 @@ chrome_test_java_sources = [
if (enable_feed_v2) {
chrome_test_java_sources += [ "javatests/src/org/chromium/chrome/browser/ntp/NewTabPageColorWithFeedV2Test.java" ]
}
@ -96,7 +96,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/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
@@ -92,6 +92,10 @@ import java.util.ArrayList;
@@ -94,6 +94,10 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -108,7 +108,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.
@@ -153,6 +157,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
protected BookmarkBridge mBookmarkBridge;
private @StartSurfaceState int mStartSurfaceState;
protected Runnable mAppMenuInvalidator;
+ private PrefService sPrefServiceForTest;
@ -121,7 +121,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
/**
* Construct a new {@link AppMenuPropertiesDelegateImpl}.
* @param context The activity context.
@@ -539,7 +550,8 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -516,7 +527,8 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) {
@ -131,7 +131,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
final MenuItem newTabOption = menu.findItem(R.id.new_tab_menu_id);
if (newTabOption != null)
newTabOption.setVisible(false);
@@ -601,7 +613,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -578,7 +590,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
if (item.getItemId() == R.id.recent_tabs_menu_id) {
@ -148,7 +148,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
}
if (item.getItemId() == R.id.menu_group_tabs) {
item.setVisible(isMenuGroupTabsVisible);
@@ -811,7 +831,10 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -804,7 +824,10 @@ 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
@ -163,7 +163,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
@@ -170,6 +170,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -168,6 +168,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
downloadItemVisible = false;
openInChromeItemVisible = false;
}
@ -277,7 +277,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
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
@@ -87,15 +87,15 @@ public class RecentTabsManager implements SignInStateObserver,
@@ -76,15 +76,15 @@ public class RecentTabsManager implements SignInStateObserver,
*/
public RecentTabsManager(
Tab tab, Profile profile, Context context, Runnable showHistoryManager) {
@ -308,7 +308,7 @@ 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;
@@ -149,6 +150,11 @@ public class PrivacySettings
@@ -152,6 +153,11 @@ public class PrivacySettings
Preference secureDnsPref = findPreference(PREF_SECURE_DNS);
secureDnsPref.setVisible(SecureDnsSettings.isUiEnabled());
@ -320,26 +320,27 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
updatePreferences();
}
@@ -203,11 +209,16 @@ public class PrivacySettings
} else if (PREF_INCOGNITO_LOCK.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.INCOGNITO_REAUTHENTICATION_FOR_ANDROID, (boolean) newValue);
@@ -171,6 +177,9 @@ public class PrivacySettings
} else if (PREF_ALWAYS_INCOGNITO.equals(key)) {
if (!mSnackbarManager.isShowing())
mSnackbarManager.showSnackbar(mSnackbar);
+ } else if (PREF_INCOGNITO_TAB_HISTORY_ENABLED.equals(key)) {
+ UserPrefs.get(Profile.getLastUsedRegularProfile())
+ .setBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED, (boolean) newValue);
}
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue);
@@ -178,6 +187,7 @@ public class PrivacySettings
return true;
}
+ public static final String PREF_INCOGNITO_TAB_HISTORY_ENABLED = "incognito_history_enabled";
+
@Override
public void onResume() {
super.onResume();
@@ -249,6 +260,13 @@ public class PrivacySettings
closeTabsOnExitPref.setOnPreferenceChangeListener(this);
closeTabsOnExitPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
@@ -219,6 +229,13 @@ public class PrivacySettings
PrivacySandboxSettingsFragment.getStatusString(getContext()));
}
+ ChromeSwitchPreference historyInIncognitoPref =
+ (ChromeSwitchPreference) findPreference(PREF_INCOGNITO_TAB_HISTORY_ENABLED);
@ -348,7 +349,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+ prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED));
+ }
+
updateIncognitoReauthPreference();
mIncognitoLockSettings.updateIncognitoReauthPreferenceIfNeeded(getActivity());
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/HistoricalTabSaver.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/HistoricalTabSaver.java
@ -1277,7 +1278,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"
@@ -352,6 +355,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
@@ -357,6 +360,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
history::HistoryService* HistoryTabHelper::GetHistoryService() {
Profile* profile =
Profile::FromBrowserContext(web_contents()->GetBrowserContext());
@ -1291,7 +1292,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
if (profile->IsOffTheRecord())
return NULL;
@@ -359,6 +369,12 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
@@ -364,6 +374,12 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
profile, ServiceAccessType::IMPLICIT_ACCESS);
}
@ -1328,7 +1329,7 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor
private:
explicit HistoryTabHelper(content::WebContents* web_contents);
friend class content::WebContentsUserData<HistoryTabHelper>;
@@ -68,9 +75,6 @@ class HistoryTabHelper : public content::WebContentsObserver,
@@ -70,9 +77,6 @@ class HistoryTabHelper : public content::WebContentsObserver,
bool started_from_context_menu,
bool renderer_initiated) override;
@ -1571,7 +1572,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
@@ -216,6 +216,8 @@
@@ -214,6 +214,8 @@
#endif
#if defined(OS_ANDROID)
@ -1580,18 +1581,18 @@ 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"
@@ -1259,6 +1261,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -1276,6 +1278,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
variations::VariationsService::RegisterProfilePrefs(registry);
video_tutorials::RegisterPrefs(registry);
feed::prefs::RegisterFeedSharedProfilePrefs(registry);
+ HistoryTabHelper::RegisterProfilePrefs(registry);
feed::RegisterProfilePrefs(registry);
#else // defined(OS_ANDROID)
#else // defined(OS_ANDROID)
AppShortcutManager::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
@@ -31,8 +31,10 @@ java_library("junit") {
@@ -32,8 +32,10 @@ java_library("junit") {
deps = [
":java",
@ -1685,7 +1686,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
@@ -3276,6 +3276,11 @@ const char kShowCaretBrowsingDialog[] =
@@ -3298,6 +3298,11 @@ const char kShowCaretBrowsingDialog[] =
const char kLacrosLaunchSwitch[] = "lacros_launch_switch";
#endif
@ -1700,9 +1701,9 @@ 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
@@ -1201,6 +1201,10 @@ extern const char kLastWhatsNewVersion[];
extern const char kLensRegionSearchEnabled[];
#endif
@@ -1206,6 +1206,10 @@ extern const char kPrivacyReviewShowWelcomeCard[];
extern const char kCorsNonWildcardRequestHeadersSupport[];
+#if defined(OS_ANDROID)
+extern const char kIncognitoTabHistoryEnabled[];
@ -1714,7 +1715,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -4818,6 +4818,11 @@ test("unit_tests") {
@@ -4872,6 +4872,11 @@ test("unit_tests") {
]
}
@ -1726,6 +1727,5 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
if (is_android) {
sources += [
"../browser/android/bookmarks/partner_bookmarks_shim_unittest.cc",
--
2.20.1
--
2.25.1

View file

@ -40,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" />
@@ -173,6 +177,9 @@
@@ -170,6 +174,9 @@
<item android:id="@+id/menu_group_tabs"
android:title="@string/menu_group_tabs"
android:icon="@drawable/ic_widgets" />
@ -62,7 +62,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
@@ -2044,6 +2046,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2034,6 +2036,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
// Close both incognito and normal tabs
getTabModelSelector().closeAllTabs();
RecordUserAction.record("MobileMenuCloseAllTabs");
@ -71,7 +71,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
// Close only incognito tabs
getTabModelSelector().getModel(true).closeAllTabs();
@@ -2093,6 +2097,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2083,6 +2087,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
mTabModalHandler.onOmniboxFocusChanged(hasFocus);
}
@ -111,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;
@@ -36,6 +37,10 @@ import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
import org.chromium.chrome.browser.power_bookmarks.PowerBookmarkMeta;
@@ -38,6 +39,10 @@ import org.chromium.chrome.browser.power_bookmarks.PowerBookmarkType;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.read_later.ReadingListUtils;
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;
@ -122,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.url_formatter.SchemeDisplay;
@@ -76,6 +81,7 @@ import java.io.File;
@@ -78,6 +83,7 @@ import java.io.File;
* bookmark model stored in native.
*/
public class BookmarkBridge {
@ -130,7 +130,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private final Profile mProfile;
private boolean mIsDoingExtensiveChanges;
private long mNativeBookmarkBridge;
@@ -557,6 +563,16 @@ public class BookmarkBridge {
@@ -567,6 +573,16 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this);
}
@ -147,16 +147,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @return Id representing the special "other" folder from bookmark model.
*/
@@ -1178,6 +1194,49 @@ public class BookmarkBridge {
@@ -1210,6 +1226,49 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, title, url);
}
+ // Used to bookmark all tabs in a specific folder, created if not existing
+ public BookmarkId addToTabsCollection(Context context, Tab tab) {
+ BookmarkId parent = getTabsCollectionFolderId();
+ long existingId = getUserBookmarkIdForTab(tab);
+ if (existingId != BookmarkId.INVALID_ID) {
+ BookmarkId existingBookmarkId = new BookmarkId(existingId, BookmarkType.NORMAL);
+ BookmarkId existingId = getUserBookmarkIdForTab(tab);
+ if (existingId != null && existingId.getId() != BookmarkId.INVALID_ID) {
+ BookmarkId existingBookmarkId = new BookmarkId(existingId.getId(), BookmarkType.NORMAL);
+ BookmarkItem existingBookmark = getBookmarkById(existingBookmarkId);
+ if (parent.equals(existingBookmark.getParentId())) {
+ // bookmark already exists in the tabs collection folder
@ -197,7 +197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @param url The URL of the reading list item.
* @return The reading list item with the URL, or null if no such reading list item.
@@ -1434,6 +1493,7 @@ public class BookmarkBridge {
@@ -1467,6 +1526,7 @@ public class BookmarkBridge {
void getAllFoldersWithDepths(long nativeBookmarkBridge, BookmarkBridge caller,
List<BookmarkId> folderList, List<Integer> depthList);
BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
@ -208,7 +208,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
@@ -595,6 +595,7 @@ public class BookmarkUtils {
@@ -633,6 +633,7 @@ public class BookmarkUtils {
List<BookmarkId> topLevelFolders = new ArrayList<>();
BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId();
BookmarkId mobileNodeId = bookmarkModel.getMobileFolderId();
@ -216,7 +216,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
BookmarkId othersNodeId = bookmarkModel.getOtherFolderId();
List<BookmarkId> specialFoldersIds =
@@ -620,6 +621,9 @@ public class BookmarkUtils {
@@ -658,6 +659,9 @@ public class BookmarkUtils {
if (bookmarkModel.isFolderVisible(mobileNodeId)) {
topLevelFolders.add(mobileNodeId);
}
@ -229,7 +229,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
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
@@ -428,6 +428,11 @@ void BookmarkBridge::GetTopLevelFolderIDs(
@@ -429,6 +429,11 @@ void BookmarkBridge::GetTopLevelFolderIDs(
top_level_folders.push_back(node.get());
}
@ -241,7 +241,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
for (const auto& node : bookmark_model_->bookmark_bar_node()->children()) {
if (node->is_folder())
top_level_folders.push_back(node.get());
@@ -466,6 +471,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
@@ -477,6 +482,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
// Vector to temporarily contain all child bookmarks at same level for sorting
std::vector<const BookmarkNode*> bookmarks = {
bookmark_model_->mobile_node(),
@ -249,7 +249,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
bookmark_model_->bookmark_bar_node(),
bookmark_model_->other_node(),
};
@@ -520,6 +526,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId(
@@ -531,6 +537,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId(
return folder_id_obj;
}
@ -270,7 +270,7 @@ diff --git a/chrome/browser/android/bookmarks/bookmark_bridge.cc b/chrome/browse
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
@@ -114,6 +114,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -118,6 +118,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj);
@ -349,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
@@ -3312,6 +3312,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3305,6 +3305,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>
@ -695,6 +695,5 @@ diff --git a/components/sync_bookmarks/bookmark_specifics_conversions.cc b/compo
DCHECK(node->is_folder());
return sync_pb::BookmarkSpecifics::FOLDER;
}
--
2.20.1
--
2.25.1

View file

@ -28,7 +28,7 @@ diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml
@@ -103,6 +103,9 @@
@@ -100,6 +100,9 @@
<item android:id="@+id/add_to_homescreen_id"
android:title="@string/menu_add_to_homescreen"
android:icon="@drawable/ic_add_to_home_screen" />
@ -41,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
@@ -2067,6 +2067,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2057,6 +2057,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
}
RecordUserAction.record("MobileMenuDownloadManager");
@ -53,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
@@ -2451,6 +2451,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2488,6 +2488,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true;
}
@ -68,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
@@ -511,6 +511,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -493,6 +493,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
isChromeScheme, isFileScheme, isContentScheme, isIncognito, url));
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isChromeScheme);
@ -76,8 +76,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
updateAutoDarkMenuItem(menu, currentTab, isChromeScheme);
@@ -1027,6 +1028,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
@@ -1074,6 +1075,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
readingListMenuItemEdit.setVisible(readingListItemExists);
}
+ /**
@ -99,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
@@ -217,6 +217,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -212,6 +212,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
updateRequestDesktopSiteMenuItem(
menu, currentTab, requestDesktopSiteVisible, isChromeScheme);
@ -121,6 +121,5 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_UNSUPPORTED" desc="Message displayed to the user when an attempted action is not supported.">
Unsupported
</message>
--
2.20.1
--
2.25.1

View file

@ -67,7 +67,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -516,6 +516,7 @@ public final class ChromePreferenceKeys {
@@ -510,6 +510,7 @@ public final class ChromePreferenceKeys {
public static final String FONT_USER_SET_FORCE_ENABLE_ZOOM = "user_set_force_enable_zoom";
public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info";
@ -89,7 +89,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 final class LocationBarCoordinator implements LocationBar, NativeInitObse
@@ -352,7 +352,7 @@ public final class LocationBarCoordinator implements LocationBar, NativeInitObse
// OmniboxSuggestionsDropdownEmbedder implementation
@Override
public boolean isTablet() {
@ -101,7 +101,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
@@ -1234,6 +1234,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1261,6 +1261,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_SAFE_BROWSING_NO_PROTECTION_CONFIRMATION_DIALOG_CONFIRM" desc="Message for Safe Browsing no protection confirmation button.">
Turn off
</message>
@ -143,7 +143,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
@@ -555,7 +555,7 @@ test("components_unittests") {
@@ -561,7 +561,7 @@ test("components_unittests") {
# On LaCrOS, tests use ash - chrome as a window manager, thus the dependency.
# On other platforms, no components should depend on Chrome.
@ -152,7 +152,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
assert_no_deps = [ "//chrome/*" ]
}
@@ -804,7 +804,7 @@ if (!is_ios) {
@@ -817,7 +817,7 @@ if (!is_ios) {
# On LaCrOS, tests use ash - chrome as a window manager, thus the dependency.
# On other platforms, no components should depend on Chrome.
@ -164,7 +164,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn
--- a/ui/android/BUILD.gn
+++ b/ui/android/BUILD.gn
@@ -359,6 +359,8 @@ android_library("ui_no_recycler_view_java") {
@@ -358,6 +358,8 @@ android_library("ui_no_recycler_view_java") {
":ui_java_resources",
":ui_utils_java",
"//base:base_java",
@ -195,6 +195,5 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/DeviceFormFactor.java b/ui
return detectScreenWidthBucket(context) >= SCREEN_BUCKET_TABLET;
}
--
2.20.1
--
2.25.1

View file

@ -27,7 +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
@@ -1185,8 +1185,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1175,8 +1175,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
boolean hadCipherData =
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
@ -59,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;
@@ -63,6 +66,8 @@ public class PrivacySettings
@@ -62,6 +65,8 @@ public class PrivacySettings
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
+
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
@Override
@@ -178,7 +183,11 @@ public class PrivacySettings
@@ -152,7 +157,11 @@ public class PrivacySettings
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@ -81,8 +81,8 @@ 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_NETWORK_PREDICTIONS.equals(key)) {
@@ -234,6 +243,11 @@ public class PrivacySettings
PrivacySandboxSettingsFragment.getStatusString(getContext()));
@@ -193,6 +202,11 @@ public class PrivacySettings
: R.string.text_off);
}
+ ChromeSwitchPreference closeTabsOnExitPref =
@ -90,13 +90,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+ closeTabsOnExitPref.setOnPreferenceChangeListener(this);
+ closeTabsOnExitPref.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
+
updateIncognitoReauthPreference();
}
Preference secureDnsPref = findPreference(PREF_SECURE_DNS);
if (secureDnsPref != null && secureDnsPref.isVisible()) {
secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
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
@@ -4132,6 +4132,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4139,6 +4139,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>
@ -109,6 +109,5 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_CONTEXTMENU_LINK_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 link.">
LINK
</message>
--
2.20.1
--
2.25.1

View file

@ -132,7 +132,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -524,6 +524,7 @@ public final class ChromePreferenceKeys {
@@ -518,6 +518,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";
@ -193,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
@@ -356,6 +356,7 @@ extern const char kExternalStorageReadOnly[];
@@ -362,6 +362,7 @@ extern const char kExternalStorageReadOnly[];
extern const char kSettingsShowOSBanner[];
#endif // defined(OS_CHROMEOS)
extern const char kShowHomeButton[];
@ -201,6 +201,5 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
extern const char kSpeechRecognitionFilterProfanities[];
extern const char kAllowDeletingBrowserHistory[];
extern const char kForceGoogleSafeSearch[];
--
2.20.1
--
2.25.1

View file

@ -6,7 +6,7 @@ Subject: Allow building without enable_reporting
content/browser/BUILD.gn | 8 ++++----
.../devtools/protocol/network_handler.cc | 2 ++
.../devtools/protocol/network_handler.h | 2 ++
.../cross_origin_embedder_policy_reporter.cc | 2 ++
.../cross_origin_embedder_policy_reporter.cc | 3 ++-
.../net/cross_origin_opener_policy_reporter.cc | 16 +++++++---------
.../renderer_host/render_frame_host_impl.cc | 2 ++
.../web_package/signed_exchange_reporter.cc | 2 ++
@ -20,12 +20,12 @@ Subject: Allow building without enable_reporting
.../blink/renderer/core/frame/local_frame.h | 6 +++---
.../renderer/core/frame/reporting_context.cc | 9 +++++++++
.../renderer/core/frame/reporting_context.h | 7 +++++--
17 files changed, 56 insertions(+), 46 deletions(-)
17 files changed, 56 insertions(+), 47 deletions(-)
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -1275,6 +1275,10 @@ source_set("browser") {
@@ -1219,6 +1219,10 @@ source_set("browser") {
"net/browser_online_state_observer.cc",
"net/browser_online_state_observer.h",
"net/cookie_store_factory.cc",
@ -36,7 +36,7 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
"net/network_errors_listing_ui.cc",
"net/network_errors_listing_ui.h",
"net/network_quality_observer_impl.cc",
@@ -3035,10 +3039,6 @@ source_set("browser") {
@@ -2984,10 +2988,6 @@ source_set("browser") {
if (enable_reporting) {
sources += [
@ -91,10 +91,11 @@ diff --git a/content/browser/net/cross_origin_embedder_policy_reporter.cc b/cont
base::DictionaryValue body_to_pass;
for (const auto& pair : body) {
body_to_pass.SetString(pair.first, pair.second);
@@ -122,6 +123,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
kType, *endpoint, context_url_, reporting_source_,
network_isolation_key_,
/*user_agent=*/absl::nullopt, std::move(body_to_pass));
@@ -123,7 +124,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
kType, *endpoint, context_url_, reporting_source_,
network_isolation_key_,
/*user_agent=*/absl::nullopt, std::move(body_to_pass));
- }
+#endif
}
}
@ -179,7 +180,7 @@ diff --git a/content/browser/net/cross_origin_opener_policy_reporter.cc b/conten
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
@@ -10649,6 +10649,7 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed(
@@ -10855,6 +10855,7 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed(
void RenderFrameHostImpl::MaybeGenerateCrashReport(
base::TerminationStatus status,
int exit_code) {
@ -187,7 +188,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
if (!last_committed_url_.SchemeIsHTTPOrHTTPS())
return;
@@ -10698,6 +10699,7 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
@@ -10904,6 +10905,7 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
/*type=*/"crash", /*group=*/"default", last_committed_url_,
GetReportingSource(), isolation_info_.network_isolation_key(),
absl::nullopt /* user_agent */, std::move(body));
@ -225,7 +226,7 @@ diff --git a/content/public/common/content_switch_dependent_feature_overrides.cc
#include "services/network/public/cpp/features.h"
#include "services/network/public/cpp/network_switches.h"
#include "third_party/blink/public/common/features.h"
@@ -40,9 +41,11 @@ GetSwitchDependentFeatureOverrides(const base::CommandLine& command_line) {
@@ -36,9 +37,11 @@ GetSwitchDependentFeatureOverrides(const base::CommandLine& command_line) {
{switches::kEnableExperimentalWebPlatformFeatures,
std::cref(features::kDocumentPolicyNegotiation),
base::FeatureList::OVERRIDE_ENABLE_FEATURE},
@ -240,7 +241,7 @@ diff --git a/content/public/common/content_switch_dependent_feature_overrides.cc
diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_service.cc
--- a/net/reporting/reporting_service.cc
+++ b/net/reporting/reporting_service.cc
@@ -206,6 +206,12 @@ class ReportingServiceImpl : public ReportingService {
@@ -207,6 +207,12 @@ class ReportingServiceImpl : public ReportingService {
std::unique_ptr<const base::Value> body,
int depth,
base::TimeTicks queued_ticks) {
@ -256,7 +257,7 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -1121,25 +1121,9 @@ void NetworkContext::SetDocumentReportingEndpoints(
@@ -1126,25 +1126,9 @@ void NetworkContext::SetDocumentReportingEndpoints(
void NetworkContext::SendReportsAndRemoveSource(
const base::UnguessableToken& reporting_source) {
@ -286,7 +287,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
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
@@ -418,17 +418,6 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -420,17 +420,6 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
const base::flat_map<std::string, std::string>& endpoints) override;
void SendReportsAndRemoveSource(
const base::UnguessableToken& reporting_source) override;
@ -307,7 +308,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
@@ -916,6 +916,9 @@ mojom("mojom") {
@@ -941,6 +941,9 @@ mojom("mojom") {
export_class_attribute_blink = "BLINK_PLATFORM_EXPORT"
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/blink/public/platform/web_common.h"
@ -320,7 +321,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
@@ -986,6 +986,7 @@ interface NetworkContext {
@@ -990,6 +990,7 @@ interface NetworkContext {
// provided |network_isolation_key|.
//
// Spec: https://w3c.github.io/reporting/#concept-reports
@ -328,7 +329,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
QueueReport(string type,
string group,
url.mojom.Url url,
@@ -999,6 +1000,7 @@ interface NetworkContext {
@@ -1003,6 +1004,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|.
@ -347,7 +348,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"
@@ -2302,9 +2303,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
@@ -2323,9 +2324,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
return base::UnguessableToken::Null();
}
@ -373,7 +374,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"
@@ -545,9 +545,9 @@ class CORE_EXPORT LocalFrame final : public Frame,
@@ -547,9 +547,9 @@ class CORE_EXPORT LocalFrame final : public Frame,
}
SmoothScrollSequencer& GetSmoothScrollSequencer();
@ -483,6 +484,5 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_p
HeapMojoReceiver<mojom::blink::ReportingObserver, ReportingContext> receiver_;
};
--
2.20.1
--
2.25.1

View file

@ -49,6 +49,5 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
return false;
if (using_media_player_renderer_ &&
--
2.20.1
--
2.25.1

View file

@ -20,6 +20,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/Homepa
String homepagePartnerDefaultUri = SharedPreferencesManager.getInstance().readString(
ChromePreferenceKeys.HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_URI, "");
--
2.20.1
--
2.25.1

View file

@ -18,7 +18,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.base.CallbackController;
import org.chromium.base.CommandLine;
@@ -2044,8 +2045,23 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2034,8 +2035,23 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
ApplicationLifetime.terminate(false);
} else if (id == R.id.close_all_tabs_menu_id) {
// Close both incognito and normal tabs
@ -47,7 +47,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
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
@@ -3303,6 +3303,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3296,6 +3296,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_CLOSE_ALL_TABS" desc="Menu item for closing all open tabs. [CHAR_LIMIT=27]">
Close all tabs
</message>
@ -57,6 +57,5 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_MENU_CLOSE_ALL_INCOGNITO_TABS" desc="Menu item for closing all open Incognito tabs. [CHAR_LIMIT=27]">
Close Incognito tabs
</message>
--
2.20.1
--
2.25.1

View file

@ -57,6 +57,5 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/thir
}
MediaElementAudioSourceNode* AudioContext::createMediaElementSource(
--
2.20.1
--
2.25.1

File diff suppressed because one or more lines are too long

View file

@ -206,6 +206,5 @@ diff --git a/third_party/blink/renderer/modules/websockets/websocket_common.h b/
// The following methods are public for testing.
// Returns true if |protocol| is a valid WebSocket subprotocol name.
--
2.20.1
--
2.25.1

View file

@ -104,7 +104,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
@@ -861,6 +861,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
@@ -853,6 +853,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
#endif // BUILDFLAG(ENABLE_WEBSOCKETS)
RegisterWebSafeScheme(url::kFtpScheme);
RegisterWebSafeScheme(url::kDataScheme);
@ -115,7 +115,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
@@ -1039,6 +1039,8 @@ component("net") {
@@ -1041,6 +1041,8 @@ component("net") {
"url_request/url_request_http_job.cc",
"url_request/url_request_http_job.h",
"url_request/url_request_interceptor.cc",
@ -209,7 +209,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
using base::Time;
using std::string;
@@ -595,6 +597,12 @@ URLRequest::URLRequest(const GURL& url,
@@ -594,6 +596,12 @@ URLRequest::URLRequest(const GURL& url,
// Sanity check out environment.
DCHECK(base::ThreadTaskRunnerHandle::IsSet());
@ -250,9 +250,9 @@ diff --git a/url/url_constants.cc b/url/url_constants.cc
const char kTelScheme[] = "tel";
const char kUrnScheme[] = "urn";
+const char kTraceScheme[] = "trk";
const char kUuidInPackageScheme[] = "uuid-in-package";
const char kWsScheme[] = "ws";
const char kWssScheme[] = "wss";
diff --git a/url/url_constants.h b/url/url_constants.h
--- a/url/url_constants.h
+++ b/url/url_constants.h
@ -261,9 +261,9 @@ diff --git a/url/url_constants.h b/url/url_constants.h
COMPONENT_EXPORT(URL) extern const char kTelScheme[];
COMPONENT_EXPORT(URL) extern const char kUrnScheme[];
+COMPONENT_EXPORT(URL) extern const char kTraceScheme[];
COMPONENT_EXPORT(URL) extern const char kUuidInPackageScheme[];
COMPONENT_EXPORT(URL) extern const char kWsScheme[];
COMPONENT_EXPORT(URL) extern const char kWssScheme[];
diff --git a/url/url_util.cc b/url/url_util.cc
--- a/url/url_util.cc
+++ b/url/url_util.cc
@ -283,6 +283,5 @@ diff --git a/url/url_util.cc b/url/url_util.cc
};
// Schemes that can be sent CORS requests.
--
2.20.1
--
2.25.1

View file

@ -25,7 +25,6 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
chrome/browser/browser_process_impl.cc | 20 ++
chrome/browser/browser_process_impl.h | 2 +
chrome/browser/chrome_browser_main.cc | 2 +
.../browser/chrome_content_browser_client.cc | 15 -
.../flags/android/cached_feature_flags.cc | 11 +
.../browser/flags/CachedFeatureFlags.java | 10 +
.../net/system_network_context_manager.cc | 4 +
@ -46,7 +45,7 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
.../browser/subresource_filter_features.cc | 113 +-------
.../core/common/indexed_ruleset.cc | 5 +-
.../navigation_throttle_runner.cc | 5 -
37 files changed, 1157 insertions(+), 139 deletions(-)
36 files changed, 1157 insertions(+), 124 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,7 +58,7 @@ Fix RestoreForeignSessionTab by recreating the tab (issue #681)
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
@@ -557,6 +557,7 @@ chrome_java_resources = [
@@ -556,6 +556,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",
@ -67,7 +66,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",
@@ -774,6 +775,7 @@ chrome_java_resources = [
@@ -769,6 +770,7 @@ chrome_java_resources = [
"java/res/xml/about_chrome_preferences.xml",
"java/res/xml/accessibility_preferences.xml",
"java/res/xml/account_management_preferences.xml",
@ -78,7 +77,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
@@ -986,6 +986,8 @@ chrome_java_sources = [
@@ -974,6 +974,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",
@ -422,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
@@ -11012,6 +11012,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
@@ -11029,6 +11029,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
Never show this again.
</message>
@ -442,16 +441,16 @@ 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
@@ -26,6 +26,8 @@
#include "ui/views/linux_ui/linux_ui.h"
#endif
@@ -30,6 +30,8 @@
#include "chromeos/lacros/lacros_service.h"
#endif // BUILDFLAG(IS_CHROMEOS_LACROS)
+#include "chrome/browser/browser_process.h"
+
using content::BrowserThread;
namespace {
@@ -121,6 +123,9 @@ void SetBrowserStartupIsComplete() {
@@ -125,6 +127,9 @@ void SetBrowserStartupIsComplete() {
g_after_startup_tasks.Get().clear();
g_after_startup_tasks.Get().shrink_to_fit();
@ -494,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
@@ -1075,6 +1075,26 @@ BrowserProcessImpl::component_updater() {
@@ -1076,6 +1076,26 @@ BrowserProcessImpl::component_updater() {
return component_updater_.get();
}
@ -543,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
@@ -1653,6 +1653,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1655,6 +1655,8 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
speech::SodaInstaller::GetInstance()->Init(profile_->GetPrefs(),
browser_process_->local_state());
#endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
@ -552,45 +551,6 @@ diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_brows
}
#if BUILDFLAG(IS_CHROMEOS_ASH)
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
@@ -62,7 +62,6 @@
#include "chrome/browser/hid/chrome_hid_delegate.h"
#include "chrome/browser/interstitials/enterprise_util.h"
#include "chrome/browser/lifetime/browser_shutdown.h"
-#include "chrome/browser/lookalikes/lookalike_url_navigation_throttle.h"
#include "chrome/browser/media/audio_service_util.h"
#include "chrome/browser/media/router/media_router_feature.h"
#include "chrome/browser/media/webrtc/audio_debug_recordings_handler.h"
@@ -4091,16 +4090,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
content::NavigationHandle* handle) {
std::vector<std::unique_ptr<content::NavigationThrottle>> throttles;
- // MetricsNavigationThrottle requires that it runs before NavigationThrottles
- // that may delay or cancel navigations, so only NavigationThrottles that
- // don't delay or cancel navigations (e.g. throttles that are only observing
- // callbacks without affecting navigation behavior) should be added before
- // MetricsNavigationThrottle.
- if (handle->IsInMainFrame()) {
- throttles.push_back(
- page_load_metrics::MetricsNavigationThrottle::Create(handle));
- }
-
#if BUILDFLAG(IS_CHROMEOS_ASH)
MaybeAddThrottle(
ash::WebTimeLimitNavigationThrottle::MaybeCreateThrottleFor(handle),
@@ -4198,10 +4187,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
&throttles);
#endif
- MaybeAddThrottle(
- LookalikeUrlNavigationThrottle::MaybeCreateNavigationThrottle(handle),
- &throttles);
-
MaybeAddThrottle(PDFIFrameNavigationThrottle::MaybeCreateThrottleFor(handle),
&throttles);
#if BUILDFLAG(ENABLE_PDF)
diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/browser/flags/android/cached_feature_flags.cc
--- a/chrome/browser/flags/android/cached_feature_flags.cc
+++ b/chrome/browser/flags/android/cached_feature_flags.cc
@ -619,7 +579,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 {
@@ -268,6 +268,14 @@ public class CachedFeatureFlags {
ChromeFeatureList.isEnabled(ChromeFeatureList.BACKGROUND_THREAD_POOL));
}
@ -634,7 +594,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.
*/
@@ -472,5 +480,7 @@ public class CachedFeatureFlags {
@@ -485,5 +493,7 @@ public class CachedFeatureFlags {
@NativeMethods
interface Natives {
boolean isNetworkServiceWarmUpEnabled();
@ -645,7 +605,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
@@ -351,6 +351,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
@@ -338,6 +338,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
SSLConfigServiceManager::CreateDefaultManager(local_state_)),
proxy_config_monitor_(local_state_),
stub_resolver_config_reader_(local_state_) {
@ -654,7 +614,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
#if !defined(OS_ANDROID)
// QuicAllowed was not part of Android policy.
const base::Value* value =
@@ -421,6 +423,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
@@ -408,6 +410,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
StubResolverConfigReader::RegisterPrefs(registry);
@ -704,7 +664,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
@@ -2221,6 +2221,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
@@ -2246,6 +2246,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
// capture devices without prompt.
const char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls";
@ -844,8 +804,8 @@ new file mode 100644
+ << next_check_delay << " seconds. ";
+
+ scheduler_->Schedule(
+ base::TimeDelta::FromSeconds(initial_check_delay),
+ base::TimeDelta::FromSeconds(next_check_delay),
+ base::Seconds(initial_check_delay),
+ base::Seconds(next_check_delay),
+ base::BindRepeating(&AdBlockUpdaterService::OnDemandScheduledUpdate,
+ base::Unretained(this)), base::DoNothing());
+}
@ -866,7 +826,7 @@ new file mode 100644
+ if (!last_update_.is_null()) {
+ base::TimeDelta delta =
+ base::TimeTicks::Now() - last_update_;
+ if (delta < base::TimeDelta::FromSeconds(on_demand_check_delay)) {
+ if (delta < base::Seconds(on_demand_check_delay)) {
+ LOG(INFO) << "AdBlockUpdaterService: update not necessary.";
+ return false;
+ }
@ -933,7 +893,7 @@ new file mode 100644
+ if (!failed) {
+ base::TimeDelta delta =
+ base::Time::Now() - min_last_modified;
+ if (delta < base::TimeDelta::FromSeconds(on_demand_check_delay)) {
+ if (delta < base::Seconds(on_demand_check_delay)) {
+ LOG(INFO) << "AdBlockUpdaterService: update check not yet needed.";
+ is_updating_ = false;
+ return false;
@ -1496,7 +1456,7 @@ new file mode 100644
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
--- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
+++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
@@ -651,6 +651,17 @@ ContentSubresourceFilterThrottleManager::
@@ -652,6 +652,17 @@ ContentSubresourceFilterThrottleManager::
throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
ad_tagging_state);
}
@ -1677,7 +1637,7 @@ diff --git a/components/subresource_filter/content/browser/verified_ruleset_deal
+#include "base/logging.h"
#include "base/metrics/histogram_macros.h"
#include "base/notreached.h"
#include "base/task_runner_util.h"
#include "base/task/task_runner_util.h"
@@ -39,6 +40,9 @@ RulesetFilePtr VerifiedRulesetDealer::OpenAndSetRulesetFile(
TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("loading"),
"VerifiedRulesetDealer::OpenAndSetRulesetFile", "file_valid",
@ -1874,6 +1834,5 @@ diff --git a/content/browser/renderer_host/navigation_throttle_runner.cc b/conte
}
NavigationThrottle* NavigationThrottleRunner::GetDeferringThrottle() const {
--
2.20.1
--
2.25.1

View file

@ -6,26 +6,30 @@ Enable checking for new versions, with notifications and proxy support
---
.../java/templates/BuildConfig.template | 2 +
build/config/android/rules.gni | 3 +
chrome/android/chrome_java_sources.gni | 1 +
chrome/android/chrome_java_sources.gni | 3 +
.../java/res/xml/about_chrome_preferences.xml | 5 +
.../about_settings/AboutChromeSettings.java | 28 ++-
.../chrome/browser/omaha/OmahaBase.java | 47 +++-
.../chrome/browser/omaha/UpdateConfigs.java | 6 +-
.../browser/omaha/UpdateStatusProvider.java | 33 ++-
.../chrome/browser/omaha/UpdateConfigs.java | 30 ++-
.../browser/omaha/UpdateMenuItemHelper.java | 69 +++++-
.../browser/omaha/UpdateStatusProvider.java | 169 ++++++++++++---
.../browser/omaha/VersionNumberGetter.java | 3 +-
.../inline/BromiteInlineUpdateController.java | 204 ++++++++++++++++++
.../inline/InlineUpdateControllerFactory.java | 8 +-
.../omaha/inline/InlineUpdateController.java | 45 ++++
.../inline/InlineUpdateControllerFactory.java | 21 ++
chrome/browser/endpoint_fetcher/BUILD.gn | 2 +
.../endpoint_fetcher/endpoint_fetcher.cc | 129 +++++++++++
.../endpoint_fetcher/endpoint_fetcher.h | 23 +-
.../endpoint_fetcher/EndpointFetcher.java | 11 +
.../EndpointHeaderResponse.java | 31 +++
chrome/browser/flag-metadata.json | 2 +-
chrome/browser/flag_descriptions.cc | 5 +-
.../flags/android/chrome_feature_list.cc | 2 +-
.../strings/android_chrome_strings.grd | 8 +-
20 files changed, 516 insertions(+), 37 deletions(-)
.../flags/android/chrome_feature_list.cc | 6 +-
.../flags/android/chrome_feature_list.h | 1 +
.../browser/flags/ChromeFeatureList.java | 1 +
.../strings/android_chrome_strings.grd | 20 +-
22 files changed, 811 insertions(+), 42 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
create mode 100644 chrome/browser/endpoint_fetcher/java/src/org/chromium/chrome/browser/endpoint_fetcher/EndpointHeaderResponse.java
diff --git a/build/android/java/templates/BuildConfig.template b/build/android/java/templates/BuildConfig.template
@ -41,7 +45,7 @@ diff --git a/build/android/java/templates/BuildConfig.template b/build/android/j
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
--- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni
@@ -1970,6 +1970,9 @@ if (enable_java_templates) {
@@ -1975,6 +1975,9 @@ if (enable_java_templates) {
]
}
}
@ -54,12 +58,14 @@ 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
@@ -892,6 +892,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java",
"java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java",
"java/src/org/chromium/chrome/browser/omaha/inline/NoopInlineUpdateController.java",
@@ -878,6 +878,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",
+ "java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java",
+ "java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java",
+ "java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java",
"java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java",
"java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java",
"java/src/org/chromium/chrome/browser/omaha/metrics/HistogramUtils.java",
"java/src/org/chromium/chrome/browser/omaha/metrics/TrackingProvider.java",
diff --git a/chrome/android/java/res/xml/about_chrome_preferences.xml b/chrome/android/java/res/xml/about_chrome_preferences.xml
@ -213,35 +219,208 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/OmahaBase
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateConfigs.java
@@ -65,7 +65,7 @@ public class UpdateConfigs {
private static final String UPDATE_NOTIFICATION_EXPERIMENTAL_PARAM_NAME =
"update_notification_experimental_context";
@@ -11,6 +11,7 @@ import androidx.annotation.IntDef;
import androidx.annotation.Nullable;
import org.chromium.base.CommandLine;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateState;
import org.chromium.components.variations.VariationsAssociatedData;
@@ -37,10 +38,12 @@ public class UpdateConfigs {
private static final String UPDATE_AVAILABLE_SWITCH_VALUE = "update_available";
private static final String UNSUPPORTED_OS_VERSION_SWITCH_VALUE = "unsupported_os_version";
- private static final long DEFAULT_UPDATE_NOTIFICATION_INTERVAL = 21 * DateUtils.DAY_IN_MILLIS;
+ private static final long DEFAULT_UPDATE_NOTIFICATION_INTERVAL = 3 * DateUtils.DAY_IN_MILLIS;
private static final long DEFAULT_UPDATE_ATTRIBUTION_WINDOW_MS = 2 * DateUtils.DAY_IN_MILLIS;
/** Possible update flow configurations. */
@@ -300,7 +300,7 @@ public class UpdateConfigs {
* @return the current inline update flow configuration.
*/
@UpdateFlowConfiguration
- static int getConfiguration() {
+ public static int getConfiguration() {
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.INLINE_UPDATE_FLOW)) {
// Always use the the old flow if the inline update flow feature is not enabled.
return UpdateFlowConfiguration.INTENT_ONLY;
@@ -328,4 +328,4 @@ public class UpdateConfigs {
if (configuration == null) return "";
return configuration.toLowerCase(Locale.US);
- @IntDef({UpdateFlowConfiguration.NEVER_SHOW, UpdateFlowConfiguration.INTENT_ONLY})
+ @IntDef({UpdateFlowConfiguration.NEVER_SHOW, UpdateFlowConfiguration.INTENT_ONLY,
+ UpdateFlowConfiguration.INLINE_ONLY})
@Retention(RetentionPolicy.SOURCE)
public @interface UpdateFlowConfiguration {
/** Turns off all update indicators. */
@@ -50,6 +53,12 @@ public class UpdateConfigs {
* Requires Omaha to say an update is available, and only ever Intents out to Play Store.
*/
int INTENT_ONLY = 2;
+
+ /**
+ * Requires both Omaha and Play Store to say an update is available. Only ever uses the
+ * inline update flow.
+ */
+ int INLINE_ONLY = 3;
}
/**
@@ -124,6 +133,13 @@ public class UpdateConfigs {
return DEFAULT_UPDATE_ATTRIBUTION_WINDOW_MS;
}
+ /**
+ * @return A time interval for scheduling update notification. Unit: mills.
+ */
+ public static long getUpdateNotificationInterval() {
+ return DEFAULT_UPDATE_NOTIFICATION_INTERVAL;
+ }
+
/**
* Gets a String VariationsAssociatedData parameter. Also checks for a command-line switch
* with the same name, for easy local testing.
@@ -139,4 +155,14 @@ public class UpdateConfigs {
}
return value;
}
-}
\ No newline at end of file
+
+ @UpdateFlowConfiguration
+ public static int getConfiguration() {
+ if (!ChromeFeatureList.isEnabled(ChromeFeatureList.INLINE_UPDATE_FLOW)) {
+ // Always use the the old flow if the inline update flow feature is not enabled.
+ return UpdateFlowConfiguration.INLINE_ONLY;
+ }
+
+ return UpdateFlowConfiguration.NEVER_SHOW;
+ }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateMenuItemHelper.java
@@ -22,6 +22,7 @@ import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.task.PostTask;
import org.chromium.base.task.TaskTraits;
import org.chromium.chrome.R;
+import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateInteractionSource;
import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateState;
import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateStatus;
import org.chromium.chrome.browser.preferences.Pref;
@@ -157,7 +158,7 @@ public class UpdateMenuItemHelper {
try {
UpdateStatusProvider.getInstance().startIntentUpdate(
- activity, false /* newTask */);
+ activity, UpdateInteractionSource.FROM_MENU, false /* newTask */);
recordItemClickedHistogram(ITEM_CLICKED_INTENT_LAUNCHED);
getPrefService().setBoolean(Pref.CLICKED_UPDATE_MENU_ITEM, true);
} catch (ActivityNotFoundException e) {
@@ -165,8 +166,22 @@ public class UpdateMenuItemHelper {
recordItemClickedHistogram(ITEM_CLICKED_INTENT_FAILED);
}
break;
+ case UpdateState.INLINE_UPDATE_AVAILABLE:
+ UpdateStatusProvider.getInstance().startInlineUpdate(
+ UpdateInteractionSource.FROM_MENU, activity);
+ break;
+ case UpdateState.INLINE_UPDATE_READY:
+ UpdateStatusProvider.getInstance().finishInlineUpdate(
+ UpdateInteractionSource.FROM_MENU);
+ break;
+ case UpdateState.INLINE_UPDATE_FAILED:
+ UpdateStatusProvider.getInstance().retryInlineUpdate(
+ UpdateInteractionSource.FROM_MENU, activity);
+ break;
case UpdateState.UNSUPPORTED_OS_VERSION:
// Intentional fall through.
+ case UpdateState.INLINE_UPDATE_DOWNLOADING:
+ // Intentional fall through.
default:
return;
}
@@ -268,6 +283,58 @@ public class UpdateMenuItemHelper {
mMenuUiState.itemState.icon = R.drawable.ic_error_24dp_filled;
mMenuUiState.itemState.enabled = false;
break;
+ case UpdateState.INLINE_UPDATE_AVAILABLE:
+ // The badge is hidden if the update menu item has been clicked until there is an
+ // even newer version of Chrome available.
+ showBadge |= !TextUtils.equals(
+ getPrefService().getString(
+ Pref.LATEST_VERSION_WHEN_CLICKED_UPDATE_MENU_ITEM),
+ mStatus.latestUnsupportedVersion);
+
+ if (showBadge) {
+ mMenuUiState.buttonState = new MenuButtonState();
+ mMenuUiState.buttonState.menuContentDescription =
+ R.string.accessibility_toolbar_btn_menu_update;
+ mMenuUiState.buttonState.darkBadgeIcon = R.drawable.badge_update_dark;
+ mMenuUiState.buttonState.lightBadgeIcon = R.drawable.badge_update_light;
+ }
+
+ mMenuUiState.itemState = new MenuItemState();
+ mMenuUiState.itemState.title = R.string.menu_update;
+ mMenuUiState.itemState.titleColorId = R.color.default_text_color_blue;
+ mMenuUiState.itemState.summary = UpdateConfigs.getCustomSummary();
+ if (TextUtils.isEmpty(mMenuUiState.itemState.summary)) {
+ mMenuUiState.itemState.summary =
+ resources.getString(R.string.menu_update_summary_default);
+ }
+ mMenuUiState.itemState.icon = R.drawable.ic_history_googblue_24dp;
+ mMenuUiState.itemState.iconTintId = R.color.default_icon_color_blue_light;
+ mMenuUiState.itemState.enabled = true;
+ break;
+ case UpdateState.INLINE_UPDATE_DOWNLOADING:
+ mMenuUiState.itemState = new MenuItemState();
+ mMenuUiState.itemState.title = R.string.menu_inline_update_downloading;
+ mMenuUiState.itemState.titleColorId = R.color.default_text_color_secondary;
+ break;
+ case UpdateState.INLINE_UPDATE_READY:
+ mMenuUiState.itemState = new MenuItemState();
+ mMenuUiState.itemState.title = R.string.menu_inline_update_ready;
+ mMenuUiState.itemState.titleColorId = R.color.default_text_color_blue;
+ mMenuUiState.itemState.summary =
+ resources.getString(R.string.menu_inline_update_ready_summary);
+ mMenuUiState.itemState.icon = R.drawable.infobar_chrome;
+ mMenuUiState.itemState.iconTintId = R.color.default_icon_color_blue_light;
+ mMenuUiState.itemState.enabled = true;
+ break;
+ case UpdateState.INLINE_UPDATE_FAILED:
+ mMenuUiState.itemState = new MenuItemState();
+ mMenuUiState.itemState.title = R.string.menu_inline_update_failed;
+ mMenuUiState.itemState.titleColorId = R.color.default_text_color_blue;
+ mMenuUiState.itemState.summary = resources.getString(R.string.try_again);
+ mMenuUiState.itemState.icon = R.drawable.ic_history_googblue_24dp;
+ mMenuUiState.itemState.iconTintId = R.color.default_icon_color_blue_light;
+ mMenuUiState.itemState.enabled = true;
+ break;
case UpdateState.NONE:
// Intentional fall through.
default:
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
@@ -45,6 +45,12 @@ import java.io.File;
@@ -4,6 +4,7 @@
package org.chromium.chrome.browser.omaha;
+import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
@@ -16,7 +17,11 @@ import android.text.TextUtils;
import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import org.chromium.base.ActivityState;
+import org.chromium.base.ApplicationStatus;
+import org.chromium.base.ApplicationStatus.ActivityStateListener;
import org.chromium.base.BuildInfo;
import org.chromium.base.Callback;
import org.chromium.base.ContextUtils;
@@ -26,6 +31,9 @@ import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.task.AsyncTask;
import org.chromium.base.task.AsyncTask.Status;
import org.chromium.base.task.PostTask;
+import org.chromium.chrome.browser.app.ChromeActivity;
+import org.chromium.chrome.browser.omaha.inline.InlineUpdateController;
+import org.chromium.chrome.browser.omaha.inline.InlineUpdateControllerFactory;
import org.chromium.chrome.browser.omaha.metrics.UpdateSuccessMetrics;
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
@@ -36,28 +44,50 @@ import java.io.File;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@ -254,17 +433,230 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta
/**
* Provides the current update state for Chrome. This update state is asynchronously determined and
* can change as Chrome runs.
@@ -339,8 +345,7 @@ public class UpdateStatusProvider implements ActivityStateListener {
case UpdateConfigs.UpdateFlowConfiguration.NEVER_SHOW:
return UpdateState.NONE;
case UpdateConfigs.UpdateFlowConfiguration.INLINE_ONLY:
- if (omahaState != UpdateState.UPDATE_AVAILABLE) return omahaState;
- if (inlineState == UpdateState.NONE) return UpdateState.NONE;
*
* For manually testing this functionality, see {@link UpdateConfigs}.
*/
-public class UpdateStatusProvider {
+public class UpdateStatusProvider implements ActivityStateListener {
+ /**
+ * Possible sources of user interaction regarding updates.
+ * Treat this as append only as it is used by UMA.
+ */
+ @IntDef({UpdateInteractionSource.FROM_MENU, UpdateInteractionSource.FROM_INFOBAR,
+ UpdateInteractionSource.FROM_NOTIFICATION})
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface UpdateInteractionSource {
+ int FROM_MENU = 0;
+ int FROM_INFOBAR = 1;
+ int FROM_NOTIFICATION = 2;
+
+ int NUM_ENTRIES = 3;
+ }
+
/**
* Possible update states.
* Treat this as append only as it is used by UMA.
*/
- @IntDef({UpdateState.NONE, UpdateState.UPDATE_AVAILABLE, UpdateState.UNSUPPORTED_OS_VERSION})
+ @IntDef({UpdateState.NONE, UpdateState.UPDATE_AVAILABLE, UpdateState.UNSUPPORTED_OS_VERSION,
+ UpdateState.INLINE_UPDATE_AVAILABLE, UpdateState.INLINE_UPDATE_DOWNLOADING,
+ UpdateState.INLINE_UPDATE_READY, UpdateState.INLINE_UPDATE_FAILED})
@Retention(RetentionPolicy.SOURCE)
public @interface UpdateState {
int NONE = 0;
int UPDATE_AVAILABLE = 1;
int UNSUPPORTED_OS_VERSION = 2;
- // Inline updates are deprecated.
- // int INLINE_UPDATE_AVAILABLE = 3;
- // int INLINE_UPDATE_DOWNLOADING = 4;
- // int INLINE_UPDATE_READY = 5;
- // int INLINE_UPDATE_FAILED = 6;
+ int INLINE_UPDATE_AVAILABLE = 3;
+ int INLINE_UPDATE_DOWNLOADING = 4;
+ int INLINE_UPDATE_READY = 5;
+ int INLINE_UPDATE_FAILED = 6;
int NUM_ENTRIES = 7;
}
@@ -93,6 +123,12 @@ public class UpdateStatusProvider {
*/
private boolean mIsSimulated;
+ /**
+ * Whether or not we are currently trying to simulate an inline flow. Used to allow
+ * overriding Omaha update state, which usually supersedes inline update states.
+ */
+ private boolean mIsInlineSimulated;
+
public UpdateStatus() {}
UpdateStatus(UpdateStatus other) {
@@ -101,11 +137,13 @@ public class UpdateStatusProvider {
latestVersion = other.latestVersion;
latestUnsupportedVersion = other.latestUnsupportedVersion;
mIsSimulated = other.mIsSimulated;
+ mIsInlineSimulated = other.mIsInlineSimulated;
}
}
private final ObserverList<Callback<UpdateStatus>> mObservers = new ObserverList<>();
+ private final InlineUpdateController mInlineController;
private final UpdateQuery mOmahaQuery;
private final UpdateSuccessMetrics mMetrics;
private @Nullable UpdateStatus mStatus;
@@ -173,19 +211,44 @@ public class UpdateStatusProvider {
pingObservers();
}
+ /**
+ * Starts the inline update process, if possible.
+ * @source The source of the action (the UI that caused it).
+ * @param activity An {@link Activity} that will be used to interact with Play.
+ */
+ public void startInlineUpdate(@UpdateInteractionSource int source, Activity activity) {
+ if (mStatus == null || mStatus.updateState != UpdateState.INLINE_UPDATE_AVAILABLE) return;
+ mInlineController.startUpdate(activity);
+ }
+
+ /**
+ * Retries the inline update process, if possible.
+ * @param activity An {@link Activity} that will be used to interact with Play.
+ */
+ public void retryInlineUpdate(@UpdateInteractionSource int source, Activity activity) {
+ if (mStatus == null || mStatus.updateState != UpdateState.INLINE_UPDATE_AVAILABLE) return;
+ mInlineController.startUpdate(activity);
+ }
+
+ /** Finishes the inline update process, which may involve restarting the app. */
+ public void finishInlineUpdate(@UpdateInteractionSource int source) {
+ if (mStatus == null || mStatus.updateState != UpdateState.INLINE_UPDATE_READY) return;
+ mInlineController.completeUpdate();
+ }
+
/**
* Starts the intent update process, if possible
* @param context An {@link Context} that will be used to fire off the update intent.
+ * @param source The source of the action (the UI that caused it).
* @param newTask Whether or not to make the intent a new task.
* @return Whether or not the update intent was sent and had a valid handler.
*/
- public boolean startIntentUpdate(Context context, boolean newTask) {
+ public boolean startIntentUpdate(
+ Context context, @UpdateInteractionSource int source, boolean newTask) {
if (mStatus == null || mStatus.updateState != UpdateState.UPDATE_AVAILABLE) return false;
if (TextUtils.isEmpty(mStatus.updateUrl)) return false;
try {
- mMetrics.startUpdate();
-
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(mStatus.updateUrl));
if (newTask) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
@@ -196,9 +259,29 @@ public class UpdateStatusProvider {
return true;
}
+ // ApplicationStateListener implementation.
+ @Override
+ public void onActivityStateChange(Activity changedActivity, @ActivityState int newState) {
+ boolean hasActiveActivity = false;
+
+ for (Activity activity : ApplicationStatus.getRunningActivities()) {
+ if (activity == null || !(activity instanceof ChromeActivity)) continue;
+
+ hasActiveActivity |=
+ ApplicationStatus.getStateForActivity(activity) == ActivityState.RESUMED;
+ if (hasActiveActivity) break;
+ }
+
+ mInlineController.setEnabled(hasActiveActivity);
+ }
+
private UpdateStatusProvider() {
+ mInlineController = InlineUpdateControllerFactory.create(this::resolveStatus);
mOmahaQuery = new UpdateQuery(this::resolveStatus);
mMetrics = new UpdateSuccessMetrics();
+
+ // Note that as a singleton this class never unregisters.
+ ApplicationStatus.registerStateListenerForAllActivities(this);
}
private void pingObservers() {
@@ -206,27 +289,59 @@ public class UpdateStatusProvider {
}
private void resolveStatus() {
- if (mOmahaQuery.getStatus() != Status.FINISHED) {
+ if (mOmahaQuery.getStatus() != Status.FINISHED || mInlineController.getStatus() == null) {
return;
}
// We pull the Omaha result once as it will never change.
if (mStatus == null) mStatus = new UpdateStatus(mOmahaQuery.getResult());
- if (!mStatus.mIsSimulated) {
- mStatus.updateState = mOmahaQuery.getResult().updateState;
+ if (mStatus.mIsSimulated) {
+ if (mStatus.mIsInlineSimulated) {
+ @UpdateState
+ int inlineState = mInlineController.getStatus();
+
+ if (inlineState == UpdateState.NONE) {
+ mStatus.updateState = mOmahaQuery.getResult().updateState;
+ } else {
+ mStatus.updateState = inlineState;
+ }
+ }
+ } else {
+ @UpdateState
+ int omahaState = mOmahaQuery.getResult().updateState;
+ @UpdateState
+ int inlineState = mInlineController.getStatus();
+ mStatus.updateState = resolveOmahaAndInlineStatus(
+ UpdateConfigs.getConfiguration(), omahaState, inlineState);
}
if (!mRecordedInitialStatus) {
RecordHistogram.recordEnumeratedHistogram(
"GoogleUpdate.StartUp.State", mStatus.updateState, UpdateState.NUM_ENTRIES);
- mMetrics.analyzeFirstStatus();
mRecordedInitialStatus = true;
}
pingObservers();
}
+ @VisibleForTesting
+ static @UpdateState int resolveOmahaAndInlineStatus(
+ @UpdateConfigs.UpdateFlowConfiguration int configuration, @UpdateState int omahaState,
+ @UpdateState int inlineState) {
+ switch (configuration) {
+ case UpdateConfigs.UpdateFlowConfiguration.NEVER_SHOW:
+ return UpdateState.NONE;
+ case UpdateConfigs.UpdateFlowConfiguration.INLINE_ONLY:
+ if (inlineState == UpdateState.NONE) return omahaState;
return inlineState;
case UpdateConfigs.UpdateFlowConfiguration.BEST_EFFORT:
if (omahaState != UpdateState.UPDATE_AVAILABLE) return omahaState;
@@ -415,24 +420,12 @@ public class UpdateStatusProvider implements ActivityStateListener {
+ return inlineState;
+ case UpdateConfigs.UpdateFlowConfiguration.INTENT_ONLY: // Intentional fall through.
+ default:
+ // Fall back to use Omaha only and use the old flow.
+ return omahaState;
+ }
+ }
+
private static final class LazyHolder {
private static final UpdateStatusProvider INSTANCE = new UpdateStatusProvider();
}
@@ -268,6 +383,8 @@ public class UpdateStatusProvider {
status.mIsSimulated = true;
status.updateState = forcedUpdateState;
+ status.mIsInlineSimulated = forcedUpdateState == UpdateState.INLINE_UPDATE_AVAILABLE;
+
// Push custom configurations for certain update states.
switch (forcedUpdateState) {
case UpdateState.UPDATE_AVAILABLE:
@@ -287,24 +404,12 @@ public class UpdateStatusProvider {
private UpdateStatus getRealStatus(Context context) {
UpdateStatus status = new UpdateStatus();
@ -517,23 +909,82 @@ new file mode 100644
+ PostTask.postTask(UiThreadTaskTraits.DEFAULT, mCallback);
+ }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java
@@ -0,0 +1,45 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.omaha.inline;
+
+import android.app.Activity;
+import android.content.Intent;
+
+import androidx.annotation.Nullable;
+
+import org.chromium.chrome.browser.omaha.UpdateStatusProvider;
+
+/**
+ * Helper for gluing interactions with the Play store's AppUpdateManager with Chrome. This
+ * involves hooking up to Play as a listener for install state changes, should only happen if we are
+ * in the foreground.
+ */
+public interface InlineUpdateController {
+ /**
+ * Enables or disables the controller.
+ * @param enabled true iff the controller should be enabled.
+ */
+ void setEnabled(boolean enabled);
+
+ /**
+ * @return The current state of the inline update process. May be {@code null} if the state
+ * hasn't been determined yet.
+ */
+ @Nullable
+ @UpdateStatusProvider.UpdateState
+ Integer getStatus();
+
+ /**
+ * Starts the update, if possible. This will send an {@link Intent} out to play, which may
+ * cause Chrome to move to the background.
+ * @param activity The {@link Activity} to use to interact with Play.
+ */
+ void startUpdate(Activity activity);
+
+ /**
+ * Completes the Play installation process, if possible. This may cause Chrome to restart.
+ */
+ void completeUpdate();
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
new file mode 100644
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
@@ -19,8 +19,10 @@ public class InlineUpdateControllerFactory {
@FakeAppUpdateManagerWrapper.Type
int mockInlineEndState = UpdateConfigs.getMockInlineScenarioEndState();
- // No test scenario was in place, and the inline flow has not been enabled, so use a
- // controller with no functionality.
- return new NoopInlineUpdateController(callback);
+ if (ChromeFeatureList.isEnabled(ChromeFeatureList.INLINE_UPDATE_FLOW)) {
+ return new BromiteInlineUpdateController(callback);
+ } else {
+ return new NoopInlineUpdateController(callback);
+ }
}
}
@@ -0,0 +1,21 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.omaha.inline;
+
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
+import org.chromium.chrome.browser.omaha.UpdateConfigs;
+
+/**
+ * A factory that creates an {@link InlineUpdateController} instance.
+ */
+public class InlineUpdateControllerFactory {
+ /**
+ * @return A new {@link InlineUpdateController}.
+ */
+ public static InlineUpdateController create(Runnable callback) {
+ return new BromiteInlineUpdateController(callback);
+ }
+}
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
@ -615,7 +1066,7 @@ diff --git a/chrome/browser/endpoint_fetcher/endpoint_fetcher.cc b/chrome/browse
+ simple_url_loader_ = network::SimpleURLLoader::Create(
+ std::move(resource_request), annotation_tag_);
+ simple_url_loader_->SetTimeoutDuration(
+ base::TimeDelta::FromMilliseconds(timeout_ms_));
+ base::Milliseconds(timeout_ms_));
+ simple_url_loader_->SetAllowHttpErrorResults(true);
+
+ if (!response_)
@ -859,50 +1310,55 @@ new file mode 100644
+ return new EndpointHeaderResponse(response, redirectUrl);
+ }
+}
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
@@ -2079,7 +2079,7 @@
{
"name": "enable-inline-update-flow",
"owners": [ "nyquist", "dtrainor" ],
- "expiry_milestone": 83
+ "expiry_milestone": -1
},
{
"name": "enable-input-event-logging",
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
@@ -3697,10 +3697,9 @@ const char kVoiceButtonInTopToolbarDescription[] =
"Enables showing the voice search button in the top toolbar. Enabling "
"Adaptive Button overrides this.";
-const char kInlineUpdateFlowName[] = "Enable Google Play inline update flow";
+const char kInlineUpdateFlowName[] = "Enable inline update flow";
const char kInlineUpdateFlowDescription[] =
- "When this flag is set, instead of taking the user to the Google Play "
- "Store when an update is available, the user is presented with an inline "
+ "When this flag is set, the user is presented with an inline "
"flow where they do not have to leave Chrome until the update is ready "
"to install.";
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
@@ -644,7 +644,7 @@ const base::Feature kIncognitoScreenshot{"IncognitoScreenshot",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -246,6 +246,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kImmersiveUiMode,
&kIncognitoReauthenticationForAndroid,
&kIncognitoScreenshot,
+ &kInlineUpdateFlow,
&kInstanceSwitcher,
&kInstantStart,
&kKitKatSupported,
@@ -649,7 +650,10 @@ const base::Feature kIncognitoReauthenticationForAndroid{
"IncognitoReauthenticationForAndroid", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kInlineUpdateFlow{"InlineUpdateFlow",
- base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kIncognitoScreenshot{"IncognitoScreenshot",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
+
+const base::Feature kInlineUpdateFlow{"InlineUpdateFlow",
+ base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kInstantStart{"InstantStart",
base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -102,6 +102,7 @@ extern const base::Feature kImmersiveUiMode;
extern const base::Feature kIncognitoReauthenticationForAndroid;
extern const base::Feature kIncognitoScreenshot;
extern const base::Feature kImprovedA2HS;
+extern const base::Feature kInlineUpdateFlow;
extern const base::Feature kInstanceSwitcher;
extern const base::Feature kInstantStart;
extern const base::Feature kKitKatSupported;
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
@@ -371,6 +371,7 @@ public abstract class ChromeFeatureList {
public static final String INCOGNITO_REAUTHENTICATION_FOR_ANDROID =
"IncognitoReauthenticationForAndroid";
public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot";
+ public static final String INLINE_UPDATE_FLOW = "InlineUpdateFlow";
public static final String INSTALLABLE_AMBIENT_BADGE_INFOBAR = "InstallableAmbientBadgeInfoBar";
public static final String INSTANCE_SWITCHER = "InstanceSwitcher";
public static final String INSTANT_START = "InstantStart";
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
@@ -1704,6 +1704,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1731,6 +1731,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>
@ -915,7 +1371,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]">
@@ -3220,7 +3226,7 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3228,7 +3234,7 @@ 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]">
@ -924,6 +1380,24 @@ 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
--
2.20.1
@@ -3239,6 +3245,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>
+ <message name="IDS_MENU_INLINE_UPDATE_DOWNLOADING" desc="Menu item for when Chrome is in the process of updating. [CHAR_LIMIT=24]">
+ Downloading…
+ </message>
+ <message name="IDS_MENU_INLINE_UPDATE_FAILED" desc="Menu item for when Chrome failed to download an update. [CHAR_LIMIT=24]">
+ Couldnt download
+ </message>
+ <message name="IDS_MENU_INLINE_UPDATE_READY" desc="Menu item text that is shown when Chrome has downloaded an update for itself and is ready to be restarted, which will apply the update. [CHAR_LIMIT=24]">
+ Update ready
+ </message>
+ <message name="IDS_MENU_INLINE_UPDATE_READY_SUMMARY" desc="Summary text that is shown when Chrome has downloaded an update for itself and is ready to be restarted, which will apply the update. This lets the user know the update will restart. [CHAR_LIMIT=24]">
+ Restart Bromite
+ </message>
<message name="IDS_MENU_NEW_WINDOW" desc="Menu item for opening a new window. [CHAR_LIMIT=27]">
New window
</message>
--
2.25.1

View file

@ -9,7 +9,7 @@ Subject: Bromite package name
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -43,7 +43,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)
}

View file

@ -12,7 +12,7 @@ See also: https://github.com/bromite/bromite/issues/553
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
@@ -657,12 +657,13 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
@@ -796,12 +796,13 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
port_config.enable_nonproxied_udp = false;
break;
case DEFAULT:
@ -29,6 +29,5 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_d
<< "policy: " << policy
<< ", multiple_routes: " << port_config.enable_multiple_routes
<< ", nonproxied_udp: " << port_config.enable_nonproxied_udp
--
2.20.1
--
2.25.1

View file

@ -9,7 +9,7 @@ Subject: Chromium package name
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -43,7 +43,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)
}
@ -18,5 +18,4 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
if (android_channel != "default" && android_channel != "stable") {
# android-binary-size trybot may checks if an internal Chrome variant's
# AndroidManifest is as expected by ensuring the differences between its
--
2.25.1

View file

@ -10,7 +10,7 @@ Subject: Disable AGSA by default
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
@@ -622,7 +622,7 @@ const base::Feature kEnhancedProtectionPromoCard{
@@ -630,7 +630,7 @@ const base::Feature kEnhancedProtectionPromoCard{
"EnhancedProtectionPromoCard", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kExperimentsForAgsa{"ExperimentsForAgsa",
@ -31,6 +31,5 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
.put(ChromeFeatureList.APP_MENU_MOBILE_SITE_OPTION, false)
.put(ChromeFeatureList.OPTIMIZATION_GUIDE_PUSH_NOTIFICATIONS, false)
.put(ChromeFeatureList.APP_TO_WEB_ATTRIBUTION, false)
--
2.20.1
--
2.25.1

View file

@ -26,7 +26,7 @@ diff --git a/chrome/android/java/res/xml/accessibility_preferences.xml b/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
@@ -1290,6 +1290,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1320,6 +1320,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_PREFS_ACCESSIBILITY" desc="Title of Accessibility settings, which allows the user to change webpage font sizes. [CHAR_LIMIT=32]">
Accessibility
</message>
@ -42,7 +42,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
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
@@ -774,6 +774,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProvider
@@ -775,6 +775,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProvider
structure.setChildCount(0);
return;
}
@ -54,6 +54,5 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/access
structure.setChildCount(1);
final ViewStructure viewRoot = structure.asyncNewChild(0);
viewRoot.setClassName("");
--
2.20.1
--
2.25.1

View file

@ -9,7 +9,7 @@ Subject: Disable DRM media origin IDs preprovisioning
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
@@ -655,7 +655,7 @@ const base::Feature kMediaDrmPersistentLicense{
@@ -670,7 +670,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",

View file

@ -18,17 +18,18 @@ Also added the disabling of blink features through the DisabledForBromite tag
components/history/core/browser/url_row.h | 1 -
third_party/blink/common/features.cc | 4 +-
.../permissions_policy_feature.mojom | 5 --
.../blink/renderer/core/dom/document.cc | 3 +-
.../renderer/bindings/generated_in_core.gni | 2 -
.../blink/renderer/core/dom/document.cc | 31 +---------
.../blink/renderer/core/dom/document.idl | 1 -
.../renderer/core/dom/interest_cohort.idl | 4 --
.../permissions_policy_features.json5 | 6 --
.../platform/runtime_enabled_features.json5 | 5 +-
17 files changed, 38 insertions(+), 134 deletions(-)
18 files changed, 38 insertions(+), 164 deletions(-)
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -2773,6 +2773,10 @@ bool ChromeContentBrowserClient::IsConversionMeasurementOperationAllowed(
@@ -2771,6 +2771,10 @@ bool ChromeContentBrowserClient::IsConversionMeasurementOperationAllowed(
const url::Origin* impression_origin,
const url::Origin* conversion_origin,
const url::Origin* reporting_origin) {
@ -152,7 +153,7 @@ diff --git a/chrome/browser/federated_learning/floc_eligibility_observer.cc b/ch
- observed_opt_in_signal_ = true;
}
RENDER_DOCUMENT_HOST_USER_DATA_KEY_IMPL(FlocEligibilityObserver);
DOCUMENT_USER_DATA_KEY_IMPL(FlocEligibilityObserver);
diff --git a/chrome/browser/federated_learning/floc_id_provider_impl.cc b/chrome/browser/federated_learning/floc_id_provider_impl.cc
--- a/chrome/browser/federated_learning/floc_id_provider_impl.cc
+++ b/chrome/browser/federated_learning/floc_id_provider_impl.cc
@ -181,7 +182,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome
// On first entering the privacy sandbox experiment, users may have the
// privacy sandbox disabled (or "reconciled") based on their current cookie
// settings (e.g. blocking 3P cookies). Depending on the state of the sync
@@ -300,7 +303,8 @@ bool PrivacySandboxSettings::IsFlocPrefEnabled() const {
@@ -291,7 +294,8 @@ bool PrivacySandboxSettings::IsFlocPrefEnabled() const {
}
void PrivacySandboxSettings::SetFlocPrefEnabled(bool enabled) const {
@ -191,7 +192,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome
base::RecordAction(base::UserMetricsAction(
enabled ? "Settings.PrivacySandbox.FlocEnabled"
: "Settings.PrivacySandbox.FlocDisabled"));
@@ -453,6 +457,7 @@ void PrivacySandboxSettings::MaybeReconcilePrivacySandboxPref() {
@@ -444,6 +448,7 @@ void PrivacySandboxSettings::MaybeReconcilePrivacySandboxPref() {
// this code could be eliminated in the future, as initially
// the feauture was tied to the cookies flag
pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabled, false);
@ -199,7 +200,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome
if((true))
return;
@@ -551,11 +556,8 @@ void PrivacySandboxSettings::ReconcilePrivacySandboxPref() {
@@ -542,11 +547,8 @@ void PrivacySandboxSettings::ReconcilePrivacySandboxPref() {
void PrivacySandboxSettings::SetFlocDataAccessibleFromNow(
bool reset_calculate_timer) const {
@ -361,7 +362,7 @@ diff --git a/components/history/core/browser/url_row.h b/components/history/core
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
@@ -883,11 +883,11 @@ const base::Feature kSendCnameAliasesToSubresourceFilterFromRenderer{
@@ -888,11 +888,11 @@ const base::Feature kSendCnameAliasesToSubresourceFilterFromRenderer{
// API exposure will be disabled regardless of the OT config.
// (See https://github.com/WICG/floc.)
const base::Feature kInterestCohortAPIOriginTrial{
@ -390,10 +391,30 @@ diff --git a/third_party/blink/public/mojom/permissions_policy/permissions_polic
// Controls whether Autofill may fill fields in that frame when triggered on
// a field with the main frame's origin.
kSharedAutofill = 83,
diff --git a/third_party/blink/renderer/bindings/generated_in_core.gni b/third_party/blink/renderer/bindings/generated_in_core.gni
--- a/third_party/blink/renderer/bindings/generated_in_core.gni
+++ b/third_party/blink/renderer/bindings/generated_in_core.gni
@@ -201,8 +201,6 @@ generated_dictionary_sources_in_core = [
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_input_device_capabilities_init.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_input_event_init.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_input_event_init.h",
- "$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_interest_cohort.cc",
- "$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_interest_cohort.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_intersection_observer_init.cc",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_intersection_observer_init.h",
"$root_gen_dir/third_party/blink/renderer/bindings/core/v8/v8_intrinsic_sizes_result_options.cc",
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
@@ -5998,8 +5998,7 @@ ScriptPromise Document::interestCohort(ScriptState* script_state,
@@ -79,7 +79,6 @@
#include "third_party/blink/renderer/bindings/core/v8/source_location.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_element_creation_options.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_element_registration_options.h"
-#include "third_party/blink/renderer/bindings/core/v8/v8_interest_cohort.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_throw_dom_exception.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_union_elementcreationoptions_string.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_union_htmlscriptelement_svgscriptelement.h"
@@ -5968,8 +5967,7 @@ ScriptPromise Document::interestCohort(ScriptState* script_state,
return ScriptPromise();
}
@ -403,6 +424,40 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
exception_state.ThrowDOMException(
DOMExceptionCode::kInvalidAccessError,
"The \"interest-cohort\" Permissions Policy denied the use of "
@@ -5981,33 +5979,6 @@ ScriptPromise Document::interestCohort(ScriptState* script_state,
MakeGarbageCollected<ScriptPromiseResolver>(script_state);
ScriptPromise promise = resolver->Promise();
-
- GetFlocService(ExecutionContext::From(script_state))
- ->GetInterestCohort(WTF::Bind(
- [](ScriptPromiseResolver* resolver, Document* document,
- mojom::blink::InterestCohortPtr interest_cohort) {
- DCHECK(resolver);
- DCHECK(document);
-
- if (interest_cohort->version.IsEmpty()) {
- ScriptState* state = resolver->GetScriptState();
- ScriptState::Scope scope(state);
-
- resolver->Reject(V8ThrowDOMException::CreateOrEmpty(
- state->GetIsolate(), DOMExceptionCode::kDataError,
- "Failed to get the interest cohort: either it is "
- "unavailable, or preferences or content settings have "
- "denied access."));
- } else {
- InterestCohort* result = InterestCohort::Create();
- result->setId(interest_cohort->id);
- result->setVersion(interest_cohort->version);
-
- resolver->Resolve(result);
- }
- },
- WrapPersistent(resolver), WrapPersistent(this)));
-
return promise;
}
diff --git a/third_party/blink/renderer/core/dom/document.idl b/third_party/blink/renderer/core/dom/document.idl
--- a/third_party/blink/renderer/core/dom/document.idl
+++ b/third_party/blink/renderer/core/dom/document.idl
@ -439,12 +494,12 @@ diff --git a/third_party/blink/renderer/core/permissions_policy/permissions_poli
- depends_on: ["InterestCohortFeaturePolicy"],
- },
{
name: "Magnetometer",
permissions_policy_name: "magnetometer",
name: "KeyboardMap",
permissions_policy_name: "keyboard-map",
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
@@ -1225,12 +1225,11 @@
@@ -1235,12 +1235,11 @@
},
{
name: "InterestCohortAPI",
@ -459,6 +514,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
},
{
name: "IntersectionObserverDocumentScrollingElementRoot",
--
2.20.1
--
2.25.1

View file

@ -9,7 +9,7 @@ Subject: Disable all promo dialogs
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- 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
@@ -847,7 +847,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -856,7 +856,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
* displayed.
*/
private boolean triggerPromo(boolean intentWithEffect) {
@ -18,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;
}
@@ -882,8 +882,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -891,8 +891,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
preferenceManager.writeBoolean(
ChromePreferenceKeys.PROMOS_SKIPPED_ON_FIRST_START, true);
}
@ -29,6 +29,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
}
private boolean maybeShowPromo() {
--
2.20.1
--
2.25.1

View file

@ -67,7 +67,7 @@ diff --git a/chrome/browser/attribution_reporting/android/internal/java/src/org/
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
@@ -426,7 +426,7 @@ const base::Feature kAppMenuMobileSiteOption{"AppMenuMobileSiteOption",
@@ -432,7 +432,7 @@ const base::Feature kAppMenuMobileSiteOption{"AppMenuMobileSiteOption",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kAppToWebAttribution{"AppToWebAttribution",
@ -93,7 +93,7 @@ diff --git a/components/embedder_support/origin_trials/features.cc b/components/
diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b/components/renderer_context_menu/render_view_context_menu_base.cc
--- a/components/renderer_context_menu/render_view_context_menu_base.cc
+++ b/components/renderer_context_menu/render_view_context_menu_base.cc
@@ -484,9 +484,6 @@ void RenderViewContextMenuBase::OpenURLWithExtraHeaders(
@@ -485,9 +485,6 @@ void RenderViewContextMenuBase::OpenURLWithExtraHeaders(
open_url_params.source_site_instance = site_instance_;
@ -126,7 +126,7 @@ diff --git a/content/browser/android/navigation_handle_proxy.cc b/content/browse
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
@@ -417,14 +417,6 @@ void AttributionHost::BindReceiver(
@@ -418,14 +418,6 @@ void AttributionHost::BindReceiver(
conversion_host->receivers_.Bind(rfh, std::move(receiver));
}
@ -166,7 +166,7 @@ diff --git a/content/browser/attribution_reporting/attribution_host_utils.cc b/c
namespace content {
namespace attribution_host_utils {
@@ -79,6 +81,10 @@ absl::optional<blink::Impression> ParseImpressionFromApp(
@@ -81,6 +83,10 @@ absl::optional<blink::Impression> ParseImpressionFromApp(
// Java API should have rejected these already.
DCHECK(!source_event_id.empty() && !destination.empty());
@ -180,7 +180,7 @@ diff --git a/content/browser/attribution_reporting/attribution_host_utils.cc b/c
diff --git a/content/browser/attribution_reporting/attribution_network_sender_impl.cc b/content/browser/attribution_reporting/attribution_network_sender_impl.cc
--- a/content/browser/attribution_reporting/attribution_network_sender_impl.cc
+++ b/content/browser/attribution_reporting/attribution_network_sender_impl.cc
@@ -146,13 +146,9 @@ void AttributionNetworkSenderImpl::SendReport(
@@ -143,13 +143,9 @@ void AttributionNetworkSenderImpl::SendReport(
LogMetricsOnReportSend(report);
@ -197,7 +197,7 @@ diff --git a/content/browser/attribution_reporting/attribution_network_sender_im
}
void AttributionNetworkSenderImpl::SetURLLoaderFactoryForTesting(
@@ -165,6 +161,13 @@ void AttributionNetworkSenderImpl::OnReportSent(
@@ -162,6 +158,13 @@ void AttributionNetworkSenderImpl::OnReportSent(
AttributionReport report,
ReportSentCallback sent_callback,
scoped_refptr<net::HttpResponseHeaders> headers) {
@ -214,7 +214,7 @@ diff --git a/content/browser/attribution_reporting/attribution_network_sender_im
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
@@ -239,7 +239,7 @@ void AttributionStorageSql::RunInMemoryForTesting() {
@@ -237,7 +237,7 @@ void AttributionStorageSql::RunInMemoryForTesting() {
}
// static
@ -252,14 +252,14 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.cc b/co
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
@@ -1299,12 +1299,7 @@ void StoragePartitionImpl::Initialize(
@@ -1292,12 +1292,7 @@ void StoragePartitionImpl::Initialize(
bucket_context_ = base::MakeRefCounted<BucketContext>();
bucket_context_->Initialize();
- // The Conversion Measurement API is not available in Incognito mode.
- if (!is_in_memory() &&
- base::FeatureList::IsEnabled(blink::features::kConversionMeasurement)) {
- conversion_manager_ = std::make_unique<ConversionManagerImpl>(
- attribution_manager_ = std::make_unique<AttributionManagerImpl>(
- this, path, special_storage_policy_);
- }
+ // The Conversion Measurement API is not available in Bromite.
@ -278,12 +278,12 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
}
/**
@@ -32,8 +30,6 @@ public class AttributionReporterImpl extends AttributionReporter {
@Override
@@ -33,8 +31,6 @@ public class AttributionReporterImpl extends AttributionReporter {
public void reportAppImpression(BrowserContextHandle browserContext, String sourcePackageName,
String sourceEventId, String destination, String reportTo, long expiry) {
- AttributionReporterImplJni.get().reportAppImpression(
- browserContext, sourcePackageName, sourceEventId, destination, reportTo, expiry);
String sourceEventId, String destination, String reportTo, long expiry,
long eventTime) {
- AttributionReporterImplJni.get().reportAppImpression(browserContext, sourcePackageName,
- sourceEventId, destination, reportTo, expiry, eventTime);
}
@NativeMethods
@ -301,7 +301,7 @@ diff --git a/content/public/browser/navigation_controller.cc b/content/public/br
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -37,7 +37,7 @@ const base::Feature kCSSContainerQueries{"CSSContainerQueries",
@@ -42,7 +42,7 @@ const base::Feature kCSSContainerQueries{"CSSContainerQueries",
// Controls whether the Conversion Measurement API infrastructure is enabled.
const base::Feature kConversionMeasurement{"ConversionMeasurement",
@ -343,6 +343,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
},
{
name: "CooperativeScheduling"
--
2.20.1
--
2.25.1

View file

@ -50,7 +50,7 @@ diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/s
diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
--- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
+++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
@@ -186,6 +186,8 @@ ChromeMetricsServicesManagerClient::GetMetricsStateManagerForTesting() {
@@ -188,6 +188,8 @@ ChromeMetricsServicesManagerClient::GetMetricsStateManagerForTesting() {
void ChromeMetricsServicesManagerClient::CreateFallbackSamplingTrial(
version_info::Channel channel,
base::FeatureList* feature_list) {
@ -62,7 +62,7 @@ diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/
diff --git a/components/ukm/ukm_recorder_impl.cc b/components/ukm/ukm_recorder_impl.cc
--- a/components/ukm/ukm_recorder_impl.cc
+++ b/components/ukm/ukm_recorder_impl.cc
@@ -189,6 +189,9 @@ UkmRecorderImpl::~UkmRecorderImpl() = default;
@@ -181,6 +181,9 @@ UkmRecorderImpl::~UkmRecorderImpl() = default;
void UkmRecorderImpl::CreateFallbackSamplingTrial(
bool is_stable_channel,
base::FeatureList* feature_list) {
@ -160,7 +160,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
@@ -271,8 +271,8 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
@@ -250,8 +250,8 @@ bool VariationsFieldTrialCreator::SetUpFieldTrials(
// instance is set.
feature_list->RegisterExtraFeatureOverrides(extra_overrides);
@ -170,7 +170,7 @@ diff --git a/components/variations/service/variations_field_trial_creator.cc b/c
if (!command_line->HasSwitch(switches::kDisableFieldTrialTestingConfig) &&
!command_line->HasSwitch(::switches::kForceFieldTrials) &&
!command_line->HasSwitch(switches::kVariationsServerURL)) {
@@ -286,10 +286,12 @@ bool VariationsFieldTrialCreator::SetupFieldTrials(
@@ -265,10 +265,12 @@ bool VariationsFieldTrialCreator::SetUpFieldTrials(
}
#endif // BUILDFLAG(FIELDTRIAL_TESTING_ENABLED)
bool used_seed = false;
@ -181,12 +181,12 @@ diff --git a/components/variations/service/variations_field_trial_creator.cc b/c
}
+#endif // BUILDFLAG(FIELDTRIAL_SEED_ENABLED)
platform_field_trials->SetupFeatureControllingFieldTrials(
platform_field_trials->SetUpFeatureControllingFieldTrials(
used_seed, low_entropy_provider.get(), feature_list.get());
diff --git a/components/variations/service/variations_service.cc b/components/variations/service/variations_service.cc
--- a/components/variations/service/variations_service.cc
+++ b/components/variations/service/variations_service.cc
@@ -238,17 +238,8 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
@@ -234,17 +234,8 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
// Variations seed fetching is only enabled in official Chrome builds, if a URL
// is specified on the command line, and for testing.
bool IsFetchingEnabled() {
@ -206,7 +206,7 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
}
std::unique_ptr<SeedResponse> MaybeImportFirstRunSeed(
@@ -608,7 +599,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) {
@@ -602,7 +593,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) {
// debugger or if the machine was suspended) and OnURLFetchComplete() hasn't
// had a chance to run yet from the previous request. In this case, don't
// start a new request and just let the previous one finish.
@ -215,6 +215,5 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
return false;
last_request_was_http_retry_ = is_http_retry;
--
2.20.1
--
2.25.1

View file

@ -77,6 +77,5 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
#if !defined(OS_ANDROID)
registry->RegisterBooleanPref(prefs::kShowCastIconInToolbar, false);
#endif // !defined(OS_ANDROID)
--
2.20.1
--
2.25.1

View file

@ -82,6 +82,5 @@ diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn
"most_visited_sites_unittest.cc",
"popular_sites_impl_unittest.cc",
]
--
2.20.1
--
2.25.1

View file

@ -9,7 +9,7 @@ Subject: Disable metrics on all I/O threads
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
@@ -989,7 +989,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -990,7 +990,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled,
@ -18,6 +18,5 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
registry->RegisterBooleanPref(prefs::kDevToolsRemoteDebuggingAllowed, true);
}
--
2.20.1
--
2.25.1

View file

@ -9,7 +9,7 @@ Subject: Disable plugins enumeration
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
@@ -1871,10 +1871,8 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
@@ -1892,10 +1892,8 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
}
PluginData* LocalFrame::GetPluginData() const {
@ -22,6 +22,5 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
}
void LocalFrame::SetAdTrackerForTesting(AdTracker* ad_tracker) {
--
2.20.1
--
2.25.1

View file

@ -26,7 +26,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
@@ -73,7 +73,6 @@ public class PrivacySettings
@@ -72,7 +72,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";
@ -53,19 +53,24 @@ 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);
@@ -337,12 +324,6 @@ public class PrivacySettings
@@ -301,17 +288,11 @@ public class PrivacySettings
secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
}
- Preference privacySandboxPreference = findPreference(PREF_PRIVACY_SANDBOX);
- if (privacySandboxPreference != null) {
ChromeSwitchPreference forceNoJit =
(ChromeSwitchPreference) findPreference(PREF_FORCE_NO_JIT);
forceNoJit.setOnPreferenceChangeListener(this);
forceNoJit.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
- privacySandboxPreference.setSummary(
- PrivacySandboxSettingsFragment.getStatusString(getContext()));
- }
-
ChromeSwitchPreference closeTabsOnExitPref =
(ChromeSwitchPreference) findPreference(PREF_CLOSE_TABS_ON_EXIT);
closeTabsOnExitPref.setOnPreferenceChangeListener(this);
ChromeSwitchPreference historyInIncognitoPref =
(ChromeSwitchPreference) findPreference(PREF_INCOGNITO_TAB_HISTORY_ENABLED);
if (historyInIncognitoPref != null) {
diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc
--- a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc
+++ b/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc
@ -104,7 +109,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome
// On first entering the privacy sandbox experiment, users may have the
// privacy sandbox disabled (or "reconciled") based on their current cookie
// settings (e.g. blocking 3P cookies). Depending on the state of the sync
@@ -392,7 +379,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxManaged() {
@@ -383,7 +370,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxManaged() {
void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) {
pref_service_->SetBoolean(prefs::kPrivacySandboxManuallyControlled, true);
@ -114,7 +119,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome
}
void PrivacySandboxSettings::OnCookiesCleared() {
@@ -446,6 +434,10 @@ bool PrivacySandboxSettings::IsPrivacySandboxAllowedForContext(
@@ -437,6 +425,10 @@ bool PrivacySandboxSettings::IsPrivacySandboxAllowedForContext(
const GURL& url,
const absl::optional<url::Origin>& top_frame_origin,
const ContentSettingsForOneType& cookie_settings) const {
@ -125,7 +130,7 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome
if (!pref_service_->GetBoolean(prefs::kPrivacySandboxApisEnabled))
return false;
@@ -458,6 +450,12 @@ bool PrivacySandboxSettings::IsPrivacySandboxAllowedForContext(
@@ -449,6 +441,12 @@ bool PrivacySandboxSettings::IsPrivacySandboxAllowedForContext(
}
void PrivacySandboxSettings::MaybeReconcilePrivacySandboxPref() {
@ -138,6 +143,5 @@ diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_settings.cc b/chrome
// No need to reconcile preferences if it has already happened.
if (pref_service_->GetBoolean(prefs::kPrivacySandboxPreferencesReconciled)) {
LogPrivacySandboxState();
--
2.20.1
--
2.25.1

View file

@ -24,6 +24,5 @@ diff --git a/chrome/browser/ui/omnibox/chrome_omnibox_navigation_observer.cc b/c
}
ChromeOmniboxNavigationObserver::~ChromeOmniboxNavigationObserver() {
--
2.20.1
--
2.25.1

View file

@ -16,7 +16,6 @@ Disable CrowdDeny feature
.../usage_stats/UsageStatsConsentDialog.java | 5 --
.../android/chrome_main_delegate_android.cc | 1 +
chrome/browser/BUILD.gn | 28 --------
chrome/browser/about_flags.cc | 2 +-
.../tab_web_contents_delegate_android.cc | 8 +++
chrome/browser/browser_process.h | 7 --
chrome/browser/browser_process_impl.cc | 29 --------
@ -27,7 +26,7 @@ Disable CrowdDeny feature
...ontent_browser_client_receiver_bindings.cc | 2 +
.../file_type_policies_component_installer.cc | 16 +----
.../browser/component_updater/registration.cc | 7 --
.../chrome_download_manager_delegate.cc | 39 ++++------
.../chrome_download_manager_delegate.cc | 41 +++++------
.../chrome_download_manager_delegate.h | 8 ++-
.../browser/download/download_item_model.cc | 15 +++-
chrome/browser/download/download_item_model.h | 4 ++
@ -51,12 +50,13 @@ Disable CrowdDeny feature
...ve_origin_permission_revocation_request.cc | 2 +
.../permissions/chrome_permissions_client.cc | 14 ----
.../permissions/chrome_permissions_client.h | 3 -
...quiet_notification_permission_ui_config.cc | 4 +-
...hrome_browser_main_extra_parts_profiles.cc | 2 -
chrome/browser/profiles/profile_impl.cc | 4 +-
chrome/browser/safe_browsing/BUILD.gn | 4 +-
chrome/browser/safe_browsing/android/BUILD.gn | 4 --
.../safe_browsing/SafeBrowsingBridge.java | 71 -------------------
.../android/safe_browsing_bridge.cc | 53 --------------
.../android/safe_browsing_bridge.cc | 52 --------------
.../download_protection_service.cc | 5 --
.../download_protection_service.h | 5 --
.../url_lookup_service_factory.cc | 4 ++
@ -65,6 +65,8 @@ Disable CrowdDeny feature
.../browser/ssl/security_state_tab_helper.cc | 10 +--
...urce_filter_web_contents_helper_factory.cc | 4 ++
chrome/browser/ui/BUILD.gn | 2 -
.../signin/java/res/layout/fre_uma_dialog.xml | 11 ---
.../signin/fre/FreUMADialogCoordinator.java | 4 --
.../strings/android_chrome_strings.grd | 9 ---
chrome/browser/ui/tab_helpers.cc | 17 ++---
.../ui/webui/interstitials/interstitial_ui.cc | 12 ++--
@ -86,7 +88,7 @@ Disable CrowdDeny feature
.../file_system_access_permission_context.h | 6 --
weblayer/BUILD.gn | 1 -
weblayer/test/BUILD.gn | 1 -
80 files changed, 178 insertions(+), 659 deletions(-)
82 files changed, 181 insertions(+), 674 deletions(-)
diff --git a/chrome/android/java/res/xml/google_services_preferences.xml b/chrome/android/java/res/xml/google_services_preferences.xml
--- a/chrome/android/java/res/xml/google_services_preferences.xml
@ -185,7 +187,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/promo
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
@@ -26,14 +26,11 @@ import org.chromium.chrome.browser.privacy_review.PrivacyReviewDialog;
@@ -25,14 +25,11 @@ import org.chromium.chrome.browser.privacy_review.PrivacyReviewDialog;
import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxReferrer;
import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsFragment;
import org.chromium.chrome.browser.profiles.Profile;
@ -200,7 +202,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
import org.chromium.components.browser_ui.settings.SettingsLauncher;
@@ -53,9 +50,7 @@ public class PrivacySettings
@@ -52,9 +49,7 @@ public class PrivacySettings
private static final String PREF_NETWORK_PREDICTIONS = "preload_pages";
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
private static final String PREF_SECURE_DNS = "secure_dns";
@ -210,9 +212,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
@@ -96,15 +91,6 @@ public class PrivacySettings
setUpIncognitoReauthPreference();
@@ -99,15 +94,6 @@ public class PrivacySettings
mIncognitoLockSettings = new IncognitoLockSettings(incognitoReauthPreference);
mIncognitoLockSettings.setUpIncognitoReauthPreference(getActivity());
- Preference safeBrowsingPreference = findPreference(PREF_SAFE_BROWSING);
- safeBrowsingPreference.setSummary(
@ -226,7 +228,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
setHasOptionsMenu(true);
mManagedPreferenceDelegate = createManagedPreferenceDelegate();
@@ -241,32 +227,6 @@ public class PrivacySettings
@@ -211,32 +197,6 @@ public class PrivacySettings
secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
}
@ -313,7 +315,7 @@ diff --git a/chrome/app/android/chrome_main_delegate_android.cc b/chrome/app/and
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -314,16 +314,12 @@ static_library("browser") {
@@ -311,16 +311,12 @@ static_library("browser") {
"component_updater/chrome_component_updater_configurator.h",
"component_updater/chrome_origin_trials_component_installer.cc",
"component_updater/chrome_origin_trials_component_installer.h",
@ -330,7 +332,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"component_updater/first_party_sets_component_installer.cc",
"component_updater/first_party_sets_component_installer.h",
"component_updater/floc_component_installer.cc",
@@ -1118,8 +1114,6 @@ static_library("browser") {
@@ -1117,8 +1113,6 @@ static_library("browser") {
"permissions/adaptive_quiet_notification_permission_ui_enabler.h",
"permissions/chrome_permissions_client.cc",
"permissions/chrome_permissions_client.h",
@ -339,7 +341,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"permissions/crowd_deny_preload_data.cc",
"permissions/crowd_deny_preload_data.h",
"permissions/crowd_deny_safe_browsing_request.cc",
@@ -1454,15 +1448,6 @@ static_library("browser") {
@@ -1459,15 +1453,6 @@ static_library("browser") {
"renderer_host/chrome_navigation_ui_data.h",
"renderer_preferences_util.cc",
"renderer_preferences_util.h",
@ -355,7 +357,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"resource_coordinator/resource_coordinator_parts.cc",
"resource_coordinator/resource_coordinator_parts.h",
"resource_coordinator/session_restore_policy.cc",
@@ -2189,11 +2174,8 @@ static_library("browser") {
@@ -2202,11 +2187,8 @@ static_library("browser") {
"//components/reporting/util:status_macros",
"//components/reporting/util:status_proto",
"//components/reporting/util:task_runner_context",
@ -367,7 +369,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"//components/safe_browsing/content/browser:safe_browsing_service",
"//components/safe_browsing/content/browser/password_protection",
"//components/safe_browsing/content/browser/web_ui",
@@ -3248,12 +3230,6 @@ static_library("browser") {
@@ -3271,12 +3253,6 @@ static_library("browser") {
"profiles/profile_manager_android.cc",
"profiles/profile_manager_android.h",
"query_tiles/android/tile_provider_factory.cc",
@ -380,7 +382,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"safe_browsing/android/password_reuse_controller_android.cc",
"safe_browsing/android/password_reuse_controller_android.h",
"safe_browsing/android/safe_browsing_referring_app_bridge_android.cc",
@@ -3704,8 +3680,6 @@ static_library("browser") {
@@ -3738,8 +3714,6 @@ static_library("browser") {
"download/download_commands.h",
"download/download_crx_util.cc",
"download/download_crx_util.h",
@ -389,7 +391,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"download/download_dir_policy_handler.cc",
"download/download_dir_policy_handler.h",
"download/download_dir_util.cc",
@@ -7369,8 +7343,6 @@ static_library("test_support") {
@@ -7466,8 +7440,6 @@ static_library("test_support") {
"//components/reporting/util:status_macros",
"//components/reporting/util:status_proto",
"//components/reporting/util:task_runner_context",
@ -398,18 +400,6 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"//components/safe_browsing/core/common/proto:csd_proto",
"//components/search_engines:test_support",
"//components/security_interstitials/content:security_interstitial_page",
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
@@ -2203,7 +2203,7 @@ const FeatureEntry::FeatureParam
{QuietNotificationPermissionUiConfig::kEnableAbusiveRequestWarning,
"true"},
{QuietNotificationPermissionUiConfig::kEnableCrowdDenyTriggering,
- "true"},
+ "false"},
{QuietNotificationPermissionUiConfig::kCrowdDenyHoldBackChance, "0"}};
// The default "Enabled" option has the semantics of showing the quiet UI
diff --git a/chrome/browser/android/tab_web_contents_delegate_android.cc b/chrome/browser/android/tab_web_contents_delegate_android.cc
--- a/chrome/browser/android/tab_web_contents_delegate_android.cc
+++ b/chrome/browser/android/tab_web_contents_delegate_android.cc
@ -433,7 +423,7 @@ diff --git a/chrome/browser/android/tab_web_contents_delegate_android.cc b/chrom
#include "components/security_state/content/content_utils.h"
#include "content/public/browser/file_select_listener.h"
#include "content/public/browser/navigation_entry.h"
@@ -155,8 +159,10 @@ void TabWebContentsDelegateAndroid::PortalWebContentsCreated(
@@ -154,8 +158,10 @@ void TabWebContentsDelegateAndroid::PortalWebContentsCreated(
content::WebContents* portal_contents) {
WebContentsDelegateAndroid::PortalWebContentsCreated(portal_contents);
@ -444,7 +434,7 @@ diff --git a/chrome/browser/android/tab_web_contents_delegate_android.cc b/chrom
// This is a subset of the tab helpers that would be attached by
// TabAndroid::AttachTabHelpers.
@@ -178,11 +184,13 @@ void TabWebContentsDelegateAndroid::PortalWebContentsCreated(
@@ -177,11 +183,13 @@ void TabWebContentsDelegateAndroid::PortalWebContentsCreated(
infobars::ContentInfoBarManager::CreateForWebContents(portal_contents);
PrefsTabHelper::CreateForWebContents(portal_contents);
DataReductionProxyTabHelper::CreateForWebContents(portal_contents);
@ -493,7 +483,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
#include "chrome/browser/shell_integration.h"
#include "chrome/browser/site_isolation/prefs_observer.h"
#include "chrome/browser/ssl/secure_origin_prefs_observer.h"
@@ -110,7 +109,6 @@
@@ -111,7 +110,6 @@
#include "components/prefs/json_pref_store.h"
#include "components/prefs/pref_registry_simple.h"
#include "components/prefs/pref_service.h"
@ -501,7 +491,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
#include "components/sessions/core/session_id_generator.h"
#include "components/subresource_filter/content/browser/ruleset_service.h"
#include "components/translate/core/browser/translate_download_manager.h"
@@ -395,8 +393,6 @@ void BrowserProcessImpl::StartTearDown() {
@@ -396,8 +394,6 @@ void BrowserProcessImpl::StartTearDown() {
metrics_services_manager_.reset();
intranet_redirect_detector_.reset();
@ -510,7 +500,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
network_time_tracker_.reset();
#if BUILDFLAG(ENABLE_PLUGINS)
plugins_resource_service_.reset();
@@ -1030,14 +1026,6 @@ StatusTray* BrowserProcessImpl::status_tray() {
@@ -1031,14 +1027,6 @@ StatusTray* BrowserProcessImpl::status_tray() {
return status_tray_.get();
}
@ -525,7 +515,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
subresource_filter::RulesetService*
BrowserProcessImpl::subresource_filter_ruleset_service() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -1301,23 +1289,6 @@ void BrowserProcessImpl::CreateBackgroundPrintingManager() {
@@ -1303,23 +1291,6 @@ void BrowserProcessImpl::CreateBackgroundPrintingManager() {
}
void BrowserProcessImpl::CreateSafeBrowsingService() {
@ -603,9 +593,9 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#include "chrome/browser/safe_browsing/url_lookup_service_factory.h"
+#endif
#include "chrome/browser/search/search.h"
#include "chrome/browser/segmentation_platform/chrome_browser_main_extra_parts_segmentation_platform.h"
#include "chrome/browser/sharing/sms/sms_remote_fetcher.h"
#include "chrome/browser/signin/chrome_signin_proxying_url_loader_factory.h"
@@ -928,9 +930,7 @@ void SetApplicationLocaleOnIOThread(const std::string& locale) {
@@ -936,9 +938,7 @@ void SetApplicationLocaleOnIOThread(const std::string& locale) {
class CertificateReportingServiceCertReporter : public SSLCertReporter {
public:
explicit CertificateReportingServiceCertReporter(
@ -616,7 +606,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
CertificateReportingServiceCertReporter(
const CertificateReportingServiceCertReporter&) = delete;
@@ -942,11 +942,9 @@ class CertificateReportingServiceCertReporter : public SSLCertReporter {
@@ -950,11 +950,9 @@ class CertificateReportingServiceCertReporter : public SSLCertReporter {
// SSLCertReporter implementation
void ReportInvalidCertificateChain(
const std::string& serialized_report) override {
@ -628,7 +618,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
};
#if BUILDFLAG(ENABLE_EXTENSIONS)
@@ -1423,7 +1421,9 @@ void ChromeContentBrowserClient::PostAfterStartupTask(
@@ -1438,7 +1436,9 @@ void ChromeContentBrowserClient::PostAfterStartupTask(
InitNetworkContextsParentDirectory();
DCHECK_CURRENTLY_ON(BrowserThread::UI);
@ -638,7 +628,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
}
bool ChromeContentBrowserClient::IsBrowserStartupComplete() {
@@ -2163,7 +2163,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
@@ -2178,7 +2178,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
}
#elif defined(OS_POSIX)
#if defined(OS_ANDROID)
@ -647,7 +637,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#else
bool enable_crash_reporter = false;
if (crash_reporter::IsCrashpadEnabled()) {
@@ -2300,6 +2300,9 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
@@ -2315,6 +2315,9 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
command_line->AppendSwitch(
switches::kSharedArrayBufferUnrestrictedAccessAllowed);
}
@ -665,7 +655,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
// g_browser_process->safe_browsing_service() may be null in unittests.
safe_browsing::SafeBrowsingUIManager* ui_manager =
g_browser_process->safe_browsing_service()
@@ -4272,6 +4276,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -4273,6 +4277,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
std::make_unique<safe_browsing::DelayedWarningNavigationThrottle>(
handle));
}
@ -673,7 +663,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
@@ -5670,6 +5675,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
@@ -5684,6 +5689,7 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
const std::vector<std::string>& allowlist_domains) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
@ -681,7 +671,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
// Should not bypass safe browsing check if the check is for enterprise
// lookup.
if (!safe_browsing_enabled_for_profile && !should_check_on_sb_disabled)
@@ -5690,6 +5696,9 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
@@ -5704,6 +5710,9 @@ ChromeContentBrowserClient::GetSafeBrowsingUrlCheckerDelegate(
}
return safe_browsing_url_checker_delegate_;
@ -691,7 +681,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
}
safe_browsing::RealTimeUrlLookupServiceBase*
@@ -5697,24 +5706,28 @@ ChromeContentBrowserClient::GetUrlLookupService(
@@ -5711,24 +5720,28 @@ ChromeContentBrowserClient::GetUrlLookupService(
content::BrowserContext* browser_context,
bool is_enterprise_lookup_enabled,
bool is_consumer_lookup_enabled) {
@ -724,7 +714,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h
--- a/chrome/browser/chrome_content_browser_client.h
+++ b/chrome/browser/chrome_content_browser_client.h
@@ -843,9 +843,11 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
@@ -844,9 +844,11 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
// Parts are deleted in the reverse order they are added.
std::vector<ChromeContentBrowserClientParts*> extra_parts_;
@ -800,7 +790,7 @@ diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/c
#include "chrome/browser/component_updater/crl_set_component_installer.h"
#include "chrome/browser/component_updater/crowd_deny_component_installer.h"
#include "chrome/browser/component_updater/file_type_policies_component_installer.h"
@@ -36,7 +35,6 @@
@@ -35,7 +34,6 @@
#include "components/component_updater/installer_policies/autofill_states_component_installer.h"
#include "components/component_updater/installer_policies/on_device_head_suggest_component_installer.h"
#include "components/component_updater/installer_policies/optimization_hints_component_installer.h"
@ -808,7 +798,7 @@ diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/c
#include "components/nacl/common/buildflags.h"
#include "device/vr/buildflags/buildflags.h"
#include "ppapi/buildflags/buildflags.h"
@@ -200,9 +198,6 @@ void RegisterComponentsForUpdate(bool is_off_the_record_profile,
@@ -188,9 +186,6 @@ void RegisterComponentsForUpdate() {
MaybeRegisterPKIMetadataComponent(cus);
@ -818,7 +808,7 @@ diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/c
#if BUILDFLAG(IS_CHROMEOS_ASH)
RegisterSmartDimComponent(cus);
#endif // !BUILDFLAG(IS_CHROMEOS_ASH)
@@ -219,8 +214,6 @@ void RegisterComponentsForUpdate(bool is_off_the_record_profile,
@@ -207,8 +202,6 @@ void RegisterComponentsForUpdate() {
RegisterAutofillStatesComponent(cus, g_browser_process->local_state());
RegisterAutofillRegexComponent(cus);
@ -850,7 +840,19 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
#include "chrome/browser/ui/chrome_pages.h"
#include "chrome/browser/ui/scoped_tabbed_browser_displayer.h"
#include "chrome/common/buildflags.h"
@@ -135,8 +139,10 @@ using content::DownloadManager;
@@ -72,9 +76,11 @@
#include "components/prefs/pref_member.h"
#include "components/prefs/pref_service.h"
#include "components/safe_browsing/buildflags.h"
+#if defined(FULL_SAFE_BROWSING)
#include "components/safe_browsing/content/browser/download/download_stats.h"
#include "components/safe_browsing/content/browser/web_ui/safe_browsing_ui.h"
#include "components/safe_browsing/content/common/file_type_policies.h"
+#endif
#include "components/services/quarantine/public/mojom/quarantine.mojom.h"
#include "components/services/quarantine/quarantine_impl.h"
#include "content/public/browser/browser_task_traits.h"
@@ -135,8 +141,10 @@ using content::DownloadManager;
using download::DownloadItem;
using download::DownloadPathReservationTracker;
using download::PathValidationResult;
@ -861,7 +863,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
using ConnectionType = net::NetworkChangeNotifier::ConnectionType;
namespace {
@@ -341,12 +347,12 @@ void HandleMixedDownloadInfoBarResult(
@@ -341,12 +349,12 @@ void HandleMixedDownloadInfoBarResult(
}
#endif
@ -875,7 +877,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
if (download_restriction !=
DownloadPrefs::DownloadRestriction::POTENTIALLY_DANGEROUS_FILES &&
download_restriction !=
@@ -383,8 +389,8 @@ void MaybeReportDangerousDownloadBlocked(
@@ -383,8 +391,8 @@ void MaybeReportDangerousDownloadBlocked(
danger_type, download->GetMimeType(), /*scan_id*/ "",
download->GetTotalBytes(), safe_browsing::EventResult::BLOCKED);
}
@ -885,7 +887,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
#if BUILDFLAG(FULL_SAFE_BROWSING)
download::DownloadDangerType SavePackageDangerType(
@@ -436,13 +442,6 @@ ChromeDownloadManagerDelegate::~ChromeDownloadManagerDelegate() {
@@ -436,13 +444,6 @@ ChromeDownloadManagerDelegate::~ChromeDownloadManagerDelegate() {
void ChromeDownloadManagerDelegate::SetDownloadManager(DownloadManager* dm) {
download_manager_ = dm;
@ -899,7 +901,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
}
#if defined(OS_ANDROID)
@@ -791,16 +790,6 @@ void ChromeDownloadManagerDelegate::ChooseSavePath(
@@ -791,16 +792,6 @@ void ChromeDownloadManagerDelegate::ChooseSavePath(
void ChromeDownloadManagerDelegate::SanitizeSavePackageResourceName(
base::FilePath* filename) {
@ -916,7 +918,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
}
void ChromeDownloadManagerDelegate::SanitizeDownloadParameters(
@@ -870,8 +859,6 @@ void ChromeDownloadManagerDelegate::OpenDownload(DownloadItem* download) {
@@ -870,8 +861,6 @@ void ChromeDownloadManagerDelegate::OpenDownload(DownloadItem* download) {
chrome::ShowSettingsSubPage(browser, "certificates");
else
browser->OpenURL(params);
@ -925,7 +927,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
#endif // OS_ANDROID
}
@@ -927,18 +914,18 @@ ChromeDownloadManagerDelegate::ApplicationClientIdForFileScanning() {
@@ -927,18 +916,18 @@ ChromeDownloadManagerDelegate::ApplicationClientIdForFileScanning() {
return std::string(chrome::kApplicationClientIDStringForAVScanning);
}
@ -946,7 +948,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
void ChromeDownloadManagerDelegate::GetMixedContentStatus(
download::DownloadItem* download,
@@ -1535,8 +1522,11 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined(
@@ -1545,8 +1534,11 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined(
DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true);
#endif
@ -958,7 +960,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
if (ShouldBlockFile(target_info->danger_type, item)) {
MaybeReportDangerousDownloadBlocked(
download_prefs_->download_restriction(), "DANGEROUS_FILE_TYPE",
@@ -1545,6 +1535,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined(
@@ -1555,6 +1547,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDetermined(
// A dangerous type would take precedence over the blocking of the file.
target_info->danger_type = download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS;
}
@ -966,7 +968,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
base::FilePath target_path = target_info->target_path;
@@ -1687,7 +1678,6 @@ void ChromeDownloadManagerDelegate::MaybeSendDangerousDownloadOpenedReport(
@@ -1697,7 +1690,6 @@ void ChromeDownloadManagerDelegate::MaybeSendDangerousDownloadOpenedReport(
service->MaybeSendDangerousDownloadOpenedReport(download,
show_download_in_folder);
}
@ -974,7 +976,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
if (!download->GetAutoOpened()) {
download::DownloadContent download_content =
download::DownloadContentFromMimeType(download->GetMimeType(), false);
@@ -1695,6 +1685,7 @@ void ChromeDownloadManagerDelegate::MaybeSendDangerousDownloadOpenedReport(
@@ -1705,6 +1697,7 @@ void ChromeDownloadManagerDelegate::MaybeSendDangerousDownloadOpenedReport(
download->GetDangerType(), download_content, base::Time::Now(),
download->GetEndTime(), show_download_in_folder);
}
@ -1162,7 +1164,7 @@ diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download
namespace {
@@ -260,14 +264,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profile_(profile) {
@@ -251,14 +255,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profile_(profile) {
base::FilePath::StringType(1, base::FilePath::kExtensionSeparator) +
extension);
@ -1178,7 +1180,7 @@ diff --git a/chrome/browser/download/download_prefs.cc b/chrome/browser/download
}
}
@@ -475,10 +472,6 @@ bool DownloadPrefs::IsAutoOpenByPolicy(const GURL& url,
@@ -466,10 +463,6 @@ bool DownloadPrefs::IsAutoOpenByPolicy(const GURL& url,
bool DownloadPrefs::EnableAutoOpenByUserBasedOnExtension(
const base::FilePath& file_name) {
base::FilePath::StringType extension = file_name.Extension();
@ -1669,7 +1671,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
#include "chrome/browser/ui/file_system_access_dialogs.h"
#include "chrome/common/chrome_paths.h"
#include "components/content_settings/core/browser/host_content_settings_map.h"
@@ -299,6 +301,7 @@ BindResultCallbackToCurrentSequence(
@@ -301,6 +303,7 @@ BindResultCallbackToCurrentSequence(
base::SequencedTaskRunnerHandle::Get(), std::move(callback));
}
@ -1677,7 +1679,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
void DoSafeBrowsingCheckOnUIThread(
content::GlobalRenderFrameHostId frame_id,
std::unique_ptr<content::FileSystemAccessWriteItem> item,
@@ -375,6 +378,7 @@ InterpretSafeBrowsingResult(safe_browsing::DownloadCheckResult result) {
@@ -377,6 +380,7 @@ InterpretSafeBrowsingResult(safe_browsing::DownloadCheckResult result) {
NOTREACHED();
return ChromeFileSystemAccessPermissionContext::AfterWriteCheckResult::kBlock;
}
@ -1685,7 +1687,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
std::string GenerateLastPickedDirectoryKey(const std::string& id) {
return id.empty() ? kDefaultLastPickedDirectoryKey
@@ -1106,6 +1110,7 @@ void ChromeFileSystemAccessPermissionContext::ConfirmSensitiveDirectoryAccess(
@@ -1130,6 +1134,7 @@ void ChromeFileSystemAccessPermissionContext::ConfirmSensitiveDirectoryAccess(
std::move(callback)));
}
@ -1693,7 +1695,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
void ChromeFileSystemAccessPermissionContext::PerformAfterWriteChecks(
std::unique_ptr<content::FileSystemAccessWriteItem> item,
content::GlobalRenderFrameHostId frame_id,
@@ -1127,6 +1132,7 @@ void ChromeFileSystemAccessPermissionContext::PerformAfterWriteChecks(
@@ -1151,6 +1156,7 @@ void ChromeFileSystemAccessPermissionContext::PerformAfterWriteChecks(
},
base::SequencedTaskRunnerHandle::Get(), std::move(callback))));
}
@ -1746,7 +1748,7 @@ diff --git a/chrome/browser/lookalikes/lookalike_url_controller_client.cc b/chro
diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc
--- a/chrome/browser/metrics/chrome_metrics_service_client.cc
+++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
@@ -828,9 +828,6 @@ void ChromeMetricsServiceClient::RegisterMetricsServiceProviders() {
@@ -824,9 +824,6 @@ void ChromeMetricsServiceClient::RegisterMetricsServiceProviders() {
metrics_service_->RegisterMetricsProvider(
std::make_unique<HttpsEngagementMetricsProvider>());
@ -1772,7 +1774,7 @@ diff --git a/chrome/browser/net/trial_comparison_cert_verifier_controller.cc b/c
diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc
--- a/chrome/browser/password_manager/chrome_password_manager_client.cc
+++ b/chrome/browser/password_manager/chrome_password_manager_client.cc
@@ -828,21 +828,13 @@ autofill::LanguageCode ChromePasswordManagerClient::GetPageLanguage() const {
@@ -830,21 +830,13 @@ autofill::LanguageCode ChromePasswordManagerClient::GetPageLanguage() const {
safe_browsing::PasswordProtectionService*
ChromePasswordManagerClient::GetPasswordProtectionService() const {
@ -1795,7 +1797,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b
}
#endif // defined(ON_FOCUS_PING_ENABLED)
@@ -852,22 +844,9 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry(
@@ -854,22 +846,9 @@ void ChromePasswordManagerClient::CheckProtectedPasswordEntry(
const std::vector<password_manager::MatchingReusedCredential>&
matching_reused_credentials,
bool password_field_exists) {
@ -1818,7 +1820,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b
}
#if !defined(OS_ANDROID)
@@ -1441,6 +1420,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
@@ -1459,6 +1438,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
is_enabled = false;
}
@ -1826,7 +1828,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b
// SafeBrowsing Delayed Warnings experiment can delay some SafeBrowsing
// warnings until user interaction. If the current page has a delayed warning,
// it'll have a user interaction observer attached. Disable password
@@ -1451,6 +1431,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
@@ -1469,6 +1449,7 @@ bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage(
observer->OnPasswordSaveOrAutofillDenied();
is_enabled = false;
}
@ -1897,6 +1899,20 @@ diff --git a/chrome/browser/permissions/chrome_permissions_client.h b/chrome/bro
void OnPromptResolved(
content::BrowserContext* browser_context,
permissions::RequestType request_type,
diff --git a/chrome/browser/permissions/quiet_notification_permission_ui_config.cc b/chrome/browser/permissions/quiet_notification_permission_ui_config.cc
--- a/chrome/browser/permissions/quiet_notification_permission_ui_config.cc
+++ b/chrome/browser/permissions/quiet_notification_permission_ui_config.cc
@@ -89,8 +89,8 @@ bool QuietNotificationPermissionUiConfig::IsCrowdDenyTriggeringEnabled() {
return false;
return base::GetFieldTrialParamByFeatureAsBool(
- features::kQuietNotificationPrompts, kEnableCrowdDenyTriggering,
- true /* default */);
+ features::kQuietNotificationPrompts, kEnableCrowdDenyTriggering, // disabled by default in Bromite
+ false /* default */);
}
// static
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
@ -1908,7 +1924,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
#include "chrome/browser/search_engines/template_url_fetcher_factory.h"
#include "chrome/browser/search_engines/template_url_service_factory.h"
#include "chrome/browser/segmentation_platform/segmentation_platform_service_factory.h"
@@ -297,7 +296,6 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -298,7 +297,6 @@ void ChromeBrowserMainExtraPartsProfiles::
#if BUILDFLAG(IS_CHROMEOS_LACROS)
CertDbInitializerFactory::GetInstance();
#endif
@ -1927,7 +1943,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
#include "chrome/browser/sessions/exit_type_service.h"
#include "chrome/browser/sharing/sharing_service_factory.h"
#include "chrome/browser/signin/identity_manager_factory.h"
@@ -627,6 +626,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) {
@@ -628,6 +627,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) {
mojo::PendingRemote<prefs::mojom::TrackedPreferenceValidationDelegate>
pref_validation_delegate;
@ -1935,7 +1951,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
scoped_refptr<safe_browsing::SafeBrowsingService> safe_browsing_service(
g_browser_process->safe_browsing_service());
if (safe_browsing_service.get()) {
@@ -638,7 +638,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) {
@@ -639,7 +639,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async_prefs) {
pref_validation_delegate.InitWithNewPipeAndPassReceiver());
}
}
@ -1971,7 +1987,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin
if (safe_browsing_mode != 0) {
# "Safe Browsing Basic" files used for safe browsing in full mode
@@ -162,7 +163,6 @@ static_library("safe_browsing") {
@@ -164,7 +165,6 @@ static_library("safe_browsing") {
"//components/safe_browsing/content/browser/triggers:ad_sampler_trigger",
"//components/safe_browsing/content/browser/triggers:suspicious_site_trigger",
"//components/safe_browsing/content/browser/triggers:trigger_throttler",
@ -2080,11 +2096,10 @@ diff --git a/chrome/browser/safe_browsing/android/java/src/org/chromium/chrome/b
diff --git a/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc b/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc
--- a/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc
+++ b/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc
@@ -31,57 +31,4 @@ PrefService* GetPrefService() {
} // namespace
@@ -32,56 +32,4 @@ PrefService* GetPrefService() {
namespace safe_browsing {
-
-static jint JNI_SafeBrowsingBridge_UmaValueForFile(
- JNIEnv* env,
- const base::android::JavaParamRef<jstring>& path) {
@ -2133,7 +2148,7 @@ diff --git a/chrome/browser/safe_browsing/android/safe_browsing_bridge.cc b/chro
- signin::IdentityManager* identity_manager =
- IdentityManagerFactory::GetForProfile(
- ProfileManager::GetLastUsedProfile());
- return password_manager::AuthenticatedLeakCheck::HasAccountForRequest(
- return password_manager::LeakDetectionCheckImpl::HasAccountForRequest(
- identity_manager);
-}
-
@ -2199,7 +2214,7 @@ diff --git a/chrome/browser/safe_browsing/url_lookup_service_factory.cc b/chrome
diff --git a/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckMediator.java b/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckMediator.java
--- a/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckMediator.java
+++ b/chrome/browser/safety_check/android/java/src/org/chromium/chrome/browser/safety_check/SafetyCheckMediator.java
@@ -30,7 +30,6 @@ import org.chromium.chrome.browser.password_manager.PasswordManagerHelper;
@@ -29,7 +29,6 @@ import org.chromium.chrome.browser.password_manager.PasswordManagerHelper;
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
import org.chromium.chrome.browser.safe_browsing.metrics.SettingsAccessPoint;
@ -2207,7 +2222,7 @@ diff --git a/chrome/browser/safety_check/android/java/src/org/chromium/chrome/br
import org.chromium.chrome.browser.safety_check.SafetyCheckProperties.PasswordsState;
import org.chromium.chrome.browser.safety_check.SafetyCheckProperties.SafeBrowsingState;
import org.chromium.chrome.browser.safety_check.SafetyCheckProperties.UpdatesState;
@@ -177,18 +176,6 @@ class SafetyCheckMediator implements PasswordCheck.Observer {
@@ -176,18 +175,6 @@ class SafetyCheckMediator implements PasswordCheck.Observer {
// Set the listener for clicking the Safe Browsing element.
mModel.set(SafetyCheckProperties.SAFE_BROWSING_CLICK_LISTENER,
(Preference.OnPreferenceClickListener) (p) -> {
@ -2265,7 +2280,7 @@ diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ss
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
#include "chrome/browser/ssl/https_only_mode_tab_helper.h"
#include "chrome/browser/ssl/known_interception_disclosure_infobar_delegate.h"
@@ -104,13 +103,8 @@ SecurityStateTabHelper::GetVisibleSecurityState() {
@@ -103,13 +102,8 @@ SecurityStateTabHelper::GetVisibleSecurityState() {
// information is still being initialized, thus no need to check for that.
state->malicious_content_status = GetMaliciousContentStatus();
@ -2279,8 +2294,8 @@ diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ss
+ security_state::SafetyTipInfo(
{security_state::SafetyTipStatus::kUnknown, GURL()});
// If both the on-form warning and the on-submit warning are enabled for mixed
@@ -217,6 +211,7 @@ bool SecurityStateTabHelper::UsedPolicyInstalledCertificate() const {
// If both the mixed form warnings are not disabled by policy we don't degrade
@@ -210,6 +204,7 @@ bool SecurityStateTabHelper::UsedPolicyInstalledCertificate() const {
security_state::MaliciousContentStatus
SecurityStateTabHelper::GetMaliciousContentStatus() const {
@ -2288,7 +2303,7 @@ diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ss
content::NavigationEntry* entry =
web_contents()->GetController().GetVisibleEntry();
if (!entry)
@@ -300,6 +295,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const {
@@ -293,6 +288,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const {
break;
}
}
@ -2325,7 +2340,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
"//components/safe_browsing/content/browser/password_protection",
"//components/safe_browsing/content/browser/web_ui",
"//components/safe_browsing/core/browser/db:database_manager",
@@ -3946,7 +3945,6 @@ static_library("ui") {
@@ -3957,7 +3956,6 @@ static_library("ui") {
"views/device_chooser_content_view.h",
"views/devtools_process_observer.cc",
"views/devtools_process_observer.h",
@ -2333,6 +2348,41 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
"views/download/download_in_progress_dialog_view.cc",
"views/download/download_in_progress_dialog_view.h",
"views/download/download_item_view.cc",
diff --git a/chrome/browser/ui/android/signin/java/res/layout/fre_uma_dialog.xml b/chrome/browser/ui/android/signin/java/res/layout/fre_uma_dialog.xml
--- a/chrome/browser/ui/android/signin/java/res/layout/fre_uma_dialog.xml
+++ b/chrome/browser/ui/android/signin/java/res/layout/fre_uma_dialog.xml
@@ -32,17 +32,6 @@
android:text="@string/signin_fre_uma_dialog_title"
style="@style/TextAppearance.Headline.Primary" />
- <Switch
- android:id="@+id/fre_uma_dialog_switch"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginBottom="12dp"
- android:text="@string/usage_and_crash_reports_title"
- android:checked="true"
- android:gravity="start|center"
- android:lineSpacingMultiplier="1.2"
- style="@style/TextAppearance.TextLarge.Primary" />
-
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
diff --git a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/FreUMADialogCoordinator.java b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/FreUMADialogCoordinator.java
--- a/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/FreUMADialogCoordinator.java
+++ b/chrome/browser/ui/android/signin/java/src/org/chromium/chrome/browser/ui/signin/fre/FreUMADialogCoordinator.java
@@ -53,10 +53,6 @@ public class FreUMADialogCoordinator {
mView.findViewById(R.id.fre_uma_dialog_dismiss_button).setOnClickListener(v -> {
mDialogManager.dismissDialog(mModel, DialogDismissalCause.ACTION_ON_CONTENT);
});
- final Switch umaSwitch = mView.findViewById(R.id.fre_uma_dialog_switch);
- umaSwitch.setChecked(allowCrashUpload);
- umaSwitch.setOnCheckedChangeListener(
- (compoundButton, isChecked) -> listener.onAllowCrashUploadChecked(isChecked));
mDialogManager.showDialog(mModel, ModalDialogType.APP);
}
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
@ -2349,7 +2399,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Metrics settings -->
<message name="IDS_PREFS_METRICS_SETTINGS" desc="Title for the page that allows the user to control how much usage data Chrome uploads. [CHAR_LIMIT=32]">
@@ -4536,9 +4530,6 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4549,9 +4543,6 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
To use this setting <ph name="BEGIN_LINK">&lt;link&gt;</ph>Make searches and browsing better<ph name="END_LINK">&lt;/link&gt;</ph> must be turned on
</message>
<!-- Usage Stats strings -->
@ -2388,7 +2438,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
#include "components/site_engagement/content/site_engagement_helper.h"
#include "components/site_engagement/content/site_engagement_service.h"
#include "components/sync/engine/sync_engine_switches.h"
@@ -330,17 +332,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -343,17 +345,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
// See https://crbug.com/910288.
resource_coordinator::ResourceCoordinatorTabHelper::CreateForWebContents(
web_contents);
@ -2499,7 +2549,7 @@ diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -97,7 +97,9 @@
@@ -98,7 +98,9 @@
#include "components/page_load_metrics/renderer/metrics_render_frame_observer.h"
#include "components/paint_preview/buildflags/buildflags.h"
#include "components/safe_browsing/buildflags.h"
@ -2512,7 +2562,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -1196,7 +1196,6 @@ if (!is_android && !is_fuchsia) {
@@ -1205,7 +1205,6 @@ if (!is_android && !is_fuchsia) {
"//components/resources",
"//components/safe_browsing:buildflags",
"//components/safe_browsing/content/browser",
@ -2520,7 +2570,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
"//components/safe_browsing/content/browser:safe_browsing_service",
"//components/safe_browsing/content/browser/password_protection",
"//components/safe_browsing/content/browser/password_protection:test_support",
@@ -5349,7 +5348,6 @@ test("unit_tests") {
@@ -5405,7 +5404,6 @@ test("unit_tests") {
"//components/resources",
"//components/safe_browsing:buildflags",
"//components/safe_browsing/content/browser",
@ -2543,7 +2593,7 @@ diff --git a/components/component_updater/installer_policies/BUILD.gn b/componen
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
@@ -533,10 +533,7 @@ PermissionRequestManager::PermissionRequestManager(
@@ -557,10 +557,7 @@ PermissionRequestManager::PermissionRequestManager(
view_(nullptr),
tab_is_hidden_(web_contents->GetVisibility() ==
content::Visibility::HIDDEN),
@ -2558,7 +2608,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
diff --git a/components/safe_browsing/content/browser/BUILD.gn b/components/safe_browsing/content/browser/BUILD.gn
--- a/components/safe_browsing/content/browser/BUILD.gn
+++ b/components/safe_browsing/content/browser/BUILD.gn
@@ -145,7 +145,6 @@ source_set("unit_tests") {
@@ -140,7 +140,6 @@ source_set("unit_tests") {
]
deps = [
@ -2582,7 +2632,7 @@ diff --git a/components/safe_browsing/content/common/file_type_policies.cc b/com
diff --git a/components/safe_browsing/core/common/features.cc b/components/safe_browsing/core/common/features.cc
--- a/components/safe_browsing/core/common/features.cc
+++ b/components/safe_browsing/core/common/features.cc
@@ -134,7 +134,7 @@ constexpr base::FeatureParam<bool> kShouldFillOldPhishGuardProto{
@@ -126,7 +126,7 @@ constexpr base::FeatureParam<bool> kShouldFillOldPhishGuardProto{
&kPasswordProtectionForSignedInUsers, "DeprecateOldProto", false};
const base::Feature kSuspiciousSiteTriggerQuotaFeature{
@ -2653,9 +2703,9 @@ diff --git a/content/browser/file_system_access/file_system_access_file_writer_i
auto_close_(auto_close) {
DCHECK_EQ(swap_url.type(), url.type());
DCHECK_EQ(lock_->type(),
@@ -252,7 +251,7 @@ void FileSystemAccessFileWriterImpl::CloseImpl(CloseCallback callback) {
/*dest_url=*/url(),
FileSystemOperation::OPTION_PRESERVE_DESTINATION_PERMISSIONS,
@@ -254,7 +253,7 @@ void FileSystemAccessFileWriterImpl::CloseImpl(CloseCallback callback) {
FileSystemOperation::CopyOrMoveOption::
kPreserveDestinationPermissions),
std::move(quarantine_connection_callback_),
- has_transient_user_activation_);
+ false);
@ -2681,7 +2731,7 @@ diff --git a/content/browser/file_system_access/safe_move_helper.cc b/content/br
+++ b/content/browser/file_system_access/safe_move_helper.cc
@@ -135,8 +135,7 @@ SafeMoveHelper::SafeMoveHelper(
dest_url_(dest_url),
option_(option),
options_(options),
quarantine_connection_callback_(
- std::move(quarantine_connection_callback)),
- has_transient_user_activation_(has_transient_user_activation) {}
@ -2793,7 +2843,7 @@ diff --git a/content/public/browser/file_system_access_permission_context.h b/co
diff --git a/weblayer/BUILD.gn b/weblayer/BUILD.gn
--- a/weblayer/BUILD.gn
+++ b/weblayer/BUILD.gn
@@ -463,7 +463,6 @@ source_set("weblayer_lib_base") {
@@ -461,7 +461,6 @@ source_set("weblayer_lib_base") {
"//components/prefs",
"//components/profile_metrics",
"//components/safe_browsing/content/browser",
@ -2812,6 +2862,5 @@ diff --git a/weblayer/test/BUILD.gn b/weblayer/test/BUILD.gn
"//components/safe_browsing/content/common:interfaces",
"//components/safe_browsing/core/browser:token_fetcher",
"//components/safe_browsing/core/common",
--
2.20.1
--
2.25.1

View file

@ -0,0 +1,22 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Thu, 19 Aug 2021 23:11:16 +0200
Subject: Disable search engine DSE automatic permission
---
components/permissions/features.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/components/permissions/features.cc b/components/permissions/features.cc
--- a/components/permissions/features.cc
+++ b/components/permissions/features.cc
@@ -76,7 +76,7 @@ const base::Feature kRevisedOriginHandling{"PermissionsRevisedOriginHandling",
// When enabled, the Default Search Engine does not automatically receive the
// "geolocation" and "notifications" permissions. DSE only applies to Android.
const base::Feature kRevertDSEAutomaticPermissions{
- "RevertDSEAutomaticPermissions", base::FEATURE_DISABLED_BY_DEFAULT};
+ "RevertDSEAutomaticPermissions", base::FEATURE_ENABLED_BY_DEFAULT};
#endif // defined(OS_ANDROID)
} // namespace features
--
2.25.1

View file

@ -43,7 +43,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearc
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -182,6 +182,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -185,6 +185,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCCTClientDataHeader,
&kCCTExternalLinkHandling,
&kCCTIncognito,
@ -51,7 +51,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kCCTIncognitoAvailableToThirdParty,
&kCCTPostMessageAPI,
&kCCTRedirectPreconnect,
@@ -500,6 +501,9 @@ const base::Feature kChromeSharingHubLaunchAdjacent{
@@ -505,6 +506,9 @@ const base::Feature kChromeSharingHubLaunchAdjacent{
const base::Feature kChromeSurveyNextAndroid{"ChromeSurveyNextAndroid",
base::FEATURE_ENABLED_BY_DEFAULT};
@ -98,7 +98,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -1975,6 +1975,21 @@
@@ -2131,6 +2131,21 @@
]
}
],
@ -120,6 +120,5 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati
"ChromeStart": [
{
"platforms": [
--
2.20.1
--
2.25.1

View file

@ -9,24 +9,23 @@ Subject: Disable some signed exchange features
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -701,7 +701,7 @@ const base::Feature kSharedArrayBufferOnDesktop{
@@ -726,7 +726,7 @@ const base::Feature kSharedArrayBufferOnDesktop{
// Signed Exchange Reporting for distributors
// https://www.chromestatus.com/features/5687904902840320
// https://www.chromestatus.com/feature/5687904902840320
const base::Feature kSignedExchangeReportingForDistributors{
- "SignedExchangeReportingForDistributors", base::FEATURE_ENABLED_BY_DEFAULT};
+ "SignedExchangeReportingForDistributors", base::FEATURE_DISABLED_BY_DEFAULT};
// Subresource prefetching+loading via Signed HTTP Exchange
// https://www.chromestatus.com/features/5126805474246656
@@ -711,7 +711,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
// https://www.chromestatus.com/feature/5126805474246656
@@ -736,7 +736,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
// Origin-Signed HTTP Exchanges (for WebPackage Loading)
// https://www.chromestatus.com/features/5745285984681984
// https://www.chromestatus.com/feature/5745285984681984
const base::Feature kSignedHTTPExchange{"SignedHTTPExchange",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT};
// Whether to send a ping to the inner URL upon navigation or not.
const base::Feature kSignedHTTPExchangePingValidity{
--
2.20.1
--
2.25.1

View file

@ -17,7 +17,7 @@ Revert "[Text Fragment] Unflag fragment directive removal."
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
@@ -5541,6 +5541,7 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5629,6 +5629,7 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kSharingHubDesktopOmniboxDescription, kOsDesktop,
FEATURE_VALUE_TYPE(sharing_hub::kSharingHubDesktopOmnibox)},
#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)
@ -28,7 +28,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
@@ -2961,7 +2961,7 @@
@@ -2989,7 +2989,7 @@
{
"name": "ev-details-in-page-info",
"owners": [ "cthomp" ],
@ -52,7 +52,7 @@ 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
@@ -263,6 +263,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
@@ -264,6 +264,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
{wf::EnableMouseSubframeNoImplicitCapture,
features::kMouseSubframeNoImplicitCapture},
{wf::EnableNeverSlowMode, features::kNeverSlowMode},
@ -63,7 +63,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
@@ -387,7 +387,7 @@ const base::Feature kStorageAccessAPI{"StorageAccessAPI",
@@ -393,7 +393,7 @@ const base::Feature kStorageAccessAPI{"StorageAccessAPI",
// Enable text snippets in URL fragments. https://crbug.com/919204.
const base::Feature kTextFragmentAnchor{"TextFragmentAnchor",
@ -75,9 +75,9 @@ 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
@@ -4062,6 +4062,10 @@ void Document::SetURL(const KURL& url) {
}
}
@@ -4033,9 +4033,14 @@ void Document::SetURL(const KURL& url) {
TRACE_EVENT1("navigation", "Document::SetURL", "url",
new_url.GetString().Utf8());
+ // If text fragment identifiers are enabled, we strip the fragment directive
+ // from the URL fragment.
@ -85,11 +85,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
+ if (RuntimeEnabledFeatures::TextFragmentIdentifiersEnabled(domWindow())) {
// Strip the fragment directive from the URL fragment. E.g. "#id:~:text=a"
// --> "#id". See https://github.com/WICG/scroll-to-text-fragment.
String fragment = new_url.FragmentIdentifier();
@@ -4075,6 +4079,7 @@ void Document::SetURL(const KURL& url) {
else
new_url.SetFragmentIdentifier(fragment.Substring(0, start_pos));
}
new_url = fragment_directive_->ConsumeFragmentDirective(new_url);
+ }
url_ = new_url;
@ -97,7 +93,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
diff --git a/third_party/blink/renderer/core/page/scrolling/text_fragment_anchor_metrics_test.cc b/third_party/blink/renderer/core/page/scrolling/text_fragment_anchor_metrics_test.cc
--- a/third_party/blink/renderer/core/page/scrolling/text_fragment_anchor_metrics_test.cc
+++ b/third_party/blink/renderer/core/page/scrolling/text_fragment_anchor_metrics_test.cc
@@ -1249,34 +1249,25 @@ TEST_P(TextFragmentRelatedMetricTest, ElementIdSuccessFailureCounts) {
@@ -1252,34 +1252,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.
@ -145,7 +141,7 @@ diff --git a/third_party/blink/renderer/core/page/scrolling/text_fragment_anchor
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
@@ -2178,8 +2178,7 @@
@@ -2222,8 +2222,7 @@
},
{
name: "TextFragmentIdentifiers",
@ -155,6 +151,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
},
{
name: "TextFragmentTapOpensContextMenu",
--
2.20.1
--
2.25.1

View file

@ -18,6 +18,5 @@ diff --git a/components/content_settings/core/browser/cookie_settings.cc b/compo
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
}
--
2.20.1
--
2.25.1

View file

@ -59,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
@@ -6522,7 +6522,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() {
@@ -6588,7 +6588,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() {
void NavigationRequest::ForceEnableOriginTrials(
const std::vector<std::string>& trials) {
DCHECK(!HasCommitted());
@ -70,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
@@ -469,10 +469,6 @@ void FillNavigationParamsRequest(
@@ -470,10 +470,6 @@ void FillNavigationParamsRequest(
common_params.initiator_origin.value();
}
@ -81,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;
@@ -505,12 +501,6 @@ void FillNavigationParamsRequest(
@@ -506,12 +502,6 @@ void FillNavigationParamsRequest(
navigation_params->web_bundle_claimed_url =
commit_params.web_bundle_claimed_url;
@ -94,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) {
@@ -556,11 +546,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
@@ -558,11 +548,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
info->url_request.GetURLRequestExtraData().get());
DCHECK(url_request_extra_data);
@ -106,15 +106,15 @@ 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(),
@@ -579,7 +564,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,
- initiator_origin_trial_features, info->href_translate.Latin1(),
+ /*initiator_origin_trial_features*/std::vector<int>(), info->href_translate.Latin1(),
is_history_navigation_in_new_child_frame, info->input_start);
is_history_navigation_in_new_child_frame, info->input_start,
request_destination);
}
diff --git a/content/shell/common/shell_origin_trial_policy.cc b/content/shell/common/shell_origin_trial_policy.cc
--- a/content/shell/common/shell_origin_trial_policy.cc
+++ b/content/shell/common/shell_origin_trial_policy.cc
@ -179,7 +179,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
return result;
}
@@ -2432,10 +2419,6 @@ void DocumentLoader::CreateParserPostCommit() {
@@ -2450,10 +2437,6 @@ void DocumentLoader::CreateParserPostCommit() {
OriginTrialFeature::kTouchEventFeatureDetection);
}
@ -251,7 +251,7 @@ diff --git a/third_party/blink/renderer/core/origin_trials/origin_trial_context.
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
@@ -2188,10 +2188,6 @@
@@ -2232,10 +2232,6 @@
name: "TextFragmentTapOpensContextMenu",
status: {"Android": "stable"},
},
@ -262,6 +262,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
{
name: "ThrottleDisplayNoneAndVisibilityHiddenCrossOriginIframes",
status: "experimental",
--
2.20.1
--
2.25.1

View file

@ -9,7 +9,7 @@ Subject: Disable unified autoplay feature
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
@@ -490,7 +490,7 @@ const base::Feature kUseR16Texture{"use-r16-texture",
@@ -491,7 +491,7 @@ const base::Feature kUseR16Texture{"use-r16-texture",
// Enables the Unified Autoplay policy by overriding the platform's default
// autoplay policy.
const base::Feature kUnifiedAutoplay{"UnifiedAutoplay",
@ -18,6 +18,5 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
#if defined(OS_LINUX)
// Enable vaapi video decoding on linux. This is already enabled by default on
--
2.20.1
--
2.25.1

View file

@ -13,9 +13,9 @@ Including initial metrics opt-out
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivityBase.java
@@ -46,7 +46,7 @@ public abstract class FirstRunActivityBase extends AsyncInitializationActivity {
static final String OPEN_ADVANCED_SYNC_SETTINGS = "OpenAdvancedSyncSettings";
@@ -44,7 +44,7 @@ public abstract class FirstRunActivityBase extends AsyncInitializationActivity {
static final String SHOW_SEARCH_ENGINE_PAGE = "ShowSearchEnginePage";
static final String SHOW_SYNC_CONSENT_PAGE = "ShowSyncConsent";
- public static final boolean DEFAULT_METRICS_AND_CRASH_REPORTING = true;
+ public static final boolean DEFAULT_METRICS_AND_CRASH_REPORTING = false;
@ -25,7 +25,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
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
@@ -61,7 +61,6 @@
@@ -62,7 +62,6 @@
#include "chrome/browser/hid/chrome_hid_delegate.h"
#include "chrome/browser/interstitials/enterprise_util.h"
#include "chrome/browser/lifetime/browser_shutdown.h"
@ -33,7 +33,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#include "chrome/browser/media/audio_service_util.h"
#include "chrome/browser/media/router/media_router_feature.h"
#include "chrome/browser/media/webrtc/audio_debug_recordings_handler.h"
@@ -4114,16 +4113,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -4091,16 +4090,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
content::NavigationHandle* handle) {
std::vector<std::unique_ptr<content::NavigationThrottle>> throttles;
@ -50,7 +50,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#if BUILDFLAG(IS_CHROMEOS_ASH)
MaybeAddThrottle(
ash::WebTimeLimitNavigationThrottle::MaybeCreateThrottleFor(handle),
@@ -4221,10 +4210,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -4198,10 +4187,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
&throttles);
#endif
@ -64,7 +64,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
--- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
+++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc
@@ -74,7 +74,7 @@ namespace internal {
@@ -73,7 +73,7 @@ namespace internal {
// recording and reporting are enabled. If the feature is enabled, but no
// consent is given, then there will be no recording or reporting.
const base::Feature kMetricsReportingFeature{"MetricsReporting",

View file

@ -9,7 +9,7 @@ Subject: Do not build API keys infobar
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
@@ -1227,8 +1227,6 @@ static_library("ui") {
@@ -1229,8 +1229,6 @@ static_library("ui") {
"singleton_tabs.h",
"startup/automation_infobar_delegate.cc",
"startup/automation_infobar_delegate.h",
@ -18,6 +18,5 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
"startup/launch_mode_recorder.cc",
"startup/launch_mode_recorder.h",
"startup/obsolete_system_infobar_delegate.cc",
--
2.20.1
--
2.25.1

View file

@ -16,10 +16,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
import org.chromium.chrome.browser.share.ShareDelegate.ShareOrigin;
import org.chromium.chrome.browser.share.ShareUtils;
-import org.chromium.chrome.browser.share.qrcode.QrCodeDialog;
import org.chromium.chrome.browser.share.scroll_capture.ScrollCaptureManager;
import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler;
import org.chromium.chrome.browser.tab.AutofillSessionLifetimeController;
import org.chromium.chrome.browser.tab.Tab;
@@ -421,10 +420,6 @@ public class RootUiCoordinator
@@ -428,10 +427,6 @@ public class RootUiCoordinator
}
public void onAttachFragment(Fragment fragment) {
@ -99,6 +99,5 @@ diff --git a/chrome/browser/share/android/java_sources.gni b/chrome/browser/shar
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/EditorScreenshotSource.java",
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/EditorScreenshotTask.java",
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotCoordinator.java",
--
2.20.1
--
2.25.1

View file

@ -9,7 +9,7 @@ Subject: Do not hide component extensions
diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
--- a/extensions/common/extension.cc
+++ b/extensions/common/extension.cc
@@ -455,9 +455,8 @@ bool Extension::ShouldDisplayInNewTabPage() const {
@@ -440,9 +440,8 @@ bool Extension::ShouldDisplayInNewTabPage() const {
}
bool Extension::ShouldExposeViaManagementAPI() const {

View file

@ -11,7 +11,7 @@ This patch allows building with use_sysroot=false
diff --git a/base/BUILD.gn b/base/BUILD.gn
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -1418,7 +1418,7 @@ component("base") {
@@ -1393,7 +1393,7 @@ component("base") {
if (!use_sysroot &&
(is_android || ((is_linux || is_chromeos) && !is_chromecast)) &&
host_toolchain != "//build/toolchain/cros:host") {

View file

@ -10,7 +10,7 @@ Subject: Enable SPPI for devices with enough memory
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
@@ -922,11 +922,7 @@ const base::Feature kShow10_10ObsoleteInfobar{
@@ -958,11 +958,7 @@ const base::Feature kShow10_10ObsoleteInfobar{
// browser_features, as they are only used on the browser side.
const base::Feature kSitePerProcess {
"SitePerProcess",
@ -34,6 +34,5 @@ diff --git a/components/site_isolation/features.cc b/components/site_isolation/f
const char kStrictSiteIsolationMemoryThresholdParamName[] =
"strict_site_isolation_threshold_mb";
const char kPartialSiteIsolationMemoryThresholdParamName[] =
--
2.20.1
--
2.25.1

View file

@ -11,7 +11,7 @@ Unexpire #darken-websites-checkbox-in-themes-setting
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
@@ -965,7 +965,7 @@
@@ -988,7 +988,7 @@
{
"name": "darken-websites-checkbox-in-themes-setting",
"owners": [ "lazzzis@google.com", "twellington" ],
@ -23,7 +23,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
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
@@ -571,7 +571,7 @@ const base::Feature kContextualSearchTranslations{
@@ -579,7 +579,7 @@ const base::Feature kContextualSearchTranslations{
"ContextualSearchTranslations", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kDarkenWebsitesCheckboxInThemesSetting{
@ -32,6 +32,5 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
const base::Feature kQuickActionSearchWidgetAndroidDinoVariant{
"QuickActionSearchWidgetAndroidDinoVariant",
--
2.20.1
--
2.25.1

View file

@ -42,7 +42,7 @@ Excerpt from https://github.com/bromite/bromite/issues/226
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -351,6 +351,10 @@ config("compiler") {
@@ -354,6 +354,10 @@ config("compiler") {
}
}

View file

@ -6,29 +6,50 @@ There are 2 different types of autofill: one managed via GCM and the
native Android one that uses the provider assigned by the user
(which can be any user installed app like Bitwarden for example).
In chromium GCM is active while in the WebView the latter.
This patch uses the WebView code to activate native Android autofill.
This patch uses WebView code to enable native Android autofill
along with browser-managed autofill.
A separate toggle is introduced to enable autofill in incognito mode.
See also: https://github.com/bromite/bromite/issues/547
---
android_webview/browser/aw_contents.cc | 1 +
chrome/android/BUILD.gn | 1 +
.../settings/PasswordSettings.java | 58 ++++++++++++++++++-
.../chromium/chrome/browser/tab/TabImpl.java | 43 ++++++++++++++
.../browser/tab/TabViewAndroidDelegate.java | 14 +++++
chrome/browser/BUILD.gn | 8 +++
chrome/browser/android/tab_android.cc | 26 +++++++++
.../settings/PasswordSettings.java | 82 ++++++++++++++++++-
.../chromium/chrome/browser/tab/TabImpl.java | 50 +++++++++++
.../browser/tab/TabViewAndroidDelegate.java | 14 ++++
chrome/browser/BUILD.gn | 8 ++
chrome/browser/android/tab_android.cc | 27 ++++++
chrome/browser/android/tab_android.h | 2 +
.../strings/android_chrome_strings.grd | 3 +
chrome/browser/ui/tab_helpers.cc | 6 +-
.../autofill/core/common/autofill_prefs.cc | 5 ++
.../autofill/core/common/autofill_prefs.h | 1 +
.../embedder_support/view/ContentView.java | 48 +++++++++++++++
.../chromium/ui/base/ViewAndroidDelegate.java | 8 +++
13 files changed, 221 insertions(+), 2 deletions(-)
.../tab_web_contents_delegate_android.cc | 3 +-
.../strings/android_chrome_strings.grd | 6 ++
chrome/browser/ui/tab_helpers.cc | 7 +-
.../browser/content_autofill_driver.cc | 50 +++++++++--
.../content/browser/content_autofill_driver.h | 8 +-
.../content_autofill_driver_factory.cc | 9 +-
.../browser/content_autofill_driver_factory.h | 4 +
.../renderer/password_autofill_agent.cc | 5 +-
.../autofill/core/common/autofill_prefs.cc | 8 ++
.../autofill/core/common/autofill_prefs.h | 2 +
.../embedder_support/view/ContentView.java | 46 +++++++++++
.../chromium/ui/base/ViewAndroidDelegate.java | 8 ++
weblayer/browser/tab_impl.cc | 3 +-
21 files changed, 329 insertions(+), 15 deletions(-)
diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw_contents.cc
--- a/android_webview/browser/aw_contents.cc
+++ b/android_webview/browser/aw_contents.cc
@@ -335,6 +335,7 @@ void AwContents::InitAutofillIfNecessary(bool autocomplete_enabled) {
is_download_manager_disabled_for_testing())
? autofill::AutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER
: autofill::AutofillManager::DISABLE_AUTOFILL_DOWNLOAD_MANAGER,
+ /*enable_browser_autofill_manager*/ false,
autofill_provider
? base::BindRepeating(&autofill::AndroidAutofillManager::Create)
: autofill::AutofillManager::AutofillManagerFactoryCallback());
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -419,6 +419,7 @@ android_library("chrome_java") {
@@ -426,6 +426,7 @@ android_library("chrome_java") {
"//chrome/browser/xsurface:java",
"//components/autofill/android:autofill_java",
"//components/autofill_assistant/browser:proto_java",
@ -59,26 +80,29 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
// Keys for name/password dictionaries.
public static final String PASSWORD_LIST_URL = "url";
public static final String PASSWORD_LIST_NAME = "name";
@@ -75,6 +81,10 @@ public class PasswordSettings extends PreferenceFragmentCompat
@@ -75,6 +81,12 @@ public class PasswordSettings extends PreferenceFragmentCompat
public static final String PREF_TRUSTED_VAULT_OPT_IN = "trusted_vault_opt_in";
public static final String PREF_KEY_MANAGE_ACCOUNT_LINK = "manage_account_link";
+ public static final String PREF_ANDROID_AUTOFILL_SWITCH = "android_autofill_switch";
+ public static final String PREF_ANDROID_AUTOFILL_INCOGNITO_SWITCH = "android_autofill_incognito_switch";
+
+ private SnackbarManager mSnackbarManager;
+ private Snackbar mSnackbar;
+
// A PasswordEntryViewer receives a boolean value with this key. If set true, the the entry was
// part of a search result.
@@ -108,6 +118,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
@@ -108,6 +120,8 @@ public class PasswordSettings extends PreferenceFragmentCompat
private String mSearchQuery;
private Preference mLinkPref;
private ChromeSwitchPreference mSavePasswordsSwitch;
+ private ChromeSwitchPreference mEnableAndroidAutofillSwitch;
+ private ChromeSwitchPreference mEnableAndroidAutofillIncognitoSwitch;
private ChromeSwitchPreference mAutoSignInSwitch;
private ChromeBasePreference mCheckPasswords;
private ChromeBasePreference mTrustedVaultOptIn;
@@ -272,6 +283,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
@@ -272,6 +286,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
getPreferenceScreen().removeAll();
if (mSearchQuery == null) {
createSavePasswordsSwitch();
@ -86,7 +110,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
createAutoSignInCheckbox();
if (mPasswordCheck != null) {
createCheckPasswords();
@@ -511,6 +523,50 @@ public class PasswordSettings extends PreferenceFragmentCompat
@@ -511,6 +526,71 @@ public class PasswordSettings extends PreferenceFragmentCompat
getPrefService().getBoolean(Pref.CREDENTIALS_ENABLE_SERVICE));
}
@ -128,6 +152,27 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
+ mSnackbarManager.showSnackbar(mSnackbar);
+ return true;
+ });
+
+ mEnableAndroidAutofillIncognitoSwitch = new ChromeSwitchPreference(getStyledContext(), null);
+ mEnableAndroidAutofillIncognitoSwitch.setKey(PREF_ANDROID_AUTOFILL_INCOGNITO_SWITCH);
+ mEnableAndroidAutofillIncognitoSwitch.setTitle(R.string.enable_android_autofill_incognito);
+ mEnableAndroidAutofillIncognitoSwitch.setOrder(ORDER_SWITCH);
+ mEnableAndroidAutofillIncognitoSwitch.setSummaryOn(R.string.text_on);
+ mEnableAndroidAutofillIncognitoSwitch.setSummaryOff(R.string.text_off);
+
+ try (StrictModeContext ignored = StrictModeContext.allowDiskReads()) {
+ getPreferenceScreen().addPreference(mEnableAndroidAutofillIncognitoSwitch);
+ }
+
+ mEnableAndroidAutofillIncognitoSwitch.setChecked(
+ getPrefService().getBoolean(Pref.AUTOFILL_ANDROID_INCOGNITO_ENABLED));
+
+ mEnableAndroidAutofillIncognitoSwitch.setOnPreferenceChangeListener((preference, newValue) -> {
+ getPrefService().setBoolean(Pref.AUTOFILL_ANDROID_INCOGNITO_ENABLED, (boolean) newValue);
+ if (!mSnackbarManager.isShowing())
+ mSnackbarManager.showSnackbar(mSnackbar);
+ return true;
+ });
+ }
+
+ public void setSnackbarManager(SnackbarManager manager) {
@ -140,13 +185,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
@@ -75,6 +75,18 @@ import org.chromium.url.GURL;
@@ -75,6 +75,17 @@ import org.chromium.url.GURL;
import java.nio.ByteBuffer;
+import android.os.Build;
+import android.util.SparseArray;
+import org.chromium.base.annotations.VerifiesOnO;
+import org.chromium.ui.base.EventOffsetHandler;
+import android.view.ViewStructure;
+import android.view.autofill.AutofillValue;
@ -159,7 +203,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
/**
* Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}.
* This class is not intended to be extended.
@@ -218,6 +230,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -218,6 +229,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
/** Whether or not the user manually changed the user agent. */
private boolean mUserForcedUserAgent;
@ -168,7 +212,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
/**
* Creates an instance of a {@link TabImpl}.
*
@@ -768,6 +782,11 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -768,6 +781,11 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
for (TabObserver observer : mObservers) observer.onDestroyed(this);
mObservers.clear();
@ -180,7 +224,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
mUserDataHost.destroy();
mTabViewManager.destroy();
hideNativePage(false, null);
@@ -1359,6 +1378,16 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1359,6 +1377,16 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
return tabsPtrArray;
}
@ -197,27 +241,35 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
/**
* Initializes the {@link WebContents}. Completes the browser content components initialization
* around a native WebContents pointer.
@@ -1408,6 +1437,19 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1408,6 +1436,27 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
mDelegateFactory.createContextMenuPopulatorFactory(this), this));
mWebContents.notifyRendererPreferenceUpdate();
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O &&
+ UserPrefs.get(Profile.getLastUsedRegularProfile())
+ .getBoolean(Pref.AUTOFILL_ANDROID_ENABLED) == true) {
+ SelectionPopupController selectionController =
+ SelectionPopupController.fromWebContents(mWebContents);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+ boolean autofillEnabled = false;
+ if (isIncognito()) {
+ autofillEnabled = UserPrefs.get(Profile.getLastUsedRegularProfile())
+ .getBoolean(Pref.AUTOFILL_ANDROID_INCOGNITO_ENABLED);
+ } else {
+ autofillEnabled = UserPrefs.get(Profile.getLastUsedRegularProfile())
+ .getBoolean(Pref.AUTOFILL_ANDROID_ENABLED);
+ }
+
+ mAutofillProvider = new AutofillProvider(getContext(), cv, webContents, "bromite");
+ TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid);
+ mAutofillProvider.setWebContents(webContents);
+ cv.setWebContents(webContents);
+ selectionController.setNonSelectionActionModeCallback(
+ new AutofillActionModeCallback(mThemedApplicationContext, mAutofillProvider));
+ if (autofillEnabled) {
+ SelectionPopupController selectionController =
+ SelectionPopupController.fromWebContents(mWebContents);
+ mAutofillProvider = new AutofillProvider(getContext(), cv, webContents, "bromite");
+ TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid);
+ mAutofillProvider.setWebContents(webContents);
+ cv.setWebContents(webContents);
+ selectionController.setNonSelectionActionModeCallback(
+ new AutofillActionModeCallback(mThemedApplicationContext, mAutofillProvider));
+ }
+ }
TabHelpers.initWebContentsHelpers(this);
notifyContentChanged();
} finally {
@@ -1771,5 +1813,6 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1772,5 +1821,6 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
void setActiveNavigationEntryTitleForUrl(long nativeTabAndroid, String url, String title);
void loadOriginalImage(long nativeTabAndroid);
boolean handleNonNavigationAboutURL(GURL url);
@ -256,7 +308,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabViewAndr
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2393,6 +2393,14 @@ static_library("browser") {
@@ -2406,6 +2406,14 @@ static_library("browser") {
"//ui/webui/resources/cr_components/most_visited:mojom",
"//ui/webui/resources/js/browser_command:mojo_bindings",
]
@ -288,7 +340,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
using base::android::AttachCurrentThread;
using base::android::ConvertUTF8ToJavaString;
using base::android::JavaParamRef;
@@ -437,3 +444,22 @@ static void JNI_TabImpl_Init(JNIEnv* env, const JavaParamRef<jobject>& obj) {
@@ -437,3 +444,23 @@ static void JNI_TabImpl_Init(JNIEnv* env, const JavaParamRef<jobject>& obj) {
// This will automatically bind to the Java object and pass ownership there.
new TabAndroid(env, obj);
}
@ -308,6 +360,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
+ autofill::ChromeAutofillClient::FromWebContents(web_contents),
+ g_browser_process->GetApplicationLocale(),
+ autofill::BrowserAutofillManager::DISABLE_AUTOFILL_DOWNLOAD_MANAGER,
+ /*enable_browser_autofill_manager*/ true,
+ base::BindRepeating(&autofill::AndroidAutofillManager::Create));
+ }
+}
@ -323,15 +376,31 @@ diff --git a/chrome/browser/android/tab_android.h b/chrome/browser/android/tab_a
private:
JavaObjectWeakGlobalRef weak_java_tab_;
diff --git a/chrome/browser/android/tab_web_contents_delegate_android.cc b/chrome/browser/android/tab_web_contents_delegate_android.cc
--- a/chrome/browser/android/tab_web_contents_delegate_android.cc
+++ b/chrome/browser/android/tab_web_contents_delegate_android.cc
@@ -175,7 +175,8 @@ void TabWebContentsDelegateAndroid::PortalWebContentsCreated(
portal_contents,
autofill::ChromeAutofillClient::FromWebContents(portal_contents),
g_browser_process->GetApplicationLocale(),
- autofill::BrowserAutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER);
+ autofill::BrowserAutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER,
+ /*enable_browser_autofill_manager*/ true);
ChromePasswordManagerClient::CreateForWebContentsWithAutofillClient(
portal_contents,
autofill::ChromeAutofillClient::FromWebContents(portal_contents));
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
@@ -582,6 +582,9 @@ CHAR_LIMIT guidelines:
@@ -582,6 +582,12 @@ CHAR_LIMIT guidelines:
<message name="IDS_PASSWORD_SETTINGS_SAVE_PASSWORDS" desc="Title for the checkbox toggling whether passwords are saved or not. [CHAR_LIMIT=32]">
Save passwords
</message>
+ <message name="IDS_ENABLE_ANDROID_AUTOFILL" desc="Title for the checkbox toggling whether enable Android native autofill or not. [CHAR_LIMIT=32]">
+ Enable native Android autofill
+ </message>
+ <message name="IDS_ENABLE_ANDROID_AUTOFILL_INCOGNITO" desc="Title for the checkbox toggling whether enable Android native autofill or not in incognito mode. [CHAR_LIMIT=32]">
+ Enable native Android autofill in incognito
+ </message>
<message name="IDS_PASSWORDS_AUTO_SIGNIN_TITLE" desc="Title for checkbox to enable automatically signing the user in to websites">
Auto Sign-in
@ -339,68 +408,349 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
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
@@ -141,6 +141,9 @@
#include "chrome/browser/ui/android/context_menu_helper.h"
@@ -143,6 +143,9 @@
#include "chrome/browser/ui/javascript_dialogs/javascript_tab_modal_dialog_manager_delegate_android.h"
#include "chrome/browser/video_tutorials/video_tutorial_tab_helper.h"
#include "content/public/common/content_features.h"
+#include "components/android_autofill/browser/android_autofill_manager.h"
+#include "components/android_autofill/browser/autofill_provider.h"
+#include "components/android_autofill/browser/autofill_provider_android.h"
#else
#include "chrome/browser/accuracy_tips/accuracy_service_factory.h"
#include "chrome/browser/banners/app_banner_manager_desktop.h"
@@ -265,7 +268,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -272,7 +275,9 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
web_contents,
autofill::ChromeAutofillClient::FromWebContents(web_contents),
g_browser_process->GetApplicationLocale(),
- autofill::BrowserAutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER);
+ autofill::BrowserAutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER,
+ /*enable_browser_autofill_manager*/ true,
+ base::BindRepeating(&autofill::AndroidAutofillManager::Create));
chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents);
ChromePasswordManagerClient::CreateForWebContentsWithAutofillClient(
web_contents,
diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/components/autofill/content/browser/content_autofill_driver.cc
--- a/components/autofill/content/browser/content_autofill_driver.cc
+++ b/components/autofill/content/browser/content_autofill_driver.cc
@@ -68,6 +68,7 @@ ContentAutofillDriver::ContentAutofillDriver(
const std::string& app_locale,
ContentAutofillRouter* autofill_router,
AutofillManager::AutofillDownloadManagerState enable_download_manager,
+ bool enable_browser_autofill_manager,
AutofillManager::AutofillManagerFactoryCallback
autofill_manager_factory_callback)
: render_frame_host_(render_frame_host),
@@ -83,9 +84,11 @@ ContentAutofillDriver::ContentAutofillDriver(
GetAutofillAgent()->SetSecureContextRequired(true);
GetAutofillAgent()->SetFocusRequiresScroll(false);
GetAutofillAgent()->SetQueryPasswordSuggestion(true);
- } else {
+ }
+ if (!autofill_manager_factory_callback || enable_browser_autofill_manager) {
SetBrowserAutofillManager(std::make_unique<BrowserAutofillManager>(
- this, client, app_locale, enable_download_manager));
+ this, client, app_locale, enable_download_manager),
+ enable_browser_autofill_manager);
}
if (client && ShouldEnableHeavyFormDataScraping(client->GetChannel())) {
GetAutofillAgent()->EnableHeavyFormDataScraping();
@@ -338,6 +341,8 @@ void ContentAutofillDriver::FormsSeenImpl(
const std::vector<FormData>& updated_forms,
const std::vector<FormGlobalId>& removed_forms) {
autofill_manager_->OnFormsSeen(updated_forms, removed_forms);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnFormsSeen(updated_forms, removed_forms);
}
void ContentAutofillDriver::SetFormToBeProbablySubmittedImpl(
@@ -360,6 +365,8 @@ void ContentAutofillDriver::FormSubmittedImpl(const FormData& form,
}
autofill_manager_->OnFormSubmitted(form, known_success, source);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnFormSubmitted(form, known_success, source);
}
void ContentAutofillDriver::TextFieldDidChangeImpl(
@@ -368,6 +375,8 @@ void ContentAutofillDriver::TextFieldDidChangeImpl(
const gfx::RectF& bounding_box,
base::TimeTicks timestamp) {
autofill_manager_->OnTextFieldDidChange(form, field, bounding_box, timestamp);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnTextFieldDidChange(form, field, bounding_box, timestamp);
}
void ContentAutofillDriver::TextFieldDidScrollImpl(
@@ -375,6 +384,8 @@ void ContentAutofillDriver::TextFieldDidScrollImpl(
const FormFieldData& field,
const gfx::RectF& bounding_box) {
autofill_manager_->OnTextFieldDidScroll(form, field, bounding_box);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnTextFieldDidScroll(form, field, bounding_box);
}
void ContentAutofillDriver::SelectControlDidChangeImpl(
@@ -382,6 +393,8 @@ void ContentAutofillDriver::SelectControlDidChangeImpl(
const FormFieldData& field,
const gfx::RectF& bounding_box) {
autofill_manager_->OnSelectControlDidChange(form, field, bounding_box);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnSelectControlDidChange(form, field, bounding_box);
}
void ContentAutofillDriver::AskForValuesToFillImpl(
@@ -392,15 +405,22 @@ void ContentAutofillDriver::AskForValuesToFillImpl(
bool autoselect_first_suggestion) {
autofill_manager_->OnAskForValuesToFill(id, form, field, bounding_box,
autoselect_first_suggestion);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnAskForValuesToFill(id, form, field, bounding_box,
+ autoselect_first_suggestion);
}
void ContentAutofillDriver::HidePopupImpl() {
DCHECK(!IsPrerendering()) << "We should never affect UI while prerendering";
autofill_manager_->OnHidePopup();
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnHidePopup();
}
void ContentAutofillDriver::FocusNoLongerOnFormImpl(bool had_interacted_form) {
autofill_manager_->OnFocusNoLongerOnForm(had_interacted_form);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnFocusNoLongerOnForm(had_interacted_form);
}
void ContentAutofillDriver::FocusOnFormFieldImpl(
@@ -408,25 +428,35 @@ void ContentAutofillDriver::FocusOnFormFieldImpl(
const FormFieldData& field,
const gfx::RectF& bounding_box) {
autofill_manager_->OnFocusOnFormField(form, field, bounding_box);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnFocusOnFormField(form, field, bounding_box);
}
void ContentAutofillDriver::DidFillAutofillFormDataImpl(
const FormData& form,
base::TimeTicks timestamp) {
autofill_manager_->OnDidFillAutofillFormData(form, timestamp);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnDidFillAutofillFormData(form, timestamp);
}
void ContentAutofillDriver::DidPreviewAutofillFormDataImpl() {
autofill_manager_->OnDidPreviewAutofillFormData();
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnDidPreviewAutofillFormData();
}
void ContentAutofillDriver::DidEndTextFieldEditingImpl() {
autofill_manager_->OnDidEndTextFieldEditing();
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->OnDidEndTextFieldEditing();
}
void ContentAutofillDriver::SelectFieldOptionsDidChangeImpl(
const FormData& form) {
autofill_manager_->SelectFieldOptionsDidChange(form);
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->SelectFieldOptionsDidChange(form);
}
void ContentAutofillDriver::FillFormForAssistantImpl(
@@ -640,13 +670,21 @@ void ContentAutofillDriver::DidNavigateFrame(
if (autofill_router_) // Can be nullptr only in tests.
autofill_router_->UnregisterDriver(this);
autofill_manager_->Reset();
+ if (browser_autofill_manager_ptr_)
+ browser_autofill_manager_->Reset();
}
void ContentAutofillDriver::SetBrowserAutofillManager(
- std::unique_ptr<BrowserAutofillManager> manager) {
- autofill_manager_ = std::move(manager);
- browser_autofill_manager_ =
- static_cast<BrowserAutofillManager*>(autofill_manager_.get());
+ std::unique_ptr<BrowserAutofillManager> manager,
+ bool enable_browser_autofill_manager) {
+ if (enable_browser_autofill_manager) {
+ browser_autofill_manager_ptr_ = std::move(manager);
+ browser_autofill_manager_ = browser_autofill_manager_ptr_.get();
+ } else {
+ autofill_manager_ = std::move(manager);
+ browser_autofill_manager_ =
+ static_cast<BrowserAutofillManager*>(autofill_manager_.get());
+ }
}
ContentAutofillDriver::ContentAutofillDriver(content::RenderFrameHost* rfh)
diff --git a/components/autofill/content/browser/content_autofill_driver.h b/components/autofill/content/browser/content_autofill_driver.h
--- a/components/autofill/content/browser/content_autofill_driver.h
+++ b/components/autofill/content/browser/content_autofill_driver.h
@@ -137,6 +137,7 @@ class ContentAutofillDriver : public AutofillDriver,
const std::string& app_locale,
ContentAutofillRouter* autofill_router,
AutofillManager::AutofillDownloadManagerState enable_download_manager,
+ bool enable_browser_autofill_manager,
AutofillManager::AutofillManagerFactoryCallback
autofill_manager_factory_callback);
ContentAutofillDriver(const ContentAutofillDriver&) = delete;
@@ -359,7 +360,8 @@ class ContentAutofillDriver : public AutofillDriver,
// Sets the manager to |manager|. Takes ownership of |manager|.
void SetBrowserAutofillManager(
- std::unique_ptr<BrowserAutofillManager> manager);
+ std::unique_ptr<BrowserAutofillManager> manager,
+ bool enable_browser_autofill_manager);
// Reports whether a document collects phone numbers, uses one time code, uses
// WebOTP. There are cases that the reporting is not expected:
@@ -430,6 +432,10 @@ class ContentAutofillDriver : public AutofillDriver,
// pointer to a common root.
BrowserAutofillManager* browser_autofill_manager_;
+ // adds a reference for BrowserAutofillManager, since native autofill works in
+ // conjunction with browser autofill in Bromite
+ std::unique_ptr<BrowserAutofillManager> browser_autofill_manager_ptr_;
+
// Pointer to an implementation of InternalAuthenticator.
std::unique_ptr<webauthn::InternalAuthenticator> authenticator_impl_;
diff --git a/components/autofill/content/browser/content_autofill_driver_factory.cc b/components/autofill/content/browser/content_autofill_driver_factory.cc
--- a/components/autofill/content/browser/content_autofill_driver_factory.cc
+++ b/components/autofill/content/browser/content_autofill_driver_factory.cc
@@ -32,6 +32,7 @@ void ContentAutofillDriverFactory::CreateForWebContentsAndDelegate(
const std::string& app_locale,
BrowserAutofillManager::AutofillDownloadManagerState
enable_download_manager,
+ bool enable_browser_autofill_manager,
AutofillManager::AutofillManagerFactoryCallback
autofill_manager_factory_callback) {
if (FromWebContents(contents))
@@ -40,7 +41,7 @@ void ContentAutofillDriverFactory::CreateForWebContentsAndDelegate(
contents->SetUserData(
kContentAutofillDriverFactoryWebContentsUserDataKey,
base::WrapUnique(new ContentAutofillDriverFactory(
- contents, client, app_locale, enable_download_manager,
+ contents, client, app_locale, enable_download_manager, enable_browser_autofill_manager,
std::move(autofill_manager_factory_callback))));
}
@@ -78,6 +79,7 @@ ContentAutofillDriverFactory::ContentAutofillDriverFactory(
const std::string& app_locale,
BrowserAutofillManager::AutofillDownloadManagerState
enable_download_manager,
+ bool enable_browser_autofill_manager,
AutofillManager::AutofillManagerFactoryCallback
autofill_manager_factory_callback)
: content::WebContentsObserver(web_contents),
@@ -85,7 +87,8 @@ ContentAutofillDriverFactory::ContentAutofillDriverFactory(
app_locale_(app_locale),
enable_download_manager_(enable_download_manager),
autofill_manager_factory_callback_(
- std::move(autofill_manager_factory_callback)) {}
+ std::move(autofill_manager_factory_callback)),
+ enable_browser_autofill_manager_(enable_browser_autofill_manager) {}
ContentAutofillDriverFactory::~ContentAutofillDriverFactory() = default;
@@ -111,7 +114,7 @@ ContentAutofillDriver* ContentAutofillDriverFactory::DriverForFrame(
if (render_frame_host->IsRenderFrameCreated()) {
driver = std::make_unique<ContentAutofillDriver>(
render_frame_host, client(), app_locale_, &router_,
- enable_download_manager_, autofill_manager_factory_callback_);
+ enable_download_manager_, enable_browser_autofill_manager_, autofill_manager_factory_callback_);
DCHECK_EQ(driver_map_.find(render_frame_host)->second.get(),
driver.get());
} else {
diff --git a/components/autofill/content/browser/content_autofill_driver_factory.h b/components/autofill/content/browser/content_autofill_driver_factory.h
--- a/components/autofill/content/browser/content_autofill_driver_factory.h
+++ b/components/autofill/content/browser/content_autofill_driver_factory.h
@@ -44,6 +44,7 @@ class ContentAutofillDriverFactory : public content::WebContentsObserver,
const std::string& app_locale,
BrowserAutofillManager::AutofillDownloadManagerState
enable_download_manager,
+ bool enable_browser_autofill_manager,
AutofillManager::AutofillManagerFactoryCallback
autofill_manager_factory_callback = {});
@@ -83,6 +84,7 @@ class ContentAutofillDriverFactory : public content::WebContentsObserver,
const std::string& app_locale,
BrowserAutofillManager::AutofillDownloadManagerState
enable_download_manager,
+ bool enable_browser_autofill_manager,
AutofillManager::AutofillManagerFactoryCallback
autofill_manager_factory_callback);
@@ -96,6 +98,8 @@ class ContentAutofillDriverFactory : public content::WebContentsObserver,
// Must be destroyed after |driver_map_|'s elements.
ContentAutofillRouter router_;
+ bool enable_browser_autofill_manager_;
+
// The list of drivers, one for each frame in the WebContents.
// Should be empty at destruction time because its elements are erased in
// RenderFrameDeleted(). In case it is not empty, is must be destroyed before
diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/components/autofill/content/renderer/password_autofill_agent.cc
--- a/components/autofill/content/renderer/password_autofill_agent.cc
+++ b/components/autofill/content/renderer/password_autofill_agent.cc
@@ -731,7 +731,10 @@ void PasswordAutofillAgent::UpdateStateForTextChange(
void PasswordAutofillAgent::TrackAutofilledElement(
const blink::WebFormControlElement& element) {
- autofill_agent_->TrackAutofilledElement(element);
+ // fix for https://github.com/bromite/bromite/issues/1570
+ AutofillAgent* agent = autofill_agent_.get();
+ if (agent)
+ agent->TrackAutofilledElement(element);
}
bool PasswordAutofillAgent::FillSuggestion(
diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/autofill/core/common/autofill_prefs.cc
--- a/components/autofill/core/common/autofill_prefs.cc
+++ b/components/autofill/core/common/autofill_prefs.cc
@@ -128,6 +128,9 @@ const char kAutofillWalletImportStorageCheckboxState[] =
@@ -128,6 +128,10 @@ const char kAutofillWalletImportStorageCheckboxState[] =
const char kAutocompleteLastVersionRetentionPolicy[] =
"autocomplete.retention_policy_last_version";
+// Boolean that is true to enable native Android Autofill
+const char kAutofillAndroidEnabled[] = "autofill.android_autofill_enabled";
+const char kAutofillAndroidIncognitoEnabled[] = "autofill.android_autofill_incognito_enabled";
+
void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
// Synced prefs. Used for cross-device choices, e.g., credit card Autofill.
registry->RegisterBooleanPref(
@@ -160,6 +163,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -160,6 +164,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kAutofillCreditCardFidoAuthOfferCheckboxState, true);
#endif
+ registry->RegisterBooleanPref(
+ prefs::kAutofillAndroidEnabled, true);
+ registry->RegisterBooleanPref(
+ prefs::kAutofillAndroidIncognitoEnabled, false);
registry->RegisterIntegerPref(
prefs::kAutofillCreditCardSigninPromoImpressionCount, 0);
registry->RegisterBooleanPref(prefs::kAutofillWalletImportEnabled, true);
diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autofill/core/common/autofill_prefs.h
--- a/components/autofill/core/common/autofill_prefs.h
+++ b/components/autofill/core/common/autofill_prefs.h
@@ -47,6 +47,7 @@ extern const char kAutofillUploadEventsLastResetTimestamp[];
@@ -47,6 +47,8 @@ extern const char kAutofillUploadEventsLastResetTimestamp[];
extern const char kAutofillWalletImportEnabled[];
extern const char kAutofillWalletImportStorageCheckboxState[];
extern const char kAutocompleteLastVersionRetentionPolicy[];
+extern const char kAutofillAndroidEnabled[];
+extern const char kAutofillAndroidIncognitoEnabled[];
namespace sync_transport_opt_in {
enum Flags {
diff --git a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java
--- a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/view/ContentView.java
@@ -36,6 +36,12 @@ import org.chromium.content_public.browser.WebContentsAccessibility;
@@ -36,6 +36,11 @@ import org.chromium.content_public.browser.WebContentsAccessibility;
import org.chromium.ui.base.EventForwarder;
import org.chromium.ui.base.EventOffsetHandler;
+import org.chromium.base.Log;
+import org.chromium.base.annotations.VerifiesOnO;
+import android.util.SparseArray;
+import android.view.autofill.AutofillValue;
+import org.chromium.ui.base.ViewAndroidDelegate;
@ -408,7 +758,7 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component
/**
* The containing view for {@link WebContents} that exists in the Android UI hierarchy and exposes
* the various {@link View} functionality to it.
@@ -82,6 +88,8 @@ public class ContentView extends FrameLayout
@@ -82,6 +87,8 @@ public class ContentView extends FrameLayout
*/
public static ContentView createContentView(Context context,
@Nullable EventOffsetHandler eventOffsetHandler, @Nullable WebContents webContents) {
@ -417,7 +767,7 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
return new ContentViewApi23(context, eventOffsetHandler, webContents);
}
@@ -549,4 +557,44 @@ public class ContentView extends FrameLayout
@@ -549,4 +556,43 @@ public class ContentView extends FrameLayout
if (wcax != null) wcax.onProvideVirtualStructure(structure, false);
}
}
@ -425,7 +775,6 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component
+ /**
+ * API level 26 implementation that includes autofill.
+ */
+ @VerifiesOnO
+ public static class ContentViewWithAutofill extends ContentViewApi23 {
+ private ViewAndroidDelegate viewAndroidDelegate;
+
@ -485,6 +834,18 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/ViewAndroidDelegate.java b
+
+ public void autofill(final SparseArray<AutofillValue> values) {}
}
--
2.20.1
diff --git a/weblayer/browser/tab_impl.cc b/weblayer/browser/tab_impl.cc
--- a/weblayer/browser/tab_impl.cc
+++ b/weblayer/browser/tab_impl.cc
@@ -1395,7 +1395,8 @@ void TabImpl::InitializeAutofillDriver() {
autofill::ContentAutofillDriverFactory::CreateForWebContentsAndDelegate(
web_contents, AutofillClientImpl::FromWebContents(web_contents),
i18n::GetApplicationLocale(), enable_autofill_download_manager,
- base::BindRepeating(&autofill::AndroidAutofillManager::Create));
+ base::BindRepeating(&autofill::AndroidAutofillManager::Create),
+ /*enable_browser_autofill_manager*/ false);
}
#endif // defined(OS_ANDROID)
--
2.25.1

View file

@ -9,7 +9,7 @@ Subject: Enable prefetch-privacy-changes by default
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -416,7 +416,7 @@ const base::Feature kComputePressure{"ComputePressure",
@@ -422,7 +422,7 @@ const base::Feature kComputePressure{"ComputePressure",
// Prefetch request properties are updated to be privacy-preserving. See
// crbug.com/988956.
const base::Feature kPrefetchPrivacyChanges{"PrefetchPrivacyChanges",
@ -18,6 +18,5 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
// Decodes jpeg 4:2:0 formatted images to YUV instead of RGBX and stores in this
// format in the image decode cache. See crbug.com/919627 for details on the
--
2.20.1
--
2.25.1

View file

@ -27,7 +27,7 @@ See also: https://github.com/bromite/bromite/issues/1062
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
@@ -717,6 +717,7 @@ chrome_java_resources = [
@@ -711,6 +711,7 @@ chrome_java_resources = [
"java/res/layout/share_sheet_content.xml",
"java/res/layout/share_sheet_item.xml",
"java/res/layout/sharing_device_picker.xml",
@ -38,7 +38,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
@@ -1048,6 +1048,7 @@ chrome_java_sources = [
@@ -1037,6 +1037,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardMessageHandler.java",
"java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardMetrics.java",
"java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardShareActivity.java",
@ -171,8 +171,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni
import org.chromium.chrome.browser.sharing.shared_clipboard.SharedClipboardShareActivity;
+import org.chromium.chrome.browser.sharing.shared_intent.SharedIntentShareActivity;
import org.chromium.chrome.browser.tab.state.ShoppingPersistedTabData;
import org.chromium.chrome.browser.tasks.tab_management.PriceTrackingUtilities;
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityPreferencesManager;
import org.chromium.chrome.browser.util.AfterStartupTaskUtils;
@@ -409,6 +410,8 @@ public class ProcessInitializationHandler {
deferredStartupHandler.addDeferredTask(
() -> IncognitoTabLauncher.updateComponentEnabledState());
@ -304,8 +304,8 @@ new file mode 100644
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
@@ -5566,6 +5566,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(sharing_hub::kDesktopScreenshots)},
@@ -5654,6 +5654,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(share::kSharingDesktopScreenshotsEdit)},
#endif
+ {"shared-intent-ui", flag_descriptions::kSharedIntentUIName,
@ -318,7 +318,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
@@ -2335,6 +2335,11 @@ const char kSharingDesktopScreenshotsDescription[] =
@@ -2280,6 +2280,11 @@ const char kSharingDesktopScreenshotsDescription[] =
"Enables taking"
" screenshots from the desktop sharing hub.";
@ -333,9 +333,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
@@ -1340,6 +1340,9 @@ extern const char kSharedClipboardUIDescription[];
extern const char kSharingDesktopScreenshotsName[];
extern const char kSharingDesktopScreenshotsDescription[];
@@ -1316,6 +1316,9 @@ extern const char kSharingDesktopScreenshotsDescription[];
extern const char kSharingDesktopScreenshotsEditName[];
extern const char kSharingDesktopScreenshotsEditDescription[];
+extern const char kSharedIntentUIName[];
+extern const char kSharedIntentUIDescription[];
@ -346,7 +346,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
@@ -270,6 +270,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -273,6 +273,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kServiceManagerForDownload,
&kShareButtonInTopToolbar,
&kSharedClipboardUI,
@ -354,7 +354,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kSharingHubLinkToggle,
&kSingleTouchSelect,
&kSpannableInlineAutocomplete,
@@ -657,6 +658,9 @@ const base::Feature kSearchEnginePromoExistingDevice{
@@ -662,6 +663,9 @@ const base::Feature kSearchEnginePromoExistingDevice{
const base::Feature kSearchEnginePromoNewDevice{
"SearchEnginePromo.NewDevice", base::FEATURE_ENABLED_BY_DEFAULT};
@ -378,7 +378,7 @@ 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
@@ -488,6 +488,7 @@ public abstract class ChromeFeatureList {
@@ -493,6 +493,7 @@ public abstract class ChromeFeatureList {
public static final String SHARE_USAGE_RANKING = "ShareUsageRanking";
public static final String SHARE_USAGE_RANKING_FIXED_MORE = "ShareUsageRankingFixedMore";
public static final String SHARED_CLIPBOARD_UI = "SharedClipboardUI";
@ -389,7 +389,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
@@ -4578,6 +4578,19 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4585,6 +4585,19 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
Send text to Your Devices
</message>
@ -409,6 +409,5 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Sms Fetcher -->
<message name="IDS_SMS_FETCHER_NOTIFICATION_TITLE" desc="Title text shown when the Android Chrome receives a ONE_TIME_CODE from an incoming SMS and ask users for permission to submit the code to their linked Desktop Chrome">
Submit <ph name="ONE_TIME_CODE">%1$s<ex>123</ex></ph> on <ph name="CLIENT_NAME">%2$s<ex>Zoe's Macbook</ex></ph>?
--
2.20.1
--
2.25.1

View file

@ -9,7 +9,7 @@ Subject: Enable user-agent freeze by default
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -86,7 +86,7 @@ const base::Feature kFreezePurgeMemoryAllPagesFrozen{
@@ -99,7 +99,7 @@ const base::Feature kFreezePurgeMemoryAllPagesFrozen{
// Freezes the user-agent as part of https://github.com/WICG/ua-client-hints.
const base::Feature kReduceUserAgent{"ReduceUserAgent",
@ -18,6 +18,5 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
// Enables the frequency capping for detecting overlay popups. Overlay-popups
// are the interstitials that pop up and block the main content of the page.
--
2.20.1
--
2.25.1

View file

@ -93,7 +93,7 @@ See also: components/user_scripts/README.md
.../user_scripts/common/script_constants.h | 33 +
components/user_scripts/common/url_pattern.cc | 803 ++++++++++++++++++
components/user_scripts/common/url_pattern.h | 302 +++++++
.../user_scripts/common/url_pattern_set.cc | 334 ++++++++
.../user_scripts/common/url_pattern_set.cc | 335 ++++++++
.../user_scripts/common/url_pattern_set.h | 161 ++++
components/user_scripts/common/user_script.cc | 317 +++++++
components/user_scripts/common/user_script.h | 403 +++++++++
@ -133,7 +133,7 @@ See also: components/user_scripts/README.md
.../renderer/web_ui_injection_host.h | 28 +
.../strings/userscripts_strings.grdp | 55 ++
tools/gritsettings/resource_ids.spec | 6 +
111 files changed, 9579 insertions(+), 2 deletions(-)
111 files changed, 9580 insertions(+), 2 deletions(-)
create mode 100644 components/user_scripts/README.md
create mode 100755 components/user_scripts/android/BUILD.gn
create mode 100644 components/user_scripts/android/java/res/layout/accept_script_item.xml
@ -225,7 +225,7 @@ See also: components/user_scripts/README.md
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -252,6 +252,10 @@ android_resources("chrome_app_java_resources") {
@@ -253,6 +253,10 @@ android_resources("chrome_app_java_resources") {
"//third_party/androidx:androidx_preference_preference_java",
"//third_party/androidx:androidx_recyclerview_recyclerview_java",
]
@ -236,7 +236,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
}
if (enable_vr) {
@@ -524,6 +528,7 @@ android_library("chrome_java") {
@@ -532,6 +536,7 @@ android_library("chrome_java") {
"//components/ukm/android:java",
"//components/url_formatter/android:url_formatter_java",
"//components/user_prefs/android:java",
@ -285,7 +285,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
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
@@ -112,6 +112,8 @@ import java.util.Date;
@@ -113,6 +113,8 @@ import java.util.Date;
import java.util.List;
import java.util.Locale;
@ -322,7 +322,7 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3489,6 +3489,11 @@ static_library("browser") {
@@ -3515,6 +3515,11 @@ static_library("browser") {
]
deps += [ "//chrome/android/modules/dev_ui/provider:native" ]
}
@ -333,11 +333,11 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
+ ]
} else {
#!is_android
sources += [
if (!is_chromeos_lacros) {
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
@@ -151,6 +151,7 @@
@@ -149,6 +149,7 @@
#include "components/translate/core/browser/translate_ranker_impl.h"
#include "components/translate/core/common/translate_util.h"
#include "components/ui_devtools/switches.h"
@ -345,7 +345,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#include "components/version_info/version_info.h"
#include "components/viz/common/features.h"
#include "components/viz/common/switches.h"
@@ -6531,6 +6532,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -6535,6 +6536,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kUserDataSnapshot)},
#endif
@ -359,7 +359,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -4659,7 +4659,8 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles(
@@ -4662,7 +4662,8 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles(
chrome::mojom::DynamicParams dynamic_params = {
profile->GetPrefs()->GetBoolean(prefs::kForceGoogleSafeSearch),
profile->GetPrefs()->GetInteger(prefs::kForceYouTubeRestrict),
@ -372,7 +372,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
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
@@ -5393,6 +5393,11 @@ const char kUserDataSnapshotDescription[] =
@@ -5382,6 +5382,11 @@ const char kUserDataSnapshotDescription[] =
"update and restoring them after a version rollback.";
#endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
@ -387,7 +387,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
@@ -3132,6 +3132,9 @@ extern const char kUserDataSnapshotName[];
@@ -3134,6 +3134,9 @@ extern const char kUserDataSnapshotName[];
extern const char kUserDataSnapshotDescription[];
#endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
@ -400,7 +400,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
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
@@ -237,6 +237,7 @@
@@ -235,6 +235,7 @@
#include "components/ntp_tiles/popular_sites_impl.h"
#include "components/permissions/contexts/geolocation_permission_context_android.h"
#include "components/query_tiles/tile_service_prefs.h"
@ -408,7 +408,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#else // defined(OS_ANDROID)
#include "chrome/browser/cart/cart_service.h"
#include "chrome/browser/device_api/device_service_impl.h"
@@ -1197,6 +1198,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -1214,6 +1215,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
translate::TranslatePrefs::RegisterProfilePrefs(registry);
omnibox::RegisterProfilePrefs(registry);
ZeroSuggestProvider::RegisterProfilePrefs(registry);
@ -430,7 +430,7 @@ diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn
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
@@ -216,6 +216,8 @@
@@ -217,6 +217,8 @@
#include "chrome/browser/lacros/cert_db_initializer_factory.h"
#endif
@ -439,7 +439,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
namespace chrome {
void AddProfilesExtraParts(ChromeBrowserMainParts* main_parts) {
@@ -516,6 +518,7 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -517,6 +519,7 @@ void ChromeBrowserMainExtraPartsProfiles::
#endif
WebDataServiceFactory::GetInstance();
webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance();
@ -450,16 +450,16 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
--- a/chrome/browser/profiles/profile_manager.cc
+++ b/chrome/browser/profiles/profile_manager.cc
@@ -117,6 +117,8 @@
@@ -118,6 +118,8 @@
#include "extensions/common/manifest.h"
#endif
+#include "components/user_scripts/browser/userscripts_browser_client.h"
+
#if BUILDFLAG(ENABLE_SESSION_SERVICE)
#include "chrome/browser/sessions/app_session_service_factory.h"
#include "chrome/browser/sessions/session_service_factory.h"
#endif
@@ -1539,6 +1541,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile,
@@ -1538,6 +1540,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile,
}
#endif
@ -534,7 +534,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_ui.h"
#include "content/public/common/content_client.h"
@@ -678,6 +679,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -681,6 +682,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<UserActionsUI>;
if (url.host_piece() == chrome::kChromeUIVersionHost)
return &NewWebUI<VersionUI>;
@ -576,7 +576,7 @@ diff --git a/chrome/common/renderer_configuration.mojom b/chrome/common/renderer
diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
--- a/chrome/renderer/BUILD.gn
+++ b/chrome/renderer/BUILD.gn
@@ -171,6 +171,7 @@ static_library("renderer") {
@@ -172,6 +172,7 @@ static_library("renderer") {
"//components/feed:feature_list",
"//components/feed/content/renderer:feed_renderer",
"//components/history_clusters/core",
@ -587,7 +587,7 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -254,6 +254,9 @@
@@ -253,6 +253,9 @@
#include "chrome/renderer/supervised_user/supervised_user_error_page_controller_delegate_impl.h"
#endif
@ -595,9 +595,9 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
+#include "components/user_scripts/renderer/user_scripts_renderer_client.h"
+
using autofill::AutofillAgent;
using autofill::AutofillAssistantAgent;
using autofill::PasswordAutofillAgent;
@@ -419,6 +422,12 @@ void ChromeContentRendererClient::RenderThreadStarted() {
using autofill::PasswordGenerationAgent;
@@ -425,6 +428,12 @@ void ChromeContentRendererClient::RenderThreadStarted() {
WebString::FromASCII(extensions::kExtensionScheme));
#endif
@ -610,7 +610,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
#if BUILDFLAG(ENABLE_SPELLCHECK)
if (!spellcheck_)
InitSpellCheck();
@@ -555,6 +564,13 @@ void ChromeContentRendererClient::RenderFrameCreated(
@@ -561,6 +570,13 @@ void ChromeContentRendererClient::RenderFrameCreated(
render_frame, registry);
#endif
@ -624,7 +624,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
#if BUILDFLAG(ENABLE_PLUGINS)
new PepperHelper(render_frame);
#endif
@@ -1546,7 +1562,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
@@ -1547,7 +1563,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentStart(
render_frame);
// |render_frame| might be dead by now.
@ -639,7 +639,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
}
void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
@@ -1555,7 +1578,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
@@ -1556,7 +1579,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentEnd(
render_frame);
// |render_frame| might be dead by now.
@ -654,7 +654,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
}
void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
@@ -1564,7 +1594,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
@@ -1565,7 +1595,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentIdle(
render_frame);
// |render_frame| might be dead by now.
@ -2498,7 +2498,7 @@ new file mode 100755
+
+#include "file_task_runner.h"
+
+#include "base/sequenced_task_runner.h"
+#include "base/task/sequenced_task_runner.h"
+#include "base/task/lazy_thread_pool_task_runner.h"
+#include "base/task/task_traits.h"
+
@ -5919,7 +5919,7 @@ diff --git a/components/user_scripts/common/url_pattern_set.cc b/components/user
new file mode 100755
--- /dev/null
+++ b/components/user_scripts/common/url_pattern_set.cc
@@ -0,0 +1,334 @@
@@ -0,0 +1,335 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@ -6117,7 +6117,8 @@ new file mode 100755
+ if (origin.is_empty())
+ return false;
+ const url::Origin real_origin = url::Origin::Create(origin);
+ DCHECK(real_origin.IsSameOriginWith(url::Origin::Create(origin.GetOrigin())));
+ DCHECK(real_origin.IsSameOriginWith(url::Origin::Create(
+ origin.DeprecatedGetOriginAsURL())));
+ URLPattern origin_pattern(valid_schemes);
+ // Origin adding could fail if |origin| does not match |valid_schemes|.
+ if (origin_pattern.Parse(origin.spec()) !=
@ -8840,7 +8841,7 @@ new file mode 100755
+ FROM_HERE,
+ base::BindOnce(&ScriptInjectionManager::RFOHelper::RunIdle,
+ weak_factory_.GetWeakPtr()),
+ base::TimeDelta::FromMilliseconds(kScriptIdleTimeoutInMs));
+ base::Milliseconds(kScriptIdleTimeoutInMs));
+
+ ExtensionFrameHelper::Get(render_frame())
+ ->ScheduleAtDocumentIdle(
@ -10621,7 +10622,7 @@ new file mode 100755
diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
--- a/tools/gritsettings/resource_ids.spec
+++ b/tools/gritsettings/resource_ids.spec
@@ -585,6 +585,12 @@
@@ -589,6 +589,12 @@
"components/autofill/core/browser/autofill_address_rewriter_resources.grd":{
"includes": [3720]
},
@ -10634,6 +10635,5 @@ diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_
# END components/ section.
# START ios/ section.
--
2.20.1
--
2.25.1

View file

@ -27,6 +27,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
PreferenceCategory profileCategory = new PreferenceCategory(getStyledContext());
profileCategory.setKey(PREF_KEY_CATEGORY_EXCEPTIONS);
--
2.20.1
--
2.25.1

View file

@ -1,8 +1,8 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 27 Oct 2019 10:18:39 +0100
Subject: Increase number of autocomplete matches from 5 to 10
Subject: Increase number of autocomplete matches to 10
Patch from https://github.com/Eloston/ungoogled-chromium/issues/814#issuecomment-526874703
Patch adapted from https://github.com/Eloston/ungoogled-chromium/issues/814#issuecomment-526874703
---
components/omnibox/browser/autocomplete_result.cc | 3 ++-
components/omnibox/browser/omnibox_field_trial.cc | 6 +++---
@ -11,12 +11,12 @@ Patch from https://github.com/Eloston/ungoogled-chromium/issues/814#issuecomment
diff --git a/components/omnibox/browser/autocomplete_result.cc b/components/omnibox/browser/autocomplete_result.cc
--- a/components/omnibox/browser/autocomplete_result.cc
+++ b/components/omnibox/browser/autocomplete_result.cc
@@ -68,7 +68,8 @@ struct MatchGURLHash {
@@ -69,7 +69,8 @@ struct MatchGURLHash {
// static
size_t AutocompleteResult::GetMaxMatches(bool is_zero_suggest) {
#if (defined(OS_ANDROID))
- constexpr size_t kDefaultMaxAutocompleteMatches = 5;
+ // changed from 6, this needs to be double the value of default_max_matches_per_provider from components/omnibox/browser/omnibox_field_trial.cc
- constexpr size_t kDefaultMaxAutocompleteMatches = 8;
+ // changed from 8, this needs to be double the value of default_max_matches_per_provider from components/omnibox/browser/omnibox_field_trial.cc
+ constexpr size_t kDefaultMaxAutocompleteMatches = 10;
constexpr size_t kDefaultMaxZeroSuggestMatches = 15;
#elif defined(OS_IOS) // !defined(OS_ANDROID)
@ -45,6 +45,5 @@ diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omni
return default_max_matches_per_provider;
}
--
2.20.1
--
2.25.1

View file

@ -39,9 +39,9 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
#include "third_party/blink/renderer/core/page/scrolling/scrolling_coordinator.h"
+#include "extensions/video_bg_play.h"
#include "third_party/blink/renderer/core/page/scrolling/snap_coordinator.h"
#include "third_party/blink/renderer/core/page/scrolling/text_fragment_anchor.h"
#include "third_party/blink/renderer/core/page/scrolling/text_fragment_handler.h"
@@ -342,6 +343,8 @@
#include "third_party/blink/renderer/core/page/scrolling/top_document_root_scroller_controller.h"
@@ -341,6 +342,8 @@
#include "third_party/blink/renderer/platform/wtf/text/string_buffer.h"
#include "third_party/blink/renderer/platform/wtf/text/text_encoding_registry.h"
@ -50,7 +50,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
#ifndef NDEBUG
using WeakDocumentSet = blink::HeapHashSet<blink::WeakMember<blink::Document>>;
static WeakDocumentSet& LiveDocumentSet();
@@ -6521,6 +6524,61 @@ void Document::setAllowDeclarativeShadowRoots(bool val) {
@@ -6491,6 +6494,61 @@ void Document::setAllowDeclarativeShadowRoots(bool val) {
val ? AllowState::kAllow : AllowState::kDeny;
}
@ -112,7 +112,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
void Document::FinishedParsing() {
DCHECK(!GetScriptableDocumentParser() || !parser_->IsParsing());
DCHECK(!GetScriptableDocumentParser() || ready_state_ != kLoading);
@@ -6579,6 +6637,10 @@ void Document::FinishedParsing() {
@@ -6549,6 +6607,10 @@ void Document::FinishedParsing() {
if (frame->IsMainFrame() && ShouldMarkFontPerformance())
FontPerformance::MarkDomContentLoaded();
@ -126,7 +126,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h
--- a/third_party/blink/renderer/core/dom/document.h
+++ b/third_party/blink/renderer/core/dom/document.h
@@ -1776,6 +1776,9 @@ class CORE_EXPORT Document : public ContainerNode,
@@ -1767,6 +1767,9 @@ class CORE_EXPORT Document : public ContainerNode,
void AddAXContext(AXContext*);
void RemoveAXContext(AXContext*);
@ -161,7 +161,7 @@ new file mode 100644
diff --git a/third_party/blink/renderer/core/html/html_script_element.cc b/third_party/blink/renderer/core/html/html_script_element.cc
--- a/third_party/blink/renderer/core/html/html_script_element.cc
+++ b/third_party/blink/renderer/core/html/html_script_element.cc
@@ -169,6 +169,11 @@ void HTMLScriptElement::setTextContent(const String& string) {
@@ -174,6 +174,11 @@ void HTMLScriptElement::setTextContent(const String& string) {
script_text_internal_slot_ = ParkableString(string.Impl());
}
@ -184,6 +184,5 @@ diff --git a/third_party/blink/renderer/core/html/html_script_element.h b/third_
void setAsync(bool);
bool async() const;
--
2.20.1
--
2.25.1

View file

@ -36,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import android.os.Build;
import android.content.SharedPreferences;
import android.os.Bundle;
@@ -83,6 +84,7 @@ public class PrivacySettings
@@ -82,6 +83,7 @@ public class PrivacySettings
private static final String PREF_SEARCH_SUGGESTIONS = "search_suggestions";
private static final String PREF_CONTEXTUAL_SEARCH = "contextual_search";
public static final String PREF_AUTOFILL_ASSISTANT = "autofill_assistant";
@ -44,7 +44,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private ChromeSwitchPreference mSearchSuggestions;
private @Nullable ChromeSwitchPreference mAutofillAssistant;
private @Nullable Preference mContextualSearch;
@@ -242,6 +244,10 @@ public class PrivacySettings
@@ -216,6 +218,10 @@ public class PrivacySettings
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
prefService.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
@ -55,18 +55,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
} else if (PREF_AUTOFILL_ASSISTANT.equals(key)) {
mSharedPreferencesManager.writeBoolean(
ChromePreferenceKeys.AUTOFILL_ASSISTANT_ENABLED, (boolean) newValue);
@@ -325,6 +331,11 @@ public class PrivacySettings
prefService.getBoolean(Pref.INCOGNITO_TAB_HISTORY_ENABLED));
}
@@ -273,6 +279,11 @@ public class PrivacySettings
Preference privacySandboxPreference = findPreference(PREF_PRIVACY_SANDBOX);
if (privacySandboxPreference != null) {
+ ChromeSwitchPreference forceNoJit =
+ (ChromeSwitchPreference) findPreference(PREF_FORCE_NO_JIT);
+ forceNoJit.setOnPreferenceChangeListener(this);
+ forceNoJit.setManagedPreferenceDelegate(mManagedPreferenceDelegate);
+
updateIncognitoReauthPreference();
}
privacySandboxPreference.setSummary(
PrivacySandboxSettingsFragment.getStatusString(getContext()));
}
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
@ -118,6 +118,5 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Device
+ }
+ }
}
--
2.20.1
--
2.25.1

View file

@ -40,6 +40,5 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/C
if (isTabUrlContentScheme(getUrl().getSpec())) {
return false;
}
--
2.20.1
--
2.25.1

View file

@ -138,7 +138,7 @@ diff --git a/chrome/browser/crash_upload_list/crash_upload_list_android.h b/chro
diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc
--- a/chrome/browser/net/chrome_network_delegate.cc
+++ b/chrome/browser/net/chrome_network_delegate.cc
@@ -131,6 +131,13 @@ bool IsAccessAllowedAndroid(const base::FilePath& path) {
@@ -132,6 +132,13 @@ bool IsAccessAllowedAndroid(const base::FilePath& path) {
if (external_storage_path.IsParent(path))
return true;
@ -862,6 +862,5 @@ diff --git a/components/upload_list/upload_list.h b/components/upload_list/uploa
protected:
virtual ~UploadList();
--
2.20.1
--
2.25.1

View file

@ -33,7 +33,7 @@ diff --git a/chrome/browser/background/background_mode_manager.cc b/chrome/brows
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
@@ -1267,7 +1267,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
@@ -1275,7 +1275,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
void ChromeContentBrowserClient::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@ -174,7 +174,7 @@ diff --git a/components/bookmarks/browser/features.cc b/components/bookmarks/bro
diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/components/safe_browsing/core/common/safe_browsing_prefs.cc
--- a/components/safe_browsing/core/common/safe_browsing_prefs.cc
+++ b/components/safe_browsing/core/common/safe_browsing_prefs.cc
@@ -190,9 +190,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -188,9 +188,9 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
prefs::kSafeBrowsingSawInterstitialScoutReporting, false);
registry->RegisterBooleanPref(
@ -186,6 +186,5 @@ diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/compo
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(prefs::kSafeBrowsingEnhanced, false);
registry->RegisterBooleanPref(prefs::kSafeBrowsingProceedAnywayDisabled,
--
2.20.1
--
2.25.1

View file

@ -47,8 +47,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.incognito.reauth.IncognitoReauthManager;
@@ -47,6 +48,13 @@ import org.chromium.components.user_prefs.UserPrefs;
import org.chromium.chrome.browser.incognito.reauth.IncognitoReauthSettingSwitchPreference;
@@ -46,6 +47,13 @@ import org.chromium.components.user_prefs.UserPrefs;
import org.chromium.ui.text.NoUnderlineClickableSpan;
import org.chromium.ui.text.SpanApplier;
@ -62,7 +62,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
/**
* Fragment to keep track of the all the privacy related preferences.
*/
@@ -70,6 +78,18 @@ public class PrivacySettings
@@ -69,6 +77,18 @@ public class PrivacySettings
private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
@ -79,9 +79,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+ private final PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
@Override
@@ -108,6 +128,29 @@ public class PrivacySettings
@@ -111,6 +131,29 @@ public class PrivacySettings
mManagedPreferenceDelegate = createManagedPreferenceDelegate();
@ -111,7 +111,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
ChromeSwitchPreference canMakePaymentPref =
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
canMakePaymentPref.setOnPreferenceChangeListener(this);
@@ -197,6 +240,11 @@ public class PrivacySettings
@@ -171,6 +214,11 @@ public class PrivacySettings
} else if (PREF_CAN_MAKE_PAYMENT.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
@ -123,9 +123,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
} else if (PREF_NETWORK_PREDICTIONS.equals(key)) {
PrivacyPreferencesManagerImpl.getInstance().setNetworkPredictionEnabled(
(boolean) newValue);
@@ -219,6 +267,16 @@ public class PrivacySettings
@@ -198,7 +246,7 @@ public class PrivacySettings
* Updates the preferences.
*/
public void updatePreferences() {
- PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+ mSearchSuggestions.setChecked(prefService.getBoolean(Pref.SEARCH_SUGGEST_ENABLED));
public static final String PREF_INCOGNITO_TAB_HISTORY_ENABLED = "incognito_history_enabled";
ChromeSwitchPreference canMakePaymentPref =
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
@@ -252,6 +300,16 @@ public class PrivacySettings
};
}
+ /**
+ * This checks whether Autofill Assistant is enabled and was shown at least once (only then
@ -138,21 +147,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+ }
+
@Override
public void onResume() {
super.onResume();
@@ -229,7 +287,7 @@ public class PrivacySettings
* Updates the preferences.
*/
public void updatePreferences() {
- PrefService prefService = UserPrefs.get(Profile.getLastUsedRegularProfile());
+ mSearchSuggestions.setChecked(prefService.getBoolean(Pref.SEARCH_SUGGEST_ENABLED));
ChromeSwitchPreference canMakePaymentPref =
(ChromeSwitchPreference) findPreference(PREF_CAN_MAKE_PAYMENT);
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.clear();
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
@@ -405,6 +405,10 @@ CHAR_LIMIT guidelines:
@@ -399,6 +399,10 @@ CHAR_LIMIT guidelines:
No statistics or crash reports are sent to Google
</message>
@ -163,6 +163,5 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Search engine settings -->
<message name="IDS_SEARCH_ENGINE_SETTINGS" desc="Title for Search Engine settings. [CHAR_LIMIT=32]">
Search engine
--
2.20.1
--
2.25.1

View file

@ -56,7 +56,7 @@ Added flag --fingerprinting-canvas-image-data-noise to disable Canvas image data
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2316,6 +2316,7 @@ static_library("browser") {
@@ -2329,6 +2329,7 @@ static_library("browser") {
"//services/device/public/cpp:device_features",
"//services/device/public/cpp/serial:switches",
"//services/device/public/cpp/usb",
@ -67,7 +67,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
@@ -186,6 +186,7 @@
@@ -184,6 +184,7 @@
#include "services/media_session/public/cpp/features.h"
#include "services/network/public/cpp/features.h"
#include "services/network/public/cpp/network_switches.h"
@ -75,7 +75,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#include "storage/browser/quota/quota_features.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/forcedark/forcedark_switches.h"
@@ -2824,6 +2825,20 @@ const FeatureEntry kFeatureEntries[] = {
@@ -2853,6 +2854,20 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebrtcUseMinMaxVEADimensionsName,
flag_descriptions::kWebrtcUseMinMaxVEADimensionsDescription, kOsAll,
FEATURE_VALUE_TYPE(blink::features::kWebRtcUseMinMaxVEADimensions)},
@ -99,7 +99,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -223,6 +223,7 @@ source_set("browser") {
@@ -222,6 +222,7 @@ source_set("browser") {
"//third_party/libyuv",
"//third_party/re2",
"//third_party/sqlite",
@ -110,7 +110,7 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -212,6 +212,8 @@
@@ -214,6 +214,8 @@
#include "services/tracing/public/cpp/system_tracing_service.h"
#endif
@ -119,7 +119,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
#if defined(OS_WIN)
#include "base/win/scoped_com_initializer.h"
#include "base/win/windows_version.h"
@@ -3413,6 +3415,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
@@ -3377,6 +3379,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kDisableBreakpad,
switches::kDisableDatabases,
switches::kDisableFileSystem,
@ -143,7 +143,7 @@ diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn
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
@@ -38,6 +38,8 @@
@@ -39,6 +39,8 @@
#include "ui/gl/gl_switches.h"
#include "ui/native_theme/native_theme_features.h"
@ -152,7 +152,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
#if defined(OS_ANDROID)
#include "base/android/build_info.h"
#endif
@@ -540,6 +542,13 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
@@ -547,6 +549,13 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
if (!command_line.HasSwitch(switches::kDisableYUVImageDecoding) &&
base::FeatureList::IsEnabled(
blink::features::kDecodeLossyWebPImagesToYUV)) {
@ -190,7 +190,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
#include "base/time/time.h"
#include "cc/input/overscroll_behavior.h"
#include "cc/input/scroll_snap_data.h"
@@ -2148,6 +2149,23 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() {
@@ -2141,6 +2142,23 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() {
#if DCHECK_IS_ON()
AssertLayoutTreeUpdated(*this, true /* allow_dirty_container_subtrees */);
#endif
@ -217,7 +217,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h
--- a/third_party/blink/renderer/core/dom/document.h
+++ b/third_party/blink/renderer/core/dom/document.h
@@ -456,6 +456,10 @@ class CORE_EXPORT Document : public ContainerNode,
@@ -454,6 +454,10 @@ class CORE_EXPORT Document : public ContainerNode,
has_xml_declaration_ = has_xml_declaration ? 1 : 0;
}
@ -228,7 +228,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/
AtomicString visibilityState() const;
bool IsPageVisible() const;
bool hidden() const;
@@ -2081,6 +2085,9 @@ class CORE_EXPORT Document : public ContainerNode,
@@ -2073,6 +2077,9 @@ class CORE_EXPORT Document : public ContainerNode,
base::ElapsedTimer start_time_;
@ -241,7 +241,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc
--- a/third_party/blink/renderer/core/dom/element.cc
+++ b/third_party/blink/renderer/core/dom/element.cc
@@ -2114,6 +2114,11 @@ DOMRectList* Element::getClientRects() {
@@ -2119,6 +2119,11 @@ DOMRectList* Element::getClientRects() {
DCHECK(element_layout_object);
GetDocument().AdjustFloatQuadsForScrollAndAbsoluteZoom(
quads, *element_layout_object);
@ -253,7 +253,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/
return MakeGarbageCollected<DOMRectList>(quads);
}
@@ -2131,6 +2136,9 @@ FloatRect Element::GetBoundingClientRectNoLifecycleUpdate() const {
@@ -2136,6 +2141,9 @@ FloatRect Element::GetBoundingClientRectNoLifecycleUpdate() const {
DCHECK(element_layout_object);
GetDocument().AdjustFloatRectForScrollAndAbsoluteZoom(result,
*element_layout_object);
@ -343,7 +343,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c
#include "third_party/blink/renderer/platform/graphics/skia/skia_utils.h"
#include "third_party/blink/renderer/platform/graphics/stroke_data.h"
#include "third_party/blink/renderer/platform/graphics/video_frame_image_util.h"
@@ -2311,6 +2312,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal(
@@ -2332,6 +2333,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal(
snapshot->PaintImageForCurrentFrame().GetSkImageInfo().bounds();
DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh)));
}
@ -377,7 +377,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -1645,7 +1645,9 @@ component("platform") {
@@ -1646,7 +1646,9 @@ component("platform") {
"//third_party/blink/renderer:non_test_config",
]
@ -388,7 +388,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
allow_circular_includes_from = [
"//third_party/blink/renderer/platform/blob",
@@ -1712,6 +1714,7 @@ component("platform") {
@@ -1714,6 +1716,7 @@ component("platform") {
"//third_party/blink/public/strings",
"//third_party/blink/renderer/platform/wtf",
"//third_party/ced",
@ -399,7 +399,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
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
@@ -689,4 +689,16 @@ void WebRuntimeFeatures::EnableCLSScrollAnchoring(bool enable) {
@@ -685,4 +685,16 @@ void WebRuntimeFeatures::EnableCLSScrollAnchoring(bool enable) {
RuntimeEnabledFeatures::SetCLSScrollAnchoringEnabled(enable);
}
@ -632,7 +632,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
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
@@ -1039,6 +1039,15 @@
@@ -1041,6 +1041,15 @@
origin_trial_allows_third_party: true,
status: "experimental",
},
@ -709,6 +709,5 @@ new file mode 100644
+}
+
+#endif // THIRD_PARTY_UNGOOGLED_FINGERPRINTING_SWITCHES_H_
--
2.20.1
--
2.25.1

View file

@ -17,7 +17,7 @@ diff --git a/components/ntp_tiles/popular_sites_impl.cc b/components/ntp_tiles/p
GURL GetPopularSitesURL(const std::string& directory,
const std::string& country,
@@ -281,7 +280,12 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download,
@@ -276,7 +275,12 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download,
DCHECK(!callback_);
callback_ = std::move(callback);
@ -31,7 +31,7 @@ diff --git a/components/ntp_tiles/popular_sites_impl.cc b/components/ntp_tiles/p
prefs_->GetInt64(prefs::kPopularSitesLastDownloadPref));
const base::TimeDelta time_since_last_download =
base::Time::Now() - last_download_time;
@@ -298,7 +302,7 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download,
@@ -293,7 +297,7 @@ bool PopularSitesImpl::MaybeStartFetch(bool force_download,
(time_since_last_download > redownload_interval) || url_changed) {
FetchPopularSites();
return true;

View file

@ -9,7 +9,7 @@ Subject: Offer builtin autocomplete for chrome://flags
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
@@ -366,6 +366,8 @@ std::vector<std::u16string> ChromeAutocompleteProviderClient::GetBuiltinURLs() {
@@ -272,6 +272,8 @@ std::vector<std::u16string> ChromeAutocompleteProviderClient::GetBuiltinURLs() {
std::vector<std::u16string>
ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
std::vector<std::u16string> builtins_to_provide;
@ -18,6 +18,5 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUIChromeURLsURL));
#if !defined(OS_ANDROID)
--
2.20.1
--
2.25.1

View file

@ -9,7 +9,7 @@ Subject: Open YouTube links in Bromite
diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
--- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
+++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
@@ -1305,6 +1305,12 @@ public class ExternalNavigationHandler {
@@ -1281,6 +1281,12 @@ public class ExternalNavigationHandler {
OverrideUrlLoadingAsyncActionType.UI_GATING_BROWSER_NAVIGATION);
}

View file

@ -29,7 +29,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
@@ -310,7 +310,7 @@ const base::Feature kExtraSafelistedRequestHeadersForOutOfBlinkCors{
@@ -322,7 +322,7 @@ const base::Feature kExtraSafelistedRequestHeadersForOutOfBlinkCors{
// Controls whether Client Hints are guarded by Permissions Policy.
const base::Feature kFeaturePolicyForClientHints{
@ -38,6 +38,5 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
// Enables fixes for matching src: local() for web fonts correctly against full
// font name or postscript name. Rolling out behind a flag, as enabling this
--
2.20.1
--
2.25.1

View file

@ -87,6 +87,5 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
// Only add default Accept-Language if the request didn't have it
// specified.
std::string accept_language =
--
2.20.1
--
2.25.1

View file

@ -14,7 +14,7 @@ Use (overriden) build timestamp for chrome_version_id
diff --git a/base/BUILD.gn b/base/BUILD.gn
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -3810,8 +3810,13 @@ action("build_date") {
@@ -3747,8 +3747,13 @@ action("build_date") {
args = [
rebase_path("$target_gen_dir/generated_build_date.h", root_build_dir),

View file

@ -79,6 +79,5 @@ diff --git a/net/cert/ev_root_ca_metadata.h b/net/cert/ev_root_ca_metadata.h
// AddEVCA adds an EV CA to the list of known EV CAs with the given policy.
// |policy| is expressed as a string of dotted numbers. It returns true on
--
2.20.1
--
2.25.1

View file

@ -33,16 +33,14 @@ Parts of this patch were developed by csagan5, uazo and others.
.../browser/gcore/GoogleApiClientHelper.java | 82 +--
.../instantapps/InstantAppsHandler.java | 57 +-
.../browser/omaha/UpdateStatusProvider.java | 10 +-
.../inline/FakeAppUpdateManagerWrapper.java | 60 +-
.../inline/InlineUpdateControllerFactory.java | 16 -
.../inline/PlayInlineUpdateController.java | 226 +-------
.../modules/chrome_feature_modules.gni | 3 -
chrome/browser/BUILD.gn | 2 -
chrome/browser/language/android/BUILD.gn | 2 -
.../language/AppLanguagePromoDialog.java | 13 -
.../language/AppLanguagePromoDialog.java | 23 -
.../AppLanguagePreferenceDelegate.java | 8 -
.../language/settings/LanguageSettings.java | 6 -
.../prefetch/prefetch_service_factory.cc | 16 -
.../browser/password_manager/android/BUILD.gn | 2 -
.../push_messaging_service_factory.cc | 8 +-
chrome/browser/ui/BUILD.gn | 3 -
.../webui/chrome_web_ui_controller_factory.cc | 3 -
@ -95,7 +93,7 @@ Parts of this patch were developed by csagan5, uazo and others.
third_party/android_deps/BUILD.gn | 540 +-----------------
.../preconditions/javatests/BUILD.gn | 1 -
.../gms/ChromiumPlayServicesAvailability.java | 10 +-
74 files changed, 66 insertions(+), 2580 deletions(-)
72 files changed, 63 insertions(+), 2293 deletions(-)
delete mode 100644 components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java
delete mode 100644 components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java
@ -124,7 +122,7 @@ diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -304,20 +304,10 @@ android_library("chrome_java") {
@@ -309,20 +309,10 @@ android_library("chrome_java") {
":chrome_public_apk_template_resources",
":update_proto_java",
":usage_stats_proto_java",
@ -145,7 +143,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//chrome/android/modules/image_editor/provider:java",
"//chrome/android/modules/stack_unwinder/provider:java",
"//chrome/android/webapk/libs/client:client_java",
@@ -571,7 +561,6 @@ android_library("chrome_java") {
@@ -579,7 +569,6 @@ android_library("chrome_java") {
"//third_party/android_data_chart:android_data_chart_java",
"//third_party/android_deps:android_support_v7_appcompat_java",
"//third_party/android_deps:chromium_play_services_availability_java",
@ -153,7 +151,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//third_party/android_deps:com_google_code_findbugs_jsr305_java",
"//third_party/android_deps:com_google_guava_listenablefuture_java",
"//third_party/android_deps:dagger_java",
@@ -894,11 +883,6 @@ junit_binary("chrome_junit_tests") {
@@ -904,11 +893,6 @@ junit_binary("chrome_junit_tests") {
":chrome_java",
":chrome_public_android_manifest",
":delegate_public_impl_java",
@ -165,7 +163,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
@@ -1260,14 +1244,6 @@ android_library("chrome_test_java") {
@@ -1273,14 +1257,6 @@ android_library("chrome_test_java") {
":chrome_test_util_java",
":chrome_test_util_jni",
":delegate_public_impl_java",
@ -180,7 +178,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base/test:test_support_java",
@@ -2314,7 +2290,6 @@ android_library("browser_java_test_support") {
@@ -2331,7 +2307,6 @@ android_library("browser_java_test_support") {
]
deps = [
":chrome_java",
@ -188,7 +186,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base:jni_java",
@@ -2459,9 +2434,7 @@ android_library("base_monochrome_module_java") {
@@ -2478,9 +2453,7 @@ android_library("base_monochrome_module_java") {
android_library("base_module_java") {
sources = [
"../browser/attribution_reporting/android/java/src/org/chromium/chrome/browser/attribution_reporting/AttributionReportingProvider.java",
@ -198,7 +196,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"java/src/org/chromium/chrome/browser/ChromeBackupAgent.java",
"java/src/org/chromium/chrome/browser/DeferredStartupHandler.java",
"java/src/org/chromium/chrome/browser/base/DexFixer.java",
@@ -2472,8 +2445,6 @@ android_library("base_module_java") {
@@ -2491,8 +2464,6 @@ android_library("base_module_java") {
"java/src/org/chromium/chrome/browser/base/SplitCompatBackupAgent.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatContentProvider.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatCustomTabsService.java",
@ -207,7 +205,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"java/src/org/chromium/chrome/browser/base/SplitCompatIntentService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatJobService.java",
"java/src/org/chromium/chrome/browser/base/SplitCompatMinidumpUploadJobService.java",
@@ -2500,16 +2471,10 @@ android_library("base_module_java") {
@@ -2519,16 +2490,10 @@ android_library("base_module_java") {
"java/src/org/chromium/chrome/browser/photo_picker/DecoderService.java",
"java/src/org/chromium/chrome/browser/prerender/ChromePrerenderService.java",
"java/src/org/chromium/chrome/browser/provider/ChromeBrowserProvider.java",
@ -224,7 +222,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//base:base_java",
"//chrome/browser/download/android:file_provider_java",
"//chrome/browser/flags:java",
@@ -2522,7 +2487,6 @@ android_library("base_module_java") {
@@ -2541,7 +2506,6 @@ android_library("base_module_java") {
"//components/media_router/browser/android:cast_options_provider_java",
"//components/minidump_uploader:minidump_uploader_java",
"//components/module_installer/android:module_installer_java",
@ -232,7 +230,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/androidx:androidx_collection_collection_java",
"//third_party/androidx:androidx_fragment_fragment_java",
@@ -2544,7 +2508,6 @@ android_library("base_module_java") {
@@ -2563,7 +2527,6 @@ android_library("base_module_java") {
# Deps to pull services into base module.
# TODO(crbug.com/1126301): Consider moving these to the chrome module to
# reduce base dex size.
@ -251,7 +249,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
"java/src/org/chromium/chrome/browser/ChromeBackupAgentImpl.java",
"java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java",
"java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java",
@@ -1025,10 +1024,6 @@ chrome_java_sources = [
@@ -1014,10 +1013,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/searchwidget/SearchType.java",
"java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java",
"java/src/org/chromium/chrome/browser/send_tab_to_self/SendTabToSelfShareActivity.java",
@ -312,7 +310,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
- <activity
- android:name="org.chromium.chrome.browser.instantapps.AuthenticatedProxyActivity"
- android:exported="false"
- android:theme="@android:style/Theme.NoDisplay"
- android:theme="@style/Theme.BrowserUI.NoDisplay"
- android:noHistory="true"
- android:excludeFromRecents="true">
- </activity>
@ -812,16 +810,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/Ins
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateStatusProvider.java
@@ -19,8 +19,6 @@ import androidx.annotation.NonNull;
@@ -17,8 +17,6 @@ import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
-import com.google.android.gms.common.GooglePlayServicesUtil;
-
import org.chromium.base.ActivityState;
import org.chromium.base.ApplicationStatus;
import org.chromium.base.ApplicationStatus.ActivityStateListener;
@@ -456,13 +454,7 @@ public class UpdateStatusProvider implements ActivityStateListener {
import org.chromium.base.BuildInfo;
import org.chromium.base.Callback;
import org.chromium.base.ContextUtils;
@@ -328,13 +326,7 @@ public class UpdateStatusProvider {
}
private boolean isGooglePlayStoreAvailable(Context context) {
@ -836,452 +834,6 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta
}
private long getSize(StatFs statFs) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/FakeAppUpdateManagerWrapper.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/FakeAppUpdateManagerWrapper.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/FakeAppUpdateManagerWrapper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/FakeAppUpdateManagerWrapper.java
@@ -11,11 +11,6 @@ import android.os.Message;
import androidx.annotation.IntDef;
-import com.google.android.play.core.appupdate.AppUpdateInfo;
-import com.google.android.play.core.appupdate.testing.FakeAppUpdateManager;
-import com.google.android.play.core.install.model.AppUpdateType;
-import com.google.android.play.core.tasks.Task;
-
import org.chromium.base.ContextUtils;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.browser.app.ChromeActivity;
@@ -31,7 +26,7 @@ import java.lang.ref.WeakReference;
* wrapper isn't meant to be used for a full integration test, but simulating all of the possible
* error cases is a bit easier to do here.
*/
-public class FakeAppUpdateManagerWrapper extends FakeAppUpdateManager {
+public class FakeAppUpdateManagerWrapper {
private static final int RESULT_IN_APP_UPDATE_FAILED = 1;
private static final int STEP_DELAY_MS = 5000;
private static final int TOAST_DURATION_MS = 2000;
@@ -108,15 +103,12 @@ public class FakeAppUpdateManagerWrapper extends FakeAppUpdateManager {
switch (event) {
case Event.UPDATE_AVAILABLE:
w.toast("Making app update available.");
- w.setUpdateAvailable(10000 /* Figure out a better version? */);
return;
case Event.USER_ACCEPTS_UPDATE:
w.toast("User accepts update.");
- w.userAcceptsUpdate();
return;
case Event.USER_REJECTS_UPDATE:
w.toast("User rejects update.");
- w.userRejectsUpdate();
return;
case Event.TRIGGER_DOWNLOAD:
w.toast("Triggering download.");
@@ -124,27 +116,21 @@ public class FakeAppUpdateManagerWrapper extends FakeAppUpdateManager {
return;
case Event.DOWNLOAD_STARTS:
w.toast("Download has started.");
- w.downloadStarts();
return;
case Event.DOWNLOAD_FAILS:
w.toast("Triggering download failure.");
- w.downloadFails();
return;
case Event.USER_CANCELS_DOWNLOAD:
w.toast("Triggering cancellation of download.");
- w.userCancelsDownload();
return;
case Event.DOWNLOAD_COMPLETES:
w.toast("Download completes.");
- w.downloadCompletes();
return;
case Event.INSTALL_FAILS:
w.toast("Triggering install failure.");
- w.installFails();
return;
case Event.INSTALL_COMPLETES:
w.toast("Triggering install completion.");
- w.installCompletes();
return;
default:
w.toast("Unknown event.");
@@ -159,56 +145,12 @@ public class FakeAppUpdateManagerWrapper extends FakeAppUpdateManager {
* @param endState at which point should the inline update flow end.
*/
FakeAppUpdateManagerWrapper(@Type int endState) {
- super(ContextUtils.getApplicationContext());
mType = endState;
mEventHandler = new EventHandler(this);
if (mType != Type.NONE) execute(Event.UPDATE_AVAILABLE);
}
- // FakeAppUpdateManager implementation.
- @Override
- public boolean startUpdateFlowForResult(AppUpdateInfo appUpdateInfo,
- @AppUpdateType int appUpdateType, Activity activity, int requestCode) {
- toast("Starting update flow.");
- // TODO(dtrainor): Simulate exceptions being thrown or returning false from the super call.
- boolean success =
- super.startUpdateFlowForResult(appUpdateInfo, appUpdateType, activity, requestCode);
- if (!success) return false;
-
- assert activity instanceof ChromeActivity : "Unexpected triggering activity.";
-
- final int resultCode;
- if (mType == Type.FAIL_DIALOG_CANCEL) {
- resultCode = Activity.RESULT_CANCELED;
- } else if (mType == Type.FAIL_DIALOG_UPDATE_FAILED) {
- resultCode = RESULT_IN_APP_UPDATE_FAILED;
- } else {
- resultCode = Activity.RESULT_OK;
- }
-
- PostTask.postDelayedTask(UiThreadTaskTraits.DEFAULT, () -> {
- triggerDialogResponse((ChromeActivity) activity, requestCode, resultCode);
- }, STEP_DELAY_MS);
-
- return true;
- }
-
- @Override
- public Task<Void> completeUpdate() {
- toast("Completing update.");
- Task<Void> result = super.completeUpdate();
-
- if (mType == Type.FAIL_INSTALL) {
- postDelayedEvent(Event.INSTALL_FAILS);
- } else {
- postDelayedEvent(Event.INSTALL_COMPLETES);
- // This doesn't actually restart Chrome in this case.
- }
-
- return result;
- }
-
private void triggerDialogResponse(ChromeActivity activity, int requestCode, int resultCode) {
if (resultCode == Activity.RESULT_OK) {
execute(Event.USER_ACCEPTS_UPDATE);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateControllerFactory.java
@@ -4,8 +4,6 @@
package org.chromium.chrome.browser.omaha.inline;
-import com.google.android.play.core.appupdate.AppUpdateManagerFactory;
-
import org.chromium.base.ContextUtils;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.omaha.UpdateConfigs;
@@ -20,20 +18,6 @@ public class InlineUpdateControllerFactory {
public static InlineUpdateController create(Runnable callback) {
@FakeAppUpdateManagerWrapper.Type
int mockInlineEndState = UpdateConfigs.getMockInlineScenarioEndState();
- if (mockInlineEndState != FakeAppUpdateManagerWrapper.Type.NO_SIMULATION) {
- // The config requires to run through a test controller, using the
- // PlayInlineUpdateController, but with a fake Google Play backend that automatically
- // goes through a scenario flow.
- return new PlayInlineUpdateController(
- callback, new FakeAppUpdateManagerWrapper(mockInlineEndState));
- }
-
- if (ChromeFeatureList.isEnabled(ChromeFeatureList.INLINE_UPDATE_FLOW)) {
- // The application configuration requires to use the real Google Play backend for inline
- // updates.
- return new PlayInlineUpdateController(
- callback, AppUpdateManagerFactory.create(ContextUtils.getApplicationContext()));
- }
// No test scenario was in place, and the inline flow has not been enabled, so use a
// controller with no functionality.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/PlayInlineUpdateController.java
@@ -10,15 +10,6 @@ import android.content.IntentSender.SendIntentException;
import androidx.annotation.IntDef;
import androidx.annotation.Nullable;
-import com.google.android.play.core.appupdate.AppUpdateInfo;
-import com.google.android.play.core.appupdate.AppUpdateManager;
-import com.google.android.play.core.install.InstallState;
-import com.google.android.play.core.install.InstallStateUpdatedListener;
-import com.google.android.play.core.install.model.AppUpdateType;
-import com.google.android.play.core.install.model.InstallErrorCode;
-import com.google.android.play.core.install.model.InstallStatus;
-import com.google.android.play.core.install.model.UpdateAvailability;
-
import org.chromium.base.Log;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.browser.omaha.UpdateStatusProvider.UpdateState;
@@ -32,7 +23,7 @@ import java.lang.annotation.RetentionPolicy;
* in the foreground.
*/
public class PlayInlineUpdateController
- implements InlineUpdateController, InstallStateUpdatedListener {
+ implements InlineUpdateController {
/**
* Converts Play's InstallErrorCode enum to a stable monotomically incrementing Chrome enum.
* This is used for metric stability.
@@ -127,26 +118,9 @@ public class PlayInlineUpdateController
private static final int RESULT_IN_APP_UPDATE_FAILED = 1;
private static final int REQUEST_CODE = 8123;
- private final Runnable mCallback;
- private final AppUpdateManager mAppUpdateManager;
-
private boolean mEnabled;
private @Nullable @UpdateState Integer mUpdateState;
- private AppUpdateInfo mAppUpdateInfo;
- private @Nullable @UpdateAvailability Integer mUpdateAvailability;
- private @Nullable @InstallStatus Integer mInstallStatus;
-
- /**
- * Builds an instance of {@link PlayInlineUpdateController}.
- * @param callback The {@link Runnable} to notify when an inline update state change occurs.
- */
- PlayInlineUpdateController(Runnable callback, AppUpdateManager appUpdateManager) {
- mCallback = callback;
- mAppUpdateManager = appUpdateManager;
- setEnabled(true);
- }
-
// InlineUpdateController implementation.
@Override
public void setEnabled(boolean enabled) {
@@ -155,10 +129,8 @@ public class PlayInlineUpdateController
if (mEnabled) {
mUpdateState = UpdateState.NONE;
- mAppUpdateManager.registerListener(this);
pullCurrentState();
} else {
- mAppUpdateManager.unregisterListener(this);
}
}
@@ -169,220 +141,26 @@ public class PlayInlineUpdateController
@Override
public void startUpdate(Activity activity) {
- try {
- boolean success = mAppUpdateManager.startUpdateFlowForResult(
- mAppUpdateInfo, AppUpdateType.FLEXIBLE, activity, REQUEST_CODE);
- Log.i(TAG, "startUpdateFlowForResult() returned " + success);
-
- if (!success) recordCallFailure(CallFailure.START_FAILED);
- } catch (SendIntentException exception) {
- mInstallStatus = InstallStatus.FAILED;
- Log.i(TAG, "startUpdateFlowForResult() threw an exception.");
- recordCallFailure(CallFailure.START_EXCEPTION);
- }
- // TODO(dtrainor): Use success.
}
@Override
public void completeUpdate() {
- mAppUpdateManager.completeUpdate()
- .addOnSuccessListener(unused -> {
- Log.i(TAG, "completeUpdate() success.");
- pushStatus();
- })
- .addOnFailureListener(exception -> {
- Log.i(TAG, "completeUpdate() failed.");
- recordCallFailure(CallFailure.COMPLETE_FAILED);
- mInstallStatus = InstallStatus.FAILED;
- pushStatus();
- });
- }
-
- // InstallStateUpdatedListener implementation.
- @Override
- public void onStateUpdate(InstallState state) {
- Log.i(TAG,
- "onStateUpdate(" + state.installStatus() + ", " + state.installErrorCode() + ")");
-
- if (state.installStatus() != mInstallStatus) {
- RecordHistogram.recordEnumeratedHistogram("GoogleUpdate.Inline.StateChange.Error."
- + installStatusToEnumSuffix(state.installStatus()),
- installErrorCodeToMetrics(state.installErrorCode()),
- InstallErrorCodeMetrics.NUM_ENTRIES);
- }
-
- mInstallStatus = state.installStatus();
- pushStatus();
}
private void pullCurrentState() {
- mAppUpdateManager.getAppUpdateInfo()
- .addOnSuccessListener(info -> {
- mAppUpdateInfo = info;
- mUpdateAvailability = info.updateAvailability();
- mInstallStatus = info.installStatus();
- Log.i(TAG,
- "pullCurrentState(" + mUpdateAvailability + ", " + mInstallStatus
- + ") success.");
- recordOnAppUpdateInfo(info);
- pushStatus();
- })
- .addOnFailureListener(exception -> {
- mAppUpdateInfo = null;
- mUpdateAvailability = UpdateAvailability.UNKNOWN;
- mInstallStatus = InstallStatus.UNKNOWN;
- Log.i(TAG, "pullCurrentState() failed.");
- recordCallFailure(CallFailure.QUERY_FAILED);
- pushStatus();
- });
}
private void pushStatus() {
- if (!mEnabled || mUpdateAvailability == null || mInstallStatus == null) return;
-
- @UpdateState
- int newState = toUpdateState(mUpdateAvailability, mInstallStatus);
- if (mUpdateState != null && mUpdateState == newState) return;
-
- Log.i(TAG, "Pushing inline update state to " + newState);
- mUpdateState = newState;
- mCallback.run();
}
private static @UpdateState int toUpdateState(
- @UpdateAvailability int updateAvailability, @InstallStatus int installStatus) {
+ int updateAvailability, int installStatus) {
@UpdateState
int newStatus = UpdateState.NONE;
- // Note, use InstallStatus first then UpdateAvailability if InstallStatus doesn't indicate
- // a currently active install.
- switch (installStatus) {
- case InstallStatus.PENDING:
- // Intentional fall through.
- case InstallStatus.DOWNLOADING:
- newStatus = UpdateState.INLINE_UPDATE_DOWNLOADING;
- break;
- case InstallStatus.DOWNLOADED:
- newStatus = UpdateState.INLINE_UPDATE_READY;
- break;
- case InstallStatus.FAILED:
- newStatus = UpdateState.INLINE_UPDATE_FAILED;
- break;
- }
-
- if (newStatus == UpdateState.NONE) {
- switch (updateAvailability) {
- case UpdateAvailability.UPDATE_AVAILABLE:
- newStatus = UpdateState.INLINE_UPDATE_AVAILABLE;
- break;
- }
- }
-
return newStatus;
}
- private static String installStatusToEnumSuffix(@InstallStatus int status) {
- switch (status) {
- case InstallStatus.UNKNOWN:
- return "Unknown";
- case InstallStatus.REQUIRES_UI_INTENT:
- return "RequiresUiIntent";
- case InstallStatus.PENDING:
- return "Pending";
- case InstallStatus.DOWNLOADING:
- return "Downloading";
- case InstallStatus.DOWNLOADED:
- return "Downloaded";
- case InstallStatus.INSTALLING:
- return "Installing";
- case InstallStatus.INSTALLED:
- return "Installed";
- case InstallStatus.FAILED:
- return "Failed";
- case InstallStatus.CANCELED:
- return "Canceled";
- default:
- return "Untracked";
- }
- }
-
- private static @InstallErrorCodeMetrics int installErrorCodeToMetrics(
- @InstallErrorCode int error) {
- switch (error) {
- case InstallErrorCode.NO_ERROR:
- return InstallErrorCodeMetrics.NO_ERROR;
- case InstallErrorCode.NO_ERROR_PARTIALLY_ALLOWED:
- return InstallErrorCodeMetrics.NO_ERROR_PARTIALLY_ALLOWED;
- case InstallErrorCode.ERROR_UNKNOWN:
- return InstallErrorCodeMetrics.ERROR_UNKNOWN;
- case InstallErrorCode.ERROR_API_NOT_AVAILABLE:
- return InstallErrorCodeMetrics.ERROR_API_NOT_AVAILABLE;
- case InstallErrorCode.ERROR_INVALID_REQUEST:
- return InstallErrorCodeMetrics.ERROR_INVALID_REQUEST;
- case InstallErrorCode.ERROR_INSTALL_UNAVAILABLE:
- return InstallErrorCodeMetrics.ERROR_INSTALL_UNAVAILABLE;
- case InstallErrorCode.ERROR_INSTALL_NOT_ALLOWED:
- return InstallErrorCodeMetrics.ERROR_INSTALL_NOT_ALLOWED;
- case InstallErrorCode.ERROR_DOWNLOAD_NOT_PRESENT:
- return InstallErrorCodeMetrics.ERROR_DOWNLOAD_NOT_PRESENT;
- case InstallErrorCode.ERROR_INTERNAL_ERROR:
- return InstallErrorCodeMetrics.ERROR_INTERNAL_ERROR;
- default:
- return InstallErrorCodeMetrics.ERROR_UNTRACKED;
- }
- }
-
- private static @UpdateAvailabilityMetric int updateAvailabilityToMetrics(
- @UpdateAvailability int updateAvailability) {
- switch (updateAvailability) {
- case UpdateAvailability.UNKNOWN:
- return UpdateAvailabilityMetric.UNKNOWN;
- case UpdateAvailability.UPDATE_NOT_AVAILABLE:
- return UpdateAvailabilityMetric.UPDATE_NOT_AVAILABLE;
- case UpdateAvailability.UPDATE_AVAILABLE:
- return UpdateAvailabilityMetric.UPDATE_AVAILABLE;
- case UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS:
- return UpdateAvailabilityMetric.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS;
- default:
- return UpdateAvailabilityMetric.UNTRACKED;
- }
- }
-
- private static @InstallStatusMetric int installStatusToMetrics(
- @InstallStatus int installStatus) {
- switch (installStatus) {
- case InstallStatus.UNKNOWN:
- return InstallStatusMetric.UNKNOWN;
- case InstallStatus.REQUIRES_UI_INTENT:
- return InstallStatusMetric.REQUIRES_UI_INTENT;
- case InstallStatus.PENDING:
- return InstallStatusMetric.PENDING;
- case InstallStatus.DOWNLOADING:
- return InstallStatusMetric.DOWNLOADING;
- case InstallStatus.DOWNLOADED:
- return InstallStatusMetric.DOWNLOADED;
- case InstallStatus.INSTALLING:
- return InstallStatusMetric.INSTALLING;
- case InstallStatus.INSTALLED:
- return InstallStatusMetric.INSTALLED;
- case InstallStatus.FAILED:
- return InstallStatusMetric.FAILED;
- case InstallStatus.CANCELED:
- return InstallStatusMetric.CANCELED;
- default:
- return InstallStatusMetric.UNTRACKED;
- }
- }
-
- private static void recordOnAppUpdateInfo(AppUpdateInfo info) {
- RecordHistogram.recordEnumeratedHistogram(
- "GoogleUpdate.Inline.AppUpdateInfo.UpdateAvailability",
- updateAvailabilityToMetrics(info.updateAvailability()),
- UpdateAvailabilityMetric.NUM_ENTRIES);
- RecordHistogram.recordEnumeratedHistogram("GoogleUpdate.Inline.AppUpdateInfo.InstallStatus",
- installStatusToMetrics(info.installStatus()), InstallStatusMetric.NUM_ENTRIES);
- }
-
private static void recordCallFailure(@CallFailure int failure) {
RecordHistogram.recordEnumeratedHistogram(
"GoogleUpdate.Inline.CallFailure", failure, CallFailure.NUM_ENTRIES);
diff --git a/chrome/android/modules/chrome_feature_modules.gni b/chrome/android/modules/chrome_feature_modules.gni
--- a/chrome/android/modules/chrome_feature_modules.gni
+++ b/chrome/android/modules/chrome_feature_modules.gni
@ -1305,7 +857,7 @@ diff --git a/chrome/android/modules/chrome_feature_modules.gni b/chrome/android/
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -6501,8 +6501,6 @@ static_library("browser") {
@@ -6594,8 +6594,6 @@ static_library("browser") {
"offline_pages/offliner_helper.h",
"offline_pages/offliner_user_data.cc",
"offline_pages/offliner_user_data.h",
@ -1334,7 +886,20 @@ diff --git a/chrome/browser/language/android/BUILD.gn b/chrome/browser/language/
diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java
--- a/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java
+++ b/chrome/browser/language/android/java/src/org/chromium/chrome/browser/language/AppLanguagePromoDialog.java
@@ -459,19 +459,6 @@ public class AppLanguagePromoDialog {
@@ -451,12 +451,6 @@ public class AppLanguagePromoDialog {
mLoadingModal.set(ModalDialogProperties.CUSTOM_VIEW, customView);
- // Only show the modal if the selected language is not installed.
- if (!LanguageSplitInstaller.getInstance().isLanguageSplitInstalled(
- selectedLanguage.getCode())) {
- mModalDialogManager.showDialog(mLoadingModal, ModalDialogManager.ModalDialogType.APP);
- }
-
boolean isSelectedCurrentUI = AppLocaleUtils.isAppLanguagePref(selectedLanguage.getCode());
if (!isSelectedCurrentUI) {
// Only record isTopLanguage if the app language has changed.
@@ -464,23 +458,6 @@ public class AppLanguagePromoDialog {
}
AndroidLanguageMetricsBridge.reportAppLanguagePromptLanguage(
selectedLanguage.isSystemDefault() ? "" : selectedLanguage.getCode());
@ -1342,12 +907,16 @@ diff --git a/chrome/browser/language/android/java/src/org/chromium/chrome/browse
- // Create call back for after language split install completes.
- AppLocaleUtils.setAppLanguagePref(selectedLanguage.getCode(), (success) -> {
- if (success) {
- mRestartAction.restart();
- if (!isSelectedCurrentUI) {
- // Only restart if the new language is different than the current UI.
- mRestartAction.restart();
- }
- } else {
- // The loading language modal will always already be shown if a download fails.
- CharSequence failedText = mActivity.getResources().getString(
- R.string.languages_split_failed, selectedLanguage.getDisplayName());
- messageView.setText(failedText);
- mConfirmModal.set(ModalDialogProperties.POSITIVE_BUTTON_TEXT,
- mLoadingModal.set(ModalDialogProperties.POSITIVE_BUTTON_TEXT,
- mActivity.getText(R.string.ok).toString());
- }
- });
@ -1428,6 +997,25 @@ diff --git a/chrome/browser/offline_pages/prefetch/prefetch_service_factory.cc b
SwitchToFullBrowserImageFetcher(prefetch_service, profile->GetProfileKey());
}
diff --git a/chrome/browser/password_manager/android/BUILD.gn b/chrome/browser/password_manager/android/BUILD.gn
--- a/chrome/browser/password_manager/android/BUILD.gn
+++ b/chrome/browser/password_manager/android/BUILD.gn
@@ -50,7 +50,6 @@ android_library("java") {
":android_backend_java_enums",
":java_resources",
":settings_interface_java",
- "$google_play_services_package:google_play_services_basement_java",
"//base:base_java",
"//chrome/browser/device_reauth/android:java",
"//chrome/browser/flags:java",
@@ -117,7 +116,6 @@ junit_binary("password_manager_junit_tests") {
deps = [
":android_backend_java_enums",
":java",
- "$google_play_services_package:google_play_services_basement_java",
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
diff --git a/chrome/browser/push_messaging/push_messaging_service_factory.cc b/chrome/browser/push_messaging/push_messaging_service_factory.cc
--- a/chrome/browser/push_messaging/push_messaging_service_factory.cc
+++ b/chrome/browser/push_messaging/push_messaging_service_factory.cc
@ -1477,7 +1065,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
#include "chrome/browser/ui/webui/image_editor/image_editor_ui.h"
#include "chrome/browser/ui/webui/internals/internals_ui.h"
#include "chrome/browser/ui/webui/interstitials/interstitial_ui.h"
@@ -629,8 +628,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -632,8 +631,6 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<FlagsUI>;
if (url.host_piece() == chrome::kChromeUIFlocInternalsHost)
return &NewWebUI<FlocInternalsUI>;
@ -1489,7 +1077,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
diff --git a/chrome/test/android/BUILD.gn b/chrome/test/android/BUILD.gn
--- a/chrome/test/android/BUILD.gn
+++ b/chrome/test/android/BUILD.gn
@@ -268,8 +268,6 @@ android_library("chrome_java_test_support") {
@@ -307,8 +307,6 @@ android_library("chrome_java_test_support") {
]
deps = [
@ -3802,7 +3390,7 @@ diff --git a/components/signin/public/android/BUILD.gn b/components/signin/publi
"java/src/org/chromium/components/signin/AccountRestrictionPatternReceiver.java",
"java/src/org/chromium/components/signin/AccountUtils.java",
"java/src/org/chromium/components/signin/AccountsChangeObserver.java",
@@ -136,7 +133,6 @@ java_library("junit") {
@@ -137,7 +134,6 @@ java_library("junit") {
deps = [
":java",
":signin_java_test_support",
@ -3892,7 +3480,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
diff --git a/content/browser/push_messaging/push_messaging_manager.cc b/content/browser/push_messaging/push_messaging_manager.cc
--- a/content/browser/push_messaging/push_messaging_manager.cc
+++ b/content/browser/push_messaging/push_messaging_manager.cc
@@ -755,7 +755,7 @@ void PushMessagingManager::GetSubscriptionInfo(
@@ -790,7 +790,7 @@ void PushMessagingManager::GetSubscriptionInfo(
}
PushMessagingService* PushMessagingManager::GetService() {
@ -3918,7 +3506,7 @@ diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
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
@@ -939,7 +939,7 @@ const base::Feature kWebAssemblyTrapHandler {
@@ -972,7 +972,7 @@ const base::Feature kWebAssemblyTrapHandler {
// Controls whether the WebAuthentication API is enabled:
// https://w3c.github.io/webauthn
const base::Feature kWebAuth{"WebAuthentication",
@ -3930,7 +3518,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -2869,10 +2869,6 @@ if (is_android) {
@@ -2868,10 +2868,6 @@ if (is_android) {
testonly = true
sources = content_java_sources_needing_jni
deps = [
@ -3944,7 +3532,7 @@ diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
diff --git a/device/BUILD.gn b/device/BUILD.gn
--- a/device/BUILD.gn
+++ b/device/BUILD.gn
@@ -446,9 +446,6 @@ if (is_android) {
@@ -447,9 +447,6 @@ if (is_android) {
"gamepad/android/junit/src/org/chromium/device/gamepad/GamepadMappingsTest.java",
]
deps = [
@ -3970,7 +3558,7 @@ diff --git a/remoting/android/client_java_tmpl.gni b/remoting/android/client_jav
diff --git a/services/BUILD.gn b/services/BUILD.gn
--- a/services/BUILD.gn
+++ b/services/BUILD.gn
@@ -110,11 +110,6 @@ if (is_android) {
@@ -114,11 +114,6 @@ if (is_android) {
"shape_detection/android/junit/src/org/chromium/shape_detection/BitmapUtilsTest.java",
]
deps = [
@ -3982,7 +3570,7 @@ diff --git a/services/BUILD.gn b/services/BUILD.gn
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
@@ -143,10 +138,6 @@ if (is_android) {
@@ -147,10 +142,6 @@ if (is_android) {
"shape_detection/android/javatests/src/org/chromium/shape_detection/TextDetectionImplTest.java",
]
deps = [
@ -4251,8 +3839,8 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
android_aar_prebuilt("com_google_android_material_material_java") {
aar_path =
@@ -1267,60 +1062,6 @@ if (!limit_android_deps) {
ignore_proguard_configs = true
@@ -1269,60 +1064,6 @@ if (!limit_android_deps) {
proguard_configs = [ "material_design.flags" ]
}
- # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
@ -4312,7 +3900,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
java_prebuilt("com_google_guava_guava_android_java") {
jar_path = "libs/com_google_guava_guava_android/guava-31.0-android.jar"
@@ -1458,19 +1199,6 @@ if (!limit_android_deps) {
@@ -1471,19 +1212,6 @@ if (!limit_android_deps) {
bypass_platform_checks = true
}
@ -4332,7 +3920,7 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
java_prebuilt("org_robolectric_utils_java") {
jar_path = "libs/org_robolectric_utils/utils-4.3.1.jar"
@@ -1847,272 +1575,6 @@ if (!limit_android_deps) {
@@ -1860,272 +1588,6 @@ if (!limit_android_deps) {
deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ]
}
@ -4649,6 +4237,5 @@ diff --git a/third_party/android_deps/util/org/chromium/gms/ChromiumPlayServices
+ return 16; // API_UNAVAILABLE
}
}
--
2.20.1
--
2.25.1

View file

@ -9,7 +9,7 @@ Subject: Remove blocklisted URLs upon bookmark creation
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
@@ -141,6 +141,8 @@ import org.chromium.chrome.browser.night_mode.SystemNightModeMonitor;
@@ -140,6 +140,8 @@ import org.chromium.chrome.browser.night_mode.SystemNightModeMonitor;
import org.chromium.chrome.browser.night_mode.WebContentsDarkModeController;
import org.chromium.chrome.browser.night_mode.WebContentsDarkModeMessageController;
import org.chromium.chrome.browser.ntp.NewTabPageUma;
@ -17,8 +17,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
+import org.chromium.chrome.browser.suggestions.mostvisited.MostVisitedSites;
import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
import org.chromium.chrome.browser.offlinepages.indicator.OfflineIndicatorController;
import org.chromium.chrome.browser.omaha.UpdateInfoBarController;
@@ -241,6 +243,8 @@ import org.chromium.ui.widget.Toast;
import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper;
@@ -242,6 +244,8 @@ import org.chromium.ui.widget.Toast;
import org.chromium.url.GURL;
import org.chromium.webapk.lib.client.WebApkNavigationClient;
@ -27,7 +27,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
@@ -290,6 +294,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -291,6 +295,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
private UmaSessionStats mUmaSessionStats;
private ContextReporter mContextReporter;
@ -35,7 +35,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
private boolean mPartnerBrowserRefreshNeeded;
@@ -1438,6 +1443,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1451,6 +1456,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
mCompositorViewHolderSupplier.set(null);
}
@ -47,7 +47,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
onDestroyInternal();
if (mDidAddPolicyChangeListener) {
@@ -1763,6 +1773,13 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1783,6 +1793,13 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
// Defense in depth against the UI being erroneously enabled.
BookmarkBridge bridge = mBookmarkBridgeSupplier.get();
@ -56,11 +56,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
+ mMostVisitedSites =
+ SuggestionsDependencyFactory.getInstance().createMostVisitedSites(Profile.getLastUsedRegularProfile());
+ }
+ mMostVisitedSites.removeBlocklistedUrl(tabToBookmark.getOriginalUrl());
+ mMostVisitedSites.removeBlocklistedUrl(tabToBookmark.getOriginalUrl());
+
if (bridge == null || !bridge.isEditBookmarksEnabled()) {
assert false;
return;
--
2.20.1
--
2.25.1

View file

@ -13,7 +13,7 @@ Subject: Remove help menu item
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
@@ -142,9 +142,6 @@
@@ -139,9 +139,6 @@
<item android:id="@+id/preferences_id"
android:title="@string/menu_settings"
android:icon="@drawable/settings_cog" />
@ -26,7 +26,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/KeyboardShortcuts.java b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
@@ -364,9 +364,6 @@ public class KeyboardShortcuts {
@@ -362,9 +362,6 @@ public class KeyboardShortcuts {
case KeyEvent.KEYCODE_BUTTON_START:
if (currentTab != null && currentTab.canGoForward()) currentTab.goForward();
return true;
@ -39,7 +39,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcu
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
@@ -2329,16 +2329,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2359,16 +2359,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
final Tab currentTab = getActivityTab();
@ -59,7 +59,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/customtabs/BaseCustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
@@ -524,7 +524,7 @@ public abstract class BaseCustomTabActivity extends ChromeActivity<BaseCustomTab
@@ -537,7 +537,7 @@ public abstract class BaseCustomTabActivity extends ChromeActivity<BaseCustomTab
public boolean onMenuOrKeyboardAction(int id, boolean fromMenu) {
// Disable creating new tabs, bookmark, history, print, help, focus_url, etc.
if (id == R.id.focus_url_bar || id == R.id.all_bookmarks_menu_id
@ -87,6 +87,5 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/directactions/M
availableItemIds.add(R.id.new_tab_menu_id);
availableItemIds.add(R.id.preferences_id);
--
2.20.1
--
2.25.1

File diff suppressed because it is too large Load diff

View file

@ -32,6 +32,5 @@ diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
const net::BackoffEntry::Policy kProbeBackoffPolicy = {
// Apply exponential backoff rules after the first error.
--
2.20.1
--
2.25.1

View file

@ -7,7 +7,7 @@ This reverts commit ae458edcc8422d0815d0e82261e71fe10d7d6fc2.
Disable search-ready omnibox by default
---
chrome/browser/about_flags.cc | 3 +++
chrome/browser/about_flags.cc | 5 ++++-
chrome/browser/flag-metadata.json | 5 +++++
chrome/browser/flag_descriptions.cc | 5 +++++
chrome/browser/flag_descriptions.h | 3 +++
@ -15,25 +15,35 @@ Disable search-ready omnibox by default
chrome/browser/flags/android/chrome_feature_list.h | 1 +
.../chrome/browser/flags/ChromeFeatureList.java | 1 +
.../suggestions/DropdownItemViewInfoListBuilder.java | 10 ++++++++--
8 files changed, 30 insertions(+), 2 deletions(-)
8 files changed, 31 insertions(+), 3 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
@@ -3381,6 +3381,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3435,8 +3435,8 @@ const FeatureEntry kFeatureEntries[] = {
#if defined(USE_AURA)
{"overscroll-history-navigation",
flag_descriptions::kOverscrollHistoryNavigationName,
flag_descriptions::kOverscrollHistoryNavigationDescription, kOsAura,
- flag_descriptions::kOverscrollHistoryNavigationDescription, kOsAura,
FEATURE_VALUE_TYPE(features::kOverscrollHistoryNavigation)},
+ flag_descriptions::kOverscrollHistoryNavigationDescription, kOsAura,
{"pull-to-refresh", flag_descriptions::kPullToRefreshName,
flag_descriptions::kPullToRefreshDescription, kOsAura,
MULTI_VALUE_TYPE(kPullToRefreshChoices)},
@@ -7785,6 +7785,9 @@ const FeatureEntry kFeatureEntries[] = {
// "LoginCustomFlags" in tools/metrics/histograms/enums.xml. See "Flag
// Histograms" in tools/metrics/histograms/README.md (run the
// AboutFlagsHistogramTest unit test to verify this process).
+ {"enable-search-ready-omnibox", flag_descriptions::kSearchReadyOmniboxName,
+ flag_descriptions::kSearchReadyOmniboxDescription, kOsAndroid,
+ FEATURE_VALUE_TYPE(chrome::android::kSearchReadyOmniboxFeature)},
FEATURE_VALUE_TYPE(features::kOverscrollHistoryNavigation)},
{"pull-to-refresh", flag_descriptions::kPullToRefreshName,
flag_descriptions::kPullToRefreshDescription, kOsAura,
};
class FlagsStateSingleton : public flags_ui::FlagsState::Delegate {
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
@@ -2355,6 +2355,11 @@
@@ -2378,6 +2378,11 @@
// with neural net palm detection.
"expiry_milestone": 90
},
@ -48,7 +58,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
@@ -3525,6 +3525,11 @@ const char kSecurePaymentConfirmationAndroidName[] =
@@ -3493,6 +3493,11 @@ const char kSecurePaymentConfirmationAndroidName[] =
const char kSecurePaymentConfirmationAndroidDescription[] =
"Enables Secure Payment Confirmation on Android.";
@ -63,7 +73,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -2020,6 +2020,9 @@ extern const char kScrollCaptureDescription[];
@@ -2008,6 +2008,9 @@ extern const char kScrollCaptureDescription[];
extern const char kSecurePaymentConfirmationAndroidName[];
extern const char kSecurePaymentConfirmationAndroidDescription[];
@ -76,7 +86,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
@@ -255,6 +255,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -258,6 +258,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kReachedCodeProfiler,
&kReaderModeInCCT,
&kReengagementNotification,
@ -84,7 +94,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kRelatedSearches,
&kRelatedSearchesAlternateUx,
&kRelatedSearchesInBar,
@@ -698,6 +699,9 @@ const base::Feature kRelatedSearchesSimplifiedUx{
@@ -703,6 +704,9 @@ const base::Feature kRelatedSearchesSimplifiedUx{
const base::Feature kRelatedSearchesUi{"RelatedSearchesUi",
base::FEATURE_DISABLED_BY_DEFAULT};
@ -108,7 +118,7 @@ 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
@@ -399,6 +399,7 @@ public abstract class ChromeFeatureList {
@@ -403,6 +403,7 @@ public abstract class ChromeFeatureList {
public static final String MODAL_PERMISSION_DIALOG_VIEW = "ModalPermissionDialogView";
public static final String METRICS_SETTINGS_ANDROID = "MetricsSettingsAndroid";
public static final String NEW_WINDOW_APP_MENU = "NewWindowAppMenu";
@ -150,6 +160,5 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
mEnableAdaptiveSuggestionsCount =
ChromeFeatureList.isEnabled(ChromeFeatureList.OMNIBOX_ADAPTIVE_SUGGESTIONS_COUNT);
--
2.20.1
--
2.25.1

View file

@ -12,7 +12,6 @@ This reverts commit 4d0e4483c5f77c66a8b6193e8a3bec5d0624d6ad.
.../feedback/SimplifiedNtpFeedbackSource.java | 38 +++++++++++
.../NativePageNavigationDelegateImpl.java | 4 +-
.../chrome/browser/ntp/NewTabPageLayout.java | 30 ++++++++-
.../suggestions/SuggestionsConfig.java | 4 +-
.../SuggestionsNavigationDelegate.java | 17 +++++
chrome/browser/about_flags.cc | 3 +
chrome/browser/flag_descriptions.cc | 3 +
@ -22,16 +21,16 @@ This reverts commit 4d0e4483c5f77c66a8b6193e8a3bec5d0624d6ad.
.../browser/flags/ChromeFeatureList.java | 1 +
components/ntp_snippets/features.cc | 6 +-
.../variations/fieldtrial_testing_config.json | 18 +++++
18 files changed, 201 insertions(+), 6 deletions(-)
17 files changed, 198 insertions(+), 5 deletions(-)
create mode 100644 chrome/android/java/res/layout/ntp_shortcuts.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/feedback/SimplifiedNtpFeedbackSource.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
@@ -680,6 +680,7 @@ chrome_java_resources = [
"java/res/layout/new_tab_page_multi_feed_header.xml",
"java/res/layout/new_tab_page_section_tab.xml",
@@ -674,6 +674,7 @@ chrome_java_resources = [
"java/res/layout/new_tab_page_incognito.xml",
"java/res/layout/new_tab_page_layout.xml",
"java/res/layout/new_tab_page_tile_grid_placeholder.xml",
+ "java/res/layout/ntp_shortcuts.xml",
"java/res/layout/optional_toolbar_button.xml",
@ -207,15 +206,15 @@ 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/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
@@ -37,6 +37,7 @@ import org.chromium.chrome.browser.cryptids.ProbabilisticCryptidRenderer;
import org.chromium.chrome.browser.explore_sites.ExperimentalExploreSitesSection;
@@ -38,6 +38,7 @@ import org.chromium.chrome.browser.explore_sites.ExperimentalExploreSitesSection
import org.chromium.chrome.browser.explore_sites.ExploreSitesBridge;
import org.chromium.chrome.browser.feed.FeedSurfaceScrollDelegate;
import org.chromium.chrome.browser.lens.LensEntryPoint;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.lens.LensMetrics;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.native_page.ContextMenuManager;
@@ -118,6 +119,8 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -119,6 +120,8 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
private UiConfig mUiConfig;
private CallbackController mCallbackController = new CallbackController();
@ -224,7 +223,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
/**
* Whether the tiles shown in the layout have finished loading.
* With {@link #mHasShownView}, it's one of the 2 flags used to track initialisation progress.
@@ -283,6 +286,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -253,6 +256,7 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
mNoSearchLogoSpacer = findViewById(R.id.no_search_logo_spacer);
initializeSearchBoxBackground();
@ -232,7 +231,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
initializeSearchBoxTextView();
initializeVoiceSearchButton();
initializeLensButton();
@@ -596,10 +600,16 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -566,10 +570,16 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
* Updates the padding for the tile grid based on what is shown above it.
*/
private void updateTileGridPadding() {
@ -251,7 +250,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
mSiteSectionViewHolder.getItemView().setPadding(
0, paddingTop, 0, mSiteSectionViewHolder.getItemView().getPaddingBottom());
}
@@ -987,6 +997,22 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
@@ -957,6 +967,22 @@ public class NewTabPageLayout extends LinearLayout implements TileGroup.Observer
return iphCommandBuilder;
}
@ -274,26 +273,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
/**
* Makes the Search Box and Logo as wide as Most Visited.
*/
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsConfig.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsConfig.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsConfig.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsConfig.java
@@ -51,7 +51,9 @@ public final class SuggestionsConfig {
// The scroll to load feature does not work well for users who require accessibility mode.
if (ChromeAccessibilityUtil.get().isAccessibilityEnabled()) return false;
- return ChromeFeatureList.isEnabled(ChromeFeatureList.CONTENT_SUGGESTIONS_SCROLL_TO_LOAD);
+ return ChromeFeatureList.isEnabled(ChromeFeatureList.SIMPLIFIED_NTP)
+ && ChromeFeatureList.isEnabled(
+ ChromeFeatureList.CONTENT_SUGGESTIONS_SCROLL_TO_LOAD);
}
/**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
@@ -16,6 +16,11 @@ import org.chromium.content_public.browser.LoadUrlParams;
@@ -14,6 +14,11 @@ import org.chromium.chrome.browser.ui.native_page.NativePageHost;
import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.ui.base.PageTransition;
import org.chromium.ui.mojom.WindowOpenDisposition;
+import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
+import org.chromium.chrome.browser.download.DownloadUtils;
@ -303,8 +288,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
/**
* Extension of {@link NativePageNavigationDelegate} with suggestions-specific methods.
*/
@@ -35,6 +40,18 @@ public class SuggestionsNavigationDelegate extends NativePageNavigationDelegateI
new LoadUrlParams(NEW_TAB_URL_HELP, PageTransition.AUTO_BOOKMARK));
@@ -25,6 +30,18 @@ public class SuggestionsNavigationDelegate extends NativePageNavigationDelegateI
super(activity, profile, host, tabModelSelector, tab);
}
+ public void navigateToBookmarks() {
@ -325,7 +310,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
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
@@ -4005,6 +4005,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4069,6 +4069,9 @@ const FeatureEntry kFeatureEntries[] = {
SINGLE_VALUE_TYPE_AND_VALUE(
switches::kForceShowUpdateMenuItemCustomSummary,
"Custom Summary")},
@ -338,7 +323,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
@@ -3573,6 +3573,9 @@ const char kSharingHubLinkToggleName[] = "Sharing Hub Link Toggle";
@@ -3541,6 +3541,9 @@ const char kSharingHubLinkToggleName[] = "Sharing Hub Link Toggle";
const char kSharingHubLinkToggleDescription[] =
"Enable the link toggle in the Sharing Hub.";
@ -351,7 +336,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
@@ -2041,6 +2041,9 @@ extern const char kSiteIsolationForPasswordSitesDescription[];
@@ -2029,6 +2029,9 @@ extern const char kSiteIsolationForPasswordSitesDescription[];
extern const char kSmartSuggestionForLargeDownloadsName[];
extern const char kSmartSuggestionForLargeDownloadsDescription[];
@ -364,7 +349,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
@@ -233,6 +233,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -237,6 +237,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kEnhancedProtectionPromoCard,
&kExperimentsForAgsa,
&kExploreSites,
@ -372,7 +357,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kFocusOmniboxInIncognitoTabIntents,
&kGoogleLensSdkIntent,
&kHandleMediaIntents,
@@ -664,6 +665,9 @@ const base::Feature kOfflineIndicatorV2{"OfflineIndicatorV2",
@@ -669,6 +670,9 @@ const base::Feature kOfflineIndicatorV2{"OfflineIndicatorV2",
const base::Feature kOfflineMeasurementsBackgroundTask{
"OfflineMeasurementsBackgroundTask", base::FEATURE_DISABLED_BY_DEFAULT};
@ -396,14 +381,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/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
@@ -389,6 +389,7 @@ public abstract class ChromeFeatureList {
public static final String MARK_HTTP_AS = "MarkHttpAs";
@@ -391,6 +391,7 @@ public abstract class ChromeFeatureList {
public static final String MESSAGES_FOR_ANDROID_ADS_BLOCKED = "MessagesForAndroidAdsBlocked";
public static final String MESSAGES_FOR_ANDROID_CHROME_SURVEY =
"MessagesForAndroidChromeSurvey";
+ public static final String SIMPLIFIED_NTP = "SimplifiedNTP";
public static final String MESSAGES_FOR_ANDROID_INFRASTRUCTURE =
"MessagesForAndroidInfrastructure";
public static final String MESSAGES_FOR_ANDROID_READER_MODE = "MessagesForAndroidReaderMode";
public static final String MESSAGES_FOR_ANDROID_PERMISSION_UPDATE =
diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/features.cc
--- a/components/ntp_snippets/features.cc
+++ b/components/ntp_snippets/features.cc
@ -429,7 +414,7 @@ diff --git a/components/ntp_snippets/features.cc b/components/ntp_snippets/featu
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
@@ -3972,6 +3972,24 @@
@@ -4191,6 +4191,24 @@
]
}
],
@ -454,6 +439,5 @@ diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variati
"HelpAppLauncherSearch": [
{
"platforms": [
--
2.20.1
--
2.25.1

View file

@ -13,9 +13,9 @@ This reverts commit 4e598f38a0e6dd3dbede009c6a99b2a520a94e1f.
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
@@ -3435,6 +3435,10 @@ const FeatureEntry kFeatureEntries[] = {
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableHostedAppShimCreation)},
#endif // OS_MAC
@@ -3481,6 +3481,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kEnableVulkanDescription,
kOsWin | kOsLinux | kOsAndroid, FEATURE_VALUE_TYPE(features::kVulkan)},
#if defined(OS_ANDROID)
+ {switches::kDisablePullToRefreshEffect,
+ flag_descriptions::kDisablePullToRefreshEffectName,
@ -27,7 +27,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
@@ -1160,6 +1160,11 @@
@@ -1178,6 +1178,11 @@
// enable-javascript-harmony.
"expiry_milestone": -1
},
@ -42,7 +42,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
@@ -3409,6 +3409,10 @@ const char kReadLaterDescription[] =
@@ -3380,6 +3380,10 @@ const char kReadLaterDescription[] =
"Allow users to save tabs for later. Enables a new button and menu for "
"accessing tabs saved for later.";
@ -56,7 +56,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
@@ -1954,6 +1954,9 @@ extern const char kQueryTilesSegmentationDescription[];
@@ -1945,6 +1945,9 @@ extern const char kQueryTilesSegmentationDescription[];
extern const char kQueryTilesSwapTrendingName[];
extern const char kQueryTilesSwapTrendingDescription[];
@ -66,6 +66,5 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
extern const char kReaderModeHeuristicsName[];
extern const char kReaderModeHeuristicsDescription[];
extern const char kReaderModeHeuristicsMarkup[];
--
2.20.1
--
2.25.1

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