Patches for v106 (#2400)

This commit is contained in:
Carl
2022-10-20 18:59:30 +02:00
committed by GitHub
parent fdb76cca90
commit bec354837c
143 changed files with 4653 additions and 5961 deletions
+1 -1
View File
@@ -1 +1 @@
f62e5bffd9c2c0b8c221851fa8a032f02f105141-
25d529f97d15fcc222fcc6ebf047045fdc3c844c-
+1 -1
View File
@@ -1 +1 @@
105.0.5195.147
106.0.5249.72
+1 -1
View File
@@ -1 +1 @@
5c842aa7b24e6252ccabc8bcac8dafa4fe8ad9cd
49e8f8fad2cf71c2fde1d1a9ecf68d04e4a6263b
+1 -2
View File
@@ -3,6 +3,7 @@ do-not-hide-.orig-files.patch
Do-not-link-with-libatomic.patch
do-not-add-suffix-to-package-name.patch
exit-on-failure-of-inclusion.patch
Fix-segmentation-platform-build-error.patch
AV1-codec-support.patch
Switch-to-fstack-protector-strong.patch
Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
@@ -197,8 +198,6 @@ Disable-PrivacyGuide.patch
Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
sharing-hub-always-use-visible-URL.patch
Re-introduce-kWebAuthCable.patch
Add-new-cache-check-function.patch
Stop-cross-origin-cache-hits.patch
Revert-clipboard-user-gesture-requirement-removal.patch
Enable-HEVC-by-default.patch
Partition-blobs-by-top-frame-URL.patch
+1
View File
@@ -9,3 +9,4 @@ Enable-fwrapv-in-Clang-for-non-UBSan-builds.patch
enable-ftrivial-auto-var-init-zero.patch
Disable-feeds-support-by-default.patch
Chromium-package-name.patch
Fix-segmentation-platform-build-error.patch
@@ -84,7 +84,7 @@ diff --git a/base/android/android_image_reader_compat.h b/base/android/android_i
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -2392,9 +2392,9 @@
@@ -2367,9 +2367,9 @@
"expiry_milestone": 106
},
{
@@ -177,7 +177,7 @@ diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list.txt
--- a/gpu/config/gpu_workaround_list.txt
+++ b/gpu/config/gpu_workaround_list.txt
@@ -15,6 +15,7 @@ decode_encode_srgb_for_generatemipmap
@@ -16,6 +16,7 @@ decode_encode_srgb_for_generatemipmap
depth_stencil_renderbuffer_resize_emulation
disable_2d_canvas_auto_flush
disable_accelerated_av1_decode
@@ -188,7 +188,7 @@ diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
--- a/gpu/ipc/service/gpu_init.cc
+++ b/gpu/ipc/service/gpu_init.cc
@@ -589,6 +589,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
@@ -624,6 +624,11 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
}
#endif // BUILDFLAG(IS_WIN)
@@ -231,7 +231,7 @@ diff --git a/gpu/ipc/service/stream_texture_android.cc b/gpu/ipc/service/stream_
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -756,6 +756,10 @@ const base::Feature kMediaDrmPreprovisioning{"MediaDrmPreprovisioning",
@@ -754,6 +754,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};
@@ -20,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -222,6 +222,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
@@ -223,6 +223,7 @@ import org.chromium.content_public.browser.ScreenOrientationProvider;
import org.chromium.content_public.browser.SelectionPopupController;
import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.common.ContentSwitches;
@@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.printing.PrintManagerDelegateImpl;
import org.chromium.printing.PrintingController;
import org.chromium.printing.PrintingControllerImpl;
@@ -939,6 +940,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -945,6 +946,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
UpdateMenuItemHelper.getInstance().onStart();
ChromeActivitySessionTracker.getInstance().onStartWithNative();
ChromeCachedFlags.getInstance().cacheNativeFlags();
@@ -40,18 +40,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
@@ -74,6 +74,7 @@ public class ChromeCachedFlags {
@@ -77,6 +77,7 @@ public class ChromeCachedFlags {
add(ChromeFeatureList.sAndroidAuxiliarySearch);
add(ChromeFeatureList.sAnonymousUpdateChecks);
add(ChromeFeatureList.sAppMenuMobileSiteOption);
+ add(ChromeFeatureList.sAllowUserCertificates);
add(ChromeFeatureList.sBackGestureRefactorAndroid);
add(ChromeFeatureList.sCctBrandTransparency);
add(ChromeFeatureList.sCctIncognito);
add(ChromeFeatureList.sCctIncognitoAvailableToThirdParty);
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3419,7 +3419,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3466,7 +3466,11 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-container-queries", flag_descriptions::kCSSContainerQueriesName,
flag_descriptions::kCSSContainerQueriesDescription, kOsAll,
FEATURE_VALUE_TYPE(blink::features::kCSSContainerQueries)},
@@ -61,9 +61,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+ flag_descriptions::kAllowUserCertificatesName,
+ flag_descriptions::kAllowUserCertificatesDescription, kOsAndroid,
+ FEATURE_VALUE_TYPE(chrome::android::kAllowUserCertificates)},
{"explore-sites", flag_descriptions::kExploreSitesName,
flag_descriptions::kExploreSitesDescription, kOsAndroid,
FEATURE_WITH_PARAMS_VALUE_TYPE(chrome::android::kExploreSites,
{"osk-resizes-visual-viewport",
flag_descriptions::kEnableOskResizesVisualViewportName,
flag_descriptions::kEnableOskResizesVisualViewportDescription, kOsAndroid,
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -82,7 +82,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -39,6 +39,9 @@ namespace flag_descriptions {
@@ -40,6 +40,9 @@ namespace flag_descriptions {
// Cross-platform -------------------------------------------------------------
@@ -95,15 +95,15 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -145,6 +145,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedInteractiveRefresh,
&feed::kFeedLoadingPlaceholder,
@@ -148,6 +148,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedNoViewCache,
&feed::kFeedReplaceAll,
&feed::kInterestFeedContentSuggestions,
+ &kAllowUserCertificates,
&feed::kInterestFeedV1ClicksAndViewsConditionalUpload,
&feed::kInterestFeedV2,
&feed::kInterestFeedV2Autoplay,
@@ -438,6 +439,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{
@@ -440,6 +441,9 @@ const base::Feature kAdaptiveButtonInTopToolbarCustomizationV2{
"AdaptiveButtonInTopToolbarCustomizationV2",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -133,8 +133,8 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
.put(ChromeFeatureList.APP_MENU_MOBILE_SITE_OPTION, false)
+ .put(ChromeFeatureList.ALLOW_USER_CERTIFICATES, false)
.put(ChromeFeatureList.BACK_GESTURE_REFACTOR, false)
.put(ChromeFeatureList.CCT_BRAND_TRANSPARENCY, false)
.put(ChromeFeatureList.CCT_INCOGNITO, true)
.put(ChromeFeatureList.CCT_INCOGNITO_AVAILABLE_TO_THIRD_PARTY, false)
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -146,8 +146,8 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String ABOUT_THIS_SITE_BANNER = "AboutThisSiteBanner";
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR = "AdaptiveButtonInTopToolbar";
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2 =
@@ -600,6 +601,8 @@ public abstract class ChromeFeatureList {
public static final String FEED_ABLATION = "FeedAblation";
@@ -612,6 +613,8 @@ public abstract class ChromeFeatureList {
public static final String FEED_REPLACE_ALL = "FeedReplaceAll";
/* Alphabetical: */
+ public static final CachedFlag sAllowUserCertificates =
@@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -8561,6 +8561,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8660,6 +8660,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kRequestDesktopSiteExceptionsName,
flag_descriptions::kRequestDesktopSiteExceptionsDescription, kOsAndroid,
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
@@ -30,7 +30,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1629,6 +1629,10 @@ const char kHttpsOnlyModeDescription[] =
@@ -1647,6 +1647,10 @@ const char kHttpsOnlyModeDescription[] =
"Adds a setting under chrome://settings/security to opt-in to HTTPS-First "
"Mode.";
@@ -44,7 +44,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -915,6 +915,9 @@ extern const char kHideShelfControlsInTabletModeDescription[];
@@ -925,6 +925,9 @@ extern const char kHideShelfControlsInTabletModeDescription[];
extern const char kHttpsOnlyModeName[];
extern const char kHttpsOnlyModeDescription[];
@@ -57,7 +57,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -114,6 +114,9 @@ const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
@@ -111,6 +111,9 @@ const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
const base::Feature kEncryptedClientHello{"EncryptedClientHello",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -70,7 +70,7 @@ diff --git a/net/base/features.cc b/net/base/features.cc
diff --git a/net/base/features.h b/net/base/features.h
--- a/net/base/features.h
+++ b/net/base/features.h
@@ -33,6 +33,8 @@ NET_EXPORT extern const base::Feature kAvoidH2Reprioritization;
@@ -29,6 +29,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;
@@ -73,17 +73,17 @@ 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
@@ -57,6 +57,7 @@ public class PrivacySettings
private static final String PREF_DO_NOT_TRACK = "do_not_track";
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
+ private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
+ private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -271,6 +271,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
@@ -275,6 +275,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
#endif
@@ -95,7 +95,7 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
--- a/chrome/browser/browser_resources.grd
+++ b/chrome/browser/browser_resources.grd
@@ -80,6 +80,12 @@
@@ -76,6 +76,12 @@
<include name="IDR_CONTACT_CENTER_INSIGHTS_MANIFEST" file="resources\chromeos\contact_center_insights\manifest.json" type="BINDATA" />
</if>
@@ -130,7 +130,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.cc b/chrome/browser/net/pr
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chromeos/ash/components/network/proxy/proxy_config_service_impl.h"
@@ -70,7 +74,20 @@ ProxyServiceFactory::CreatePrefProxyConfigTrackerOfProfile(
return std::make_unique<chromeos::ProxyConfigServiceImpl>(
return std::make_unique<ash::ProxyConfigServiceImpl>(
profile_prefs, local_state_prefs, nullptr);
#else
- return std::make_unique<PrefProxyConfigTrackerImpl>(profile_prefs, nullptr);
@@ -183,7 +183,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.h b/chrome/browser/net/pro
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -163,6 +163,8 @@
@@ -162,6 +162,8 @@
#include "printing/buildflags/buildflags.h"
#include "rlz/buildflags/buildflags.h"
@@ -192,7 +192,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
#include "chrome/browser/background/background_mode_manager.h"
#endif
@@ -1045,6 +1047,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -1014,6 +1016,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
chrome::enterprise_util::RegisterLocalStatePrefs(registry);
component_updater::RegisterPrefs(registry);
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
@@ -637,7 +637,7 @@ new file mode 100644
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -283,6 +283,8 @@ static_library("ui") {
@@ -282,6 +282,8 @@ static_library("ui") {
"webui/metrics_handler.h",
"webui/net_export_ui.cc",
"webui/net_export_ui.h",
@@ -649,7 +649,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -57,6 +57,7 @@
@@ -58,6 +58,7 @@
#include "chrome/browser/ui/webui/ntp_tiles_internals_ui.h"
#include "chrome/browser/ui/webui/omnibox/omnibox_ui.h"
#include "chrome/browser/ui/webui/policy/policy_ui.h"
@@ -657,7 +657,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
#include "chrome/browser/ui/webui/predictors/predictors_ui.h"
#include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h"
#include "chrome/browser/ui/webui/signin_internals_ui.h"
@@ -779,6 +780,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -781,6 +782,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<MemoryInternalsUI>;
if (url.host_piece() == chrome::kChromeUINetExportHost)
return &NewWebUI<NetExportUI>;
@@ -1137,7 +1137,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
const char kChromeUIChromeURLsHost[] = "chrome-urls";
const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/";
const char kChromeUIComponentsHost[] = "components";
@@ -432,6 +434,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
@@ -437,6 +439,7 @@ bool IsSystemWebUIHost(base::StringPiece host) {
kChromeUILockScreenNetworkHost,
kChromeUILockScreenStartReauthHost,
kChromeUIMobileSetupHost,
@@ -1145,7 +1145,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
kChromeUIMultiDeviceSetupHost,
kChromeUINetworkHost,
kChromeUINotificationTesterHost,
@@ -692,6 +695,7 @@ const char* const kChromeHostURLs[] = {
@@ -701,6 +704,7 @@ const char* const kChromeHostURLs[] = {
#if !BUILDFLAG(IS_ANDROID)
#if !BUILDFLAG(IS_CHROMEOS_ASH)
kChromeUIAppLauncherPageHost,
@@ -1168,7 +1168,7 @@ diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_const
diff --git a/components/proxy_config/pref_proxy_config_tracker_impl.cc b/components/proxy_config/pref_proxy_config_tracker_impl.cc
--- a/components/proxy_config/pref_proxy_config_tracker_impl.cc
+++ b/components/proxy_config/pref_proxy_config_tracker_impl.cc
@@ -381,6 +381,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig(
@@ -380,6 +380,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig(
if (proxy_dict.GetBypassList(&proxy_bypass)) {
proxy_config.proxy_rules().bypass_rules.ParseFromString(proxy_bypass);
}
@@ -58,11 +58,11 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/history/history_tab_helper.h | 10 +-
.../android/offline_page_bridge.cc | 13 +-
.../android/offline_page_model_factory.cc | 21 ++-
.../android/request_coordinator_factory.cc | 17 ++
.../android/request_coordinator_factory.cc | 21 ++-
.../offline_page_model_factory.h | 1 +
.../offline_pages/recent_tab_helper.cc | 19 ++-
.../browser/offline_pages/recent_tab_helper.h | 3 +
.../request_coordinator_factory.h | 2 +
.../request_coordinator_factory.h | 4 +-
chrome/browser/prefs/browser_prefs.cc | 5 +
.../browser/ui/android/native_page/BUILD.gn | 2 +
.../browser/ui/native_page/NativePage.java | 12 +-
@@ -82,7 +82,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../omnibox/browser/base_search_provider.cc | 2 +-
components/omnibox/browser/search_provider.cc | 4 +-
.../host_content_settings_map_factory.cc | 1 +
63 files changed, 676 insertions(+), 72 deletions(-)
63 files changed, 680 insertions(+), 74 deletions(-)
create mode 100644 chrome/android/java/res/xml/incognito_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/AlwaysIncognitoLinkInterceptor.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java
@@ -91,7 +91,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
@@ -665,6 +665,7 @@ chrome_java_resources = [
@@ -667,6 +667,7 @@ chrome_java_resources = [
"java/res/xml/main_preferences.xml",
"java/res/xml/manage_sync_preferences.xml",
"java/res/xml/phone_as_a_security_key_accessory_filter.xml",
@@ -110,7 +110,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
"java/src/com/google/android/apps/chrome/appwidget/bookmarks/BookmarkThumbnailWidgetProvider.java",
"java/src/org/chromium/chrome/browser/ActivityTabProvider.java",
"java/src/org/chromium/chrome/browser/ActivityUtils.java",
@@ -954,6 +955,7 @@ chrome_java_sources = [
@@ -958,6 +959,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/privacy/settings/IncognitoLockSettings.java",
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacyPreferencesManagerImpl.java",
"java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java",
@@ -163,7 +163,7 @@ new file mode 100644
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -37,6 +37,11 @@
@@ -38,6 +38,11 @@
android:key="secure_dns"
android:title="@string/settings_secure_dns_title"
android:fragment="org.chromium.chrome.browser.privacy.secure_dns.SecureDnsSettings"/>
@@ -244,7 +244,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate;
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
import org.chromium.chrome.browser.accessibility_tab_switcher.OverviewListLayout;
@@ -1900,8 +1901,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1895,8 +1896,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
Bundle savedInstanceState = getSavedInstanceState();
// We determine the model as soon as possible so every systems get initialized coherently.
@@ -267,7 +267,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.dependency_injection.ChromeActivityComponent;
import org.chromium.chrome.browser.dependency_injection.ModuleFactoryOverrides;
import org.chromium.chrome.browser.device.DeviceClassManager;
@@ -1808,6 +1809,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1817,6 +1818,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
throw new IllegalStateException(
"Attempting to access TabCreator before initialization");
}
@@ -288,7 +288,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
import org.chromium.chrome.browser.banners.AppMenuVerbiage;
import org.chromium.chrome.browser.bookmarks.BookmarkBridge;
import org.chromium.chrome.browser.bookmarks.BookmarkFeatures;
@@ -98,6 +99,10 @@ import java.util.ArrayList;
@@ -101,6 +102,10 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -299,7 +299,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
/**
* Base implementation of {@link AppMenuPropertiesDelegate} that handles hiding and showing menu
* items based on activity state.
@@ -549,6 +554,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -561,6 +566,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) {
@@ -313,7 +313,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
// We have to iterate all menu items since same menu item ID may be associated with more
// than one menu items.
boolean isOverviewModeMenu = menuGroup == MenuGroup.OVERVIEW_MODE_MENU;
@@ -609,7 +621,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -621,7 +633,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
if (item.getItemId() == R.id.recent_tabs_menu_id) {
@@ -330,7 +330,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
}
if (item.getItemId() == R.id.menu_group_tabs) {
// Disable incognito group tabs when a re-authentication screen is shown.
@@ -851,7 +871,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -863,7 +883,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
// is not persisted when adding to the homescreen.
// * If creating shortcuts it not supported by the current home screen.
return WebappsUtils.isAddToHomeIntentSupported() && !isChromeScheme && !isFileScheme
@@ -448,7 +448,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
@@ -776,7 +779,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@@ -793,7 +796,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@Override
public boolean isIncognito() {
@@ -500,7 +500,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/history/HistoryManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
@@ -31,6 +31,7 @@ import com.google.android.material.tabs.TabLayout.OnTabSelectedListener;
@@ -33,6 +33,7 @@ import com.google.android.material.tabs.TabLayout.OnTabSelectedListener;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.base.supplier.ObservableSupplier;
@@ -508,7 +508,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
import org.chromium.base.supplier.ObservableSupplierImpl;
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.R;
@@ -69,6 +70,12 @@ import org.chromium.url.GURL;
@@ -73,6 +74,12 @@ import org.chromium.url.GURL;
import java.io.Serializable;
import java.util.List;
@@ -521,7 +521,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
/**
* Combines and manages the different UI components of browsing history.
*/
@@ -481,7 +488,16 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
@@ -493,7 +500,16 @@ public class HistoryManager implements OnMenuItemClickListener, SelectionObserve
return mRootView;
}
@@ -603,7 +603,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
@@ -82,7 +82,8 @@ public class RecentTabsManager implements AccountsChangeObserver {
@@ -79,7 +79,8 @@ public class RecentTabsManager {
*/
public RecentTabsManager(Tab tab, TabModelSelector tabModelSelector, Profile profile,
Context context, Runnable showHistoryManager) {
@@ -912,7 +912,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -125,6 +125,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFacto
@@ -126,6 +126,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFacto
import org.chromium.content_public.browser.WebContents;
import org.chromium.ui.base.ActivityWindowAndroid;
import org.chromium.ui.base.DeviceFormFactor;
@@ -921,7 +921,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
import org.chromium.ui.base.IntentRequestTracker;
import org.chromium.ui.modaldialog.ModalDialogManager;
@@ -491,7 +493,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -492,7 +494,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
mAppMenuCoordinator == null ? null : mAppMenuCoordinator.getAppMenuHandler();
mEmptyBackgroundViewWrapper =
new EmptyBackgroundViewWrapper(mTabModelSelectorSupplier.get(),
@@ -963,7 +963,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
import org.chromium.chrome.browser.flags.ActivityType;
import org.chromium.chrome.browser.ntp.RecentlyClosedBridge;
@@ -108,6 +109,8 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod
@@ -109,6 +110,8 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod
public void onNativeLibraryReady(TabContentManager tabContentProvider) {
assert mTabContentManager == null : "onNativeLibraryReady called twice!";
@@ -1046,7 +1046,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -4603,6 +4603,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4651,6 +4651,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kOfflinePagesLivePageSharingName,
flag_descriptions::kOfflinePagesLivePageSharingDescription, kOsAndroid,
FEATURE_VALUE_TYPE(offline_pages::kOfflinePagesLivePageSharingFeature)},
@@ -1113,7 +1113,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -297,6 +297,13 @@ signin::IdentityManager* ChromeAutocompleteProviderClient::GetIdentityManager()
@@ -301,6 +301,13 @@ signin::IdentityManager* ChromeAutocompleteProviderClient::GetIdentityManager()
return IdentityManagerFactory::GetForProfile(profile_);
}
@@ -1187,7 +1187,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3614,6 +3614,12 @@ const char kOfflinePagesLivePageSharingDescription[] =
@@ -3676,6 +3676,12 @@ const char kOfflinePagesLivePageSharingDescription[] =
"Enables to share current loaded page as offline page by saving as MHTML "
"first.";
@@ -1203,7 +1203,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -2055,6 +2055,9 @@ extern const char kNotificationPermissionRationaleDescription[];
@@ -2092,6 +2092,9 @@ extern const char kNotificationPermissionRationaleDescription[];
extern const char kOfflinePagesLivePageSharingName[];
extern const char kOfflinePagesLivePageSharingDescription[];
@@ -1216,7 +1216,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -517,8 +517,8 @@ const base::Feature kCCTNewDownloadTab{"CCTNewDownloadTab",
@@ -532,8 +532,8 @@ const base::Feature kCCTNewDownloadTab{"CCTNewDownloadTab",
const base::Feature kCCTIncognito{"CCTIncognito",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -1230,8 +1230,8 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/history/history_tab_helper.cc
--- a/chrome/browser/history/history_tab_helper.cc
+++ b/chrome/browser/history/history_tab_helper.cc
@@ -29,6 +29,9 @@
#include "chrome/browser/feed/feed_service_factory.h"
@@ -36,6 +36,9 @@
#include "chrome/browser/ui/android/tab_model/tab_model_list.h"
#include "components/feed/core/v2/public/feed_api.h"
#include "components/feed/core/v2/public/feed_service.h"
+#include "chrome/common/pref_names.h"
@@ -1240,7 +1240,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
#else
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
@@ -341,6 +344,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
@@ -410,6 +413,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
history::HistoryService* HistoryTabHelper::GetHistoryService() {
Profile* profile =
Profile::FromBrowserContext(web_contents()->GetBrowserContext());
@@ -1254,7 +1254,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
if (profile->IsOffTheRecord())
return NULL;
@@ -348,6 +358,14 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
@@ -417,6 +427,14 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
profile, ServiceAccessType::IMPLICIT_ACCESS);
}
@@ -1413,7 +1413,15 @@ diff --git a/chrome/browser/offline_pages/android/offline_page_model_factory.cc
diff --git a/chrome/browser/offline_pages/android/request_coordinator_factory.cc b/chrome/browser/offline_pages/android/request_coordinator_factory.cc
--- a/chrome/browser/offline_pages/android/request_coordinator_factory.cc
+++ b/chrome/browser/offline_pages/android/request_coordinator_factory.cc
@@ -29,6 +29,11 @@
@@ -19,6 +19,7 @@
#include "chrome/browser/ui/android/tab_model/tab_model.h"
#include "chrome/browser/ui/android/tab_model/tab_model_list.h"
#include "chrome/common/chrome_constants.h"
+#include "components/keyed_service/content/browser_context_dependency_manager.h"
#include "components/offline_pages/core/background/offliner.h"
#include "components/offline_pages/core/background/offliner_policy.h"
#include "components/offline_pages/core/background/request_coordinator.h"
@@ -28,6 +29,11 @@
#include "components/offline_pages/core/offline_page_feature.h"
#include "content/public/browser/web_contents.h"
@@ -1425,7 +1433,17 @@ diff --git a/chrome/browser/offline_pages/android/request_coordinator_factory.cc
namespace network {
class NetworkQualityTracker;
}
@@ -114,4 +119,16 @@ KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor(
@@ -61,7 +67,8 @@ class ActiveTabInfo : public RequestCoordinator::ActiveTabInfo {
};
RequestCoordinatorFactory::RequestCoordinatorFactory()
- : ProfileKeyedServiceFactory("OfflineRequestCoordinator") {
+ : BrowserContextKeyedServiceFactory("OfflineRequestCoordinator",
+ BrowserContextDependencyManager::GetInstance()) {
// Depends on OfflinePageModelFactory in SimpleDependencyManager.
}
@@ -111,4 +118,16 @@ KeyedService* RequestCoordinatorFactory::BuildServiceInstanceFor(
return request_coordinator;
}
@@ -1512,7 +1530,16 @@ diff --git a/chrome/browser/offline_pages/recent_tab_helper.h b/chrome/browser/o
diff --git a/chrome/browser/offline_pages/request_coordinator_factory.h b/chrome/browser/offline_pages/request_coordinator_factory.h
--- a/chrome/browser/offline_pages/request_coordinator_factory.h
+++ b/chrome/browser/offline_pages/request_coordinator_factory.h
@@ -36,6 +36,8 @@ class RequestCoordinatorFactory : public BrowserContextKeyedServiceFactory {
@@ -18,7 +18,7 @@ namespace offline_pages {
class RequestCoordinator;
// A factory to create one unique RequestCoordinator.
-class RequestCoordinatorFactory : public ProfileKeyedServiceFactory {
+class RequestCoordinatorFactory : public BrowserContextKeyedServiceFactory {
public:
static RequestCoordinatorFactory* GetInstance();
static RequestCoordinator* GetForBrowserContext(
@@ -36,6 +36,8 @@ class RequestCoordinatorFactory : public ProfileKeyedServiceFactory {
KeyedService* BuildServiceInstanceFor(
content::BrowserContext* context) const override;
@@ -1524,7 +1551,7 @@ diff --git a/chrome/browser/offline_pages/request_coordinator_factory.h b/chrome
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -227,6 +227,7 @@
@@ -226,6 +226,7 @@
#include "components/feed/core/shared_prefs/pref_names.h"
#if BUILDFLAG(IS_ANDROID)
@@ -1532,7 +1559,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#include "chrome/browser/android/bookmarks/partner_bookmarks_shim.h"
#include "chrome/browser/android/explore_sites/history_statistics_reporter.h"
#include "chrome/browser/android/ntp/recent_tabs_page_prefs.h"
@@ -1423,6 +1424,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -1389,6 +1390,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
variations::VariationsService::RegisterProfilePrefs(registry);
video_tutorials::RegisterPrefs(registry);
@@ -1690,7 +1717,7 @@ new file mode 100644
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
--- a/chrome/common/pref_names.cc
+++ b/chrome/common/pref_names.cc
@@ -3408,6 +3408,12 @@ const char kShowCaretBrowsingDialog[] =
@@ -3435,6 +3435,12 @@ const char kShowCaretBrowsingDialog[] =
const char kLacrosLaunchSwitch[] = "lacros_launch_switch";
#endif
@@ -1706,7 +1733,7 @@ diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -1210,6 +1210,8 @@ extern const char kDiscountConsentShowInterestIn[];
@@ -1215,6 +1215,8 @@ extern const char kDiscountConsentShowInterestIn[];
#if BUILDFLAG(IS_ANDROID)
extern const char kWebXRImmersiveArEnabled[];
@@ -1715,7 +1742,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
#endif
#if !BUILDFLAG(IS_ANDROID)
@@ -1247,6 +1249,10 @@ extern const char kPrivacyGuideViewed[];
@@ -1252,6 +1254,10 @@ extern const char kPrivacyGuideViewed[];
extern const char kCorsNonWildcardRequestHeadersSupport[];
@@ -1775,7 +1802,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc
--- a/components/content_settings/core/browser/host_content_settings_map.cc
+++ b/components/content_settings/core/browser/host_content_settings_map.cc
@@ -239,6 +239,7 @@ const char* ContentSettingToString(ContentSetting setting) {
@@ -242,6 +242,7 @@ const char* ContentSettingToString(ContentSetting setting) {
HostContentSettingsMap::HostContentSettingsMap(
PrefService* prefs,
bool is_off_the_record,
@@ -1783,7 +1810,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
bool store_last_modified,
bool restore_session)
: RefcountedKeyedService(base::ThreadTaskRunnerHandle::Get()),
@@ -247,6 +248,7 @@ HostContentSettingsMap::HostContentSettingsMap(
@@ -250,6 +251,7 @@ HostContentSettingsMap::HostContentSettingsMap(
#endif
prefs_(prefs),
is_off_the_record_(is_off_the_record),
@@ -1791,7 +1818,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
store_last_modified_(store_last_modified),
allow_invalid_secondary_pattern_for_testing_(false) {
TRACE_EVENT0("startup", "HostContentSettingsMap::HostContentSettingsMap");
@@ -258,7 +260,7 @@ HostContentSettingsMap::HostContentSettingsMap(
@@ -261,7 +263,7 @@ HostContentSettingsMap::HostContentSettingsMap(
policy_provider->AddObserver(this);
auto pref_provider_ptr = std::make_unique<content_settings::PrefProvider>(
@@ -1811,7 +1838,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
bool store_last_modified,
bool restore_session);
@@ -443,6 +444,8 @@ class HostContentSettingsMap : public content_settings::Observer,
@@ -450,6 +451,8 @@ class HostContentSettingsMap : public content_settings::Observer,
// Whether this settings map is for an incognito or guest session.
bool is_off_the_record_;
@@ -1869,7 +1896,7 @@ diff --git a/components/omnibox/browser/autocomplete_provider_client.h b/compone
diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omnibox/browser/base_search_provider.cc
--- a/components/omnibox/browser/base_search_provider.cc
+++ b/components/omnibox/browser/base_search_provider.cc
@@ -264,7 +264,7 @@ bool BaseSearchProvider::CanSendRequest(
@@ -271,7 +271,7 @@ bool BaseSearchProvider::CanSendRequest(
}
// Don't run if in incognito mode.
@@ -1881,7 +1908,7 @@ diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omn
diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/browser/search_provider.cc
--- a/components/omnibox/browser/search_provider.cc
+++ b/components/omnibox/browser/search_provider.cc
@@ -807,7 +807,9 @@ bool SearchProvider::IsQuerySuitableForSuggest(bool* query_is_private) const {
@@ -835,7 +835,9 @@ bool SearchProvider::IsQuerySuitableForSuggest(bool* query_is_private) const {
// keyword input to a keyword suggest server, if any.)
const TemplateURL* default_url = providers_.GetDefaultProviderURL();
const TemplateURL* keyword_url = providers_.GetKeywordProviderURL();
@@ -185,7 +185,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
@@ -88,6 +88,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -89,6 +89,12 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
} else if (menuItem.getItemId() == R.id.search_menu_id) {
mDelegate.openSearchUI();
return true;
@@ -198,7 +198,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
SelectionDelegate<BookmarkId> selectionDelegate = mDelegate.getSelectionDelegate();
@@ -139,6 +145,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -140,6 +146,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
void showLoadingUi() {
setTitle(null);
setNavigationButton(NAVIGATION_BUTTON_NONE);
@@ -207,7 +207,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.search_menu_id).setVisible(false);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -148,6 +156,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -149,6 +157,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
super.showNormalView();
if (mDelegate == null) {
@@ -216,7 +216,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.search_menu_id).setVisible(false);
getMenu().findItem(R.id.edit_menu_id).setVisible(false);
}
@@ -177,6 +187,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -178,6 +188,8 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@Override
public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
@@ -492,7 +492,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* Synchronously gets a list of bookmarks that match the specified search query.
* @param query Keyword used for searching bookmarks.
@@ -1303,6 +1545,39 @@ public class BookmarkBridge {
@@ -1285,6 +1527,39 @@ public class BookmarkBridge {
depthList.add(depth);
}
@@ -532,7 +532,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private static List<Pair<Integer, Integer>> createPairsList(int[] left, int[] right) {
List<Pair<Integer, Integer>> pairList = new ArrayList<Pair<Integer, Integer>>();
for (int i = 0; i < left.length; i++) {
@@ -1374,6 +1649,9 @@ public class BookmarkBridge {
@@ -1356,6 +1631,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);
@@ -704,7 +704,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -1862,6 +1862,13 @@ static_library("browser") {
@@ -1863,6 +1863,13 @@ static_library("browser") {
]
}
@@ -718,7 +718,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
configs += [
"//build/config/compiler:wexit_time_destructors",
"//build/config:precompiled_headers",
@@ -2877,6 +2884,8 @@ static_library("browser") {
@@ -2885,6 +2892,8 @@ static_library("browser") {
"autofill/manual_filling_controller.h",
"autofill/manual_filling_controller_impl.cc",
"autofill/manual_filling_controller_impl.h",
@@ -727,19 +727,19 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"autofill/manual_filling_utils.cc",
"autofill/manual_filling_utils.h",
"autofill/manual_filling_view_interface.h",
@@ -3544,8 +3553,6 @@ static_library("browser") {
@@ -3558,8 +3567,6 @@ static_library("browser") {
"badging/badge_manager_factory.h",
"banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h",
- "bookmarks/bookmark_html_writer.cc",
- "bookmarks/bookmark_html_writer.h",
"bookmarks/url_and_id.h",
"cart/cart_db.cc",
"cart/cart_db.h",
"cart/cart_discount_fetcher.cc",
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -8559,6 +8559,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8654,6 +8654,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kRequestDesktopSiteExceptions)},
#endif
@@ -755,7 +755,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
@@ -58,6 +58,25 @@
@@ -59,6 +59,25 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/web_contents.h"
@@ -781,7 +781,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
using base::android::AttachCurrentThread;
using base::android::ConvertUTF16ToJavaString;
using base::android::ConvertUTF8ToJavaString;
@@ -75,8 +94,92 @@ using bookmarks::android::JavaBookmarkIdGetType;
@@ -76,8 +95,92 @@ using bookmarks::android::JavaBookmarkIdGetType;
using content::BrowserThread;
using power_bookmarks::PowerBookmarkMeta;
@@ -874,7 +874,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
class BookmarkTitleComparer {
public:
explicit BookmarkTitleComparer(BookmarkBridge* bookmark_bridge,
@@ -162,6 +265,10 @@ BookmarkBridge::~BookmarkBridge() {
@@ -163,6 +266,10 @@ BookmarkBridge::~BookmarkBridge() {
if (partner_bookmarks_shim_)
partner_bookmarks_shim_->RemoveObserver(this);
reading_list_manager_->RemoveObserver(this);
@@ -885,7 +885,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
}
void BookmarkBridge::Destroy(JNIEnv*, const JavaParamRef<jobject>&) {
@@ -572,6 +679,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
@@ -573,6 +680,182 @@ jint BookmarkBridge::GetTotalBookmarkCount(
return count;
}
@@ -1128,7 +1128,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
void SetBookmarkTitle(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
jlong id,
@@ -372,12 +392,16 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -371,12 +391,16 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
void DestroyJavaObject();
raw_ptr<Profile> profile_;
@@ -1145,7 +1145,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
// Information about the Partner bookmarks (must check for IsLoaded()).
// This is owned by profile.
@@ -389,6 +413,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
@@ -388,6 +412,10 @@ class BookmarkBridge : public bookmarks::BaseBookmarkModelObserver,
// Observes the profile destruction and creation.
base::ScopedObservation<Profile, ProfileObserver> profile_observation_{this};
@@ -1251,7 +1251,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -6279,6 +6279,11 @@ const char kDisableLacrosTtsSupportDescription[] =
@@ -6458,6 +6458,11 @@ const char kDisableLacrosTtsSupportDescription[] =
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -1266,7 +1266,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
@@ -3625,6 +3625,9 @@ extern const char kDisableLacrosTtsSupportName[];
@@ -3734,6 +3734,9 @@ extern const char kDisableLacrosTtsSupportName[];
extern const char kDisableLacrosTtsSupportDescription[];
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -1279,15 +1279,15 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -178,6 +178,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kBulkTabRestore,
@@ -183,6 +183,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCastDeviceFilter,
&kClearOmniboxFocusAfterNavigation,
&kCloseTabSuggestions,
+ &kBookmarksExportUseSaf,
&kCriticalPersistedTabData,
&kCommerceCoupons,
&kCCTBackgroundTab,
@@ -933,6 +934,10 @@ const base::Feature kWebApkInstallService{"WebApkInstallService",
@@ -948,6 +949,10 @@ const base::Feature kWebApkInstallService{"WebApkInstallService",
const base::Feature kWebApkTrampolineOnInitialIntent{
"WebApkTrampolineOnInitialIntent", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -1301,18 +1301,18 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -161,6 +161,7 @@ extern const base::Feature kTabSwitcherOnReturn;
@@ -161,6 +161,7 @@ extern const base::Feature kTabReparenting;
extern const base::Feature kTabSelectionEditorV2;
extern const base::Feature kTabStripImprovements;
extern const base::Feature kTabSwitcherOnReturn;
+extern const base::Feature kBookmarksExportUseSaf;
extern const base::Feature kTabToGTSAnimation;
extern const base::Feature kTestDefaultDisabled;
extern const base::Feature kTestDefaultEnabled;
+extern const base::Feature kBookmarksExportUseSaf;
extern const base::Feature kToolbarIphAndroid;
extern const base::Feature kToolbarMicIphAndroid;
extern const base::Feature kToolbarPhoneOptimizations;
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -577,6 +577,7 @@ public abstract class ChromeFeatureList {
@@ -587,6 +587,7 @@ public abstract class ChromeFeatureList {
public static final String USE_CHIME_ANDROID_SDK = "UseChimeAndroidSdk";
public static final String USE_CLIENT_CONFIG_IPH = "UseClientConfigIPH";
public static final String VOICE_SEARCH_AUDIO_CAPTURE_POLICY = "VoiceSearchAudioCapturePolicy";
@@ -1390,7 +1390,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/**
* Whether Chrome is set as the default browser.
@@ -983,6 +985,7 @@ public final class ChromePreferenceKeys {
@@ -1001,6 +1003,7 @@ public final class ChromePreferenceKeys {
ASSISTANT_VOICE_SEARCH_ENABLED,
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
@@ -1429,7 +1429,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
@@ -403,6 +403,9 @@ static_library("common_lib") {
@@ -404,6 +404,9 @@ static_library("common_lib") {
sources += [
"media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h",
@@ -1442,7 +1442,7 @@ diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
--- a/chrome/utility/BUILD.gn
+++ b/chrome/utility/BUILD.gn
@@ -85,8 +85,6 @@ static_library("utility") {
@@ -89,8 +89,6 @@ static_library("utility") {
if (!is_android) {
sources += [
@@ -1451,7 +1451,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
"importer/bookmarks_file_importer.cc",
"importer/bookmarks_file_importer.h",
"importer/external_process_importer_bridge.cc",
@@ -208,6 +206,11 @@ static_library("utility") {
@@ -215,6 +213,11 @@ static_library("utility") {
]
}
@@ -22,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -55,6 +55,16 @@
@@ -56,6 +56,16 @@
android:fragment="org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings"
android:key="do_not_track"
android:title="@string/do_not_track_title"/>
@@ -80,7 +80,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
// Since configureIntentForResizableCustomTab() might change the componenet/class
// associated with the passed intent, it needs to be called after #setClassName(context,
// CustomTabActivity.class.getName());
@@ -413,6 +423,18 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
@@ -421,6 +431,18 @@ public class LaunchIntentDispatcher implements IntentHandler.IntentHandlerDelega
if (Intent.ACTION_VIEW.equals(newIntent.getAction())
&& !IntentHandler.wasIntentSenderChrome(newIntent)) {
@@ -125,9 +125,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -81,6 +81,9 @@ public class PrivacySettings
private ViewGroup mDialogContainer;
private BottomSheetController mBottomSheetController;
@@ -76,6 +76,9 @@ public class PrivacySettings
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
+ private ChromeSwitchPreference allowCustomTabIntentsPref;
+ private ChromeSwitchPreference openExternalLinksPref;
@@ -135,7 +135,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
PrivacyPreferencesManagerImpl privacyPrefManager =
@@ -148,6 +151,9 @@ public class PrivacySettings
@@ -135,6 +138,9 @@ public class PrivacySettings
updatePreferences();
}
@@ -145,7 +145,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@@ -164,6 +170,14 @@ public class PrivacySettings
@@ -151,6 +157,14 @@ public class PrivacySettings
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
@@ -160,7 +160,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
}
@@ -186,6 +200,16 @@ public class PrivacySettings
@@ -173,6 +187,16 @@ public class PrivacySettings
canMakePaymentPref.setChecked(prefService.getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
}
@@ -196,7 +196,7 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAsso
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -4756,6 +4756,21 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4800,6 +4800,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>
+4 -4
View File
@@ -59,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ApplicationLife
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -223,6 +223,8 @@ import java.util.HashSet;
@@ -222,6 +222,8 @@ import java.util.HashSet;
import java.util.List;
import java.util.Locale;
@@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
/**
* This is the main activity for ChromeMobile when not running in document mode. All the tabs
* are accessible via a chrome specific tab switching UI.
@@ -2179,6 +2181,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2174,6 +2176,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
} else if (id == R.id.close_tab) {
getCurrentTabModel().closeTab(currentTab, true, false, true);
RecordUserAction.record("MobileTabClosed");
@@ -88,7 +88,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.ChromeActivitySessionTracker;
import org.chromium.chrome.browser.ChromeApplicationImpl;
import org.chromium.chrome.browser.ChromeKeyboardVisibilityDelegate;
@@ -2311,6 +2312,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2322,6 +2323,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true;
}
@@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3484,6 +3484,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3511,6 +3511,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_AUTO_DARK_WEB_CONTENTS" desc="Menu item in Chrome's overflow/options menu. When Chrome's browser UI is set to dark theme and this option is checked, sites will have a dark theme automatically applied as well. [CHAR_LIMIT=24]">
Dark theme
</message>
@@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -494,6 +494,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
@@ -519,6 +519,22 @@ const FeatureEntry::FeatureVariation kReaderModeDiscoverabilityVariations[] = {
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_ANDROID)
@@ -40,7 +40,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNone[] = {
{"mode", "always-none"}};
const FeatureEntry::FeatureParam kAdaptiveButton_AlwaysNewTab[] = {
@@ -4118,7 +4134,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4174,7 +4190,11 @@ const FeatureEntry kFeatureEntries[] = {
kOsMac | kOsLinux | kOsLacros | kOsWin,
FEATURE_VALUE_TYPE(features::kSystemNotifications)},
#endif // BUILDFLAG(ENABLE_SYSTEM_NOTIFICATIONS) && !BUILDFLAG(IS_CHROMEOS_ASH)
@@ -65,8 +65,8 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
#include "base/feature_list.h"
#include "base/format_macros.h"
#include "base/metrics/histogram_functions.h"
@@ -295,6 +297,15 @@ AutocompleteController::AutocompleteController(
in_start_(false),
@@ -318,6 +320,15 @@ AutocompleteController::AutocompleteController(
is_cros_launcher_(is_cros_launcher),
search_service_worker_signal_sent_(false),
template_url_service_(provider_client_->GetTemplateURLService()) {
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("omnibox-autocomplete-filtering")) {
@@ -84,7 +84,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omnibox/browser/history_url_provider.cc
--- a/components/omnibox/browser/history_url_provider.cc
+++ b/components/omnibox/browser/history_url_provider.cc
@@ -483,6 +483,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input,
@@ -474,6 +474,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input,
if (fixed_up_input.type() != metrics::OmniboxInputType::QUERY)
matches_.push_back(what_you_typed_match);
@@ -105,7 +105,7 @@ diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/
#include "base/feature_list.h"
#include "base/i18n/break_iterator.h"
#include "base/i18n/case_conversion.h"
@@ -652,6 +653,9 @@ void SearchProvider::Run(bool query_is_private) {
@@ -680,6 +681,9 @@ void SearchProvider::Run(bool query_is_private) {
}
void SearchProvider::DoHistoryQuery(bool minimal_changes) {
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -4718,7 +4718,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4771,7 +4771,10 @@ const FeatureEntry kFeatureEntries[] = {
{"force-text-direction", flag_descriptions::kForceTextDirectionName,
flag_descriptions::kForceTextDirectionDescription, kOsAll,
MULTI_VALUE_TYPE(kForceTextDirectionChoices)},
@@ -30,7 +30,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1214,6 +1214,10 @@ const char kDeprecateAltBasedSixPackDescription[] =
@@ -1227,6 +1227,10 @@ const char kDeprecateAltBasedSixPackDescription[] =
"Show deprecation notifications and disable functionality for Alt based "
"six pack deprecations. The Search based versions continue to work.";
@@ -44,7 +44,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -634,6 +634,9 @@ extern const char kDeprecateAltClickDescription[];
@@ -647,6 +647,9 @@ extern const char kDeprecateAltClickDescription[];
extern const char kDeprecateAltBasedSixPackName[];
extern const char kDeprecateAltBasedSixPackDescription[];
@@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -979,6 +979,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
@@ -1018,6 +1018,11 @@ const FeatureEntry::Choice kForceColorProfileChoices[] = {
switches::kForceDisplayColorProfile, "hdr10"},
};
@@ -33,7 +33,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
const FeatureEntry::Choice kMemlogModeChoices[] = {
{flags_ui::kGenericExperimentChoiceDisabled, "", ""},
{flag_descriptions::kMemlogModeMinimal, heap_profiling::kMemlogMode,
@@ -4647,6 +4652,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4695,6 +4700,9 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kAndroidPictureInPictureAPIName,
flag_descriptions::kAndroidPictureInPictureAPIDescription, kOsAndroid,
FEATURE_VALUE_TYPE(media::kPictureInPictureAPI)},
@@ -46,7 +46,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1777,6 +1777,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
@@ -1794,6 +1794,10 @@ const char kUnthrottledNestedTimeoutDescription[] =
"websites abusing the API will still eventually have their setTimeouts "
"clamped.";
@@ -60,7 +60,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -996,6 +996,9 @@ extern const char kLogJsConsoleMessagesDescription[];
@@ -1009,6 +1009,9 @@ extern const char kLogJsConsoleMessagesDescription[];
extern const char kUnthrottledNestedTimeoutName[];
extern const char kUnthrottledNestedTimeoutDescription[];
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3349,6 +3349,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3396,6 +3396,10 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebRtcRemoteEventLogName,
flag_descriptions::kWebRtcRemoteEventLogDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kWebRtcRemoteEventLog)},
@@ -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
@@ -1305,6 +1305,11 @@ const char kEnablePenetratingImageSelectionDescription[] =
@@ -1318,6 +1318,11 @@ const char kEnablePenetratingImageSelectionDescription[] =
"Enables image options to be surfaced in the context menu for nodes "
"covered by transparent overlays.";
@@ -44,7 +44,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -713,6 +713,9 @@ extern const char kEnablePortalsDescription[];
@@ -726,6 +726,9 @@ extern const char kEnablePortalsDescription[];
extern const char kEnablePortalsCrossOriginName[];
extern const char kEnablePortalsCrossOriginDescription[];
@@ -17,7 +17,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -5586,6 +5586,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5729,6 +5729,10 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-reader-mode-in-cct", flag_descriptions::kReaderModeInCCTName,
flag_descriptions::kReaderModeInCCTDescription, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)},
@@ -27,11 +27,11 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+ FEATURE_VALUE_TYPE(network::features::kIPv6Probing)},
#endif // BUILDFLAG(IS_ANDROID)
#if !BUILDFLAG(IS_ANDROID)
{"shopping-list", commerce::flag_descriptions::kShoppingListName,
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3305,6 +3305,10 @@ const char kCCTRealTimeEngagementSignalsDescription[] =
@@ -3373,6 +3373,10 @@ const char kCCTRealTimeEngagementSignalsDescription[] =
"Enables sending real-time engagement signals (e.g. scroll) through "
"CustomTabsCallback.";
@@ -45,7 +45,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -785,6 +785,9 @@ extern const char kEnableWasmLazyCompilationName[];
@@ -792,6 +792,9 @@ extern const char kEnableWasmLazyCompilationName[];
extern const char kEnableWasmLazyCompilationDescription[];
extern const char kEnableWasmTieringName[];
@@ -109,7 +109,7 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
#include "net/log/net_log_with_source.h"
#include "net/socket/client_socket_factory.h"
#include "net/socket/datagram_client_socket.h"
@@ -4092,8 +4093,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
@@ -4074,8 +4075,14 @@ bool HostResolverManager::IsIPv6Reachable(const NetLogWithSource& net_log) {
if (last_ipv6_probe_time_.is_null() ||
(tick_clock_->NowTicks() - last_ipv6_probe_time_).InMilliseconds() >
kIPv6ProbePeriodMs) {
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3348,6 +3348,9 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3389,6 +3389,9 @@ const FeatureEntry kFeatureEntries[] = {
{"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName,
flag_descriptions::kUiPartialSwapDescription, kOsAll,
SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)},
@@ -28,7 +28,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3673,6 +3673,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
@@ -3735,6 +3735,12 @@ const char kPhotoPickerVideoSupportName[] = "Photo Picker Video Support";
const char kPhotoPickerVideoSupportDescription[] =
"Enables video files to be shown in the Photo Picker dialog";
@@ -44,7 +44,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -2100,6 +2100,9 @@ extern const char kQueryTilesDescription[];
@@ -2137,6 +2137,9 @@ extern const char kQueryTilesDescription[];
extern const char kQueryTilesNTPName[];
extern const char kQueryTilesNTPDescription[];
extern const char kQueryTilesSingleTierName[];
@@ -19,7 +19,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -6983,6 +6983,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -7096,6 +7096,10 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kNewMacNotificationAPI)},
#endif
@@ -33,7 +33,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -5952,6 +5952,9 @@ extern const char kLacrosScreenCoordinatesDescription[];
@@ -6104,6 +6104,9 @@ extern const char kLacrosScreenCoordinatesDescription[];
#endif // #if BUILDFLAG(IS_CHROMEOS_LACROS)
@@ -46,7 +46,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -3627,6 +3627,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
@@ -3727,6 +3727,8 @@ extern const char kWebUITabStripTabDragIntegrationName[];
extern const char kWebUITabStripTabDragIntegrationDescription[];
#endif // BUILDFLAG(ENABLE_WEBUI_TAB_STRIP) && BUILDFLAG(IS_CHROMEOS_ASH)
@@ -58,7 +58,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
--- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc
@@ -100,6 +100,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
@@ -101,6 +101,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
#if BUILDFLAG(IS_ANDROID)
if (command_line.HasSwitch(switches::kDisableMediaSessionAPI))
WebRuntimeFeatures::EnableMediaSession(false);
@@ -83,7 +83,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
--- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h
@@ -321,6 +321,8 @@ CONTENT_EXPORT extern const base::FeatureParam<base::TimeDelta>
@@ -332,6 +332,8 @@ CONTENT_EXPORT extern const base::FeatureParam<base::TimeDelta>
kCompositorLockTimeout;
#endif // BUILDFLAG(IS_ANDROID)
@@ -95,7 +95,7 @@ diff --git a/content/public/common/content_features.h b/content/public/common/co
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
--- a/third_party/blink/public/platform/web_runtime_features.h
+++ b/third_party/blink/public/platform/web_runtime_features.h
@@ -87,6 +87,7 @@ class WebRuntimeFeatures {
@@ -88,6 +88,7 @@ class WebRuntimeFeatures {
BLINK_PLATFORM_EXPORT static void EnableBlockingFocusWithoutUserActivation(
bool);
BLINK_PLATFORM_EXPORT static void EnableClickPointerEvent(bool enable);
@@ -126,7 +126,7 @@ diff --git a/third_party/blink/renderer/modules/vibration/vibration_controller.c
diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.cc b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
--- a/third_party/blink/renderer/platform/exported/web_runtime_features.cc
+++ b/third_party/blink/renderer/platform/exported/web_runtime_features.cc
@@ -156,6 +156,10 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
@@ -160,6 +160,10 @@ void WebRuntimeFeatures::EnableScrollTopLeftInterop(bool enable) {
RuntimeEnabledFeatures::SetScrollTopLeftInteropEnabled(enable);
}
@@ -140,7 +140,7 @@ diff --git a/third_party/blink/renderer/platform/exported/web_runtime_features.c
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -1611,6 +1611,10 @@
@@ -1569,6 +1569,10 @@
name: "OrientationEvent",
status: {"Android": "stable"},
},
@@ -83,14 +83,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../android/permissions_android_strings.grd | 17 ++++
.../geolocation_permission_context_android.cc | 35 ++++++--
.../geolocation_permission_context_android.h | 13 ++-
.../permissions/permission_context_base.cc | 50 ++++++++++--
.../permissions/permission_context_base.cc | 49 ++++++++++-
.../permissions/permission_context_base.h | 24 +++++-
components/permissions/permission_prompt.h | 3 +-
components/permissions/permission_request.cc | 34 +++++++-
components/permissions/permission_request.h | 17 +++-
.../permissions/permission_request_manager.cc | 37 ++++++---
.../permissions/permission_request_manager.h | 11 ++-
38 files changed, 480 insertions(+), 62 deletions(-)
38 files changed, 481 insertions(+), 60 deletions(-)
diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/browser/permissions/last_tab_standing_tracker.cc
--- a/chrome/browser/permissions/last_tab_standing_tracker.cc
@@ -174,19 +174,17 @@ diff --git a/chrome/browser/permissions/last_tab_standing_tracker.h b/chrome/bro
diff --git a/chrome/browser/permissions/last_tab_standing_tracker_factory.cc b/chrome/browser/permissions/last_tab_standing_tracker_factory.cc
--- a/chrome/browser/permissions/last_tab_standing_tracker_factory.cc
+++ b/chrome/browser/permissions/last_tab_standing_tracker_factory.cc
@@ -33,7 +33,7 @@ bool LastTabStandingTrackerFactory::ServiceIsCreatedWithBrowserContext() const {
@@ -31,5 +31,5 @@ bool LastTabStandingTrackerFactory::ServiceIsCreatedWithBrowserContext() const {
KeyedService* LastTabStandingTrackerFactory::BuildServiceInstanceFor(
content::BrowserContext* context) const {
- return new LastTabStandingTracker();
+ return new LastTabStandingTracker(context);
}
content::BrowserContext* LastTabStandingTrackerFactory::GetBrowserContextToUse(
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -400,10 +400,7 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -407,10 +407,7 @@ void ChromeBrowserMainExtraPartsProfiles::
LacrosFirstRunServiceFactory::GetInstance();
#endif
LanguageModelManagerFactory::GetInstance();
@@ -201,7 +199,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
--- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc
@@ -488,6 +488,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -484,6 +484,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
web_contents);
}
video_tutorials::VideoTutorialTabHelper::CreateForWebContents(web_contents);
@@ -275,7 +273,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
private void setUpClearDataPreference() {
ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA);
long usage = mSite.getTotalUsage();
@@ -909,6 +915,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -915,6 +921,10 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
if (contentType == mHighlightedPermission) {
switchPreference.setBackgroundColor(mHighlightColor);
}
@@ -319,7 +317,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/website_preference_bridge.cc b/components/browser_ui/site_settings/android/website_preference_bridge.cc
--- a/components/browser_ui/site_settings/android/website_preference_bridge.cc
+++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc
@@ -119,7 +119,8 @@ typedef void (*InfoListInsertionFunction)(
@@ -120,7 +120,8 @@ typedef void (*InfoListInsertionFunction)(
const base::android::JavaRef<jobject>&,
const base::android::JavaRef<jstring>&,
const base::android::JavaRef<jstring>&,
@@ -329,7 +327,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
void GetOrigins(JNIEnv* env,
const JavaParamRef<jobject>& jbrowser_context_handle,
@@ -161,7 +162,7 @@ void GetOrigins(JNIEnv* env,
@@ -162,7 +163,7 @@ void GetOrigins(JNIEnv* env,
seen_origins.push_back(origin);
insertionFunc(env, static_cast<int>(content_type), list,
ConvertOriginToJavaString(env, origin), jembedder,
@@ -338,7 +336,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
}
// Add any origins which have a default content setting value (thus skipped
@@ -183,7 +184,7 @@ void GetOrigins(JNIEnv* env,
@@ -184,7 +185,7 @@ void GetOrigins(JNIEnv* env,
seen_origins.push_back(origin);
insertionFunc(env, static_cast<int>(content_type), list,
ConvertOriginToJavaString(env, origin), jembedder,
@@ -350,7 +348,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
@@ -594,6 +594,11 @@
@@ -600,6 +600,11 @@
<message name="IDS_PAGE_INFO_URL_TRUNCATED" desc="Accessibility announcement when the URL in PageInfo switches from full to truncated display">
URL truncated
</message>
@@ -429,7 +427,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.h b
diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc
--- a/components/content_settings/core/browser/host_content_settings_map.cc
+++ b/components/content_settings/core/browser/host_content_settings_map.cc
@@ -824,7 +824,7 @@ void HostContentSettingsMap::AddSettingsForOneType(
@@ -847,7 +847,7 @@ void HostContentSettingsMap::AddSettingsForOneType(
settings->emplace_back(rule.primary_pattern, rule.secondary_pattern,
std::move(value),
kProviderNamesSourceMap[provider_type].provider_name,
@@ -441,7 +439,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc
--- a/components/content_settings/core/common/content_settings.cc
+++ b/components/content_settings/core/common/content_settings.cc
@@ -157,13 +157,15 @@ ContentSettingPatternSource::ContentSettingPatternSource(
@@ -158,13 +158,15 @@ ContentSettingPatternSource::ContentSettingPatternSource(
base::Value setting_value,
const std::string& source,
bool incognito,
@@ -459,7 +457,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
ContentSettingPatternSource::ContentSettingPatternSource() : incognito(false) {}
@@ -180,6 +182,7 @@ ContentSettingPatternSource& ContentSettingPatternSource::operator=(
@@ -181,6 +183,7 @@ ContentSettingPatternSource& ContentSettingPatternSource::operator=(
expiration = other.expiration;
source = other.source;
incognito = other.incognito;
@@ -618,7 +616,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
--- a/components/page_info/page_info.cc
+++ b/components/page_info/page_info.cc
@@ -1055,6 +1055,8 @@ void PageInfo::PresentSitePermissions() {
@@ -1084,6 +1084,8 @@ void PageInfo::PresentSitePermissions() {
permission_info.source = info.source;
permission_info.is_one_time =
(info.session_model == content_settings::SessionModel::OneTime);
@@ -630,7 +628,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
diff --git a/components/page_info/page_info.h b/components/page_info/page_info.h
--- a/components/page_info/page_info.h
+++ b/components/page_info/page_info.h
@@ -175,6 +175,7 @@ class PageInfo {
@@ -178,6 +178,7 @@ class PageInfo {
content_settings::SettingSource source =
content_settings::SETTING_SOURCE_NONE;
bool is_one_time = false;
@@ -873,7 +871,7 @@ diff --git a/components/permissions/android/permissions_android_strings.grd b/co
+ <!-- Session permissions -->
+ <message name="IDS_SESSION_PERMISSIONS_TITLE" desc="Title for the session section in the permission request">
+ Remember my decision
+ Remeber my decision
+ </message>
+ <message name="IDS_SESSION_PERMISSIONS_ONLY_THIS_THIS" desc="Message indicating that the permission is only for this time">
+ Only this time
@@ -894,7 +892,7 @@ diff --git a/components/permissions/android/permissions_android_strings.grd b/co
diff --git a/components/permissions/contexts/geolocation_permission_context_android.cc b/components/permissions/contexts/geolocation_permission_context_android.cc
--- a/components/permissions/contexts/geolocation_permission_context_android.cc
+++ b/components/permissions/contexts/geolocation_permission_context_android.cc
@@ -158,6 +158,19 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -153,6 +153,19 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
ContentSetting content_setting,
bool is_one_time) {
DCHECK(!is_one_time);
@@ -914,7 +912,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
bool is_default_search = IsRequestingOriginDSE(requesting_origin);
if (content_setting == CONTENT_SETTING_ALLOW &&
!location_settings_->IsSystemLocationSettingEnabled()) {
@@ -170,7 +183,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -165,7 +178,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
if (IsInLocationSettingsBackOff(is_default_search)) {
FinishNotifyPermissionSet(id, requesting_origin, embedding_origin,
std::move(callback), false /* persist */,
@@ -924,7 +922,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
LogLocationSettingsMetric(
kLocationSettingsSuppressMetricBase, is_default_search,
LocationSettingsBackOffLevel(is_default_search));
@@ -195,7 +209,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -190,7 +204,8 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
!location_settings_dialog_callback_.is_null()) {
FinishNotifyPermissionSet(id, requesting_origin, embedding_origin,
std::move(callback), false /* persist */,
@@ -934,7 +932,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
// This case should be very rare, so just pretend it was a denied prompt
// for metrics purposes.
LogLocationSettingsMetric(
@@ -212,12 +227,13 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -207,12 +222,13 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
base::BindOnce(
&GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown,
weak_factory_.GetWeakPtr(), requesting_origin, embedding_origin,
@@ -950,7 +948,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
}
PermissionResult
@@ -384,6 +400,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
@@ -379,6 +395,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
const GURL& embedding_origin,
bool persist,
ContentSetting content_setting,
@@ -958,7 +956,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
LocationSettingsDialogOutcome prompt_outcome) {
bool is_default_search = IsRequestingOriginDSE(requesting_origin);
if (prompt_outcome == GRANTED) {
@@ -411,7 +428,8 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
@@ -402,7 +419,8 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
FinishNotifyPermissionSet(
location_settings_dialog_request_id_, requesting_origin, embedding_origin,
@@ -968,7 +966,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
location_settings_dialog_request_id_ =
PermissionRequestID(0, 0, PermissionRequestID::RequestLocalId());
@@ -423,10 +441,11 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
@@ -414,10 +432,11 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
const GURL& embedding_origin,
BrowserPermissionCallback callback,
bool persist,
@@ -1110,16 +1108,15 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
DCHECK_EQ(requesting_origin, requesting_origin.DeprecatedGetOriginAsURL());
DCHECK_EQ(embedding_origin, embedding_origin.DeprecatedGetOriginAsURL());
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
@@ -537,8 +576,7 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
->SetContentSettingDefaultScope(
requesting_origin, embedding_origin, content_settings_type_,
content_setting,
- is_one_time ? Constraints{base::Time(),
- content_settings::SessionModel::OneTime}
+ is_one_time ? content_settings::GetConstraintSessionExpiration(lifetime_option)
: Constraints());
}
@@ -534,6 +573,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
content_settings::ContentSettingConstraints constraints = {
base::Time(), is_one_time ? content_settings::SessionModel::OneTime
: content_settings::SessionModel::Durable};
+ if (is_one_time)
+ constraints = content_settings::GetConstraintSessionExpiration(lifetime_option);
#if !BUILDFLAG(IS_ANDROID)
if (base::FeatureList::IsEnabled(
diff --git a/components/permissions/permission_context_base.h b/components/permissions/permission_context_base.h
--- a/components/permissions/permission_context_base.h
+++ b/components/permissions/permission_context_base.h
@@ -63,7 +63,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.compositor.layouts.Layout;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone;
@@ -2193,6 +2195,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2188,6 +2190,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
() -> getTabModelSelector().closeAllTabs(), /*isIncognito=*/false);
RecordUserAction.record("MobileMenuCloseAllTabs");
@@ -72,7 +72,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
// Close only incognito tabs
CloseAllTabsDialog.show(this, getModalDialogManagerSupplier(),
@@ -2245,6 +2249,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2240,6 +2244,28 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
mTabModalHandler.onOmniboxFocusChanged(hasFocus);
}
@@ -112,7 +112,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.base.ObserverList;
import org.chromium.base.ThreadUtils;
import org.chromium.base.annotations.CalledByNative;
@@ -39,6 +40,10 @@ import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
@@ -40,6 +41,10 @@ import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.read_later.ReadingListUtils;
import org.chromium.chrome.browser.tab.Tab;
@@ -123,7 +123,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.bookmarks.BookmarkType;
import org.chromium.components.commerce.PriceTracking.ProductPrice;
@@ -86,6 +91,7 @@ import java.io.File;
@@ -87,6 +92,7 @@ import java.io.File;
* bookmark model stored in native.
*/
public class BookmarkBridge {
@@ -131,7 +131,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
private final Profile mProfile;
private boolean mIsDestroyed;
private boolean mIsDoingExtensiveChanges;
@@ -603,6 +609,16 @@ public class BookmarkBridge {
@@ -604,6 +610,16 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this);
}
@@ -148,7 +148,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @return Id representing the special "other" folder from bookmark model.
*/
@@ -1258,6 +1274,49 @@ public class BookmarkBridge {
@@ -1241,6 +1257,49 @@ public class BookmarkBridge {
mNativeBookmarkBridge, BookmarkBridge.this, title, url);
}
@@ -198,7 +198,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* @param url The URL of the reading list item.
* @return The reading list item with the URL, or null if no such reading list item.
@@ -1555,6 +1614,7 @@ public class BookmarkBridge {
@@ -1538,6 +1597,7 @@ public class BookmarkBridge {
void getAllFoldersWithDepths(long nativeBookmarkBridge, BookmarkBridge caller,
List<BookmarkId> folderList, List<Integer> depthList);
BookmarkId getRootFolderId(long nativeBookmarkBridge, BookmarkBridge caller);
@@ -209,7 +209,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
@@ -614,6 +614,7 @@ public class BookmarkUtils {
@@ -616,6 +616,7 @@ public class BookmarkUtils {
List<BookmarkId> topLevelFolders = new ArrayList<>();
BookmarkId desktopNodeId = bookmarkModel.getDesktopFolderId();
BookmarkId mobileNodeId = bookmarkModel.getMobileFolderId();
@@ -217,7 +217,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
BookmarkId othersNodeId = bookmarkModel.getOtherFolderId();
List<BookmarkId> specialFoldersIds =
@@ -639,6 +640,9 @@ public class BookmarkUtils {
@@ -641,6 +642,9 @@ public class BookmarkUtils {
if (bookmarkModel.isFolderVisible(mobileNodeId)) {
topLevelFolders.add(mobileNodeId);
}
@@ -230,7 +230,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
@@ -435,6 +435,11 @@ void BookmarkBridge::GetTopLevelFolderIDs(
@@ -436,6 +436,11 @@ void BookmarkBridge::GetTopLevelFolderIDs(
top_level_folders.push_back(node.get());
}
@@ -242,7 +242,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
for (const auto& node : bookmark_model_->bookmark_bar_node()->children()) {
if (node->is_folder())
top_level_folders.push_back(node.get());
@@ -482,6 +487,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
@@ -483,6 +488,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
// Vector to temporarily contain all child bookmarks at same level for sorting
std::vector<const BookmarkNode*> bookmarks = {
bookmark_model_->mobile_node(),
@@ -250,7 +250,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
bookmark_model_->bookmark_bar_node(),
bookmark_model_->other_node(),
};
@@ -534,6 +540,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId(
@@ -535,6 +541,17 @@ ScopedJavaLocalRef<jobject> BookmarkBridge::GetMobileFolderId(
return folder_id_obj;
}
@@ -350,7 +350,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3573,6 +3573,9 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3600,6 +3600,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>
@@ -394,7 +394,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
const char BookmarkCodec::kVersionKey[] = "version";
const char BookmarkCodec::kChecksumKey[] = "checksum";
const char BookmarkCodec::kIdKey[] = "id";
@@ -75,7 +76,8 @@ BookmarkCodec::~BookmarkCodec() = default;
@@ -76,7 +77,8 @@ BookmarkCodec::~BookmarkCodec() = default;
base::Value BookmarkCodec::Encode(BookmarkModel* model,
std::string sync_metadata_str) {
return Encode(model->bookmark_bar_node(), model->other_node(),
@@ -404,7 +404,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
std::move(sync_metadata_str));
}
@@ -83,6 +85,7 @@ base::Value BookmarkCodec::Encode(
@@ -84,6 +86,7 @@ base::Value BookmarkCodec::Encode(
const BookmarkNode* bookmark_bar_node,
const BookmarkNode* other_folder_node,
const BookmarkNode* mobile_folder_node,
@@ -412,7 +412,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
const BookmarkNode::MetaInfoMap* model_meta_info_map,
std::string sync_metadata_str) {
ids_reassigned_ = false;
@@ -104,6 +107,7 @@ base::Value BookmarkCodec::Encode(
@@ -105,6 +108,7 @@ base::Value BookmarkCodec::Encode(
roots.SetKey(kBookmarkBarFolderNameKey, EncodeNode(bookmark_bar_node));
roots.SetKey(kOtherBookmarkFolderNameKey, EncodeNode(other_folder_node));
roots.SetKey(kMobileBookmarkFolderNameKey, EncodeNode(mobile_folder_node));
@@ -420,7 +420,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
if (model_meta_info_map)
roots.SetKey(kMetaInfo, EncodeMetaInfo(*model_meta_info_map));
FinalizeChecksum();
@@ -120,6 +124,7 @@ bool BookmarkCodec::Decode(const base::Value& value,
@@ -121,6 +125,7 @@ bool BookmarkCodec::Decode(const base::Value& value,
BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node,
@@ -428,7 +428,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
int64_t* max_id,
std::string* sync_metadata_str) {
ids_.clear();
@@ -127,7 +132,8 @@ bool BookmarkCodec::Decode(const base::Value& value,
@@ -128,7 +133,8 @@ bool BookmarkCodec::Decode(const base::Value& value,
base::GUID::ParseLowercase(BookmarkNode::kBookmarkBarNodeGuid),
base::GUID::ParseLowercase(BookmarkNode::kOtherBookmarksNodeGuid),
base::GUID::ParseLowercase(BookmarkNode::kMobileBookmarksNodeGuid),
@@ -438,7 +438,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
ids_reassigned_ = false;
guids_reassigned_ = false;
ids_valid_ = true;
@@ -135,12 +141,13 @@ bool BookmarkCodec::Decode(const base::Value& value,
@@ -136,12 +142,13 @@ bool BookmarkCodec::Decode(const base::Value& value,
stored_checksum_.clear();
InitializeChecksum();
bool success = DecodeHelper(bb_node, other_folder_node, mobile_folder_node,
@@ -453,7 +453,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
*max_id = maximum_id_ + 1;
return success;
}
@@ -190,6 +197,7 @@ base::Value BookmarkCodec::EncodeMetaInfo(
@@ -194,6 +201,7 @@ base::Value BookmarkCodec::EncodeMetaInfo(
bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node,
@@ -461,7 +461,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
const base::Value& value,
std::string* sync_metadata_str) {
if (!value.is_dict())
@@ -221,6 +229,12 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
@@ -225,6 +233,12 @@ bool BookmarkCodec::DecodeHelper(BookmarkNode* bb_node,
return false;
DecodeNode(*bb_value, nullptr, bb_node);
@@ -474,7 +474,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.cc b/components/bookmar
DecodeNode(*other_folder_value, nullptr, other_folder_node);
DecodeNode(*mobile_folder_value, nullptr, mobile_folder_node);
@@ -456,11 +470,13 @@ void BookmarkCodec::DecodeMetaInfoHelper(
@@ -470,11 +484,13 @@ void BookmarkCodec::DecodeMetaInfoHelper(
void BookmarkCodec::ReassignIDs(BookmarkNode* bb_node,
BookmarkNode* other_node,
@@ -513,10 +513,10 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
// file. That string captures the bookmarks sync metadata.
static const char kSyncMetadata[];
+ static const char kTabsBookmarkFolderNameKey[];
static const char kDateLastUsed[];
// Possible values for kTypeKey.
static const char kTypeURL[];
@@ -121,6 +124,7 @@ class BookmarkCodec {
@@ -122,6 +125,7 @@ class BookmarkCodec {
bool DecodeHelper(BookmarkNode* bb_node,
BookmarkNode* other_folder_node,
BookmarkNode* mobile_folder_node,
@@ -524,7 +524,7 @@ diff --git a/components/bookmarks/browser/bookmark_codec.h b/components/bookmark
const base::Value& value,
std::string* sync_metadata_str);
@@ -132,7 +136,8 @@ class BookmarkCodec {
@@ -133,7 +137,8 @@ class BookmarkCodec {
// Reassigns bookmark IDs for all nodes.
void ReassignIDs(BookmarkNode* bb_node,
BookmarkNode* other_node,
@@ -570,7 +570,7 @@ diff --git a/components/bookmarks/browser/bookmark_load_details.h b/components/b
diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmarks/browser/bookmark_model.cc
--- a/components/bookmarks/browser/bookmark_model.cc
+++ b/components/bookmarks/browser/bookmark_model.cc
@@ -571,7 +571,7 @@ bool BookmarkModel::HasBookmarks() {
@@ -618,7 +618,7 @@ bool BookmarkModel::HasBookmarks() {
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return bookmark_bar_node_->children().empty() &&
@@ -579,7 +579,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
}
bool BookmarkModel::IsBookmarked(const GURL& url) {
@@ -825,6 +825,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
@@ -871,6 +871,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
bookmark_bar_node_ = details->bb_node();
other_node_ = details->other_folder_node();
mobile_node_ = details->mobile_folder_node();
@@ -603,7 +603,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmark
bool is_root_node(const BookmarkNode* node) const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return node == root_;
@@ -411,6 +417,7 @@ class BookmarkModel : public BookmarkUndoProvider,
@@ -426,6 +432,7 @@ class BookmarkModel : public BookmarkUndoProvider,
raw_ptr<BookmarkPermanentNode> bookmark_bar_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> other_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> mobile_node_ = nullptr;
@@ -662,7 +662,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
static const char kManagedNodeGuid[];
// A bug in sync caused some problematic GUIDs to be produced.
@@ -250,6 +252,9 @@ class BookmarkPermanentNode : public BookmarkNode {
@@ -256,6 +258,9 @@ class BookmarkPermanentNode : public BookmarkNode {
static std::unique_ptr<BookmarkPermanentNode> CreateMobileBookmarks(
int64_t id,
bool visible_when_empty);
@@ -688,7 +688,7 @@ diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks
diff --git a/components/sync_bookmarks/bookmark_specifics_conversions.cc b/components/sync_bookmarks/bookmark_specifics_conversions.cc
--- a/components/sync_bookmarks/bookmark_specifics_conversions.cc
+++ b/components/sync_bookmarks/bookmark_specifics_conversions.cc
@@ -419,6 +419,7 @@ sync_pb::BookmarkSpecifics::Type GetProtoTypeFromBookmarkNode(
@@ -441,6 +441,7 @@ sync_pb::BookmarkSpecifics::Type GetProtoTypeFromBookmarkNode(
case bookmarks::BookmarkNode::BOOKMARK_BAR:
case bookmarks::BookmarkNode::OTHER_NODE:
case bookmarks::BookmarkNode::MOBILE:
@@ -42,7 +42,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -2219,6 +2219,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2214,6 +2214,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
}
RecordUserAction.record("MobileMenuDownloadManager");
@@ -54,7 +54,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -2417,6 +2417,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2428,6 +2428,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true;
}
@@ -69,7 +69,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/AppMenuPropertiesDelegateImpl.java
@@ -527,6 +527,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -540,6 +540,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
isChromeScheme, isFileScheme, isContentScheme, isIncognito, url));
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isChromeScheme);
@@ -77,8 +77,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
updateAutoDarkMenuItem(menu, currentTab, isChromeScheme);
@@ -1157,6 +1158,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
stopPriceTrackingMenuItem.setVisible(false);
@@ -1170,6 +1171,19 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
stopPriceTrackingMenuItem.setVisible(false);
}
+ /**
@@ -1,191 +0,0 @@
From: Ari Chivukula <arichiv@chromium.org>
Date: Wed, 10 Aug 2022 23:41:51 +0000
Subject: Add new cache check function
Currently, if a.com is loaded and has a favicon at a.com/icon.png and
then b.com is loaded and has the exact same favicon, the cache entry is
shared which permits b.com to notice that a.com was visited. The end
goal of this task is to prevent cross-origin cache leaks.
This CL adds a new variant of GetFaviconIDForFaviconURL that filters
results by page origin. This will be used in UpdateFaviconMappingsAndFetch
in the next CL, but is just tested here.
This CL is part of a series:
(1) Cache browser test
(2) Add new cache check function
(3) Stop cross-origin cache hits
Bug: 1300214
Change-Id: Ic1513c63f0a09a32e3316d3569f0719990be833b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3822854
Reviewed-by: Scott Violet <sky@chromium.org>
Auto-Submit: Ari Chivukula <arichiv@chromium.org>
Commit-Queue: Ari Chivukula <arichiv@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1033779}
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
components/favicon/core/favicon_database.cc | 27 +++++++++
components/favicon/core/favicon_database.h | 20 ++++++-
.../favicon/core/favicon_database_unittest.cc | 60 +++++++++++++++++++
3 files changed, 104 insertions(+), 3 deletions(-)
diff --git a/components/favicon/core/favicon_database.cc b/components/favicon/core/favicon_database.cc
--- a/components/favicon/core/favicon_database.cc
+++ b/components/favicon/core/favicon_database.cc
@@ -29,6 +29,7 @@
#include "sql/statement.h"
#include "sql/transaction.h"
#include "third_party/sqlite/sqlite3.h"
+#include "url/origin.h"
#if BUILDFLAG(IS_APPLE)
#include "base/mac/backup_util.h"
@@ -666,6 +667,32 @@ bool FaviconDatabase::GetFaviconLastUpdatedTime(favicon_base::FaviconID icon_id,
return true;
}
+favicon_base::FaviconID FaviconDatabase::GetFaviconIDForFaviconURL(
+ const GURL& icon_url,
+ favicon_base::IconType icon_type,
+ const url::Origin& page_origin) {
+ // Look to see if there even is any relevant cached entry.
+ auto const icon_id = GetFaviconIDForFaviconURL(icon_url, icon_type);
+ if (!icon_id) {
+ return icon_id;
+ }
+
+ // Check existing mappings to see if any are for the same origin.
+ sql::Statement statement(db_.GetCachedStatement(
+ SQL_FROM_HERE, "SELECT page_url FROM icon_mapping WHERE icon_id=?"));
+ statement.BindInt64(0, icon_id);
+ while (statement.Step()) {
+ const auto candidate_origin =
+ url::Origin::Create(GURL(statement.ColumnString(0)));
+ if (candidate_origin == page_origin) {
+ return icon_id;
+ }
+ }
+
+ // Act as if there is no entry in the cache if no mapping exists.
+ return 0;
+}
+
favicon_base::FaviconID FaviconDatabase::GetFaviconIDForFaviconURL(
const GURL& icon_url,
favicon_base::IconType icon_type) {
diff --git a/components/favicon/core/favicon_database.h b/components/favicon/core/favicon_database.h
--- a/components/favicon/core/favicon_database.h
+++ b/components/favicon/core/favicon_database.h
@@ -22,6 +22,10 @@ class RefCountedMemory;
class Time;
} // namespace base
+namespace url {
+class Origin;
+} // namespace url
+
namespace favicon {
// The minimum number of days after which last_requested field gets updated.
@@ -146,9 +150,19 @@ class FaviconDatabase {
// Returns true if successful.
bool TouchOnDemandFavicon(const GURL& icon_url, base::Time time);
- // Returns the id of the entry in the favicon database with the specified url
- // and icon type.
- // Returns 0 if no entry exists for the specified url.
+ // Returns the id of the entry in the favicon database with the specified
+ // `icon_url` and `icon_type` that has an existing mapping to `page_origin`
+ // (and 0 if no entry exists). See crbug.com/1300214 for more context.
+ favicon_base::FaviconID GetFaviconIDForFaviconURL(
+ const GURL& icon_url,
+ favicon_base::IconType icon_type,
+ const url::Origin& page_origin);
+
+ // Returns the id of the entry in the favicon database with the specified
+ // `icon_url` and `icon_type` (and 0 if no entry exists). This function does
+ // not respect cross-origin partitioning and returns an entry from the cache
+ // without verifying it was stored for the origin requesting it. This can leak
+ // navigation history, see crbug.com/1300214 for more context.
favicon_base::FaviconID GetFaviconIDForFaviconURL(
const GURL& icon_url,
favicon_base::IconType icon_type);
diff --git a/components/favicon/core/favicon_database_unittest.cc b/components/favicon/core/favicon_database_unittest.cc
--- a/components/favicon/core/favicon_database_unittest.cc
+++ b/components/favicon/core/favicon_database_unittest.cc
@@ -25,6 +25,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/sqlite/sqlite3.h"
#include "url/gurl.h"
+#include "url/origin.h"
using testing::AllOf;
using testing::ElementsAre;
@@ -1447,4 +1448,63 @@ TEST_F(FaviconDatabaseTest, SetFaviconsOutOfDateBetween) {
EXPECT_EQ(base::Time(), GetLastUpdated(&db, icon3));
}
+// Test that GetFaviconIDForFaviconURL can filter by origin.
+TEST_F(FaviconDatabaseTest, GetFaviconIDForFaviconURLOriginFilter) {
+ // Setup DB with `kPageUrl1` mapped to `kIconUrl1`.
+ FaviconDatabase db;
+ ASSERT_EQ(sql::INIT_OK, db.Init(file_name_));
+ db.BeginTransaction();
+ scoped_refptr<base::RefCountedStaticMemory> favicon1(
+ new base::RefCountedStaticMemory(kBlob1, sizeof(kBlob1)));
+ const auto icon_id = db.AddFavicon(
+ kIconUrl1, favicon_base::IconType::kFavicon, favicon1,
+ FaviconBitmapType::ON_VISIT, base::Time::Now(), gfx::Size());
+ db.AddIconMapping(kPageUrl1, icon_id);
+ ASSERT_NE(0, icon_id);
+
+ // We should be able to find the `icon_id` via the non-filtered function.
+ auto icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon);
+ ASSERT_EQ(icon_id, icon_id_found);
+
+ // We should be able to find the `icon_id` via a the origin of `kPageUrl1`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl1));
+ ASSERT_EQ(icon_id, icon_id_found);
+
+ // We shouldn't be able to find the `icon_id` via a the origin of `kPageUrl2`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl2));
+ ASSERT_EQ(0, icon_id_found);
+
+ // We shouldn't be able to find the `icon_id` via a the origin of `kPageUrl3`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl3));
+ ASSERT_EQ(0, icon_id_found);
+
+ // If we map `kPageUrl2` then the situation changes.
+ db.AddIconMapping(kPageUrl2, icon_id);
+
+ // We should be able to find the `icon_id` via a the origin of `kPageUrl1`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl1));
+ ASSERT_EQ(icon_id, icon_id_found);
+
+ // We should be able to find the `icon_id` via a the origin of `kPageUrl2`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl2));
+ ASSERT_EQ(icon_id, icon_id_found);
+
+ // We shouldn't be able to find the `icon_id` via a the origin of `kPageUrl3`.
+ icon_id_found =
+ db.GetFaviconIDForFaviconURL(kIconUrl1, favicon_base::IconType::kFavicon,
+ url::Origin::Create(kPageUrl3));
+ ASSERT_EQ(0, icon_id_found);
+}
+
} // namespace favicon
--
2.25.1
@@ -50,7 +50,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -372,6 +372,7 @@ public final class ChromePreferenceKeys {
@@ -390,6 +390,7 @@ public final class ChromePreferenceKeys {
AccessibilityConstants.FONT_USER_SET_FORCE_ENABLE_ZOOM;
public static final String HISTORY_SHOW_HISTORY_INFO = "history_home_show_info";
@@ -85,7 +85,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1433,6 +1433,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_PRIVACY_REVIEW_SB_ENHANCED_ITEM_SEVEN" desc="Seventh bullet point that describes the details of the Safe Browsing control.">
<message name="IDS_PRIVACY_GUIDE_SB_ENHANCED_ITEM_SEVEN" desc="Seventh bullet point that describes the details of the Safe Browsing control.">
Temporarily links this data to your Google Account when youre signed in, to protect you across Google apps
</message>
+ <message name="IDS_FORCE_TABLET_UI_SUMMARY" desc="Summary of the preference that allows the user to force chromium to use tablet UI.">
@@ -100,10 +100,10 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
@@ -109,22 +109,6 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
public void setToolbar(Toolbar toolbar, boolean isIncognito) {
@@ -119,22 +119,6 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
mToolbar = toolbar;
mToolbarContainer.setToolbar(mToolbar);
mToolbarContainer.setPostInitializationDependencies(
mToolbar, constraintsSupplier, tabSupplier);
-
- View toolbarView = findViewById(R.id.toolbar);
- assert toolbarView != null;
@@ -135,7 +135,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
disallowed_extension_deps_ = [
# Components should largely not depend on //extensions. Since // extensions
# is not a component target and is linked with //chrome, depending on most
@@ -663,7 +663,7 @@ test("components_unittests") {
@@ -667,7 +667,7 @@ test("components_unittests") {
# On other platforms, no components should depend on Chrome.
# Since //chrome depends on //extensions, we also only assert_no_deps on
# extensions targets for non-lacros builds.
@@ -144,7 +144,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
assert_no_deps = [ "//chrome/*" ]
assert_no_deps += disallowed_extension_deps_
}
@@ -950,7 +950,7 @@ if (!is_ios) {
@@ -955,7 +955,7 @@ if (!is_ios) {
# dependency. On other platforms, no components should depend on Chrome.
# Since //chrome depends on //extensions, we also only assert_no_deps on
# extensions targets for non-lacros builds.
@@ -217,7 +217,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn
--- a/ui/android/BUILD.gn
+++ b/ui/android/BUILD.gn
@@ -369,6 +369,8 @@ android_library("ui_no_recycler_view_java") {
@@ -370,6 +370,8 @@ android_library("ui_no_recycler_view_java") {
deps = [
":ui_java_resources",
":ui_utils_java",
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -42,6 +42,11 @@
@@ -43,6 +43,11 @@
android:title="@string/incognito_settings_title"
android:summary="@string/incognito_settings_summary"
android:fragment="org.chromium.chrome.browser.privacy.settings.IncognitoSettings"/>
@@ -36,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.base.IntentUtils;
import org.chromium.base.Log;
import org.chromium.base.MemoryPressureListener;
@@ -1317,8 +1318,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1312,8 +1313,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
boolean hadCipherData =
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
@@ -59,7 +59,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import android.os.Bundle;
import android.text.SpannableString;
import android.view.Menu;
@@ -16,6 +17,8 @@ import androidx.preference.Preference;
@@ -15,6 +16,8 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat;
@@ -68,16 +68,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.chrome.R;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -57,6 +60,8 @@ public class PrivacySettings
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
@@ -54,6 +57,8 @@ public class PrivacySettings
private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
+ private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
+
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
private ViewGroup mDialogContainer;
@@ -128,7 +133,11 @@ public class PrivacySettings
@@ -115,7 +120,11 @@ public class PrivacySettings
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@@ -90,7 +90,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
@@ -169,6 +178,11 @@ public class PrivacySettings
@@ -156,6 +165,11 @@ public class PrivacySettings
PreloadPagesSettingsFragment.getPreloadPagesSummaryString(getContext()));
}
@@ -105,7 +105,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -4437,6 +4437,12 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4475,6 +4475,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>
@@ -134,7 +134,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -383,6 +383,7 @@ public final class ChromePreferenceKeys {
@@ -401,6 +401,7 @@ public final class ChromePreferenceKeys {
public static final String HOMEPAGE_PARTNER_CUSTOMIZED_DEFAULT_GURL =
"Chrome.Homepage.PartnerCustomizedDefaultGurl";
@@ -195,7 +195,7 @@ diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -373,6 +373,7 @@ extern const char kSettingsShowOSBanner[];
@@ -380,6 +380,7 @@ extern const char kRestrictedManagedGuestSessionExtensionCleanupExemptList[];
extern const char kUsedPolicyCertificates[];
#endif // BUILDFLAG(IS_CHROMEOS)
extern const char kShowHomeButton[];
+7 -7
View File
@@ -29,7 +29,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#include "components/shared_highlighting/core/common/shared_highlighting_features.h"
#include "components/signin/core/browser/dice_account_reconcilor_delegate.h"
#include "components/signin/public/base/signin_buildflags.h"
@@ -8669,6 +8670,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8768,6 +8769,11 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kSearchReadyOmniboxDescription, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kSearchReadyOmniboxFeature)},
@@ -44,9 +44,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -3221,6 +3221,11 @@ const char kReduceUserAgentPlatformOsCpuDescription[] =
"The platform and oscpu in the User-Agent string will be reported as "
"<unifiedPlatform>";
@@ -3283,6 +3283,11 @@ const char kSkipServiceWorkerFetchHandlerDescription[] =
"Skips starting the service worker and run the fetch handler if the fetch "
"handler is recognized as skippable.";
+const char kSiteEngagementName[] =
+ "Enable site engagement feature";
@@ -59,9 +59,9 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1825,6 +1825,9 @@ extern const char kReduceUserAgentMinorVersionDescription[];
extern const char kReduceUserAgentPlatformOsCpuName[];
extern const char kReduceUserAgentPlatformOsCpuDescription[];
@@ -1862,6 +1862,9 @@ extern const char kReduceUserAgentPlatformOsCpuDescription[];
extern const char kSkipServiceWorkerFetchHandlerName[];
extern const char kSkipServiceWorkerFetchHandlerDescription[];
+extern const char kSiteEngagementName[];
+extern const char kSiteEngagementDescription[];
+6 -6
View File
@@ -38,7 +38,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
--- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -79,6 +79,9 @@ android_library("java") {
@@ -82,6 +82,9 @@ android_library("java") {
"java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java",
"java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java",
]
@@ -222,7 +222,7 @@ diff --git a/components/components_strings.grd b/components/components_strings.g
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -679,6 +679,20 @@ void ContentSettingsRegistry::Init() {
@@ -682,6 +682,20 @@ void ContentSettingsRegistry::Init() {
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
ContentSettingsInfo::PERSISTENT,
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
@@ -232,7 +232,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
+ AllowlistedSchemes(),
+ ValidSettings(CONTENT_SETTING_ALLOW,
+ CONTENT_SETTING_BLOCK),
+ WebsiteSettingsInfo::SINGLE_ORIGIN_WITH_EMBEDDED_EXCEPTIONS_SCOPE,
+ WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
+ WebsiteSettingsRegistry::PLATFORM_ANDROID,
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
+ ContentSettingsInfo::PERSISTENT,
@@ -258,7 +258,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc
--- a/components/content_settings/core/common/content_settings.cc
+++ b/components/content_settings/core/common/content_settings.cc
@@ -205,7 +205,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
@@ -206,7 +206,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
content_type == ContentSettingsType::AUTOPLAY ||
content_type == ContentSettingsType::MIXEDSCRIPT ||
content_type == ContentSettingsType::AUTO_DARK_WEB_CONTENT ||
@@ -268,7 +268,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
}
void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
@@ -217,6 +218,7 @@ void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
@@ -218,6 +219,7 @@ void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
FilterRulesForType(auto_dark_content_rules, outermost_main_frame_url);
FilterRulesForType(timezone_override_rules, outermost_main_frame_url);
FilterRulesForType(autoplay_rules, outermost_main_frame_url);
@@ -492,7 +492,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
@@ -1808,6 +1808,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
@@ -1920,6 +1920,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
DOMArrayBufferView* pixels,
int64_t offset);
+16 -8
View File
@@ -25,15 +25,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../renderer/content_settings_agent_impl.cc | 9 ++
.../renderer/content_settings_agent_impl.h | 1 +
.../platform/web_content_settings_client.h | 2 +
.../peer_connection_dependency_factory.cc | 5 ++
19 files changed, 160 insertions(+), 4 deletions(-)
.../peer_connection_dependency_factory.cc | 6 ++
19 files changed, 161 insertions(+), 4 deletions(-)
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteWebRTCContentSetting.java
create mode 100644 components/browser_ui/strings/android/webrtc.grdp
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
--- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -82,6 +82,9 @@ android_library("java") {
@@ -85,6 +85,9 @@ android_library("java") {
sources += [
"java/src/org/chromium/components/browser_ui/site_settings/BromiteWebGLContentSetting.java",
]
@@ -218,7 +218,7 @@ diff --git a/components/components_strings.grd b/components/components_strings.g
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -693,6 +693,20 @@ void ContentSettingsRegistry::Init() {
@@ -696,6 +696,20 @@ void ContentSettingsRegistry::Init() {
/*show_into_info_page*/ true,
/*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_WEBGL,
/*permission_type_ui_mid_sentence*/ IDS_SITE_SETTINGS_TYPE_WEBGL_MID_SENTENCE);
@@ -228,7 +228,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
+ AllowlistedSchemes(),
+ ValidSettings(CONTENT_SETTING_ALLOW,
+ CONTENT_SETTING_BLOCK),
+ WebsiteSettingsInfo::SINGLE_ORIGIN_WITH_EMBEDDED_EXCEPTIONS_SCOPE,
+ WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
+ WebsiteSettingsRegistry::PLATFORM_ANDROID,
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
+ ContentSettingsInfo::PERSISTENT,
@@ -254,7 +254,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
diff --git a/components/content_settings/core/common/content_settings.cc b/components/content_settings/core/common/content_settings.cc
--- a/components/content_settings/core/common/content_settings.cc
+++ b/components/content_settings/core/common/content_settings.cc
@@ -206,7 +206,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
@@ -207,7 +207,8 @@ bool RendererContentSettingRules::IsRendererContentSetting(
content_type == ContentSettingsType::MIXEDSCRIPT ||
content_type == ContentSettingsType::AUTO_DARK_WEB_CONTENT ||
content_type == ContentSettingsType::TIMEZONE_OVERRIDE ||
@@ -264,7 +264,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
}
void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
@@ -219,6 +220,7 @@ void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
@@ -220,6 +221,7 @@ void RendererContentSettingRules::FilterRulesByOutermostMainFrameURL(
FilterRulesForType(timezone_override_rules, outermost_main_frame_url);
FilterRulesForType(autoplay_rules, outermost_main_frame_url);
FilterRulesForType(webgl_rules, outermost_main_frame_url);
@@ -377,7 +377,15 @@ diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/t
diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
@@ -758,6 +758,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
@@ -33,6 +33,7 @@
#include "third_party/blink/public/common/peerconnection/webrtc_ip_handling_policy.h"
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
#include "third_party/blink/public/platform/platform.h"
+#include "third_party/blink/public/platform/web_content_settings_client.h"
#include "third_party/blink/public/platform/web_url.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_video_source.h"
#include "third_party/blink/public/web/web_document.h"
@@ -767,6 +768,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
// origin.
WebRTCIPHandlingPolicy policy =
GetWebRTCIPHandlingPolicy(webrtc_ip_handling_policy);
@@ -174,7 +174,7 @@ diff --git a/content/browser/net/reporting_service_proxy.cc b/content/browser/ne
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -12081,12 +12081,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
@@ -12143,12 +12143,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
base::Value::Dict body;
if (!reason.empty())
body.Set("reason", reason);
@@ -236,7 +236,7 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic
diff --git a/services/network/network_context.h b/services/network/network_context.h
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
@@ -454,10 +454,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -459,10 +459,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
const absl::optional<base::UnguessableToken>& reporting_source,
const net::NetworkIsolationKey& network_isolation_key,
const absl::optional<std::string>& user_agent,
@@ -247,12 +247,12 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
- const net::NetworkIsolationKey& network_isolation_key) override;
+ const net::NetworkIsolationKey& network_isolation_key);
void AddDomainReliabilityContextForTesting(
const GURL& origin,
const url::Origin& origin,
const GURL& upload_url,
diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn
--- a/services/network/public/mojom/BUILD.gn
+++ b/services/network/public/mojom/BUILD.gn
@@ -965,7 +965,6 @@ mojom("mojom") {
@@ -1011,7 +1011,6 @@ mojom("mojom") {
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/blink/public/platform/web_common.h"
if (enable_reporting) {
@@ -263,7 +263,7 @@ diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mo
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
--- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom
@@ -1059,6 +1059,7 @@ interface NetworkContext {
@@ -1062,6 +1062,7 @@ interface NetworkContext {
// provided |network_isolation_key|.
//
// Spec: https://w3c.github.io/reporting/#concept-reports
@@ -271,7 +271,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
QueueReport(string type,
string group,
url.mojom.Url url,
@@ -1072,6 +1073,7 @@ interface NetworkContext {
@@ -1075,6 +1076,7 @@ interface NetworkContext {
// Note that this queued report will never be delivered if no reporting
// endpoint matching is registered for with the provided
// |network_isolation_key|.
@@ -290,7 +290,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
#include "services/data_decoder/public/mojom/resource_snapshot_for_web_bundle.mojom-blink.h"
#include "services/network/public/cpp/features.h"
#include "services/network/public/mojom/content_security_policy.mojom-blink.h"
@@ -2382,9 +2383,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
@@ -2359,9 +2360,11 @@ const base::UnguessableToken& LocalFrame::GetAgentClusterId() const {
return base::UnguessableToken::Null();
}
@@ -316,7 +316,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b
#include "services/device/public/mojom/device_posture_provider.mojom-blink-forward.h"
#include "services/network/public/mojom/fetch_api.mojom-blink-forward.h"
#include "third_party/blink/public/common/frame/frame_ad_evidence.h"
@@ -576,9 +576,9 @@ class CORE_EXPORT LocalFrame final
@@ -585,9 +585,9 @@ class CORE_EXPORT LocalFrame final
}
SmoothScrollSequencer& GetSmoothScrollSequencer();
@@ -10,9 +10,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -496,8 +496,8 @@ const base::Feature kConditionalTabStripAndroid{
const base::Feature kCastDeviceFilter{"CastDeviceFilter",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -501,8 +501,8 @@ const base::Feature kCastDeviceFilter{"CastDeviceFilter",
const base::Feature kClearOmniboxFocusAfterNavigation{
"ClearOmniboxFocusAfterNavigation", base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kCloseTabSuggestions{"CloseTabSuggestions",
- base::FEATURE_DISABLED_BY_DEFAULT};
File diff suppressed because one or more lines are too long
@@ -47,7 +47,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
@@ -386,6 +386,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
@@ -392,6 +392,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space);
HeapObserverSet<ContextLifecycleObserver>& ContextLifecycleObserverSet();
@@ -69,7 +69,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.cc
@@ -528,6 +528,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
@@ -548,6 +548,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
return should_block_request;
}
@@ -99,14 +99,14 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/third_party/blink/renderer/core/loader/frame_fetch_context.h
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h
@@ -166,6 +166,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
@@ -168,6 +168,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override;
std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle()
override;
+ bool ShouldBlockGateWayAttacks(network::mojom::IPAddressSpace requestor_space, const KURL&) const override;
bool ShouldBlockFetchByMixedContentCheck(
mojom::blink::RequestContextType request_context,
const absl::optional<ResourceRequest::RedirectInfo>& redirect_info,
network::mojom::blink::IPAddressSpace target_address_space,
diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.cc b/third_party/blink/renderer/core/loader/worker_fetch_context.cc
--- a/third_party/blink/renderer/core/loader/worker_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/worker_fetch_context.cc
@@ -155,7 +155,7 @@ diff --git a/third_party/blink/renderer/core/loader/worker_fetch_context.h b/thi
+ bool ShouldBlockGateWayAttacks(network::mojom::IPAddressSpace requestor_space, const KURL&) const override;
bool ShouldBlockFetchByMixedContentCheck(
mojom::blink::RequestContextType request_context,
const absl::optional<ResourceRequest::RedirectInfo>& redirect_info,
network::mojom::blink::IPAddressSpace target_address_space,
diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
--- a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
+++ b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
@@ -108,7 +108,7 @@ diff --git a/components/url_formatter/url_fixer.cc b/components/url_formatter/ur
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc
--- a/content/browser/child_process_security_policy_impl.cc
+++ b/content/browser/child_process_security_policy_impl.cc
@@ -755,6 +755,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
@@ -756,6 +756,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
RegisterPseudoScheme(url::kJavaScriptScheme);
RegisterPseudoScheme(kViewSourceScheme);
RegisterPseudoScheme(kGoogleChromeScheme);
@@ -119,7 +119,7 @@ diff --git a/content/browser/child_process_security_policy_impl.cc b/content/bro
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1020,6 +1020,8 @@ component("net") {
@@ -1025,6 +1025,8 @@ component("net") {
"url_request/url_request_http_job.cc",
"url_request/url_request_http_job.h",
"url_request/url_request_interceptor.cc",
@@ -29,7 +29,7 @@ diff --git a/chrome/android/java/res/menu/bookmark_action_bar_menu.xml b/chrome/
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkActionBar.java
@@ -31,6 +31,7 @@ import org.chromium.content_public.browser.LoadUrlParams;
@@ -32,6 +32,7 @@ import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.url.GURL;
import java.util.List;
@@ -37,7 +37,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/**
* Main action bar of bookmark UI. It is responsible for displaying title and buttons
@@ -136,6 +137,17 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -137,6 +138,17 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
new TabDelegate(true), mDelegate.getModel());
selectionDelegate.clearSelection();
return true;
@@ -55,7 +55,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
}
assert false : "Unhandled menu click.";
@@ -145,6 +157,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -146,6 +158,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
void showLoadingUi() {
setTitle(null);
setNavigationButton(NAVIGATION_BUTTON_NONE);
@@ -63,7 +63,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.import_menu_id).setVisible(false);
getMenu().findItem(R.id.export_menu_id).setVisible(false);
getMenu().findItem(R.id.search_menu_id).setVisible(false);
@@ -156,6 +169,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -157,6 +170,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
super.showNormalView();
if (mDelegate == null) {
@@ -71,7 +71,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
getMenu().findItem(R.id.import_menu_id).setVisible(false);
getMenu().findItem(R.id.export_menu_id).setVisible(false);
getMenu().findItem(R.id.search_menu_id).setVisible(false);
@@ -187,6 +201,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@@ -188,6 +202,7 @@ public class BookmarkActionBar extends SelectableListToolbar<BookmarkId>
@Override
public void onFolderStateSet(BookmarkId folder) {
mCurrentFolder = mDelegate.getModel().getBookmarkById(folder);
@@ -62,7 +62,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -361,6 +361,7 @@ android_library("chrome_java") {
@@ -371,6 +371,7 @@ android_library("chrome_java") {
"//chrome/browser/download/android:java",
"//chrome/browser/download/android:java_resources",
"//chrome/browser/enterprise/util:java",
@@ -81,7 +81,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
"java/res/layout/auto_sign_in_first_run_dialog.xml",
"java/res/layout/autofill_billing_address_dropdown.xml",
"java/res/layout/autofill_card_unmask_prompt.xml",
@@ -645,6 +646,7 @@ chrome_java_resources = [
@@ -647,6 +648,7 @@ chrome_java_resources = [
"java/res/values/values.xml",
"java/res/xml/about_chrome_preferences.xml",
"java/res/xml/account_management_preferences.xml",
@@ -92,7 +92,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -899,6 +899,8 @@ chrome_java_sources = [
@@ -903,6 +903,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",
@@ -423,7 +423,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
@@ -693,7 +693,7 @@ public class TabModelImpl extends TabModelJniBridge {
@@ -705,7 +705,7 @@ public class TabModelImpl extends TabModelJniBridge {
protected boolean createTabWithWebContents(
Tab parent, Profile profile, WebContents webContents) {
return getTabCreator(profile.isOffTheRecord())
@@ -435,7 +435,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -12074,6 +12074,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
@@ -12179,6 +12179,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
Never show this again.
</message>
@@ -506,7 +506,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -1077,6 +1077,26 @@ BrowserProcessImpl::component_updater() {
@@ -1078,6 +1078,26 @@ BrowserProcessImpl::component_updater() {
return component_updater_.get();
}
@@ -544,7 +544,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
MediaFileSystemRegistry* media_file_system_registry() override;
WebRtcLogUploader* webrtc_log_uploader() override;
network_time::NetworkTimeTracker* network_time_tracker() override;
@@ -372,6 +373,7 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -375,6 +376,7 @@ class BrowserProcessImpl : public BrowserProcess,
// to concerns over integrity of data shared between profiles,
// but some users of component updater only install per-user.
std::unique_ptr<component_updater::ComponentUpdateService> component_updater_;
@@ -555,7 +555,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
--- a/chrome/browser/chrome_browser_main.cc
+++ b/chrome/browser/chrome_browser_main.cc
@@ -1746,6 +1746,9 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1728,6 +1728,9 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// will be initialized when the app enters foreground mode.
variations_service->set_policy_pref_service(profile->GetPrefs());
@@ -593,7 +593,7 @@ diff --git a/chrome/browser/flags/android/cached_feature_flags.cc b/chrome/brows
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
@@ -267,6 +267,14 @@ public class CachedFeatureFlags {
@@ -271,6 +271,14 @@ public class CachedFeatureFlags {
ChromeFeatureList.isEnabled(ChromeFeatureList.BACKGROUND_THREAD_POOL));
}
@@ -608,7 +608,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
/**
* Caches flags that must take effect on startup but are set via native code.
*/
@@ -513,5 +521,7 @@ public class CachedFeatureFlags {
@@ -517,5 +525,7 @@ public class CachedFeatureFlags {
@NativeMethods
interface Natives {
boolean isNetworkServiceWarmUpEnabled();
@@ -619,7 +619,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
--- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc
@@ -449,6 +449,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
@@ -454,6 +454,8 @@ SystemNetworkContextManager::SystemNetworkContextManager(
ssl_config_service_manager_(local_state_),
proxy_config_monitor_(local_state_),
stub_resolver_config_reader_(local_state_) {
@@ -628,7 +628,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
#if !BUILDFLAG(IS_ANDROID)
// QuicAllowed was not part of Android policy.
const base::Value* value =
@@ -529,6 +531,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
@@ -532,6 +534,8 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
StubResolverConfigReader::RegisterPrefs(registry);
@@ -678,7 +678,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc
--- a/chrome/common/pref_names.cc
+++ b/chrome/common/pref_names.cc
@@ -2306,6 +2306,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
@@ -2338,6 +2338,9 @@ const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
// capture devices without prompt.
const char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls";
@@ -702,7 +702,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp
--- a/components/browser_ui/strings/android/site_settings.grdp
+++ b/components/browser_ui/strings/android/site_settings.grdp
@@ -262,8 +262,8 @@
@@ -271,8 +271,8 @@
<message name="IDS_INTRUSIVE_ADS_INFORMATION" desc="The extra information at the top of the Site Details page when the site tends to show intrusive ads">
This site shows intrusive or misleading ads
</message>
@@ -1485,7 +1485,7 @@ new file mode 100644
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
--- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
+++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.cc
@@ -666,6 +666,17 @@ ContentSubresourceFilterThrottleManager::
@@ -667,6 +667,17 @@ ContentSubresourceFilterThrottleManager::
throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
ad_tagging_state);
}
@@ -1854,7 +1854,7 @@ diff --git a/components/subresource_filter/core/common/indexed_ruleset.cc b/comp
diff --git a/content/browser/renderer_host/navigation_throttle_runner.cc b/content/browser/renderer_host/navigation_throttle_runner.cc
--- a/content/browser/renderer_host/navigation_throttle_runner.cc
+++ b/content/browser/renderer_host/navigation_throttle_runner.cc
@@ -182,11 +182,6 @@ void NavigationThrottleRunner::RegisterNavigationThrottles() {
@@ -190,11 +190,6 @@ void NavigationThrottleRunner::RegisterNavigationThrottles() {
// wait for the JS task that starts the navigation to finish, so add it close
// to the end to not delay running other throttles.
AddThrottle(RendererCancellationThrottle::MaybeCreateThrottleFor(request));
+33 -33
View File
@@ -49,7 +49,7 @@ diff --git a/build/android/java/templates/BuildConfig.template b/build/android/j
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
--- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni
@@ -2153,6 +2153,9 @@ if (enable_java_templates) {
@@ -2182,6 +2182,9 @@ if (enable_java_templates) {
if (defined(testonly) && testonly) {
defines += [ "_IS_FOR_TEST" ]
}
@@ -62,7 +62,7 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -802,6 +802,9 @@ chrome_java_sources = [
@@ -809,6 +809,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",
@@ -728,7 +728,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/UpdateSta
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java b/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java
@@ -42,7 +42,8 @@ public class VersionNumberGetter {
@@ -48,7 +48,8 @@ public class VersionNumberGetter {
private static VersionNumberGetter sInstanceForTests;
/** If false, OmahaClient will never report that a newer version is available. */
@@ -1250,7 +1250,7 @@ new file mode 100644
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -261,6 +261,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -253,6 +253,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kNewWindowAppMenu,
&kNotificationPermissionVariant,
&kPageAnnotationsService,
@@ -1258,34 +1258,34 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kBookmarksImprovedSaveFlow,
&kBookmarksRefresh,
&kBackGestureRefactorAndroid,
@@ -709,6 +710,9 @@ const base::Feature kIncognitoReauthenticationForAndroid{
@@ -676,6 +677,9 @@ const base::Feature kIncognitoReauthenticationForAndroid{
const base::Feature kIncognitoScreenshot{"IncognitoScreenshot",
base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kInlineUpdateFlow{"InlineUpdateFlow",
+ base::FEATURE_ENABLED_BY_DEFAULT};
+
const base::Feature kInstantStart{"InstantStart",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kInfobarScrollOptimization{
"InfobarScrollOptimization", 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
@@ -103,6 +103,7 @@ extern const base::Feature kGridTabSwitcherForTablets;
@@ -92,6 +92,7 @@ extern const base::Feature kGridTabSwitcherForTablets;
extern const base::Feature kHandleMediaIntents;
extern const base::Feature kImmersiveUiMode;
extern const base::Feature kIncognitoReauthenticationForAndroid;
+extern const base::Feature kInlineUpdateFlow;
extern const base::Feature kIncognitoScreenshot;
extern const base::Feature kInfobarScrollOptimization;
extern const base::Feature kImprovedA2HS;
extern const base::Feature kInstanceSwitcher;
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -379,6 +379,7 @@ public abstract class ChromeFeatureList {
public static final String INCOGNITO_REAUTHENTICATION_FOR_ANDROID =
"IncognitoReauthenticationForAndroid";
public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot";
public static final String INFOBAR_SCROLL_OPTIMIZATION = "InfobarScrollOptimization";
+ public static final String INLINE_UPDATE_FLOW = "InlineUpdateFlow";
public static final String INSTALLABLE_AMBIENT_BADGE_INFOBAR = "InstallableAmbientBadgeInfoBar";
public static final String INSTALLABLE_AMBIENT_BADGE_MESSAGE = "InstallableAmbientBadgeMessage";
@@ -1306,7 +1306,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Account management UI strings. -->
<message name="IDS_ACCOUNT_MANAGEMENT_TITLE" desc="Header title for the account management screen. [CHAR_LIMIT=32]">
@@ -3492,7 +3498,10 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3519,7 +3525,10 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<!-- Main menu items -->
<message name="IDS_MENU_UPDATE" desc="Menu item for updating chrome. [CHAR_LIMIT=24]">
@@ -1318,7 +1318,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
</message>
<message name="IDS_MENU_UPDATE_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that a newer version of Chrome is available. [CHAR_LIMIT=30]">
Newer version is available
@@ -3503,6 +3512,18 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -3530,6 +3539,18 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<message name="IDS_MENU_UPDATE_UNSUPPORTED_SUMMARY_DEFAULT" desc="Summary string for update menu item explaining that the Android version on the device is unsupported. [CHAR_LIMIT=30]">
Android version is unsupported
</message>
@@ -1340,9 +1340,9 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoint_fetcher/endpoint_fetcher.cc
--- a/components/endpoint_fetcher/endpoint_fetcher.cc
+++ b/components/endpoint_fetcher/endpoint_fetcher.cc
@@ -15,6 +15,11 @@
#include "services/network/public/cpp/shared_url_loader_factory.h"
@@ -17,6 +17,11 @@
#include "services/network/public/cpp/simple_url_loader.h"
#include "services/network/public/mojom/url_response_head.mojom.h"
+// used for the Bromite customization
+#include "net/base/load_flags.h"
@@ -1352,7 +1352,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
namespace {
const char kContentTypeKey[] = "Content-Type";
const char kDeveloperKey[] = "X-Developer-Key";
@@ -59,6 +64,7 @@ EndpointFetcher::EndpointFetcher(
@@ -61,6 +66,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
@@ -1360,7 +1360,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
post_data_(post_data),
headers_(headers),
annotation_tag_(annotation_tag),
@@ -76,6 +82,7 @@ EndpointFetcher::EndpointFetcher(
@@ -78,6 +84,7 @@ EndpointFetcher::EndpointFetcher(
http_method_("GET"),
content_type_(std::string()),
timeout_ms_(0),
@@ -1368,7 +1368,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
post_data_(std::string()),
annotation_tag_(annotation_tag),
url_loader_factory_(url_loader_factory),
@@ -99,6 +106,7 @@ EndpointFetcher::EndpointFetcher(
@@ -101,6 +108,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
@@ -1376,7 +1376,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
post_data_(post_data),
annotation_tag_(annotation_tag),
url_loader_factory_(url_loader_factory),
@@ -125,6 +133,7 @@ EndpointFetcher::EndpointFetcher(
@@ -127,6 +135,7 @@ EndpointFetcher::EndpointFetcher(
http_method_(http_method),
content_type_(content_type),
timeout_ms_(timeout_ms),
@@ -1384,7 +1384,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
post_data_(post_data),
headers_(headers),
cors_exempt_headers_(cors_exempt_headers),
@@ -136,10 +145,28 @@ EndpointFetcher::EndpointFetcher(
@@ -138,10 +147,28 @@ EndpointFetcher::EndpointFetcher(
EndpointFetcher::EndpointFetcher(
const net::NetworkTrafficAnnotationTag& annotation_tag)
: timeout_ms_(kDefaultTimeOutMs),
@@ -1413,7 +1413,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
EndpointFetcher::~EndpointFetcher() = default;
void EndpointFetcher::Fetch(EndpointFetcherCallback endpoint_fetcher_callback) {
@@ -192,6 +219,8 @@ void EndpointFetcher::PerformRequest(
@@ -198,6 +225,8 @@ void EndpointFetcher::PerformRequest(
resource_request->method = http_method_;
resource_request->url = url_;
resource_request->credentials_mode = network::mojom::CredentialsMode::kOmit;
@@ -1422,7 +1422,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
if (base::EqualsCaseInsensitiveASCII(http_method_, "POST")) {
resource_request->headers.SetHeader(kContentTypeKey, content_type_);
}
@@ -222,25 +251,52 @@ void EndpointFetcher::PerformRequest(
@@ -228,25 +257,52 @@ void EndpointFetcher::PerformRequest(
default:
break;
}
@@ -1481,7 +1481,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
}
void EndpointFetcher::OnResponseFetched(
@@ -293,3 +349,37 @@ void EndpointFetcher::OnSanitizationResult(
@@ -315,3 +371,37 @@ void EndpointFetcher::OnSanitizationResult(
std::string EndpointFetcher::GetUrlForTesting() {
return url_.spec();
}
@@ -1522,25 +1522,25 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoint_fetcher/endpoint_fetcher.h
--- a/components/endpoint_fetcher/endpoint_fetcher.h
+++ b/components/endpoint_fetcher/endpoint_fetcher.h
@@ -15,6 +15,8 @@
#include "components/signin/public/identity_manager/scope_set.h"
@@ -16,6 +16,8 @@
#include "net/traffic_annotation/network_traffic_annotation.h"
#include "services/data_decoder/public/cpp/json_sanitizer.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
+#include "services/network/public/cpp/resource_request.h"
+#include "services/network/public/mojom/url_response_head.mojom.h"
namespace network {
struct ResourceRequest;
@@ -31,6 +33,8 @@ class GURL;
@@ -38,6 +40,8 @@ enum class FetchErrorType {
struct EndpointResponse {
std::string response;
+ long last_modified;
+ std::string redirect_url;
// TODO(crbug.com/993393) Add more detailed error messaging
int http_status_code{-1};
absl::optional<FetchErrorType> error_type;
};
@@ -82,6 +86,14 @@ class EndpointFetcher {
@@ -90,6 +94,14 @@ class EndpointFetcher {
const GURL& url,
const net::NetworkTrafficAnnotationTag& annotation_tag);
@@ -1555,9 +1555,9 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
// Used for tests. Can be used if caller constructs their own
// url_loader_factory and identity_manager.
EndpointFetcher(
@@ -135,6 +147,10 @@ class EndpointFetcher {
std::unique_ptr<std::string> response_body);
void OnSanitizationResult(EndpointFetcherCallback endpoint_fetcher_callback,
@@ -144,6 +156,10 @@ class EndpointFetcher {
void OnSanitizationResult(std::unique_ptr<EndpointResponse> response,
EndpointFetcherCallback endpoint_fetcher_callback,
data_decoder::JsonSanitizer::Result result);
+ void OnURLLoadComplete(scoped_refptr<net::HttpResponseHeaders> headers);
+ void OnSimpleLoaderRedirect(const net::RedirectInfo& redirect_info,
@@ -1566,7 +1566,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
enum AuthType { CHROME_API_KEY, OAUTH, NO_AUTH };
AuthType auth_type_;
@@ -142,10 +158,11 @@ class EndpointFetcher {
@@ -151,10 +167,11 @@ class EndpointFetcher {
// Members set in constructor to be passed to network::ResourceRequest or
// network::SimpleURLLoader.
const std::string oauth_consumer_name_;
@@ -1579,7 +1579,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
const std::string post_data_;
const std::vector<std::string> headers_;
const std::vector<std::string> cors_exempt_headers_;
@@ -163,6 +180,9 @@ class EndpointFetcher {
@@ -172,6 +189,9 @@ class EndpointFetcher {
access_token_fetcher_;
std::unique_ptr<network::SimpleURLLoader> simple_url_loader_;
+6 -19
View File
@@ -8,7 +8,6 @@ use Google Chrome branding for client hints
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/prefs/browser_prefs.cc | 2 +-
components/embedder_support/user_agent_utils.cc | 4 +---
content/browser/client_hints/client_hints.cc | 3 ++-
content/browser/loader/navigation_url_loader_impl.cc | 5 +++++
@@ -19,24 +18,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
third_party/blink/common/client_hints/client_hints.cc | 1 +
.../blink/common/client_hints/enabled_client_hints.cc | 4 +++-
third_party/blink/common/features.cc | 4 ++--
11 files changed, 20 insertions(+), 19 deletions(-)
10 files changed, 19 insertions(+), 18 deletions(-)
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -793,7 +793,7 @@ void RegisterLocalStatePrefsForMigration(PrefRegistrySimple* registry) {
registry->RegisterListPref(prefs::kUsedPolicyCertificates);
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
- registry->RegisterBooleanPref(kUserAgentClientHintsEnabled, true);
+ registry->RegisterBooleanPref(kUserAgentClientHintsEnabled, false);
registry->RegisterBooleanPref(kCloudPolicyOverridesPlatformPolicy, false);
diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
--- a/components/embedder_support/user_agent_utils.cc
+++ b/components/embedder_support/user_agent_utils.cc
@@ -253,9 +253,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList(
@@ -265,9 +265,7 @@ const blink::UserAgentBrandList GetUserAgentBrandList(
bool parse_result = base::StringToInt(major_version, &major_version_number);
DCHECK(parse_result);
absl::optional<std::string> brand;
@@ -50,7 +37,7 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/client_hints/client_hints.cc
--- a/content/browser/client_hints/client_hints.cc
+++ b/content/browser/client_hints/client_hints.cc
@@ -433,7 +433,8 @@ void AddPrefersColorSchemeHeader(net::HttpRequestHeaders* headers,
@@ -435,7 +435,8 @@ void AddPrefersColorSchemeHeader(net::HttpRequestHeaders* headers,
is_dark_mode ? "dark" : "light");
}
@@ -63,7 +50,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie
diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/browser/loader/navigation_url_loader_impl.cc
--- a/content/browser/loader/navigation_url_loader_impl.cc
+++ b/content/browser/loader/navigation_url_loader_impl.cc
@@ -1034,6 +1034,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
@@ -1030,6 +1030,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
return;
}
@@ -173,7 +160,7 @@ diff --git a/third_party/blink/common/client_hints/enabled_client_hints.cc b/thi
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -162,7 +162,7 @@ const base::Feature kMixedContentAutoupgrade{"AutoupgradeMixedContent",
@@ -222,7 +222,7 @@ const base::Feature kMixedContentAutoupgrade{"AutoupgradeMixedContent",
// Enables User-Agent Client Hints
const base::Feature kUserAgentClientHint{"UserAgentClientHint",
@@ -182,7 +169,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
// Handle prefers-color-scheme user preference media feature via client hints.
const base::Feature kPrefersColorSchemeClientHintHeader{
@@ -542,7 +542,7 @@ const base::Feature kAudioWorkletThreadRealtimePriority{
@@ -606,7 +606,7 @@ const base::Feature kAudioWorkletThreadRealtimePriority{
const base::Feature kLightweightNoStatePrefetch {
"LightweightNoStatePrefetch",
#if BUILDFLAG(IS_ANDROID)
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../BromiteCustomContentSettingImpl.java | 270 ++++++++++++++++++
.../BromiteCustomContentSetting_README.md | 151 ++++++++++
.../ContentSettingsResources.java | 13 +-
.../site_settings/SingleCategorySettings.java | 28 +-
.../site_settings/SingleCategorySettings.java | 30 +-
.../site_settings/SingleWebsiteSettings.java | 24 +-
.../site_settings/SiteSettings.java | 3 +-
.../site_settings/SiteSettingsCategory.java | 9 +-
@@ -33,7 +33,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../android/page_info_controller_android.cc | 18 ++
components/page_info/page_info.cc | 23 +-
components/page_info/page_info_ui.cc | 18 ++
23 files changed, 731 insertions(+), 28 deletions(-)
23 files changed, 733 insertions(+), 28 deletions(-)
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting_README.md
@@ -41,7 +41,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
--- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -75,6 +75,10 @@ android_library("java") {
@@ -78,6 +78,10 @@ android_library("java") {
"java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java",
"java/src/org/chromium/components/browser_ui/site_settings/TimezoneOverrideSiteSettingsPreference.java"
]
@@ -307,7 +307,7 @@ new file mode 100644
+ BrowserContextHandle browserContextHandle,
+ Preference preference, Object newValue) {
+ for (BromiteCustomContentSetting cs : mItemList) {
+ if (!category.showSites(cs.getSiteSettingsCategory())) {
+ if (category.getType() != cs.getSiteSettingsCategory()) {
+ continue;
+ }
+
@@ -340,7 +340,7 @@ new file mode 100644
+
+ public static @Nullable Boolean considerException(SiteSettingsCategory category, @ContentSettingValues int value) {
+ for (BromiteCustomContentSetting cs : mItemList) {
+ if (category.showSites(cs.getSiteSettingsCategory())) {
+ if (category.getType() == cs.getSiteSettingsCategory()) {
+ return cs.considerException(category, value);
+ }
+ }
@@ -349,7 +349,7 @@ new file mode 100644
+
+ public static int getAddExceptionDialogMessage(SiteSettingsCategory category) {
+ for (BromiteCustomContentSetting cs : mItemList) {
+ if (category.showSites(cs.getSiteSettingsCategory())) {
+ if (category.getType() == cs.getSiteSettingsCategory()) {
+ return cs.getAddExceptionDialogMessage();
+ }
+ }
@@ -358,7 +358,7 @@ new file mode 100644
+
+ public static @Nullable Boolean allowSpecifyingExceptions(SiteSettingsCategory category) {
+ for (BromiteCustomContentSetting cs : mItemList) {
+ if (category.showSites(cs.getSiteSettingsCategory())) {
+ if (category.getType() == cs.getSiteSettingsCategory()) {
+ return cs.isExceptionAllowed();
+ }
+ }
@@ -667,16 +667,18 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
@@ -235,6 +235,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
else
return ContentSettingValues.BLOCK == contentSetting;
}
+ if (BromiteCustomContentSettingImpl.processOnBlockList(contentSetting, contentSetting))
+ return BromiteCustomContentSettingImpl.isOnBlockList(contentSetting, website, contentSetting);
}
return false;
}
@@ -384,6 +386,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -236,6 +236,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@ContentSettingValues
Integer contentSetting = website.site().getContentSetting(
browserContextHandle, mCategory.getContentSettingsType());
+ if (contentSetting != null &&
+ BromiteCustomContentSettingImpl.processOnBlockList(contentSetting, contentSetting)) {
+ return BromiteCustomContentSettingImpl.isOnBlockList(contentSetting, website, contentSetting);
+ }
if (contentSetting != null) {
if (mCategory.getContentSettingsType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
return ContentSettingValues.ALLOW != contentSetting;
@@ -391,6 +395,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS))
: null;
@@ -684,7 +686,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
configureGlobalToggles();
setHasOptionsMenu(true);
@@ -483,6 +486,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -490,6 +495,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
BrowserContextHandle browserContextHandle =
getSiteSettingsDelegate().getBrowserContextHandle();
PrefService prefService = UserPrefs.get(browserContextHandle);
@@ -696,8 +698,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (BINARY_TOGGLE_KEY.equals(preference.getKey())) {
assert !mCategory.isManaged();
@@ -638,6 +646,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
} else if (mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE)) {
@@ -645,6 +655,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
} else if (mCategory.getType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
resource = R.string.website_settings_category_timezone_override_allowed;
}
+ if (resource == 0)
@@ -705,9 +707,9 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
assert resource > 0;
return getString(resource);
}
@@ -750,6 +760,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -757,6 +769,9 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
allowSpecifyingExceptions = true;
} else if (mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE)) {
} else if (mCategory.getType() == SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
allowSpecifyingExceptions = true;
+ } else {
+ Boolean allow = BromiteCustomContentSettingImpl.allowSpecifyingExceptions(mCategory);
@@ -715,7 +717,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
if (allowSpecifyingExceptions) {
getPreferenceScreen().addPreference(new AddExceptionPreference(getStyledContext(),
@@ -921,6 +934,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -928,6 +943,10 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
TriStateSiteSettingsPreference triStateToggle =
(TriStateSiteSettingsPreference) getPreferenceScreen().findPreference(
TRI_STATE_TOGGLE_KEY);
@@ -726,15 +728,15 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (triStateToggle != null)
return (triStateToggle.getCheckedSetting() == ContentSettingValues.BLOCK);
@@ -999,6 +1016,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
if (!(mCategory.showSites(SiteSettingsCategory.Type.TIMEZONE_OVERRIDE))) {
@@ -1006,6 +1025,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
if (mCategory.getType() != SiteSettingsCategory.Type.TIMEZONE_OVERRIDE) {
screen.removePreference(screen.findPreference(TIMEOVERRIDE_INFO_TEXT));
}
+ BromiteCustomContentSettingImpl.configureGlobalToggles(mCategory, screen);
if (permissionBlockedByOs) {
maybeShowOsWarning(screen);
@@ -1125,7 +1143,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -1132,7 +1152,7 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
getSiteSettingsDelegate().getBrowserContextHandle(), contentType);
int[] descriptionIds =
ContentSettingsResources.getTriStateSettingDescriptionIDs(contentType);
@@ -743,7 +745,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
private void configureTimeOverrideStateToggle(
@@ -1236,6 +1254,14 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -1243,6 +1263,14 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@ContentSettingValues
Integer value = site.getContentSetting(browserContextHandle, contentSettingsType);
@@ -788,7 +790,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
Preference preference = new ChromeSwitchPreference(getStyledContext());
preference.setKey(getPreferenceKey(type));
@@ -899,16 +901,22 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -905,16 +907,22 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
private void setupContentSettingsPreference(Preference preference,
@ContentSettingValues @Nullable Integer value, boolean isEmbargoed) {
@@ -816,7 +818,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
switchPreference.setOnPreferenceChangeListener(this);
@ContentSettingsType
int contentType = getContentSettingsTypeFromPreferenceKey(preference.getKey());
@@ -1157,7 +1165,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -1163,7 +1171,7 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
}
mSite.setContentSetting(browserContextHandle, type, permission);
@@ -974,7 +976,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
#if BUILDFLAG(IS_ANDROID)
#include "media/base/android/media_drm_bridge.h"
@@ -690,7 +692,10 @@ void ContentSettingsRegistry::Register(
@@ -693,7 +695,10 @@ void ContentSettingsRegistry::Register(
Platforms platforms,
ContentSettingsInfo::IncognitoBehavior incognito_behavior,
ContentSettingsInfo::StorageBehavior storage_behavior,
@@ -986,7 +988,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
// Ensure that nothing has been registered yet for the given type.
DCHECK(!website_settings_registry_->Get(type));
@@ -699,7 +704,9 @@ void ContentSettingsRegistry::Register(
@@ -702,7 +707,9 @@ void ContentSettingsRegistry::Register(
website_settings_registry_->Register(
type, name, std::move(default_value), sync_status,
WebsiteSettingsInfo::NOT_LOSSY, scoping_type, platforms,
@@ -1042,7 +1044,7 @@ diff --git a/components/content_settings/core/browser/website_settings_info.cc b
diff --git a/components/content_settings/core/browser/website_settings_info.h b/components/content_settings/core/browser/website_settings_info.h
--- a/components/content_settings/core/browser/website_settings_info.h
+++ b/components/content_settings/core/browser/website_settings_info.h
@@ -69,7 +69,10 @@ class WebsiteSettingsInfo {
@@ -88,7 +88,10 @@ class WebsiteSettingsInfo {
SyncStatus sync_status,
LossyStatus lossy_status,
ScopingType scoping_type,
@@ -1054,7 +1056,7 @@ diff --git a/components/content_settings/core/browser/website_settings_info.h b/
WebsiteSettingsInfo(const WebsiteSettingsInfo&) = delete;
WebsiteSettingsInfo& operator=(const WebsiteSettingsInfo&) = delete;
@@ -94,6 +97,10 @@ class WebsiteSettingsInfo {
@@ -113,6 +116,10 @@ class WebsiteSettingsInfo {
ScopingType scoping_type() const { return scoping_type_; }
IncognitoBehavior incognito_behavior() const { return incognito_behavior_; }
@@ -1065,7 +1067,7 @@ diff --git a/components/content_settings/core/browser/website_settings_info.h b/
private:
const ContentSettingsType type_;
const std::string name_;
@@ -105,6 +112,9 @@ class WebsiteSettingsInfo {
@@ -124,6 +131,9 @@ class WebsiteSettingsInfo {
const LossyStatus lossy_status_;
const ScopingType scoping_type_;
const IncognitoBehavior incognito_behavior_;
@@ -1179,7 +1181,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
#include "components/content_settings/core/browser/content_settings_registry.h"
#include "components/content_settings/core/browser/content_settings_utils.h"
#include "components/content_settings/core/browser/host_content_settings_map.h"
@@ -162,6 +163,15 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info,
@@ -163,6 +164,15 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info,
return true;
}
@@ -1195,7 +1197,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
const bool is_incognito = web_contents->GetBrowserContext()->IsOffTheRecord();
#if BUILDFLAG(IS_ANDROID)
// Special geolocation DSE settings apply only on Android, so make sure it
@@ -1037,7 +1047,18 @@ void PageInfo::PresentSitePermissions() {
@@ -1066,7 +1076,18 @@ void PageInfo::PresentSitePermissions() {
PermissionInfo permission_info;
HostContentSettingsMap* content_settings = GetContentSettings();
DCHECK(web_contents_);
@@ -1226,7 +1228,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
#include "components/omnibox/common/omnibox_features.h"
#include "components/page_info/core/features.h"
#include "components/page_info/page_info_ui_delegate.h"
@@ -563,6 +564,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
@@ -569,6 +570,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
if (info.type == type)
return l10n_util::GetStringUTF16(info.string_id);
}
@@ -1239,7 +1241,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
NOTREACHED();
return std::u16string();
}
@@ -574,6 +581,12 @@ std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence(
@@ -580,6 +587,12 @@ std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence(
if (info.type == type)
return l10n_util::GetStringUTF16(info.string_id_mid_sentence);
}
@@ -1252,7 +1254,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
NOTREACHED();
return std::u16string();
}
@@ -958,6 +971,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
@@ -967,6 +980,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
if (info.type == type)
return true;
}
@@ -964,7 +964,7 @@ new file mode 100644
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
@@ -214,8 +214,7 @@ public abstract class UrlBar extends AutocompleteEditText {
@@ -215,8 +215,7 @@ public abstract class UrlBar extends AutocompleteEditText {
// the first draw.
setFocusable(false);
setFocusableInTouchMode(false);
+14 -14
View File
@@ -22,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -369,7 +369,6 @@ android_library("chrome_java") {
@@ -379,7 +379,6 @@ android_library("chrome_java") {
"//chrome/browser/first_run/android:java",
"//chrome/browser/flags:java",
"//chrome/browser/fullscreen/android:java",
@@ -30,7 +30,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//chrome/browser/history_clusters:java",
"//chrome/browser/history_clusters:java_resources",
"//chrome/browser/image_descriptions:java",
@@ -998,7 +997,6 @@ robolectric_binary("chrome_junit_tests") {
@@ -1010,7 +1009,6 @@ robolectric_binary("chrome_junit_tests") {
"//chrome/browser/flags:flags_junit_tests",
"//chrome/browser/flags:java",
"//chrome/browser/fullscreen/android:java",
@@ -38,7 +38,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//chrome/browser/history_clusters:java",
"//chrome/browser/image_descriptions:java",
"//chrome/browser/image_editor/public:java",
@@ -1516,7 +1514,6 @@ android_library("chrome_test_java") {
@@ -1529,7 +1527,6 @@ android_library("chrome_test_java") {
"//chrome/browser/first_run/android:java",
"//chrome/browser/flags:java",
"//chrome/browser/fullscreen/android:java",
@@ -68,7 +68,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator;
import org.chromium.chrome.browser.profiles.Profile;
@@ -246,8 +245,6 @@ public class IntentHandler {
@@ -255,8 +254,6 @@ public class IntentHandler {
private static int sReferrerId;
private static String sPendingIncognitoUrl;
@@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
private static final String PACKAGE_GMAIL = "com.google.android.gm";
private static final String PACKAGE_PLUS = "com.google.android.apps.plus";
private static final String PACKAGE_HANGOUTS = "com.google.android.talk";
@@ -477,8 +474,6 @@ public class IntentHandler {
@@ -486,8 +483,6 @@ public class IntentHandler {
return ExternalAppId.LINE;
} else if (packageName.equals(PACKAGE_WHATSAPP)) {
return ExternalAppId.WHATSAPP;
@@ -100,7 +100,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.history.HistoryManagerUtils;
import org.chromium.chrome.browser.init.AsyncInitializationActivity;
import org.chromium.chrome.browser.init.ProcessInitializationHandler;
@@ -370,8 +366,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -371,8 +367,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
private LaunchCauseMetrics mLaunchCauseMetrics;
@@ -109,7 +109,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
// TODO(972867): Pull MenuOrKeyboardActionController out of ChromeActivity.
private List<MenuOrKeyboardActionController.MenuOrKeyboardActionHandler> mMenuActionHandlers =
new ArrayList<>();
@@ -1159,10 +1153,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1166,10 +1160,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@Override
public void onStopWithNative() {
@@ -120,7 +120,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
super.onStopWithNative();
}
@@ -1251,23 +1241,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -1260,23 +1250,6 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
FontSizePrefs.getInstance(Profile.getLastUsedRegularProfile())
.recordUserFontPrefOnStartup();
});
@@ -196,7 +196,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
@@ -359,14 +359,6 @@ public class ProcessInitializationHandler {
@@ -358,14 +358,6 @@ public class ProcessInitializationHandler {
}
});
@@ -262,8 +262,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/share/LensUtils
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -688,7 +688,7 @@ const base::Feature kDynamicColorButtonsAndroid{
"DynamicColorButtonsAndroid", base::FEATURE_ENABLED_BY_DEFAULT};
@@ -655,7 +655,7 @@ const base::Feature kDuetTabStripIntegrationAndroid{
"DuetTabStripIntegrationAndroid", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kExperimentsForAgsa{"ExperimentsForAgsa",
- base::FEATURE_ENABLED_BY_DEFAULT};
@@ -274,7 +274,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
@@ -72,7 +72,7 @@ public class CachedFeatureFlags {
@@ -71,7 +71,7 @@ public class CachedFeatureFlags {
.put(ChromeFeatureList.EARLY_LIBRARY_LOAD, true)
.put(ChromeFeatureList.ELASTIC_OVERSCROLL, true)
.put(ChromeFeatureList.ELIDE_PRIORITIZATION_OF_PRE_NATIVE_BOOTSTRAP_TASKS, true)
@@ -286,7 +286,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn
--- a/chrome/browser/ui/android/omnibox/BUILD.gn
+++ b/chrome/browser/ui/android/omnibox/BUILD.gn
@@ -140,7 +140,6 @@ android_library("java") {
@@ -142,7 +142,6 @@ android_library("java") {
"//chrome/browser/device:java",
"//chrome/browser/feature_engagement:java",
"//chrome/browser/flags:java",
@@ -294,7 +294,7 @@ diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/andr
"//chrome/browser/history_clusters:java",
"//chrome/browser/language/android:java",
"//chrome/browser/lens:java",
@@ -425,7 +424,6 @@ robolectric_library("junit") {
@@ -428,7 +427,6 @@ robolectric_library("junit") {
"//chrome/browser/commerce/merchant_viewer/android:java",
"//chrome/browser/device:java",
"//chrome/browser/flags:java",
@@ -58,7 +58,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
--- a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
@@ -947,6 +947,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
@@ -829,6 +829,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
structure.setChildCount(0);
return;
}
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -748,7 +748,7 @@ const base::Feature kMediaDrmPersistentLicense{
@@ -746,7 +746,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",
@@ -14,16 +14,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../privacy/settings/PrivacySettings.java | 22 ------------
.../browser/chrome_content_browser_client.cc | 3 ++
.../history/core/browser/history_backend.cc | 13 +------
.../history/core/browser/history_service.cc | 2 +-
.../privacy_sandbox/privacy_sandbox_prefs.cc | 2 +-
.../privacy_sandbox_settings.cc | 35 +++++++++++--------
.../privacy_sandbox_settings.h | 1 -
8 files changed, 26 insertions(+), 56 deletions(-)
7 files changed, 25 insertions(+), 55 deletions(-)
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -65,10 +65,6 @@
@@ -66,10 +66,6 @@
android:title="@string/open_external_links_incognito_title"
android:summary="@string/open_external_links_incognito_summary"
android:defaultValue="false" />
@@ -37,15 +36,15 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -61,7 +61,6 @@ public class PrivacySettings
@@ -58,7 +58,6 @@ public class PrivacySettings
private static final String PREF_SECURE_DNS = "secure_dns";
private static final String PREF_DO_NOT_TRACK = "do_not_track";
private static final String PREF_CLEAR_BROWSING_DATA = "clear_browsing_data";
- private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_PRIVACY_REVIEW = "privacy_review";
private static final String PREF_PRIVACY_GUIDE = "privacy_guide";
private static final String PREF_INCOGNITO_LOCK = "incognito_lock";
@@ -91,21 +90,6 @@ public class PrivacySettings
@@ -86,21 +85,6 @@ public class PrivacySettings
SettingsUtils.addPreferencesFromResource(this, R.xml.privacy_preferences);
getActivity().setTitle(R.string.prefs_privacy_security);
@@ -64,10 +63,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
- });
- }
-
Preference privacyReviewPreference = findPreference(PREF_PRIVACY_REVIEW);
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_REVIEW)) {
getPreferenceScreen().removePreference(privacyReviewPreference);
@@ -233,12 +217,6 @@ public class PrivacySettings
Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE);
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.PRIVACY_GUIDE)) {
getPreferenceScreen().removePreference(privacyGuidePreference);
@@ -220,12 +204,6 @@ public class PrivacySettings
secureDnsPref.setSummary(SecureDnsSettings.getSummary(getContext()));
}
@@ -83,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -2976,6 +2976,9 @@ bool ChromeContentBrowserClient::IsConversionMeasurementOperationAllowed(
@@ -2982,6 +2982,9 @@ bool ChromeContentBrowserClient::IsConversionMeasurementOperationAllowed(
const url::Origin* impression_origin,
const url::Origin* conversion_origin,
const url::Origin* reporting_origin) {
@@ -96,7 +95,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc
--- a/components/history/core/browser/history_backend.cc
+++ b/components/history/core/browser/history_backend.cc
@@ -490,18 +490,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
@@ -493,18 +493,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
if (!visit_id)
return;
@@ -116,22 +115,10 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his
ScheduleCommit();
}
diff --git a/components/history/core/browser/history_service.cc b/components/history/core/browser/history_service.cc
--- a/components/history/core/browser/history_service.cc
+++ b/components/history/core/browser/history_service.cc
@@ -393,7 +393,7 @@ void HistoryService::AddPage(const GURL& url,
AddPage(HistoryAddPageArgs(
url, time, context_id, nav_entry_id, referrer, redirects, transition,
!ui::PageTransitionIsMainFrame(transition), visit_source,
- did_replace_entry, /*consider_for_ntp_most_visited=*/true, floc_allowed));
+ did_replace_entry, /*consider_for_ntp_most_visited=*/true, /*floc_allowed*/false));
}
void HistoryService::AddPage(const GURL& url,
diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/privacy_sandbox/privacy_sandbox_prefs.cc
--- a/components/privacy_sandbox/privacy_sandbox_prefs.cc
+++ b/components/privacy_sandbox/privacy_sandbox_prefs.cc
@@ -60,7 +60,7 @@ namespace privacy_sandbox {
@@ -66,7 +66,7 @@ namespace privacy_sandbox {
void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
@@ -195,7 +182,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
DictionaryPrefUpdate scoped_pref_update(
pref_service_, prefs::kPrivacySandboxFledgeJoinBlocked);
auto* pref_data = scoped_pref_update.Get();
@@ -328,7 +329,9 @@ bool PrivacySandboxSettings::IsSharedStorageAllowed(
@@ -335,7 +336,9 @@ bool PrivacySandboxSettings::IsPrivateAggregationAllowed(
top_frame_origin);
}
@@ -206,7 +193,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
// If the delegate is restricting access the Privacy Sandbox is disabled.
if (delegate_->IsPrivacySandboxRestricted())
return false;
@@ -343,7 +346,7 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
@@ -350,7 +353,7 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
// settings is available.
if (base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3)) {
// For Privacy Sandbox Settings 3, APIs are disabled in incognito.
@@ -215,7 +202,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
return false;
if (should_override_setting_for_local_testing) {
@@ -361,7 +364,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
@@ -368,7 +371,8 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabled() const {
return pref_service_->GetBoolean(prefs::kPrivacySandboxApisEnabled);
}
@@ -225,7 +212,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
// Only apply the decision to the appropriate preference.
if (base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3)) {
pref_service_->SetBoolean(prefs::kPrivacySandboxApisEnabledV2, enabled);
@@ -370,7 +374,8 @@ void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) {
@@ -377,7 +381,8 @@ void PrivacySandboxSettings::SetPrivacySandboxEnabled(bool enabled) {
}
}
@@ -235,8 +222,8 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
// The PrivacySandboxSettings is only involved in Trust Token access
// decisions when the Release 3 flag is enabled.
if (!base::FeatureList::IsEnabled(privacy_sandbox::kPrivacySandboxSettings3))
@@ -424,9 +429,9 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabledForContext(
top_frame_origin);
@@ -432,9 +437,9 @@ bool PrivacySandboxSettings::IsPrivacySandboxEnabledForContext(
content_settings::CookieSettings::QueryReason::kPrivacySandbox);
}
-void PrivacySandboxSettings::SetTopicsDataAccessibleFromNow() const {
@@ -251,7 +238,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings.cc b/components
diff --git a/components/privacy_sandbox/privacy_sandbox_settings.h b/components/privacy_sandbox/privacy_sandbox_settings.h
--- a/components/privacy_sandbox/privacy_sandbox_settings.h
+++ b/components/privacy_sandbox/privacy_sandbox_settings.h
@@ -215,7 +215,6 @@ class PrivacySandboxSettings : public KeyedService {
@@ -221,7 +221,6 @@ class PrivacySandboxSettings : public KeyedService {
scoped_refptr<content_settings::CookieSettings> cookie_settings_;
raw_ptr<PrefService> pref_service_;
PrefChangeRegistrar pref_change_registrar_;
+2 -2
View File
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -445,8 +445,8 @@ const base::Feature kHaTSDesktopDevToolsIssuesCSP{
@@ -439,8 +439,8 @@ const base::Feature kHaTSDesktopDevToolsIssuesCSP{
// Enables or disables the Happiness Tracking System for Desktop Privacy Guide.
const base::Feature kHappinessTrackingSurveysForDesktopPrivacyGuide{
@@ -21,7 +21,7 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
const base::FeatureParam<base::TimeDelta>
kHappinessTrackingSurveysForDesktopPrivacyGuideTime{
&kHappinessTrackingSurveysForDesktopPrivacyGuide, "settings-time",
@@ -759,11 +759,11 @@ const base::Feature kPrefixWebAppWindowsWithAppName{
@@ -761,11 +761,11 @@ const base::Feature kPrefixWebAppWindowsWithAppName{
const base::Feature kPrerenderFallbackToPreconnect{
"PrerenderFallbackToPreconnect", base::FEATURE_ENABLED_BY_DEFAULT};
+9 -9
View File
@@ -39,7 +39,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -4747,6 +4747,12 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4806,6 +4806,12 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-tls13-early-data", flag_descriptions::kEnableTLS13EarlyDataName,
flag_descriptions::kEnableTLS13EarlyDataDescription, kOsAll,
FEATURE_VALUE_TYPE(net::features::kEnableTLS13EarlyData)},
@@ -55,7 +55,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1023,6 +1023,14 @@ const char kEnableTLS13EarlyDataDescription[] =
@@ -1035,6 +1035,14 @@ const char kEnableTLS13EarlyDataDescription[] =
"during the handshake when resuming a connection to a compatible TLS 1.3 "
"server.";
@@ -73,7 +73,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -586,6 +586,12 @@ extern const char kEnablePreinstalledWebAppDuplicationFixerDescription[];
@@ -596,6 +596,12 @@ extern const char kEnablePreinstalledWebAppDuplicationFixerDescription[];
extern const char kEnableTLS13EarlyDataName[];
extern const char kEnableTLS13EarlyDataDescription[];
@@ -89,7 +89,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -111,6 +111,12 @@ const base::Feature kUseDnsHttpsSvcbAlpn{"UseDnsHttpsSvcbAlpn",
@@ -108,6 +108,12 @@ const base::Feature kUseDnsHttpsSvcbAlpn{"UseDnsHttpsSvcbAlpn",
const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -105,7 +105,7 @@ diff --git a/net/base/features.cc b/net/base/features.cc
diff --git a/net/base/features.h b/net/base/features.h
--- a/net/base/features.h
+++ b/net/base/features.h
@@ -174,6 +174,12 @@ NET_EXPORT extern const base::Feature kUseDnsHttpsSvcbAlpn;
@@ -170,6 +170,12 @@ NET_EXPORT extern const base::Feature kUseDnsHttpsSvcbAlpn;
// Enables TLS 1.3 early data.
NET_EXPORT extern const base::Feature kEnableTLS13EarlyData;
@@ -121,7 +121,7 @@ diff --git a/net/base/features.h b/net/base/features.h
diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
--- a/net/http/http_network_session.cc
+++ b/net/http/http_network_session.cc
@@ -206,6 +206,7 @@ HttpNetworkSession::HttpNetworkSession(const HttpNetworkSessionParams& params,
@@ -212,6 +212,7 @@ HttpNetworkSession::HttpNetworkSession(const HttpNetworkSessionParams& params,
next_protos_.push_back(kProtoHTTP11);
@@ -132,7 +132,7 @@ diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
--- a/net/quic/quic_stream_factory.cc
+++ b/net/quic/quic_stream_factory.cc
@@ -73,6 +73,7 @@
@@ -74,6 +74,7 @@
#include "net/third_party/quiche/src/quiche/quic/core/quic_utils.h"
#include "net/third_party/quiche/src/quiche/quic/platform/api/quic_flags.h"
#include "third_party/boringssl/src/include/openssl/aead.h"
@@ -140,7 +140,7 @@ diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
#include "url/gurl.h"
#include "url/scheme_host_port.h"
#include "url/url_constants.h"
@@ -248,6 +249,38 @@ quic::ParsedQuicVersion SelectQuicVersion(
@@ -247,6 +248,38 @@ quic::ParsedQuicVersion SelectQuicVersion(
} // namespace
@@ -179,7 +179,7 @@ diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
// Refcounted class that owns quic::QuicCryptoClientConfig and tracks how many
// consumers are using it currently. When the last reference is freed, the
// QuicCryptoClientConfigHandle informs the owning QuicStreamFactory, moves it
@@ -2244,7 +2277,7 @@ QuicStreamFactory::CreateCryptoConfigHandle(
@@ -2242,7 +2275,7 @@ QuicStreamFactory::CreateCryptoConfigHandle(
sct_auditing_delegate_,
HostsFromOrigins(params_.origins_to_force_quic_on),
actual_network_isolation_key),
+22 -14
View File
@@ -14,15 +14,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../core/prediction_model_download_manager.cc | 6 +++--
.../core/prediction_model_fetcher_impl.cc | 1 +
components/optimization_guide/features.gni | 4 +---
components/permissions/features.cc | 2 +-
components/permissions/features.cc | 8 +++----
.../segmentation_platform/public/features.cc | 2 +-
third_party/blink/common/features.cc | 2 +-
12 files changed, 30 insertions(+), 24 deletions(-)
12 files changed, 33 insertions(+), 27 deletions(-)
diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/browser/optimization_guide/chrome_hints_manager.cc
--- a/chrome/browser/optimization_guide/chrome_hints_manager.cc
+++ b/chrome/browser/optimization_guide/chrome_hints_manager.cc
@@ -29,6 +29,7 @@ bool IsAllowedToFetchForNavigationPrediction(
@@ -26,6 +26,7 @@ bool IsAllowedToFetchForNavigationPrediction(
const absl::optional<NavigationPredictorKeyedService::Prediction>
prediction) {
DCHECK(prediction);
@@ -33,7 +33,7 @@ diff --git a/chrome/browser/optimization_guide/chrome_hints_manager.cc b/chrome/
diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
--- a/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
+++ b/chrome/browser/optimization_guide/optimization_guide_keyed_service.cc
@@ -354,7 +354,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
@@ -361,7 +361,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
void OptimizationGuideKeyedService::RegisterOptimizationTypes(
const std::vector<optimization_guide::proto::OptimizationType>&
optimization_types) {
@@ -44,7 +44,7 @@ diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -726,8 +726,8 @@ const base::Feature kPermissionAuditing{"PermissionAuditing",
@@ -728,8 +728,8 @@ const base::Feature kPermissionAuditing{"PermissionAuditing",
// Enables using the prediction service for permission prompts. We will keep
// this feature in order to allow us to update the holdback chance via finch.
@@ -55,7 +55,7 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
// The holdback chance is 30% but it can also be configured/updated
// through finch if needed.
@@ -738,7 +738,7 @@ const base::FeatureParam<double> kPermissionPredictionsHoldbackChance(
@@ -740,7 +740,7 @@ const base::FeatureParam<double> kPermissionPredictionsHoldbackChance(
// Enables using the prediction service for geolocation permission prompts.
const base::Feature kPermissionGeolocationPredictions{
@@ -67,7 +67,7 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/optimization_guide/core/hints_fetcher.cc
--- a/components/optimization_guide/core/hints_fetcher.cc
+++ b/components/optimization_guide/core/hints_fetcher.cc
@@ -175,6 +175,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints(
@@ -176,6 +176,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints(
optimization_guide::proto::RequestContext request_context,
const std::string& locale,
HintsFetchedCallback hints_fetched_callback) {
@@ -78,7 +78,7 @@ diff --git a/components/optimization_guide/core/hints_fetcher.cc b/components/op
diff --git a/components/optimization_guide/core/hints_manager.cc b/components/optimization_guide/core/hints_manager.cc
--- a/components/optimization_guide/core/hints_manager.cc
+++ b/components/optimization_guide/core/hints_manager.cc
@@ -348,6 +348,7 @@ void HintsManager::Shutdown() {
@@ -361,6 +361,7 @@ void HintsManager::Shutdown() {
OptimizationGuideDecision
HintsManager::GetOptimizationGuideDecisionFromOptimizationTypeDecision(
OptimizationTypeDecision optimization_type_decision) {
@@ -86,7 +86,7 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op
switch (optimization_type_decision) {
case OptimizationTypeDecision::kAllowedByOptimizationFilter:
case OptimizationTypeDecision::kAllowedByHint:
@@ -1239,6 +1240,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
@@ -1272,6 +1273,9 @@ OptimizationTypeDecision HintsManager::CanApplyOptimization(
proto::OptimizationType optimization_type,
OptimizationMetadata* optimization_metadata) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -238,12 +238,20 @@ diff --git a/components/optimization_guide/features.gni b/components/optimizatio
diff --git a/components/permissions/features.cc b/components/permissions/features.cc
--- a/components/permissions/features.cc
+++ b/components/permissions/features.cc
@@ -65,7 +65,7 @@ const base::Feature kPermissionPredictionServiceUseUrlOverride{
@@ -60,12 +60,12 @@ const base::Feature kPermissionChipRequestTypeSensitive{
// When enabled, use the value of the `service_url` FeatureParam as the url
// for the Web Permission Predictions Service.
const base::Feature kPermissionPredictionServiceUseUrlOverride{
- "kPermissionPredictionServiceUseUrlOverride",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ "kPermissionPredictionServiceUseUrlOverride", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
const base::Feature kPermissionOnDeviceNotificationPredictions{
"PermissionOnDeviceNotificationPredictions",
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_DISABLED_BY_DEFAULT}; // guard this
- "PermissionOnDeviceNotificationPredictions",
- base::FEATURE_ENABLED_BY_DEFAULT};
+ "PermissionOnDeviceNotificationPredictions", // disabled by default
+ base::FEATURE_DISABLED_BY_DEFAULT}; // in Bromite
#if BUILDFLAG(IS_ANDROID)
@@ -262,7 +270,7 @@ diff --git a/components/segmentation_platform/public/features.cc b/components/se
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -185,7 +185,7 @@ const base::Feature kViewportHeightClientHintHeader{
@@ -245,7 +245,7 @@ const base::Feature kViewportHeightClientHintHeader{
const base::Feature kNavigationPredictor {
"NavigationPredictor",
#if BUILDFLAG(IS_ANDROID)
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java
@@ -848,7 +848,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -873,7 +873,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
* displayed.
*/
private boolean triggerPromo(boolean intentWithEffect) {
@@ -19,7 +19,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
if (CommandLine.getInstance().hasSwitch(ChromeSwitches.DISABLE_STARTUP_PROMOS)) {
return false;
}
@@ -883,8 +883,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -908,8 +908,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
preferenceManager.writeBoolean(
ChromePreferenceKeys.PROMOS_SKIPPED_ON_FIRST_START, true);
}
@@ -27,7 +27,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -487,7 +487,7 @@ const base::Feature kAppMenuMobileSiteOption{"AppMenuMobileSiteOption",
@@ -489,7 +489,7 @@ const base::Feature kAppMenuMobileSiteOption{"AppMenuMobileSiteOption",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kAppToWebAttribution{"AppToWebAttribution",
@@ -107,7 +107,7 @@ diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content
diff --git a/content/browser/attribution_reporting/attribution_report_network_sender.cc b/content/browser/attribution_reporting/attribution_report_network_sender.cc
--- a/content/browser/attribution_reporting/attribution_report_network_sender.cc
+++ b/content/browser/attribution_reporting/attribution_report_network_sender.cc
@@ -117,13 +117,8 @@ void AttributionReportNetworkSender::SendReport(
@@ -112,13 +112,8 @@ void AttributionReportNetworkSender::SendReport(
network::SimpleURLLoader::RETRY_ON_NAME_NOT_RESOLVED;
simple_url_loader_ptr->SetRetryOptions(/*max_retries=*/1, retry_mode);
@@ -122,8 +122,8 @@ diff --git a/content/browser/attribution_reporting/attribution_report_network_se
+ OnReportSent(std::move(it), report, is_debug_report, std::move(sent_callback), nullptr);
}
void AttributionReportNetworkSender::SetURLLoaderFactoryForTesting(
@@ -137,6 +132,12 @@ void AttributionReportNetworkSender::OnReportSent(
void AttributionReportNetworkSender::OnReportSent(
@@ -127,6 +122,12 @@ void AttributionReportNetworkSender::OnReportSent(
bool is_debug_report,
ReportSentCallback sent_callback,
scoped_refptr<net::HttpResponseHeaders> headers) {
@@ -151,9 +151,9 @@ diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/
diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage_partition_impl.cc
--- a/content/browser/storage_partition_impl.cc
+++ b/content/browser/storage_partition_impl.cc
@@ -1318,12 +1318,7 @@ void StoragePartitionImpl::Initialize(
@@ -1317,12 +1317,7 @@ void StoragePartitionImpl::Initialize(
bucket_manager_ = std::make_unique<BucketManager>(quota_manager_proxy);
bucket_manager_ = std::make_unique<BucketManager>(this);
- // The Conversion Measurement API is not available in Incognito mode.
- if (!is_in_memory() &&
@@ -179,7 +179,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
@@ -49,7 +49,7 @@ const base::Feature kCSSContainerQueries{"CSSContainerQueries",
@@ -109,7 +109,7 @@ const base::Feature kCSSContainerQueries{"CSSContainerQueries",
// Controls whether the Conversion Measurement API infrastructure is enabled.
const base::Feature kConversionMeasurement{"ConversionMeasurement",
@@ -30,7 +30,7 @@ diff --git a/chrome/browser/feed/android/java/src/org/chromium/chrome/browser/fe
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
@@ -78,7 +78,7 @@ public class CachedFeatureFlags {
@@ -77,7 +77,7 @@ public class CachedFeatureFlags {
.put(ChromeFeatureList.INCOGNITO_REAUTHENTICATION_FOR_ANDROID, false)
.put(ChromeFeatureList.INSTANCE_SWITCHER, true)
.put(ChromeFeatureList.INSTANT_START, false)
@@ -38,7 +38,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
+ .put(ChromeFeatureList.INTEREST_FEED_V2, false)
.put(ChromeFeatureList.LENS_CAMERA_ASSISTED_SEARCH, false)
.put(ChromeFeatureList.NEW_WINDOW_APP_MENU, true)
.put(ChromeFeatureList.OMNIBOX_ANDROID_AUXILIARY_SEARCH, false)
.put(ChromeFeatureList.OMAHA_MIN_SDK_VERSION_ANDROID, false)
diff --git a/components/feed/feed_feature_list.cc b/components/feed/feed_feature_list.cc
--- a/components/feed/feed_feature_list.cc
+++ b/components/feed/feed_feature_list.cc
@@ -22,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/BUILD.gn
--- a/android_webview/nonembedded/BUILD.gn
+++ b/android_webview/nonembedded/BUILD.gn
@@ -105,7 +105,6 @@ android_library("services_java") {
@@ -106,7 +106,6 @@ android_library("services_java") {
sources = [
"java/src/org/chromium/android_webview/services/AwMinidumpUploadJobService.java",
"java/src/org/chromium/android_webview/services/AwMinidumpUploaderDelegate.java",
@@ -30,10 +30,10 @@ diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/
"java/src/org/chromium/android_webview/services/ComponentUpdaterSafeModeUtils.java",
"java/src/org/chromium/android_webview/services/ComponentsProviderPathUtil.java",
"java/src/org/chromium/android_webview/services/ComponentsProviderService.java",
@@ -116,7 +115,6 @@ android_library("services_java") {
"java/src/org/chromium/android_webview/services/MetricsUploadService.java",
@@ -118,7 +117,6 @@ android_library("services_java") {
"java/src/org/chromium/android_webview/services/SafeModeContentProvider.java",
"java/src/org/chromium/android_webview/services/SafeModeService.java",
"java/src/org/chromium/android_webview/services/ServicesStatsHelper.java",
- "java/src/org/chromium/android_webview/services/VariationsSeedHolder.java",
"java/src/org/chromium/android_webview/services/VariationsSeedServer.java",
]
@@ -41,7 +41,7 @@ diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/
diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/VariationsSeedServer.java b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/VariationsSeedServer.java
--- a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/VariationsSeedServer.java
+++ b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/VariationsSeedServer.java
@@ -30,8 +30,6 @@ public class VariationsSeedServer extends Service {
@@ -31,8 +31,6 @@ public class VariationsSeedServer extends Service {
@Override
public void getSeed(ParcelFileDescriptor newSeedFile, long oldSeedDate,
IVariationsSeedServerCallback callback) {
@@ -215,7 +215,7 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
--- a/third_party/blink/renderer/core/loader/document_loader.cc
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
@@ -172,13 +172,6 @@ Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
@@ -175,13 +175,6 @@ Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
WebVector<int> CopyInitiatorOriginTrials(
const Vector<OriginTrialFeature>& initiator_origin_trial_features) {
WebVector<int> result;
+1 -1
View File
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -433,7 +433,7 @@ const base::Feature kIdentityInCanMakePaymentEventFeature{
@@ -438,7 +438,7 @@ const base::Feature kIdentityInCanMakePaymentEventFeature{
// this feature, the experimental web platform features flag should be set,
// or the site should obtain an Origin Trial token.
const base::Feature kIdleDetection{"IdleDetection",
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/common/omnibox_features.cc
--- a/components/omnibox/common/omnibox_features.cc
+++ b/components/omnibox/common/omnibox_features.cc
@@ -320,7 +320,7 @@ const base::Feature kSiteSearchStarterPack{"OmniboxSiteSearchStarterPack",
@@ -353,7 +353,7 @@ const base::Feature kSiteSearchStarterPack{"OmniboxSiteSearchStarterPack",
// Experiment to introduce new security indicators for HTTPS.
const base::Feature kUpdatedConnectionSecurityIndicators{
"OmniboxUpdatedConnectionSecurityIndicators",
@@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browser/media/router/media_router_feature.cc
--- a/chrome/browser/media/router/media_router_feature.cc
+++ b/chrome/browser/media/router/media_router_feature.cc
@@ -51,26 +51,15 @@ const base::Feature kGlobalMediaControlsCastStartStop{
@@ -53,26 +53,15 @@ const base::Feature kGlobalMediaControlsCastStartStop{
#endif // !BUILDFLAG(IS_ANDROID)
@@ -45,7 +45,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
#if !BUILDFLAG(IS_ANDROID)
if (!base::FeatureList::IsEnabled(kMediaRouter))
return false;
@@ -98,7 +87,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
@@ -100,7 +89,7 @@ bool MediaRouterEnabled(content::BrowserContext* context) {
return allowed;
}
return true;
@@ -54,7 +54,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
#if !BUILDFLAG(IS_ANDROID)
void RegisterLocalStatePrefs(PrefRegistrySimple* registry) {
@@ -111,7 +100,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -113,7 +102,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
PrefRegistry::PUBLIC);
registry->RegisterBooleanPref(
@@ -66,7 +66,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -412,7 +412,7 @@ void ProfileImpl::RegisterProfilePrefs(
@@ -414,7 +414,7 @@ void ProfileImpl::RegisterProfilePrefs(
#endif
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);
@@ -11,9 +11,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoint_fetcher/endpoint_fetcher.cc
--- a/components/endpoint_fetcher/endpoint_fetcher.cc
+++ b/components/endpoint_fetcher/endpoint_fetcher.cc
@@ -323,7 +323,7 @@ void EndpointFetcher::OnResponseFetched(
auto response = std::make_unique<EndpointResponse>();
// TODO(crbug.com/993393) Add more detailed error messaging
@@ -340,7 +340,7 @@ void EndpointFetcher::OnResponseFetched(
}
} else {
std::string net_error = net::ErrorToString(net_error_code);
- VLOG(1) << __func__ << " with response error: " << net_error;
+ LOG(ERROR) << __func__ << " with response error: " << net_error;
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -1958,9 +1958,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
@@ -1965,9 +1965,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
}
PluginData* LocalFrame::GetPluginData() const {
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
--- a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
+++ b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
@@ -298,7 +298,7 @@ bool DomDistillerViewerSource::ShouldServiceRequest(
@@ -299,7 +299,7 @@ bool DomDistillerViewerSource::ShouldServiceRequest(
std::string DomDistillerViewerSource::GetContentSecurityPolicy(
network::mojom::CSPDirectiveName directive) {
if (directive == network::mojom::CSPDirectiveName::StyleSrc) {
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -405,7 +405,6 @@ android_library("chrome_java") {
@@ -415,7 +415,6 @@ android_library("chrome_java") {
"//chrome/browser/privacy_sandbox/android:java",
"//chrome/browser/profiles/android:java",
"//chrome/browser/safe_browsing/android:java",
@@ -21,16 +21,16 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//chrome/browser/search_engines/android:java",
"//chrome/browser/search_resumption:java",
"//chrome/browser/segmentation_platform:factory_java",
@@ -1028,8 +1027,6 @@ robolectric_binary("chrome_junit_tests") {
"//chrome/browser/preferences:java",
@@ -1041,8 +1040,6 @@ robolectric_binary("chrome_junit_tests") {
"//chrome/browser/preferences:preferences_junit_tests",
"//chrome/browser/privacy_guide/android:java",
"//chrome/browser/profiles/android:java",
- "//chrome/browser/safety_check/android:java",
- "//chrome/browser/safety_check/android:junit",
"//chrome/browser/search_engines/android:java",
"//chrome/browser/search_resumption:junit",
"//chrome/browser/segmentation_platform:factory_java",
@@ -1554,8 +1551,6 @@ android_library("chrome_test_java") {
@@ -1570,8 +1567,6 @@ android_library("chrome_test_java") {
"//chrome/browser/profiles/android:java",
"//chrome/browser/safe_browsing/android:java",
"//chrome/browser/safe_browsing/android:javatests",
@@ -42,7 +42,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -936,7 +936,6 @@ chrome_java_sources = [
@@ -941,7 +941,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingPasswordReuseDialogBridge.java",
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingReferringAppBridge.java",
"java/src/org/chromium/chrome/browser/safe_browsing/SafeBrowsingSettingsLauncher.java",
@@ -85,7 +85,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/omnibox/Omn
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3288,7 +3288,6 @@ static_library("browser") {
@@ -3306,7 +3306,6 @@ static_library("browser") {
"//chrome/browser/privacy_sandbox/android:jni_headers",
"//chrome/browser/reading_list/android",
"//chrome/browser/safe_browsing/android:safe_browsing_enums",
@@ -42,7 +42,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearc
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -185,6 +185,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -189,6 +189,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCCTBrandTransparency,
&kCCTClientDataHeader,
&kCCTIncognito,
@@ -50,7 +50,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
&kCCTIncognitoAvailableToThirdParty,
&kCCTNewDownloadTab,
&kCCTPackageNameRecording,
@@ -581,6 +582,9 @@ const base::Feature kChromeSharingHubLaunchAdjacent{
@@ -586,6 +587,9 @@ const base::Feature kChromeSharingHubLaunchAdjacent{
const base::Feature kChromeSurveyNextAndroid{"ChromeSurveyNextAndroid",
base::FEATURE_ENABLED_BY_DEFAULT};
@@ -63,7 +63,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -59,6 +59,7 @@ extern const base::Feature kCacheDeprecatedSystemLocationSetting;
@@ -60,6 +60,7 @@ extern const base::Feature kCacheDeprecatedSystemLocationSetting;
extern const base::Feature kChromeNewDownloadTab;
extern const base::Feature kChromeShareLongScreenshot;
extern const base::Feature kChromeShareScreenshot;
@@ -74,7 +74,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
@@ -255,6 +255,7 @@ public abstract class ChromeFeatureList {
@@ -258,6 +258,7 @@ public abstract class ChromeFeatureList {
public static final String CCT_POST_MESSAGE_API = "CCTPostMessageAPI";
public static final String CCT_REAL_TIME_ENGAGEMENT_SIGNALS = "CCTRealTimeEngagementSignals";
public static final String CCT_REDIRECT_PRECONNECT = "CCTRedirectPreconnect";
@@ -97,7 +97,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -2415,6 +2415,21 @@
@@ -2705,6 +2705,21 @@
]
}
],
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -850,7 +850,7 @@ const base::Feature kSharedArrayBufferOnDesktop{
@@ -883,7 +883,7 @@ const base::Feature kSharedArrayBufferOnDesktop{
// Signed Exchange Reporting for distributors
// https://www.chromestatus.com/feature/5687904902840320
const base::Feature kSignedExchangeReportingForDistributors{
@@ -19,7 +19,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
// Subresource prefetching+loading via Signed HTTP Exchange
// https://www.chromestatus.com/feature/5126805474246656
@@ -860,7 +860,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
@@ -893,7 +893,7 @@ const base::Feature kSignedExchangeSubresourcePrefetch{
// Origin-Signed HTTP Exchanges (for WebPackage Loading)
// https://www.chromestatus.com/feature/5745285984681984
const base::Feature kSignedHTTPExchange{"SignedHTTPExchange",
@@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -5815,6 +5815,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5959,6 +5959,11 @@ const FeatureEntry kFeatureEntries[] = {
"")},
#endif
@@ -36,7 +36,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -2651,6 +2651,11 @@
@@ -2641,6 +2641,11 @@
"owners": [ "alionadangla", "bwwilliams", "bling-flags@google.com"],
"expiry_milestone": 105
},
@@ -51,7 +51,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1360,6 +1360,10 @@ const char kEnableRestrictedWebApisDescription[] =
@@ -1373,6 +1373,10 @@ const char kEnableRestrictedWebApisDescription[] =
"Enable the restricted web APIs for dev trial. This will be replaced with "
"permission policies to control the capabilities afterwards.";
@@ -65,7 +65,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -754,6 +754,9 @@ extern const char
@@ -764,6 +764,9 @@ extern const char
extern const char kEnableRestrictedWebApisName[];
extern const char kEnableRestrictedWebApisDescription[];
@@ -90,7 +90,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
@@ -279,7 +279,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
@@ -283,7 +283,7 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
{wf::EnableSpeculationRulesPrefetchProxy,
blink::features::kSpeculationRulesPrefetchProxy, kSetOnlyIfOverridden},
{wf::EnableSubresourceWebBundles, features::kSubresourceWebBundles},
@@ -102,7 +102,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -457,7 +457,7 @@ const base::Feature kStopInBackground {
@@ -521,7 +521,7 @@ const base::Feature kStopInBackground {
// Enable text snippets in URL fragments. https://crbug.com/919204.
const base::Feature kTextFragmentAnchor{"TextFragmentAnchor",
@@ -114,7 +114,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -4244,9 +4244,14 @@ void Document::SetURL(const KURL& url) {
@@ -4241,9 +4241,14 @@ void Document::SetURL(const KURL& url) {
TRACE_EVENT1("navigation", "Document::SetURL", "url",
new_url.GetString().Utf8());
@@ -132,7 +132,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -2280,8 +2280,7 @@
@@ -2243,8 +2243,7 @@
},
{
name: "TextFragmentIdentifiers",
@@ -60,7 +60,7 @@ diff --git a/components/embedder_support/origin_trials/origin_trial_policy_impl.
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
--- a/content/browser/renderer_host/navigation_request.cc
+++ b/content/browser/renderer_host/navigation_request.cc
@@ -7174,7 +7174,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() {
@@ -7289,7 +7289,6 @@ void NavigationRequest::RestartBackForwardCachedNavigationImpl() {
void NavigationRequest::ForceEnableOriginTrials(
const std::vector<std::string>& trials) {
DCHECK(!HasCommitted());
@@ -71,7 +71,7 @@ diff --git a/content/browser/renderer_host/navigation_request.cc b/content/brows
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -472,10 +472,6 @@ void FillNavigationParamsRequest(
@@ -476,10 +476,6 @@ void FillNavigationParamsRequest(
common_params.initiator_origin.value();
}
@@ -82,7 +82,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
navigation_params->was_discarded = commit_params.was_discarded;
navigation_params->document_ukm_source_id =
commit_params.document_ukm_source_id;
@@ -508,12 +504,6 @@ void FillNavigationParamsRequest(
@@ -512,12 +508,6 @@ void FillNavigationParamsRequest(
navigation_params->web_bundle_claimed_url =
commit_params.web_bundle_claimed_url;
@@ -95,7 +95,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
if (!commit_params.early_hints_preloaded_resources.empty()) {
navigation_params->early_hints_preloaded_resources = WebVector<WebURL>();
for (const auto& resource : commit_params.early_hints_preloaded_resources) {
@@ -560,11 +550,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
@@ -564,11 +554,6 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
info->url_request.GetURLRequestExtraData().get());
DCHECK(url_request_extra_data);
@@ -107,7 +107,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
blink::NavigationDownloadPolicy download_policy;
download_policy.ApplyDownloadFramePolicy(
info->is_opener_navigation, info->url_request.HasUserGesture(),
@@ -582,7 +567,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
@@ -586,7 +571,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
info->url_request.HasUserGesture(),
info->url_request.HasTextFragmentToken(),
info->should_check_main_world_content_security_policy,
@@ -159,7 +159,7 @@ diff --git a/third_party/blink/common/origin_trials/trial_token_validator.cc b/t
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
--- a/third_party/blink/renderer/core/loader/document_loader.cc
+++ b/third_party/blink/renderer/core/loader/document_loader.cc
@@ -159,13 +159,6 @@ constexpr base::FeatureParam<bool> kCacheInlineScriptCodeFixConfiguring{
@@ -162,13 +162,6 @@ constexpr base::FeatureParam<bool> kCacheInlineScriptCodeFixConfiguring{
Vector<OriginTrialFeature> CopyInitiatorOriginTrials(
const WebVector<int>& initiator_origin_trial_features) {
Vector<OriginTrialFeature> result;
@@ -173,7 +173,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
return result;
}
@@ -178,18 +171,12 @@ WebVector<int> CopyInitiatorOriginTrials(
@@ -181,18 +174,12 @@ WebVector<int> CopyInitiatorOriginTrials(
Vector<String> CopyForceEnabledOriginTrials(
const WebVector<WebString>& force_enabled_origin_trials) {
Vector<String> result;
@@ -192,7 +192,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
return result;
}
@@ -2557,10 +2544,6 @@ void DocumentLoader::CreateParserPostCommit() {
@@ -2577,10 +2564,6 @@ void DocumentLoader::CreateParserPostCommit() {
OriginTrialFeature::kTouchEventFeatureDetection);
}
+10 -10
View File
@@ -22,14 +22,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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
@@ -47,7 +47,7 @@ public abstract class FirstRunActivityBase extends AsyncInitializationActivity {
@@ -48,7 +48,7 @@ public abstract class FirstRunActivityBase extends AsyncInitializationActivity {
static final String SHOW_SEARCH_ENGINE_PAGE = "ShowSearchEnginePage";
static final String SHOW_SYNC_CONSENT_PAGE = "ShowSyncConsent";
- public static final boolean DEFAULT_METRICS_AND_CRASH_REPORTING = true;
+ public static final boolean DEFAULT_METRICS_AND_CRASH_REPORTING = false;
private boolean mNativeInitialized;
private static PolicyLoadListenerFactory sPolicyLoadListenerFactory;
diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/browser/android/ntp/most_visited_sites_bridge.cc
--- a/chrome/browser/android/ntp/most_visited_sites_bridge.cc
@@ -89,7 +89,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -997,7 +997,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -998,7 +998,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled,
@@ -101,7 +101,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -64,7 +64,6 @@
@@ -63,7 +63,6 @@
#include "chrome/browser/hid/chrome_hid_delegate.h"
#include "chrome/browser/interstitials/enterprise_util.h"
#include "chrome/browser/lifetime/browser_shutdown.h"
@@ -109,7 +109,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#include "chrome/browser/media/audio_service_util.h"
#include "chrome/browser/media/router/media_router_feature.h"
#include "chrome/browser/media/webrtc/audio_debug_recordings_handler.h"
@@ -4355,16 +4354,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -4394,16 +4393,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
content::NavigationHandle* handle) {
std::vector<std::unique_ptr<content::NavigationThrottle>> throttles;
@@ -123,10 +123,10 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
- page_load_metrics::MetricsNavigationThrottle::Create(handle));
- }
-
#if BUILDFLAG(IS_CHROMEOS_ASH)
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
MaybeAddThrottle(
ash::WebTimeLimitNavigationThrottle::MaybeCreateThrottleFor(handle),
@@ -4455,10 +4444,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
SupervisedUserNavigationThrottle::MaybeCreateThrottleFor(handle),
@@ -4488,10 +4477,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
throttle_manager->MaybeAppendNavigationThrottles(handle, &throttles);
}
@@ -140,7 +140,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
@@ -75,7 +75,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",
@@ -149,7 +149,7 @@ diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/
#if BUILDFLAG(IS_ANDROID)
// Same as |kMetricsReportingFeature|, but this feature is associated with a
@@ -84,7 +84,7 @@ const base::Feature kMetricsReportingFeature{"MetricsReporting",
@@ -82,7 +82,7 @@ const base::Feature kMetricsReportingFeature{"MetricsReporting",
// the fix to not affect the overall sampling rate, this new feature was
// created. See crbug/1306481.
const base::Feature kPostFREFixMetricsReportingFeature{
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -1281,8 +1281,6 @@ static_library("ui") {
@@ -1286,8 +1286,6 @@ static_library("ui") {
"singleton_tabs.h",
"startup/automation_infobar_delegate.cc",
"startup/automation_infobar_delegate.h",
@@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
@@ -94,7 +94,6 @@ import org.chromium.chrome.browser.share.ShareButtonController;
@@ -96,7 +96,6 @@ import org.chromium.chrome.browser.share.ShareButtonController;
import org.chromium.chrome.browser.share.ShareDelegate;
import org.chromium.chrome.browser.share.ShareDelegate.ShareOrigin;
import org.chromium.chrome.browser.share.ShareUtils;
@@ -22,7 +22,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
import org.chromium.chrome.browser.share.scroll_capture.ScrollCaptureManager;
import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler;
import org.chromium.chrome.browser.tab.AutofillSessionLifetimeController;
@@ -484,10 +483,6 @@ public class RootUiCoordinator
@@ -493,10 +492,6 @@ public class RootUiCoordinator
}
public void onAttachFragment(Fragment fragment) {
@@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/base/BUILD.gn b/base/BUILD.gn
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -1509,7 +1509,7 @@ mixed_component("base") {
@@ -1543,7 +1543,7 @@ mixed_component("base") {
# more robust check for this.
if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos)) &&
host_toolchain != "//build/toolchain/cros:host") {
+3 -3
View File
@@ -50,7 +50,7 @@ diff --git a/chrome/browser/net/stub_resolver_config_reader.cc b/chrome/browser/
diff --git a/net/dns/dns_client.cc b/net/dns/dns_client.cc
--- a/net/dns/dns_client.cc
+++ b/net/dns/dns_client.cc
@@ -245,11 +245,14 @@ class DnsClientImpl : public DnsClient {
@@ -244,11 +244,14 @@ class DnsClientImpl : public DnsClient {
private:
absl::optional<DnsConfig> BuildEffectiveConfig() const {
DnsConfig config;
@@ -67,7 +67,7 @@ diff --git a/net/dns/dns_client.cc b/net/dns/dns_client.cc
config = config_overrides_.ApplyOverrides(system_config_.value());
}
@@ -264,8 +267,10 @@ class DnsClientImpl : public DnsClient {
@@ -263,8 +266,10 @@ class DnsClientImpl : public DnsClient {
if (config.unhandled_options)
config.nameservers.clear();
@@ -82,7 +82,7 @@ diff --git a/net/dns/dns_client.cc b/net/dns/dns_client.cc
diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
--- a/net/dns/host_resolver_manager.cc
+++ b/net/dns/host_resolver_manager.cc
@@ -3302,6 +3302,7 @@ void HostResolverManager::SetDnsConfigOverrides(DnsConfigOverrides overrides) {
@@ -3283,6 +3283,7 @@ void HostResolverManager::SetDnsConfigOverrides(DnsConfigOverrides overrides) {
bool changed = dns_client_->SetConfigOverrides(std::move(overrides));
if (changed) {
@@ -22,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -8552,6 +8552,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8658,6 +8658,11 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebMidiDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kWebMidi)},
#if BUILDFLAG(IS_ANDROID)
@@ -37,7 +37,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_features.cc
--- a/chrome/browser/browser_features.cc
+++ b/chrome/browser/browser_features.cc
@@ -138,7 +138,7 @@ const base::Feature kWebUsbDeviceDetection{"WebUsbDeviceDetection",
@@ -143,7 +143,7 @@ const base::Feature kWebUsbDeviceDetection{"WebUsbDeviceDetection",
#if BUILDFLAG(IS_ANDROID)
// Enables Certificate Transparency on Android.
const base::Feature kCertificateTransparencyAndroid{
@@ -49,7 +49,7 @@ diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_feature
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
@@ -6342,6 +6342,10 @@ const char kAutofillCreditCardUploadDescription[] =
@@ -6504,6 +6504,10 @@ const char kAutofillCreditCardUploadDescription[] =
#endif // defined(TOOLKIT_VIEWS) || BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID)
@@ -63,7 +63,7 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -3667,6 +3667,9 @@ extern const char kAutofillCreditCardUploadDescription[];
@@ -3767,6 +3767,9 @@ extern const char kAutofillCreditCardUploadDescription[];
#endif // defined(TOOLKIT_VIEWS) || BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID)
@@ -76,7 +76,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
--- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc
@@ -904,7 +904,6 @@ void SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting(
@@ -914,7 +914,6 @@ void SystemNetworkContextManager::SetEnableCertificateTransparencyForTesting(
bool SystemNetworkContextManager::IsCertificateTransparencyEnabled() {
if (certificate_transparency_enabled_for_testing_.has_value())
return certificate_transparency_enabled_for_testing_.value();
@@ -84,7 +84,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
// TODO(carlosil): Figure out if we can/should remove the OFFICIAL_BUILD and
// GOOGLE_CHROME_BRANDING checks now that enforcement does not rely on build
// dates, and allow embedders to enforce.
@@ -918,9 +917,6 @@ bool SystemNetworkContextManager::IsCertificateTransparencyEnabled() {
@@ -928,9 +927,6 @@ bool SystemNetworkContextManager::IsCertificateTransparencyEnabled() {
#else
return true;
#endif // BUILDFLAG(IS_ANDROID)
@@ -97,7 +97,7 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
diff --git a/chrome/browser/ssl/sct_reporting_service.cc b/chrome/browser/ssl/sct_reporting_service.cc
--- a/chrome/browser/ssl/sct_reporting_service.cc
+++ b/chrome/browser/ssl/sct_reporting_service.cc
@@ -200,6 +200,11 @@ void SetSCTAuditingEnabledForStoragePartition(
@@ -211,6 +211,11 @@ void SetSCTAuditingEnabledForStoragePartition(
} // namespace
network::mojom::SCTAuditingMode SCTReportingService::GetReportingMode() {
@@ -112,7 +112,7 @@ diff --git a/chrome/browser/ssl/sct_reporting_service.cc b/chrome/browser/ssl/sc
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -814,9 +814,9 @@ const base::Feature kSchedulerConfiguration{"SchedulerConfiguration",
@@ -822,9 +822,9 @@ const base::Feature kSchedulerConfiguration{"SchedulerConfiguration",
// Controls whether SCT audit reports are queued and the rate at which they
// should be sampled. Default sampling rate is 1/10,000 certificates.
@@ -166,7 +166,7 @@ diff --git a/net/url_request/report_sender.cc b/net/url_request/report_sender.cc
diff --git a/services/network/network_context.cc b/services/network/network_context.cc
--- a/services/network/network_context.cc
+++ b/services/network/network_context.cc
@@ -2654,7 +2654,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
@@ -2658,7 +2658,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
// TransportSecurityState. Since no requests have been made yet, safe to do
// this even after the call to Build().
@@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -870,11 +870,7 @@ const base::Feature kSharesheetCopyToClipboard{
@@ -873,11 +873,7 @@ const base::Feature kSecurityKeyAttestationPrompt{
// browser_features, as they are only used on the browser side.
const base::Feature kSitePerProcess {
"SitePerProcess",
@@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -4289,9 +4289,6 @@ const FeatureEntry kFeatureEntries[] = {
@@ -4348,9 +4348,6 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kSiteIsolationForPasswordSitesDescription, kOsAndroid,
FEATURE_VALUE_TYPE(
site_isolation::features::kSiteIsolationForPasswordSites)},
@@ -31,7 +31,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
@@ -1370,7 +1370,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
@@ -1364,7 +1364,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
registry->RegisterFilePathPref(prefs::kDiskCacheDir, base::FilePath());
registry->RegisterIntegerPref(prefs::kDiskCacheSize, 0);
registry->RegisterStringPref(prefs::kIsolateOrigins, std::string());
@@ -40,7 +40,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
registry->RegisterBooleanPref(prefs::kTabFreezingEnabled, true);
registry->RegisterIntegerPref(prefs::kSCTAuditingHashdanceReportCount, 0);
}
@@ -1384,7 +1384,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
@@ -1378,7 +1378,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
// user policy in addition to the same named ones in Local State (which are
// used for mapping the command-line flags).
registry->RegisterStringPref(prefs::kIsolateOrigins, std::string());
@@ -71,7 +71,7 @@ diff --git a/components/site_isolation/site_isolation_policy.cc b/components/sit
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
@@ -955,7 +955,7 @@ const base::Feature kStopVideoCaptureOnScreenLock{
@@ -988,7 +988,7 @@ const base::Feature kStopVideoCaptureOnScreenLock{
// Controls whether site isolation should use origins instead of scheme and
// eTLD+1.
const base::Feature kStrictOriginIsolation{"StrictOriginIsolation",
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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,9 +1160,9 @@
@@ -1175,9 +1175,9 @@
"expiry_milestone": 110
},
{
@@ -45,7 +45,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -342,6 +342,10 @@ config("compiler") {
@@ -333,6 +333,10 @@ config("compiler") {
}
}
@@ -42,7 +42,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -341,7 +341,8 @@ void AwContents::InitAutofillIfNecessary(bool autocomplete_enabled) {
@@ -342,7 +342,8 @@ void AwContents::InitAutofillIfNecessary(bool autocomplete_enabled) {
enable_download_manager)
: base::BindRepeating(&autofill::BrowserDriverInitHook,
AwAutofillClient::FromWebContents(web_contents),
@@ -55,7 +55,7 @@ diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -468,6 +468,7 @@ android_library("chrome_java") {
@@ -477,6 +477,7 @@ android_library("chrome_java") {
"//components/autofill_assistant/android:public_dependencies_java",
"//components/autofill_assistant/android:public_java",
"//components/autofill_assistant/browser:proto_java",
@@ -102,13 +102,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
@@ -119,6 +130,8 @@ public class PasswordSettings extends PreferenceFragmentCompat
private String mSearchQuery;
private Preference mLinkPref;
private ChromeSwitchPreference mSavePasswordsSwitch;
private Menu mMenu;
+ private ChromeSwitchPreference mEnableAndroidAutofillSwitch;
+ private ChromeSwitchPreference mEnableAndroidAutofillIncognitoSwitch;
private ChromeSwitchPreference mAutoSignInSwitch;
private ChromeBasePreference mCheckPasswords;
private ChromeBasePreference mTrustedVaultBanner;
@@ -293,6 +306,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
private @Nullable PasswordCheck mPasswordCheck;
private @ManagePasswordsReferrer int mManagePasswordsReferrer;
@@ -286,6 +299,7 @@ public class PasswordSettings extends PreferenceFragmentCompat
}
createSavePasswordsSwitch();
@@ -116,7 +116,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
createAutoSignInCheckbox();
if (mPasswordCheck != null) {
createCheckPasswords();
@@ -531,6 +545,71 @@ public class PasswordSettings extends PreferenceFragmentCompat
@@ -525,6 +539,71 @@ public class PasswordSettings extends PreferenceFragmentCompat
getPrefService().getBoolean(Pref.CREDENTIALS_ENABLE_SERVICE));
}
@@ -186,12 +186,12 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
+ }
+
private void createAutoSignInCheckbox() {
mAutoSignInSwitch = new ChromeSwitchPreference(getStyledContext(), null);
mAutoSignInSwitch.setKey(PREF_AUTOSIGNIN_SWITCH);
ChromeSwitchPreference autoSignInSwitch =
new ChromeSwitchPreference(getStyledContext(), null);
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
@@ -69,6 +69,17 @@ import org.chromium.ui.base.WindowAndroid;
@@ -75,6 +75,17 @@ import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.util.ColorUtils;
import org.chromium.url.GURL;
@@ -209,7 +209,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.
@@ -206,6 +217,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -212,6 +223,8 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
private int mThemeColor;
private boolean mUsedCriticalPersistedTabData;
@@ -218,7 +218,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
/**
* Creates an instance of a {@link TabImpl}.
*
@@ -748,6 +761,11 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -759,6 +772,11 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
for (TabObserver observer : mObservers) observer.onDestroyed(this);
mObservers.clear();
@@ -230,7 +230,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
mUserDataHost.destroy();
mTabViewManager.destroy();
hideNativePage(false, null);
@@ -1329,6 +1347,16 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1340,6 +1358,16 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
return tabsPtrArray;
}
@@ -247,7 +247,7 @@ 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.
@@ -1378,6 +1406,27 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1389,6 +1417,27 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
mDelegateFactory.createContextMenuPopulatorFactory(this), this));
mWebContents.notifyRendererPreferenceUpdate();
@@ -275,7 +275,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
TabHelpers.initWebContentsHelpers(this);
notifyContentChanged();
} finally {
@@ -1698,5 +1747,6 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
@@ -1721,5 +1770,6 @@ public class TabImpl implements Tab, TabObscuringHandler.Observer {
void setActiveNavigationEntryTitleForUrl(long nativeTabAndroid, String url, String title);
void loadOriginalImage(long nativeTabAndroid);
boolean handleNonNavigationAboutURL(GURL url);
@@ -314,7 +314,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
@@ -2449,6 +2449,13 @@ static_library("browser") {
@@ -2456,6 +2456,13 @@ static_library("browser") {
deps += [ "//chrome/browser/error_reporting" ]
}
@@ -331,7 +331,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_android.cc
--- a/chrome/browser/android/tab_android.cc
+++ b/chrome/browser/android/tab_android.cc
@@ -67,6 +67,13 @@
@@ -69,6 +69,13 @@
#include "url/android/gurl_android.h"
#include "url/gurl.h"
@@ -345,7 +345,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;
@@ -456,3 +463,19 @@ static void JNI_TabImpl_Init(JNIEnv* env, const JavaParamRef<jobject>& obj) {
@@ -470,3 +477,19 @@ 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);
}
@@ -368,7 +368,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
diff --git a/chrome/browser/android/tab_android.h b/chrome/browser/android/tab_android.h
--- a/chrome/browser/android/tab_android.h
+++ b/chrome/browser/android/tab_android.h
@@ -157,6 +157,8 @@ class TabAndroid : public base::SupportsUserData {
@@ -160,6 +160,8 @@ class TabAndroid : public base::SupportsUserData {
void SetDevToolsAgentHost(scoped_refptr<content::DevToolsAgentHost> host);
@@ -409,7 +409,7 @@ 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
@@ -165,6 +165,9 @@
@@ -164,6 +164,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"
@@ -419,7 +419,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
#else
#include "chrome/browser/accuracy_tips/accuracy_service_factory.h"
#include "chrome/browser/banners/app_banner_manager_desktop.h"
@@ -319,7 +322,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -321,7 +324,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
base::BindRepeating(
&autofill::BrowserDriverInitHook,
autofill::ChromeAutofillClient::FromWebContents(web_contents),
@@ -470,7 +470,7 @@ diff --git a/components/android_autofill/browser/android_autofill_manager.h b/co
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
@@ -283,6 +283,8 @@ void ContentAutofillDriver::FormsSeenImpl(
@@ -272,6 +272,8 @@ void ContentAutofillDriver::FormsSeenImpl(
const std::vector<FormData>& updated_forms,
const std::vector<FormGlobalId>& removed_forms) {
autofill_manager_->OnFormsSeen(updated_forms, removed_forms);
@@ -479,7 +479,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
}
void ContentAutofillDriver::SetFormToBeProbablySubmittedImpl(
@@ -305,6 +307,8 @@ void ContentAutofillDriver::FormSubmittedImpl(const FormData& form,
@@ -294,6 +296,8 @@ void ContentAutofillDriver::FormSubmittedImpl(const FormData& form,
}
autofill_manager_->OnFormSubmitted(form, known_success, source);
@@ -488,7 +488,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
}
void ContentAutofillDriver::TextFieldDidChangeImpl(
@@ -313,6 +317,8 @@ void ContentAutofillDriver::TextFieldDidChangeImpl(
@@ -302,6 +306,8 @@ void ContentAutofillDriver::TextFieldDidChangeImpl(
const gfx::RectF& bounding_box,
base::TimeTicks timestamp) {
autofill_manager_->OnTextFieldDidChange(form, field, bounding_box, timestamp);
@@ -497,7 +497,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
}
void ContentAutofillDriver::TextFieldDidScrollImpl(
@@ -320,6 +326,8 @@ void ContentAutofillDriver::TextFieldDidScrollImpl(
@@ -309,6 +315,8 @@ void ContentAutofillDriver::TextFieldDidScrollImpl(
const FormFieldData& field,
const gfx::RectF& bounding_box) {
autofill_manager_->OnTextFieldDidScroll(form, field, bounding_box);
@@ -506,7 +506,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
}
void ContentAutofillDriver::SelectControlDidChangeImpl(
@@ -327,6 +335,8 @@ void ContentAutofillDriver::SelectControlDidChangeImpl(
@@ -316,6 +324,8 @@ void ContentAutofillDriver::SelectControlDidChangeImpl(
const FormFieldData& field,
const gfx::RectF& bounding_box) {
autofill_manager_->OnSelectControlDidChange(form, field, bounding_box);
@@ -515,7 +515,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
}
void ContentAutofillDriver::AskForValuesToFillImpl(
@@ -339,15 +349,23 @@ void ContentAutofillDriver::AskForValuesToFillImpl(
@@ -328,15 +338,23 @@ void ContentAutofillDriver::AskForValuesToFillImpl(
autofill_manager_->OnAskForValuesToFill(form, field, bounding_box, query_id,
autoselect_first_suggestion,
touch_to_fill_eligible);
@@ -539,7 +539,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
}
void ContentAutofillDriver::FocusOnFormFieldImpl(
@@ -355,25 +373,35 @@ void ContentAutofillDriver::FocusOnFormFieldImpl(
@@ -344,25 +362,35 @@ void ContentAutofillDriver::FocusOnFormFieldImpl(
const FormFieldData& field,
const gfx::RectF& bounding_box) {
autofill_manager_->OnFocusOnFormField(form, field, bounding_box);
@@ -575,7 +575,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
}
void ContentAutofillDriver::JavaScriptChangedAutofilledValueImpl(
@@ -619,6 +647,8 @@ void ContentAutofillDriver::DidNavigateFrame(
@@ -608,6 +636,8 @@ void ContentAutofillDriver::DidNavigateFrame(
if (autofill_router_) // Can be nullptr only in tests.
autofill_router_->UnregisterDriver(this);
autofill_manager_->Reset();
@@ -587,7 +587,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.cc b/co
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
@@ -123,11 +123,14 @@ class ContentAutofillDriver : public AutofillDriver,
@@ -122,11 +122,14 @@ class ContentAutofillDriver : public AutofillDriver,
ContentAutofillDriver& operator=(const ContentAutofillDriver&) = delete;
~ContentAutofillDriver() override;
@@ -603,17 +603,17 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.h b/com
void BindPendingReceiver(
mojo::PendingAssociatedReceiver<mojom::AutofillDriver> pending_receiver);
@@ -388,6 +391,10 @@ class ContentAutofillDriver : public AutofillDriver,
// code.
std::unique_ptr<AutofillManager> autofill_manager_ = nullptr;
@@ -387,6 +390,10 @@ class ContentAutofillDriver : public AutofillDriver,
content::RenderWidgetHost::KeyPressEventCallback key_press_handler_;
+ // adds a reference for AndroidAutofillManager, since native autofill works in
+ // conjunction with browser autofill in Bromite
+ std::unique_ptr<AutofillManager> secondary_autofill_manager_ = nullptr;
+
// Pointer to an implementation of InternalAuthenticator.
std::unique_ptr<webauthn::InternalAuthenticator> authenticator_impl_;
mojo::AssociatedReceiver<mojom::AutofillDriver> receiver_{this};
mojo::AssociatedRemote<mojom::AutofillAgent> autofill_agent_;
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
@@ -670,7 +670,7 @@ diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/c
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
@@ -117,6 +117,10 @@ const char kAutofillWalletImportStorageCheckboxState[] =
@@ -114,6 +114,10 @@ const char kAutofillWalletImportStorageCheckboxState[] =
const char kAutocompleteLastVersionRetentionPolicy[] =
"autocomplete.retention_policy_last_version";
@@ -695,7 +695,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
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
@@ -45,6 +45,8 @@ extern const char kAutofillUploadEventsLastResetTimestamp[];
@@ -47,6 +47,8 @@ extern const char kAutofillUploadEventsLastResetTimestamp[];
extern const char kAutofillWalletImportEnabled[];
extern const char kAutofillWalletImportStorageCheckboxState[];
extern const char kAutocompleteLastVersionRetentionPolicy[];
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -121,14 +121,14 @@ const base::Feature kSplitCacheByIncludeCredentials{
@@ -118,14 +118,14 @@ const base::Feature kSplitCacheByIncludeCredentials{
"SplitCacheByIncludeCredentials", base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kSplitCacheByNetworkIsolationKey{
@@ -33,7 +33,7 @@ diff --git a/net/base/features.cc b/net/base/features.cc
const base::Feature kForceIsolationInfoFrameOriginToTopLevelFrame{
"ForceIsolationInfoFrameOriginToTopLevelFrame",
@@ -136,19 +136,19 @@ const base::Feature kForceIsolationInfoFrameOriginToTopLevelFrame{
@@ -133,19 +133,19 @@ const base::Feature kForceIsolationInfoFrameOriginToTopLevelFrame{
const base::Feature kPartitionHttpServerPropertiesByNetworkIsolationKey{
"PartitionHttpServerPropertiesByNetworkIsolationKey",
@@ -55,7 +55,7 @@ diff --git a/net/base/features.cc b/net/base/features.cc
- base::FEATURE_DISABLED_BY_DEFAULT};
+ base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kExpectCTPruning{"ExpectCTPruning",
base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kEnableDoubleKeyNetworkAnonymizationKey{
"EnableDoubleKeyNetworkAnonymizationKey",
--
2.25.1
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -502,7 +502,7 @@ const base::Feature kComputePressure{"ComputePressure",
@@ -566,7 +566,7 @@ const base::Feature kComputePressure{"ComputePressure",
// Prefetch request properties are updated to be privacy-preserving. See
// crbug.com/988956.
const base::Feature kPrefetchPrivacyChanges{"PrefetchPrivacyChanges",
+14 -14
View File
@@ -30,7 +30,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
@@ -594,6 +594,7 @@ chrome_java_resources = [
@@ -596,6 +596,7 @@ chrome_java_resources = [
"java/res/layout/signin_activity.xml",
"java/res/layout/status_indicator_container.xml",
"java/res/layout/suggestions_tile_view_condensed.xml",
@@ -41,7 +41,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
@@ -958,6 +958,7 @@ chrome_java_sources = [
@@ -963,6 +963,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/sharing/click_to_call/ClickToCallUma.java",
"java/src/org/chromium/chrome/browser/sharing/shared_clipboard/SharedClipboardMessageHandler.java",
"java/src/org/chromium/chrome/browser/sharing/sms_fetcher/SmsFetcherMessageHandler.java",
@@ -168,15 +168,15 @@ new file mode 100644
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
@@ -81,6 +81,7 @@ import org.chromium.chrome.browser.rlz.RevenueStats;
import org.chromium.chrome.browser.searchwidget.SearchWidgetProvider;
@@ -81,6 +81,7 @@ import org.chromium.chrome.browser.searchwidget.SearchWidgetProvider;
import org.chromium.chrome.browser.tab.state.PersistedTabData;
import org.chromium.chrome.browser.tab.state.ShoppingPersistedTabData;
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityPreferencesManager;
+import org.chromium.chrome.browser.sharing.shared_intent.SharedIntentShareActivity;
import org.chromium.chrome.browser.usb.UsbNotificationManager;
import org.chromium.chrome.browser.util.AfterStartupTaskUtils;
import org.chromium.chrome.browser.webapps.WebappRegistry;
@@ -412,6 +413,8 @@ public class ProcessInitializationHandler {
@@ -408,6 +409,8 @@ public class ProcessInitializationHandler {
.resolveClearDataDialogResultRecorder()::makeDeferredRecordings);
deferredStartupHandler.addDeferredTask(WebApkUninstallUmaTracker::recordDeferredUma);
@@ -311,7 +311,7 @@ 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
@@ -6305,6 +6305,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -6438,6 +6438,10 @@ const FeatureEntry kFeatureEntries[] = {
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
#if BUILDFLAG(IS_ANDROID)
@@ -325,7 +325,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
@@ -2570,6 +2570,11 @@ const char kIsolateOriginsDescription[] =
@@ -2626,6 +2626,11 @@ const char kIsolateOriginsDescription[] =
"Requires dedicated processes for an additional set of origins, "
"specified as a comma-separated list.";
@@ -340,7 +340,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
@@ -1456,6 +1456,9 @@ extern const char kIsolateOriginsDescription[];
@@ -1487,6 +1487,9 @@ extern const char kIsolateOriginsDescription[];
extern const char kIsolationByDefaultName[];
extern const char kIsolationByDefaultDescription[];
@@ -353,15 +353,15 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -276,6 +276,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -271,6 +271,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kRelatedSearchesAlternateUx,
&kRelatedSearchesInBar,
&kRelatedSearchesSimplifiedUx,
+ &kSharedIntentUI,
&kRelatedSearchesUi,
&kRequestDesktopSiteDefaults,
&kSafeModeForCachedFlags,
&kSearchEnginePromoExistingDevice,
@@ -741,6 +742,9 @@ const base::Feature kNewInstanceFromDraggedLink{
@@ -708,6 +709,9 @@ const base::Feature kNewInstanceFromDraggedLink{
const base::Feature kNewTabPageTilesTitleWrapAround{
"NewTabPageTilesTitleWrapAround", base::FEATURE_DISABLED_BY_DEFAULT};
@@ -374,7 +374,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -138,6 +138,7 @@ extern const base::Feature kRelatedSearchesUi;
@@ -132,6 +132,7 @@ extern const base::Feature kRequestDesktopSiteDefaults;
extern const base::Feature kSearchEnginePromoExistingDevice;
extern const base::Feature kSearchEnginePromoExistingDeviceV2;
extern const base::Feature kSearchEnginePromoNewDevice;
@@ -385,7 +385,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
@@ -492,6 +492,7 @@ public abstract class ChromeFeatureList {
@@ -501,6 +501,7 @@ public abstract class ChromeFeatureList {
public static final String QUIET_NOTIFICATION_PROMPTS = "QuietNotificationPrompts";
public static final String REACHED_CODE_PROFILER = "ReachedCodeProfiler";
public static final String READ_LATER = "ReadLater";
@@ -396,7 +396,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
@@ -4802,6 +4802,19 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
@@ -4846,6 +4846,19 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
Copied to your clipboard
</message>
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -107,7 +107,7 @@ const base::Feature kFreezePurgeMemoryAllPagesFrozen{
@@ -167,7 +167,7 @@ const base::Feature kFreezePurgeMemoryAllPagesFrozen{
// Freezes the user-agent as part of https://github.com/WICG/ua-client-hints.
const base::Feature kReduceUserAgent{"ReduceUserAgent",
@@ -106,7 +106,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../common/user_scripts_features.h | 34 +
components/user_scripts/common/view_type.cc | 39 +
components/user_scripts/common/view_type.h | 48 ++
components/user_scripts/renderer/BUILD.gn | 67 ++
components/user_scripts/renderer/BUILD.gn | 65 ++
.../renderer/extension_frame_helper.cc | 95 +++
.../renderer/extension_frame_helper.h | 91 ++
.../user_scripts/renderer/injection_host.cc | 12 +
@@ -114,11 +114,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../renderer/resources/greasemonkey_api.js | 82 ++
.../user_scripts_renderer_resources.grd | 14 +
.../user_scripts/renderer/script_context.cc | 215 +++++
.../user_scripts/renderer/script_context.h | 69 ++
.../user_scripts/renderer/script_injection.cc | 343 ++++++++
.../user_scripts/renderer/script_injection.h | 154 ++++
.../renderer/script_injection_callback.cc | 25 +
.../renderer/script_injection_callback.h | 38 +
.../user_scripts/renderer/script_context.h | 68 ++
.../user_scripts/renderer/script_injection.cc | 309 +++++++
.../user_scripts/renderer/script_injection.h | 155 ++++
.../renderer/script_injection_manager.cc | 417 +++++++++
.../renderer/script_injection_manager.h | 101 +++
.../user_scripts/renderer/script_injector.h | 96 +++
@@ -133,12 +131,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../renderer/user_scripts_dispatcher.cc | 36 +
.../renderer/user_scripts_dispatcher.h | 49 ++
.../renderer/user_scripts_renderer_client.cc | 105 +++
.../renderer/user_scripts_renderer_client.h | 36 +
.../renderer/user_scripts_renderer_client.h | 37 +
.../renderer/web_ui_injection_host.cc | 40 +
.../renderer/web_ui_injection_host.h | 27 +
.../strings/userscripts_strings.grdp | 57 ++
.../strings/userscripts_strings.grdp | 54 ++
tools/gritsettings/resource_ids.spec | 6 +
111 files changed, 9594 insertions(+), 2 deletions(-)
109 files changed, 9493 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
@@ -206,8 +204,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
create mode 100755 components/user_scripts/renderer/script_context.h
create mode 100755 components/user_scripts/renderer/script_injection.cc
create mode 100755 components/user_scripts/renderer/script_injection.h
create mode 100755 components/user_scripts/renderer/script_injection_callback.cc
create mode 100755 components/user_scripts/renderer/script_injection_callback.h
create mode 100755 components/user_scripts/renderer/script_injection_manager.cc
create mode 100755 components/user_scripts/renderer/script_injection_manager.h
create mode 100755 components/user_scripts/renderer/script_injector.h
@@ -230,7 +226,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -266,6 +266,10 @@ android_resources("chrome_app_java_resources") {
@@ -276,6 +276,10 @@ android_resources("chrome_app_java_resources") {
"//third_party/androidx:androidx_gridlayout_gridlayout_java",
"//third_party/androidx:androidx_preference_preference_java",
]
@@ -241,7 +237,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
}
if (enable_vr) {
@@ -568,6 +572,7 @@ android_library("chrome_java") {
@@ -578,6 +582,7 @@ android_library("chrome_java") {
"//components/ukm/android:java",
"//components/url_formatter/android:url_formatter_java",
"//components/user_prefs/android:java",
@@ -290,7 +286,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
@@ -120,6 +120,8 @@ import java.util.Date;
@@ -119,6 +119,8 @@ import java.util.Date;
import java.util.List;
import java.util.Locale;
@@ -299,7 +295,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni
/**
* Handles the initialization dependences of the browser process. This is meant to handle the
* initialization that is not tied to any particular Activity, and the logic that should only be
@@ -308,6 +310,7 @@ public class ProcessInitializationHandler {
@@ -307,6 +309,7 @@ public class ProcessInitializationHandler {
DefaultBrowserInfo.initBrowserFetcher();
@@ -327,7 +323,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
@@ -3443,6 +3443,11 @@ static_library("browser") {
@@ -3461,6 +3461,11 @@ static_library("browser") {
]
deps += [ "//chrome/android/modules/dev_ui/provider:native" ]
}
@@ -350,7 +346,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"
@@ -7265,6 +7266,10 @@ const FeatureEntry kFeatureEntries[] = {
@@ -7379,6 +7380,10 @@ const FeatureEntry kFeatureEntries[] = {
chromeos::features::kClipboardHistoryNudgeSessionReset)},
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -364,7 +360,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
@@ -4914,7 +4914,8 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles(
@@ -4949,7 +4949,8 @@ ChromeContentBrowserClient::CreateURLLoaderThrottles(
chrome::mojom::DynamicParams dynamic_params = {
profile->GetPrefs()->GetBoolean(prefs::kForceGoogleSafeSearch),
profile->GetPrefs()->GetInteger(prefs::kForceYouTubeRestrict),
@@ -377,9 +373,9 @@ 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
@@ -6156,6 +6156,11 @@ const char kQuickCommandsDescription[] =
@@ -6318,6 +6318,11 @@ const char kFollowingFeedSidepanelDescription[] =
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
// BUILDFLAG(IS_FUCHSIA)
// BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_CHROMEOS)
+const char kEnableLoggingUserScriptsName[] = "Enable logging user scripts component";
+const char kEnableLoggingUserScriptsDescription[] =
@@ -392,7 +388,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
@@ -3537,6 +3537,9 @@ extern const char kQuickCommandsDescription[];
@@ -3630,6 +3630,9 @@ extern const char kQuickCommandsDescription[];
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
// defined (OS_FUCHSIA)
@@ -405,7 +401,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
@@ -247,6 +247,7 @@
@@ -246,6 +246,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"
@@ -413,7 +409,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#else // BUILDFLAG(IS_ANDROID)
#include "chrome/browser/autofill_assistant/password_change/apc_client.h"
#include "chrome/browser/cart/cart_service.h"
@@ -1357,6 +1358,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -1323,6 +1324,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
translate::TranslatePrefs::RegisterProfilePrefs(registry);
omnibox::RegisterProfilePrefs(registry);
ZeroSuggestProvider::RegisterProfilePrefs(registry);
@@ -435,7 +431,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
@@ -254,6 +254,8 @@
@@ -258,6 +258,8 @@
#include "chrome/browser/enterprise/idle/idle_service_factory.h"
#endif
@@ -444,7 +440,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
namespace chrome {
void AddProfilesExtraParts(ChromeBrowserMainParts* main_parts) {
@@ -601,6 +603,7 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -612,6 +614,7 @@ void ChromeBrowserMainExtraPartsProfiles::
#endif
WebDataServiceFactory::GetInstance();
webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance();
@@ -464,7 +460,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
#if BUILDFLAG(ENABLE_SESSION_SERVICE)
#include "chrome/browser/sessions/app_session_service_factory.h"
#include "chrome/browser/sessions/session_service_factory.h"
@@ -1713,6 +1715,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile,
@@ -1712,6 +1714,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile,
#endif
#endif
@@ -531,7 +527,7 @@ diff --git a/chrome/browser/profiles/renderer_updater.h b/chrome/browser/profile
diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
--- a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -91,6 +91,7 @@
@@ -92,6 +92,7 @@
#include "components/security_interstitials/content/urls.h"
#include "components/signin/public/base/signin_buildflags.h"
#include "components/site_engagement/content/site_engagement_service.h"
@@ -539,7 +535,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"
@@ -815,6 +816,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -817,6 +818,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
return &NewWebUI<UserActionsUI>;
if (url.host_piece() == chrome::kChromeUIVersionHost)
return &NewWebUI<VersionUI>;
@@ -551,7 +547,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc b/chrom
diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni
--- a/chrome/chrome_paks.gni
+++ b/chrome/chrome_paks.gni
@@ -108,6 +108,7 @@ template("chrome_extra_paks") {
@@ -106,6 +106,7 @@ template("chrome_extra_paks") {
"$root_gen_dir/skia/skia_resources.pak",
"$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
"$root_gen_dir/third_party/blink/public/resources/inspector_overlay_resources.pak",
@@ -559,7 +555,7 @@ diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni
"$root_gen_dir/ui/resources/webui_generated_resources.pak",
]
deps = [
@@ -128,6 +129,7 @@ template("chrome_extra_paks") {
@@ -126,6 +127,7 @@ template("chrome_extra_paks") {
"//third_party/blink/public:devtools_inspector_resources",
"//third_party/blink/public:resources",
"//ui/resources",
@@ -592,7 +588,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
@@ -248,6 +248,9 @@
@@ -250,6 +250,9 @@
#include "chrome/renderer/supervised_user/supervised_user_error_page_controller_delegate_impl.h"
#endif
@@ -602,7 +598,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
using autofill::AutofillAgent;
using autofill::PasswordAutofillAgent;
using autofill::PasswordGenerationAgent;
@@ -420,6 +423,12 @@ void ChromeContentRendererClient::RenderThreadStarted() {
@@ -431,6 +434,12 @@ void ChromeContentRendererClient::RenderThreadStarted() {
WebString::FromASCII(extensions::kExtensionScheme));
#endif
@@ -615,7 +611,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
#if BUILDFLAG(ENABLE_SPELLCHECK)
if (!spellcheck_)
InitSpellCheck();
@@ -564,6 +573,13 @@ void ChromeContentRendererClient::RenderFrameCreated(
@@ -575,6 +584,13 @@ void ChromeContentRendererClient::RenderFrameCreated(
render_frame, registry);
#endif
@@ -626,10 +622,10 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
+ render_frame, registry);
+ }
+
#if BUILDFLAG(ENABLE_PLUGINS)
#if BUILDFLAG(ENABLE_PPAPI)
new PepperHelper(render_frame);
#endif
@@ -1548,7 +1564,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
@@ -1576,7 +1592,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentStart(
render_frame);
// |render_frame| might be dead by now.
@@ -644,7 +640,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
}
void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
@@ -1557,7 +1580,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
@@ -1585,7 +1608,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentEnd(
render_frame);
// |render_frame| might be dead by now.
@@ -659,7 +655,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
}
void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
@@ -1566,7 +1596,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
@@ -1594,7 +1624,14 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
ChromeExtensionsRendererClient::GetInstance()->RunScriptsAtDocumentIdle(
render_frame);
// |render_frame| might be dead by now.
@@ -686,7 +682,7 @@ diff --git a/chrome/renderer/chrome_render_thread_observer.cc b/chrome/renderer/
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "extensions/renderer/localization_peer.h"
#endif
@@ -252,6 +254,7 @@ void ChromeRenderThreadObserver::SetInitialConfiguration(
@@ -253,6 +255,7 @@ void ChromeRenderThreadObserver::SetInitialConfiguration(
void ChromeRenderThreadObserver::SetConfiguration(
chrome::mojom::DynamicParamsPtr params) {
*GetDynamicConfigParams() = std::move(*params);
@@ -7349,7 +7345,7 @@ diff --git a/components/user_scripts/renderer/BUILD.gn b/components/user_scripts
new file mode 100755
--- /dev/null
+++ b/components/user_scripts/renderer/BUILD.gn
@@ -0,0 +1,67 @@
@@ -0,0 +1,65 @@
+# Copyright 2015 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.
@@ -7383,8 +7379,6 @@ new file mode 100755
+ "injection_host.h",
+ "script_injection_manager.cc",
+ "script_injection_manager.h",
+ "script_injection_callback.cc",
+ "script_injection_callback.h",
+ "script_injection.cc",
+ "script_injection.h",
+ "script_injector.h",
@@ -8006,7 +8000,7 @@ diff --git a/components/user_scripts/renderer/script_context.h b/components/user
new file mode 100755
--- /dev/null
+++ b/components/user_scripts/renderer/script_context.h
@@ -0,0 +1,69 @@
@@ -0,0 +1,68 @@
+// Copyright 2014 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.
@@ -8024,7 +8018,6 @@ new file mode 100755
+#include "base/threading/thread_checker.h"
+#include "base/unguessable_token.h"
+#include "../common/script_constants.h"
+#include "script_injection_callback.h"
+#include "url/gurl.h"
+#include "v8/include/v8.h"
+
@@ -8080,7 +8073,7 @@ diff --git a/components/user_scripts/renderer/script_injection.cc b/components/u
new file mode 100755
--- /dev/null
+++ b/components/user_scripts/renderer/script_injection.cc
@@ -0,0 +1,343 @@
@@ -0,0 +1,309 @@
+// Copyright 2014 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.
@@ -8101,7 +8094,6 @@ new file mode 100755
+#include "content/public/renderer/render_frame_observer.h"
+#include "content/public/renderer/v8_value_converter.h"
+#include "../common/host_id.h"
+#include "script_injection_callback.h"
+#include "scripts_run_info.h"
+#include "third_party/blink/public/platform/web_isolated_world_info.h"
+#include "third_party/blink/public/platform/web_security_origin.h"
@@ -8159,38 +8151,6 @@ new file mode 100755
+ return id;
+}
+
+// This class manages its own lifetime.
+class TimedScriptInjectionCallback : public ScriptInjectionCallback {
+ public:
+ TimedScriptInjectionCallback(base::WeakPtr<ScriptInjection> injection)
+ : ScriptInjectionCallback(
+ base::BindOnce(&TimedScriptInjectionCallback::OnCompleted,
+ base::Unretained(this))),
+ injection_(injection) {}
+ ~TimedScriptInjectionCallback() override {}
+
+ void OnCompleted(const std::vector<v8::Local<v8::Value>>& result) {
+ if (injection_) {
+ base::TimeTicks timestamp(base::TimeTicks::Now());
+ absl::optional<base::TimeDelta> elapsed;
+ // If the script will never execute (such as if the context is destroyed),
+ // willExecute() will not be called, but OnCompleted() will. Only log a
+ // time for execution if the script, in fact, executed.
+ if (!start_time_.is_null())
+ elapsed = timestamp - start_time_;
+ injection_->OnJsInjectionCompleted(result, elapsed);
+ }
+ }
+
+ void WillExecute() override {
+ start_time_ = base::TimeTicks::Now();
+ }
+
+ private:
+ base::WeakPtr<ScriptInjection> injection_;
+ base::TimeTicks start_time_;
+};
+
+} // namespace
+
+// Watches for the deletion of a RenderFrame, after which is_valid will return
@@ -8339,10 +8299,6 @@ new file mode 100755
+ run_location_, executing_scripts, num_injected_js_scripts);
+ DCHECK(!sources.empty());
+ int world_id = GetIsolatedWorldIdForInstance(injection_host_.get());
+ bool is_user_gesture = injector_->IsUserGesture();
+
+ std::unique_ptr<blink::WebScriptExecutionCallback> callback(
+ new TimedScriptInjectionCallback(weak_ptr_factory_.GetWeakPtr()));
+
+ base::ElapsedTimer exec_timer;
+
@@ -8357,21 +8313,24 @@ new file mode 100755
+ injector_->script_type() == UserScript::CONTENT_SCRIPT &&
+ (run_location_ == UserScript::DOCUMENT_END ||
+ run_location_ == UserScript::DOCUMENT_IDLE);
+ blink::WebLocalFrame::ScriptExecutionType execution_option =
+ blink::mojom::EvaluationTiming execution_option =
+ should_execute_asynchronously
+ ? blink::WebLocalFrame::kAsynchronousBlockingOnload
+ : blink::WebLocalFrame::kSynchronous;
+ ? blink::mojom::EvaluationTiming::kAsynchronous
+ : blink::mojom::EvaluationTiming::kSynchronous;
+
+ render_frame_->GetWebFrame()->RequestExecuteScript(
+ world_id, sources, is_user_gesture,
+ execution_option, callback.release(),
+ world_id, sources, blink::mojom::UserActivationOption::kDoNotActivate,
+ execution_option,
+ blink::mojom::LoadEventBlockingOption::kBlock,
+ base::BindOnce(&ScriptInjection::OnJsInjectionCompleted,
+ weak_ptr_factory_.GetWeakPtr()),
+ blink::BackForwardCacheAware::kPossiblyDisallow,
+ blink::WebLocalFrame::PromiseBehavior::kDontWait);
+}
+ blink::mojom::PromiseResultOption::kDoNotWait);
+ }
+
+void ScriptInjection::OnJsInjectionCompleted(
+ const std::vector<v8::Local<v8::Value>>& results,
+ absl::optional<base::TimeDelta> elapsed) {
+ const blink::WebVector<v8::Local<v8::Value>>& results,
+ base::TimeTicks start_time) {
+ DCHECK(!did_inject_js_);
+
+ bool expects_results = injector_->ExpectsResults();
@@ -8428,7 +8387,7 @@ diff --git a/components/user_scripts/renderer/script_injection.h b/components/us
new file mode 100755
--- /dev/null
+++ b/components/user_scripts/renderer/script_injection.h
@@ -0,0 +1,154 @@
@@ -0,0 +1,155 @@
+// Copyright 2014 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.
@@ -8446,6 +8405,7 @@ new file mode 100755
+#include "../common/user_script.h"
+#include "injection_host.h"
+#include "script_injector.h"
+#include "third_party/blink/public/web/web_script_execution_callback.h"
+
+struct HostID;
+
@@ -8518,8 +8478,8 @@ new file mode 100755
+
+ // Called when JS injection for the given frame has been completed or
+ // cancelled.
+ void OnJsInjectionCompleted(const std::vector<v8::Local<v8::Value>>& results,
+ absl::optional<base::TimeDelta> elapsed);
+ void OnJsInjectionCompleted(const blink::WebVector<v8::Local<v8::Value>>& results,
+ base::TimeTicks start_time);
+
+ private:
+ class FrameWatcher;
@@ -8583,79 +8543,6 @@ new file mode 100755
+} // namespace extensions
+
+#endif // USERSCRIPTS_RENDERER_SCRIPT_INJECTION_H_
diff --git a/components/user_scripts/renderer/script_injection_callback.cc b/components/user_scripts/renderer/script_injection_callback.cc
new file mode 100755
--- /dev/null
+++ b/components/user_scripts/renderer/script_injection_callback.cc
@@ -0,0 +1,25 @@
+// Copyright 2015 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.
+
+#include "script_injection_callback.h"
+
+#include "third_party/blink/public/platform/web_vector.h"
+
+namespace user_scripts {
+
+ScriptInjectionCallback::ScriptInjectionCallback(
+ CompleteCallback injection_completed_callback)
+ : injection_completed_callback_(std::move(injection_completed_callback)) {}
+
+ScriptInjectionCallback::~ScriptInjectionCallback() {
+}
+
+void ScriptInjectionCallback::Completed(
+ const blink::WebVector<v8::Local<v8::Value>>& result) {
+ std::vector<v8::Local<v8::Value>> stl_result(result.begin(), result.end());
+ std::move(injection_completed_callback_).Run(stl_result);
+ delete this;
+}
+
+} // namespace extensions
diff --git a/components/user_scripts/renderer/script_injection_callback.h b/components/user_scripts/renderer/script_injection_callback.h
new file mode 100755
--- /dev/null
+++ b/components/user_scripts/renderer/script_injection_callback.h
@@ -0,0 +1,38 @@
+// Copyright 2015 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.
+
+#ifndef USERSCRIPTS_RENDERER_SCRIPT_INJECTION_CALLBACK_H_
+#define USERSCRIPTS_RENDERER_SCRIPT_INJECTION_CALLBACK_H_
+
+#include <vector>
+
+#include "base/callback.h"
+#include "third_party/blink/public/web/web_script_execution_callback.h"
+#include "v8/include/v8.h"
+
+namespace user_scripts {
+
+// A wrapper around a callback to notify a script injection when injection
+// completes.
+// This class manages its own lifetime.
+class ScriptInjectionCallback : public blink::WebScriptExecutionCallback {
+ public:
+ ScriptInjectionCallback(const ScriptInjectionCallback&) = delete;
+ ScriptInjectionCallback& operator=(const ScriptInjectionCallback&) = delete;
+ using CompleteCallback =
+ base::OnceCallback<void(const std::vector<v8::Local<v8::Value>>& result)>;
+
+ explicit ScriptInjectionCallback(
+ CompleteCallback injection_completed_callback);
+ ~ScriptInjectionCallback() override;
+
+ void Completed(const blink::WebVector<v8::Local<v8::Value>>& result) override;
+
+ private:
+ CompleteCallback injection_completed_callback_;
+};
+
+} // namespace extensions
+
+#endif // USERSCRIPTS_RENDERER_SCRIPT_INJECTION_CALLBACK_H_
diff --git a/components/user_scripts/renderer/script_injection_manager.cc b/components/user_scripts/renderer/script_injection_manager.cc
new file mode 100755
--- /dev/null
@@ -10405,15 +10292,15 @@ new file mode 100755
+ enabled_ = params.allow_userscript;
+ if (!enabled_) return;
+
+ ExtensionFrameHelper* frame_helper = ExtensionFrameHelper::Get(render_frame);
+ if (!frame_helper) {
+ if (loaded_ == false) {
+ loaded_ = true;
+ new user_scripts::ExtensionFrameHelper(render_frame);
+ dispatcher_->OnRenderFrameCreated(render_frame);
+ }
+}
+
+void UserScriptsRendererClient::RunScriptsAtDocumentStart(content::RenderFrame* render_frame) {
+ if (!enabled_) return;
+ if (!enabled_ || !loaded_) return;
+
+ ExtensionFrameHelper* frame_helper = ExtensionFrameHelper::Get(render_frame);
+ if (!frame_helper)
@@ -10424,7 +10311,7 @@ new file mode 100755
+}
+
+void UserScriptsRendererClient::RunScriptsAtDocumentEnd(content::RenderFrame* render_frame) {
+ if (!enabled_) return;
+ if (!enabled_ || !loaded_) return;
+
+ ExtensionFrameHelper* frame_helper = ExtensionFrameHelper::Get(render_frame);
+ if (!frame_helper)
@@ -10435,7 +10322,7 @@ new file mode 100755
+}
+
+void UserScriptsRendererClient::RunScriptsAtDocumentIdle(content::RenderFrame* render_frame) {
+ if (!enabled_) return;
+ if (!enabled_ || !loaded_) return;
+
+ ExtensionFrameHelper* frame_helper = ExtensionFrameHelper::Get(render_frame);
+ if (!frame_helper)
@@ -10446,11 +10333,12 @@ new file mode 100755
+}
+
+}
\ No newline at end of file
diff --git a/components/user_scripts/renderer/user_scripts_renderer_client.h b/components/user_scripts/renderer/user_scripts_renderer_client.h
new file mode 100755
--- /dev/null
+++ b/components/user_scripts/renderer/user_scripts_renderer_client.h
@@ -0,0 +1,36 @@
@@ -0,0 +1,37 @@
+#ifndef USERSCRIPTS_RENDER_CLIENT_H_
+#define USERSCRIPTS_RENDER_CLIENT_H_
+
@@ -10482,6 +10370,7 @@ new file mode 100755
+ private:
+ std::unique_ptr<UserScriptsDispatcher> dispatcher_;
+ bool enabled_ = false;
+ bool loaded_ = false;
+};
+
+}
@@ -10568,7 +10457,7 @@ diff --git a/components/user_scripts/strings/userscripts_strings.grdp b/componen
new file mode 100755
--- /dev/null
+++ b/components/user_scripts/strings/userscripts_strings.grdp
@@ -0,0 +1,57 @@
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<grit-part>
+
@@ -10618,9 +10507,6 @@ new file mode 100755
+
+NOTE: only install user scripts that you have verified are secure, user scripts can steal your credentials and data.
+ </message>
+ <message name="IDS_YES" desc=". [CHAR-LIMIT=32]" formatter_data="android_java">
+ Yes
+ </message>
+ <message name="IDS_NO" desc=". [CHAR-LIMIT=32]" formatter_data="android_java">
+ No
+ </message>
@@ -10629,7 +10515,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
@@ -677,6 +677,12 @@
@@ -693,6 +693,12 @@
"components/autofill/core/browser/autofill_address_rewriter_resources.grd":{
"includes": [3720]
},
@@ -0,0 +1,22 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 16 Oct 2022 08:42:55 +0200
Subject: Fix segmentation platform build error
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
components/segmentation_platform/embedder/BUILD.gn | 1 -
1 file changed, 1 deletion(-)
diff --git a/components/segmentation_platform/embedder/BUILD.gn b/components/segmentation_platform/embedder/BUILD.gn
--- a/components/segmentation_platform/embedder/BUILD.gn
+++ b/components/segmentation_platform/embedder/BUILD.gn
@@ -21,7 +21,6 @@ source_set("embedder") {
"//components/optimization_guide/core",
"//components/optimization_guide/core:features",
"//components/segmentation_platform/internal",
- "//components/segmentation_platform/internal:optimization_guide_segmentation_handler",
"//components/segmentation_platform/internal/proto",
"//components/segmentation_platform/public",
"//url",
--
2.25.1
@@ -33,7 +33,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -28,6 +28,12 @@
@@ -29,6 +29,12 @@
android:title="@string/settings_incognito_tab_lock_title"
android:summary="@string/settings_incognito_tab_lock_summary_android_setting_off"
android:persistent="false"/>
@@ -49,15 +49,15 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -36,6 +36,7 @@ import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
@@ -33,6 +33,7 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.settings.ChromeManagedPreferenceDelegate;
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
+import org.chromium.components.browser_ui.settings.SpinnerPreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
import org.chromium.components.browser_ui.settings.SettingsLauncher;
import org.chromium.components.browser_ui.settings.SettingsUtils;
@@ -50,6 +51,9 @@ import androidx.preference.PreferenceCategory;
@@ -47,6 +48,9 @@ import androidx.preference.PreferenceCategory;
import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
@@ -67,7 +67,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.
*/
@@ -83,6 +87,8 @@ public class PrivacySettings
@@ -78,6 +82,8 @@ public class PrivacySettings
private ChromeSwitchPreference allowCustomTabIntentsPref;
private ChromeSwitchPreference openExternalLinksPref;
@@ -76,7 +76,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
PrivacyPreferencesManagerImpl privacyPrefManager =
@@ -132,6 +138,40 @@ public class PrivacySettings
@@ -119,6 +125,40 @@ public class PrivacySettings
Preference secureDnsPref = findPreference(PREF_SECURE_DNS);
secureDnsPref.setVisible(SecureDnsSettings.isUiEnabled());
@@ -117,7 +117,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
updatePreferences();
}
@@ -231,6 +271,29 @@ public class PrivacySettings
@@ -218,6 +258,29 @@ public class PrivacySettings
};
}
@@ -150,7 +150,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/browser/history/history_service_factory.cc b/chrome/browser/history/history_service_factory.cc
--- a/chrome/browser/history/history_service_factory.cc
+++ b/chrome/browser/history/history_service_factory.cc
@@ -30,6 +30,8 @@ std::unique_ptr<KeyedService> BuildHistoryService(
@@ -28,6 +28,8 @@ std::unique_ptr<KeyedService> BuildHistoryService(
history::HistoryDatabaseParamsForPath(context->GetPath()))) {
return nullptr;
}
@@ -173,7 +173,7 @@ diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BU
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -366,6 +366,7 @@ std::unique_ptr<Profile> Profile::CreateProfile(const base::FilePath& path,
@@ -368,6 +368,7 @@ std::unique_ptr<Profile> Profile::CreateProfile(const base::FilePath& path,
void ProfileImpl::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kSavingBrowserHistoryDisabled, false);
@@ -328,7 +328,7 @@ diff --git a/components/history/core/browser/expire_history_backend.cc b/compone
void ExpireHistoryBackend::DeleteFaviconsIfPossible(DeleteEffects* effects) {
if (!favicon_db_)
return;
@@ -606,6 +611,12 @@ void ExpireHistoryBackend::DoExpireIteration() {
@@ -607,6 +612,12 @@ void ExpireHistoryBackend::DoExpireIteration() {
return;
}
@@ -356,7 +356,7 @@ diff --git a/components/history/core/browser/expire_history_backend.h b/componen
diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc
--- a/components/history/core/browser/history_backend.cc
+++ b/components/history/core/browser/history_backend.cc
@@ -153,7 +153,7 @@ const int kMaxRedirectCount = 32;
@@ -156,7 +156,7 @@ const int kMaxRedirectCount = 32;
// The number of days old a history entry can be before it is considered "old"
// and is deleted.
@@ -365,7 +365,7 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his
// The maximum number of days for which domain visit metrics are computed
// each time HistoryBackend::GetDomainDiversity() is called.
@@ -1004,6 +1004,19 @@ void HistoryBackend::InitImpl(
@@ -1015,6 +1015,19 @@ void HistoryBackend::InitImpl(
LOCAL_HISTOGRAM_TIMES("History.InitTime", TimeTicks::Now() - beginning_time);
}
@@ -388,7 +388,7 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his
diff --git a/components/history/core/browser/history_backend.h b/components/history/core/browser/history_backend.h
--- a/components/history/core/browser/history_backend.h
+++ b/components/history/core/browser/history_backend.h
@@ -220,6 +220,8 @@ class HistoryBackend : public base::RefCountedThreadSafe<HistoryBackend>,
@@ -219,6 +219,8 @@ class HistoryBackend : public base::RefCountedThreadSafe<HistoryBackend>,
void Init(bool force_fail,
const HistoryDatabaseParams& history_database_params);
@@ -410,7 +410,7 @@ diff --git a/components/history/core/browser/history_service.cc b/components/his
#include "components/history/core/browser/download_row.h"
#include "components/history/core/browser/history_backend.h"
#include "components/history/core/browser/history_backend_client.h"
@@ -1081,6 +1084,9 @@ void HistoryService::Cleanup() {
@@ -1078,6 +1081,9 @@ void HistoryService::Cleanup() {
return;
}
@@ -420,7 +420,7 @@ diff --git a/components/history/core/browser/history_service.cc b/components/his
NotifyHistoryServiceBeingDeleted();
weak_ptr_factory_.InvalidateWeakPtrs();
@@ -1145,6 +1151,33 @@ bool HistoryService::Init(
@@ -1142,6 +1148,33 @@ bool HistoryService::Init(
return true;
}
@@ -475,7 +475,7 @@ diff --git a/components/history/core/browser/history_service.h b/components/hist
// Triggers the backend to load if it hasn't already, and then returns whether
// it's finished loading.
// Note: Virtual needed for mocking.
@@ -999,6 +1003,10 @@ class HistoryService : public KeyedService {
@@ -993,6 +997,10 @@ class HistoryService : public KeyedService {
base::OnceClosure origin_queried_closure_for_testing_;
@@ -13,16 +13,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -83,7 +83,8 @@ struct MatchGURLHash {
// static
size_t AutocompleteResult::GetMaxMatches(bool is_zero_suggest) {
#if BUILDFLAG(IS_ANDROID)
@@ -100,7 +100,8 @@ size_t AutocompleteResult::GetMaxMatches(bool is_zero_suggest) {
// and 10 on iPad.
constexpr size_t kMaxZeroSuggestMatchesOnIPad = 10;
#else
- 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 BUILDFLAG(IS_IOS)
constexpr size_t kDefaultMaxAutocompleteMatches = 6;
constexpr size_t kDefaultMaxZeroSuggestMatches = 8;
#endif
static_assert(kMaxAutocompletePositionValue > kDefaultMaxAutocompleteMatches,
diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omnibox/browser/omnibox_field_trial.cc
--- a/components/omnibox/browser/omnibox_field_trial.cc
+++ b/components/omnibox/browser/omnibox_field_trial.cc
@@ -23,7 +23,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/third_party/blink/renderer/core/dom/build.gni b/third_party/blink/renderer/core/dom/build.gni
--- a/third_party/blink/renderer/core/dom/build.gni
+++ b/third_party/blink/renderer/core/dom/build.gni
@@ -153,6 +153,8 @@ blink_core_sources_dom = [
@@ -157,6 +157,8 @@ blink_core_sources_dom = [
"has_invalidation_flags.h",
"icon_url.cc",
"icon_url.h",
@@ -35,7 +35,7 @@ diff --git a/third_party/blink/renderer/core/dom/build.gni b/third_party/blink/r
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
@@ -286,6 +286,7 @@
@@ -282,6 +282,7 @@
#include "third_party/blink/renderer/core/page/scrolling/root_scroller_controller.h"
#include "third_party/blink/renderer/core/page/scrolling/scroll_state_callback.h"
#include "third_party/blink/renderer/core/page/scrolling/scrolling_coordinator.h"
@@ -43,7 +43,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
#include "third_party/blink/renderer/core/page/scrolling/snap_coordinator.h"
#include "third_party/blink/renderer/core/page/scrolling/top_document_root_scroller_controller.h"
#include "third_party/blink/renderer/core/page/spatial_navigation_controller.h"
@@ -356,6 +357,8 @@
@@ -352,6 +353,8 @@
#include "third_party/blink/renderer/platform/wtf/text/string_buffer.h"
#include "third_party/blink/renderer/platform/wtf/text/text_encoding_registry.h"
@@ -52,7 +52,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();
@@ -6784,6 +6787,64 @@ void Document::MarkFirstPaint() {
@@ -6790,6 +6793,64 @@ void Document::MarkFirstPaint() {
MaybeExecuteDelayedAsyncScripts(MilestoneForDelayedAsyncScript::kFirstPaint);
}
@@ -117,7 +117,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);
@@ -6847,6 +6908,10 @@ void Document::FinishedParsing() {
@@ -6855,6 +6916,10 @@ void Document::FinishedParsing() {
if (frame->GetFrameScheduler())
frame->GetFrameScheduler()->OnDomContentLoaded();
@@ -131,7 +131,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
@@ -1946,6 +1946,9 @@ class CORE_EXPORT Document : public ContainerNode,
@@ -1953,6 +1953,9 @@ class CORE_EXPORT Document : public ContainerNode,
void AddAXContext(AXContext*);
void RemoveAXContext(AXContext*);
@@ -166,7 +166,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
@@ -193,6 +193,11 @@ void HTMLScriptElement::setTextContent(const String& string) {
@@ -194,6 +194,11 @@ void HTMLScriptElement::setTextContent(const String& string) {
script_text_internal_slot_ = ParkableString(string.Impl());
}
+20 -20
View File
@@ -42,7 +42,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
--- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -129,6 +129,7 @@ android_resources("java_resources") {
@@ -136,6 +136,7 @@ android_resources("java_resources") {
"java/res/drawable-hdpi/ic_volume_up_grey600_24dp.png",
"java/res/drawable-hdpi/permission_background_sync.png",
"java/res/drawable-hdpi/permission_javascript.png",
@@ -50,7 +50,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
"java/res/drawable-hdpi/permission_popups.png",
"java/res/drawable-hdpi/permission_protected_media.png",
"java/res/drawable-hdpi/settings_sensors.png",
@@ -136,6 +137,7 @@ android_resources("java_resources") {
@@ -143,6 +144,7 @@ android_resources("java_resources") {
"java/res/drawable-mdpi/ic_volume_up_grey600_24dp.png",
"java/res/drawable-mdpi/permission_background_sync.png",
"java/res/drawable-mdpi/permission_javascript.png",
@@ -58,7 +58,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
"java/res/drawable-mdpi/permission_popups.png",
"java/res/drawable-mdpi/permission_protected_media.png",
"java/res/drawable-mdpi/settings_sensors.png",
@@ -143,6 +145,7 @@ android_resources("java_resources") {
@@ -150,6 +152,7 @@ android_resources("java_resources") {
"java/res/drawable-xhdpi/ic_volume_up_grey600_24dp.png",
"java/res/drawable-xhdpi/permission_background_sync.png",
"java/res/drawable-xhdpi/permission_javascript.png",
@@ -66,7 +66,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
"java/res/drawable-xhdpi/permission_popups.png",
"java/res/drawable-xhdpi/permission_protected_media.png",
"java/res/drawable-xhdpi/settings_sensors.png",
@@ -150,6 +153,7 @@ android_resources("java_resources") {
@@ -157,6 +160,7 @@ android_resources("java_resources") {
"java/res/drawable-xxhdpi/ic_volume_up_grey600_24dp.png",
"java/res/drawable-xxhdpi/permission_background_sync.png",
"java/res/drawable-xxhdpi/permission_javascript.png",
@@ -74,7 +74,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
"java/res/drawable-xxhdpi/permission_popups.png",
"java/res/drawable-xxhdpi/permission_protected_media.png",
"java/res/drawable-xxhdpi/settings_sensors.png",
@@ -157,6 +161,7 @@ android_resources("java_resources") {
@@ -164,6 +168,7 @@ android_resources("java_resources") {
"java/res/drawable-xxxhdpi/ic_volume_up_grey600_24dp.png",
"java/res/drawable-xxxhdpi/permission_background_sync.png",
"java/res/drawable-xxxhdpi/permission_javascript.png",
@@ -214,27 +214,27 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
@@ -603,6 +603,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -610,6 +610,11 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
browserContextHandle, ContentSettingsType.JAVASCRIPT)
? R.string.website_settings_add_site_description_javascript_block
: R.string.website_settings_add_site_description_javascript_allow;
+ } else if (mCategory.showSites(SiteSettingsCategory.Type.JAVASCRIPT_JIT)) {
+ } else if (mCategory.getType() == SiteSettingsCategory.Type.JAVASCRIPT_JIT) {
+ resource = WebsitePreferenceBridge.isCategoryEnabled(
+ browserContextHandle, ContentSettingsType.JAVASCRIPT_JIT)
+ ? R.string.website_settings_add_site_description_javascript_jit_block
+ : R.string.website_settings_add_site_description_javascript_jit_allow;
} else if (mCategory.showSites(SiteSettingsCategory.Type.SOUND)) {
} else if (mCategory.getType() == SiteSettingsCategory.Type.SOUND) {
resource = WebsitePreferenceBridge.isCategoryEnabled(
browserContextHandle, ContentSettingsType.SOUND)
@@ -725,6 +730,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
@@ -732,6 +737,8 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
allowSpecifyingExceptions = true;
} else if (mCategory.showSites(SiteSettingsCategory.Type.JAVASCRIPT)) {
} else if (mCategory.getType() == SiteSettingsCategory.Type.JAVASCRIPT) {
allowSpecifyingExceptions = true;
+ } else if (mCategory.showSites(SiteSettingsCategory.Type.JAVASCRIPT_JIT)) {
+ } else if (mCategory.getType() == SiteSettingsCategory.Type.JAVASCRIPT_JIT) {
+ allowSpecifyingExceptions = true;
} else if (mCategory.showSites(SiteSettingsCategory.Type.COOKIES)) {
} else if (mCategory.getType() == SiteSettingsCategory.Type.COOKIES) {
allowSpecifyingExceptions = true;
} else if (mCategory.showSites(SiteSettingsCategory.Type.BACKGROUND_SYNC)
} else if (mCategory.getType() == SiteSettingsCategory.Type.BACKGROUND_SYNC
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
@@ -256,7 +256,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
} else if (type == ContentSettingsType.NOTIFICATIONS) {
setUpNotificationsPreference(preference, mSite.isEmbargoed(type));
} else {
@@ -1026,6 +1030,23 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
@@ -1032,6 +1036,23 @@ public class SingleWebsiteSettings extends SiteSettingsPreferenceFragment
setupContentSettingsPreference(preference, currentValue, false /* isEmbargoed */);
}
@@ -354,7 +354,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/website_preference_bridge.cc b/components/browser_ui/site_settings/android/website_preference_bridge.cc
--- a/components/browser_ui/site_settings/android/website_preference_bridge.cc
+++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc
@@ -770,6 +770,7 @@ static void JNI_WebsitePreferenceBridge_SetContentSettingEnabled(
@@ -790,6 +790,7 @@ static void JNI_WebsitePreferenceBridge_SetContentSettingEnabled(
case ContentSettingsType::COOKIES:
case ContentSettingsType::FEDERATED_IDENTITY_API:
case ContentSettingsType::JAVASCRIPT:
@@ -375,7 +375,7 @@ diff --git a/components/browser_ui/strings/android/site_settings.grdp b/componen
<message name="IDS_WEBSITE_SETTINGS_DEVICE_LOCATION" desc="Title for Location settings, which control which websites can access your location." meaning="Geolocation">
Location
</message>
@@ -428,6 +431,20 @@
@@ -437,6 +440,20 @@
Block JavaScript for a specific site.
</message>
@@ -399,7 +399,7 @@ diff --git a/components/browser_ui/strings/android/site_settings.grdp b/componen
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -615,7 +615,7 @@ void ContentSettingsRegistry::Init() {
@@ -618,7 +618,7 @@ void ContentSettingsRegistry::Init() {
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
Register(ContentSettingsType::JAVASCRIPT_JIT, "javascript-jit",
@@ -407,7 +407,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
+ CONTENT_SETTING_BLOCK, WebsiteSettingsInfo::UNSYNCABLE,
AllowlistedSchemes(),
ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK),
WebsiteSettingsInfo::SINGLE_ORIGIN_ONLY_SCOPE,
WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc
--- a/components/page_info/android/page_info_controller_android.cc
+++ b/components/page_info/android/page_info_controller_android.cc
@@ -431,7 +431,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
--- a/components/page_info/page_info.cc
+++ b/components/page_info/page_info.cc
@@ -120,6 +120,7 @@ ContentSettingsType kPermissionType[] = {
@@ -121,6 +121,7 @@ ContentSettingsType kPermissionType[] = {
ContentSettingsType::AR,
ContentSettingsType::IDLE_DETECTION,
ContentSettingsType::FEDERATED_IDENTITY_API,
@@ -439,7 +439,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
};
// Determines whether to show permission |type| in the Page Info UI. Only
@@ -153,6 +154,11 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info,
@@ -154,6 +155,11 @@ bool ShouldShowPermission(const PageInfo::PermissionInfo& info,
return true;
}
@@ -30,7 +30,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabData.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabData.java
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabData.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/state/CriticalPersistedTabData.java
@@ -597,9 +597,6 @@ public class CriticalPersistedTabData extends PersistedTabData {
@@ -598,9 +598,6 @@ public class CriticalPersistedTabData extends PersistedTabData {
if (getUrl() == null || getUrl().isEmpty()) {
return false;
}
@@ -15,8 +15,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -3874,9 +3874,9 @@
"expiry_milestone": 105
@@ -3872,9 +3872,9 @@
"expiry_milestone": 110
},
{
- "name": "incognito-screenshot",
+5 -5
View File
@@ -157,7 +157,7 @@ diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/
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
@@ -630,6 +630,7 @@ static_library("ui") {
@@ -632,6 +632,7 @@ static_library("ui") {
"//third_party/re2",
"//third_party/webrtc_overrides:webrtc_component",
"//third_party/zlib",
@@ -184,7 +184,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
+#include "third_party/zlib/google/zip.h"
+
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chromeos/dbus/debug_daemon/debug_daemon_client.h"
#include "chromeos/ash/components/dbus/debug_daemon/debug_daemon_client.h"
#endif
@@ -73,6 +84,10 @@ content::WebUIDataSource* CreateCrashesUIHTMLSource() {
return source;
@@ -269,7 +269,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
if (first_load_) {
first_load_ = false;
if (list_available_)
@@ -178,8 +222,7 @@ void CrashesDOMHandler::OnUploadListAvailable() {
@@ -177,8 +221,7 @@ void CrashesDOMHandler::OnUploadListAvailable() {
}
void CrashesDOMHandler::UpdateUI() {
@@ -279,7 +279,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
bool system_crash_reporter = false;
#if BUILDFLAG(IS_CHROMEOS)
@@ -236,14 +279,112 @@ void CrashesDOMHandler::UpdateUI() {
@@ -234,14 +277,112 @@ void CrashesDOMHandler::UpdateUI() {
void CrashesDOMHandler::HandleRequestSingleCrashUpload(
const base::Value::List& args) {
@@ -398,7 +398,7 @@ diff --git a/chrome/browser/ui/webui/crashes_ui.cc b/chrome/browser/ui/webui/cra
}
} // namespace
@@ -255,7 +396,8 @@ void CrashesDOMHandler::HandleRequestSingleCrashUpload(
@@ -253,7 +394,8 @@ void CrashesDOMHandler::HandleRequestSingleCrashUpload(
///////////////////////////////////////////////////////////////////////////////
CrashesUI::CrashesUI(content::WebUI* web_ui) : WebUIController(web_ui) {
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/favicon/core/favicon_database.cc b/components/favicon/core/favicon_database.cc
--- a/components/favicon/core/favicon_database.cc
+++ b/components/favicon/core/favicon_database.cc
@@ -508,6 +508,7 @@ FaviconBitmapID FaviconDatabase::AddFaviconBitmap(
@@ -509,6 +509,7 @@ FaviconBitmapID FaviconDatabase::AddFaviconBitmap(
base::Time time,
const gfx::Size& pixel_size) {
DCHECK(icon_id);
@@ -21,7 +21,7 @@ diff --git a/components/favicon/core/favicon_database.cc b/components/favicon/co
sql::Statement statement(db_.GetCachedStatement(
SQL_FROM_HERE,
@@ -560,8 +561,8 @@ bool FaviconDatabase::SetFaviconBitmap(
@@ -561,8 +562,8 @@ bool FaviconDatabase::SetFaviconBitmap(
} else {
statement.BindNull(0);
}
@@ -32,7 +32,7 @@ diff --git a/components/favicon/core/favicon_database.cc b/components/favicon/co
statement.BindInt64(3, bitmap_id);
return statement.Run();
@@ -570,7 +571,7 @@ bool FaviconDatabase::SetFaviconBitmap(
@@ -571,7 +572,7 @@ bool FaviconDatabase::SetFaviconBitmap(
bool FaviconDatabase::SetFaviconBitmapLastUpdateTime(FaviconBitmapID bitmap_id,
base::Time time) {
DCHECK(bitmap_id);
@@ -41,7 +41,7 @@ diff --git a/components/favicon/core/favicon_database.cc b/components/favicon/co
// If it is ON_DEMAND, reset last_requested to 0 and thus silently change the
// type to ON_VISIT.
sql::Statement statement(
@@ -580,7 +581,8 @@ bool FaviconDatabase::SetFaviconBitmapLastUpdateTime(FaviconBitmapID bitmap_id,
@@ -581,7 +582,8 @@ bool FaviconDatabase::SetFaviconBitmapLastUpdateTime(FaviconBitmapID bitmap_id,
statement.BindInt64(0, time.ToDeltaSinceWindowsEpoch().InMicroseconds());
statement.BindInt64(1, 0);
statement.BindInt64(2, bitmap_id);
+11 -11
View File
@@ -30,7 +30,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -78,6 +78,7 @@
@@ -77,6 +77,7 @@
#include "components/autofill/core/common/autofill_switches.h"
#include "components/autofill/core/common/autofill_util.h"
#include "components/autofill_assistant/browser/features.h"
@@ -38,7 +38,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#include "components/browser_sync/browser_sync_switches.h"
#include "components/browser_ui/site_settings/android/features.h"
#include "components/browsing_data/core/features.h"
@@ -5532,6 +5533,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -5668,6 +5669,11 @@ const FeatureEntry kFeatureEntries[] = {
reading_list::switches::kReadLaterReminderNotification)},
#endif
@@ -65,7 +65,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
@@ -1390,7 +1390,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
@@ -1384,7 +1384,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
void ChromeContentBrowserClient::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -77,7 +77,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
@@ -2697,6 +2697,10 @@ const char kTabToGTSAnimationAndroidDescription[] =
@@ -2753,6 +2753,10 @@ const char kTabToGTSAnimationAndroidDescription[] =
"Allows users to see an animation when entering or leaving the "
"Grid Tab Switcher on phones.";
@@ -91,7 +91,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
@@ -1518,6 +1518,9 @@ extern const char kTabGroupsUiImprovementsAndroidDescription[];
@@ -1549,6 +1549,9 @@ extern const char kTabGroupsUiImprovementsAndroidDescription[];
extern const char kTabToGTSAnimationAndroidName[];
extern const char kTabToGTSAnimationAndroidDescription[];
@@ -185,7 +185,7 @@ diff --git a/components/bookmarks/browser/bookmark_utils.cc b/components/bookmar
#include "components/bookmarks/browser/scoped_group_bookmark_actions.h"
#include "components/bookmarks/common/bookmark_pref_names.h"
#include "components/pref_registry/pref_registry_syncable.h"
@@ -438,11 +439,14 @@ bool DoesBookmarkContainWords(const std::u16string& title,
@@ -436,11 +437,14 @@ bool DoesBookmarkContainWords(const std::u16string& title,
void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
@@ -249,7 +249,7 @@ new file mode 100644
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -318,7 +318,7 @@ void ContentSettingsRegistry::Init() {
@@ -321,7 +321,7 @@ void ContentSettingsRegistry::Init() {
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
Register(ContentSettingsType::BACKGROUND_SYNC, "background-sync",
@@ -257,8 +257,8 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
+ CONTENT_SETTING_BLOCK, WebsiteSettingsInfo::UNSYNCABLE,
AllowlistedSchemes(),
ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK),
WebsiteSettingsInfo::SINGLE_ORIGIN_ONLY_SCOPE,
@@ -418,7 +418,7 @@ void ContentSettingsRegistry::Init() {
WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
@@ -421,7 +421,7 @@ void ContentSettingsRegistry::Init() {
// TODO(crbug.com/904439): Update this to "SECURE_ONLY" once
// DeviceOrientationEvents and DeviceMotionEvents are only fired in secure
// contexts.
@@ -266,7 +266,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
+ Register(ContentSettingsType::SENSORS, "sensors", CONTENT_SETTING_BLOCK,
WebsiteSettingsInfo::UNSYNCABLE, AllowlistedSchemes(),
ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK),
WebsiteSettingsInfo::SINGLE_ORIGIN_ONLY_SCOPE,
WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
diff --git a/components/content_settings/core/browser/cookie_settings.cc b/components/content_settings/core/browser/cookie_settings.cc
--- a/components/content_settings/core/browser/cookie_settings.cc
+++ b/components/content_settings/core/browser/cookie_settings.cc
@@ -324,7 +324,7 @@ diff --git a/components/signin/internal/identity_manager/primary_account_manager
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
@@ -481,7 +481,7 @@ const char kIsolateOriginsFieldTrialParamName[] = "OriginsList";
@@ -486,7 +486,7 @@ const char kIsolateOriginsFieldTrialParamName[] = "OriginsList";
// the attribute. Note: At present, only iframes with origin-restricted
// sandboxes are isolated.
const base::Feature kIsolateSandboxedIframes{"IsolateSandboxedIframes",
@@ -134,7 +134,7 @@ diff --git a/cc/input/browser_controls_offset_manager.cc b/cc/input/browser_cont
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -4209,6 +4209,9 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) {
@@ -4222,6 +4222,9 @@ bool LayerTreeHostImpl::AnimateBrowserControls(base::TimeTicks time) {
if (scroll_delta.IsZero())
return false;
@@ -147,7 +147,7 @@ diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiCoordinator.java
@@ -47,6 +47,7 @@ import org.chromium.components.feature_engagement.FeatureConstants;
@@ -48,6 +48,7 @@ import org.chromium.components.feature_engagement.FeatureConstants;
import org.chromium.ui.modelutil.PropertyModel;
import org.chromium.ui.modelutil.PropertyModelChangeProcessor;
import org.chromium.ui.resources.dynamics.DynamicResourceLoader;
@@ -155,17 +155,17 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
import java.util.List;
@@ -131,7 +132,8 @@ public class TabGroupUiCoordinator implements TabGroupUiMediator.ResetHandler, T
*/
@@ -133,7 +134,8 @@ public class TabGroupUiCoordinator implements TabGroupUiMediator.ResetHandler, T
@Override
public void initializeWithNative(Activity activity,
- BottomControlsCoordinator.BottomControlsVisibilityController visibilityController) {
+ BottomControlsCoordinator.BottomControlsVisibilityController visibilityController,
BottomControlsCoordinator.BottomControlsVisibilityController visibilityController,
- Callback<Object> onModelTokenChange) {
+ Callback<Object> onModelTokenChange,
+ TopUiThemeColorProvider topUiThemeColorProvider, ObservableSupplier<Tab> tabSupplier) {
try (TraceEvent e = TraceEvent.scoped("TabGroupUiCoordinator.initializeWithNative")) {
if (UmaSessionStats.isMetricsServiceAvailable()) {
UmaSessionStats.registerSyntheticFieldTrial(
@@ -168,7 +170,8 @@ public class TabGroupUiCoordinator implements TabGroupUiMediator.ResetHandler, T
@@ -170,7 +172,8 @@ public class TabGroupUiCoordinator implements TabGroupUiMediator.ResetHandler, T
mMediator = new TabGroupUiMediator(mActivity, visibilityController, this, mModel,
mTabModelSelector, mTabCreatorManager, mLayoutStateProviderSupplier,
mIncognitoStateProvider, dialogController, mActivityLifecycleDispatcher,
@@ -383,7 +383,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
/**
* Field trial parameter for downsampling scaling factor.
*/
@@ -192,6 +195,7 @@ class TabListRecyclerView
@@ -194,6 +197,7 @@ class TabListRecyclerView
? FINAL_FADE_IN_DURATION_MS
: BASE_ANIMATION_DURATION_MS;
@@ -391,7 +391,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
setAlpha(0);
setVisibility(View.VISIBLE);
mFadeInAnimator = ObjectAnimator.ofFloat(this, View.ALPHA, 1);
@@ -225,6 +229,11 @@ class TabListRecyclerView
@@ -227,6 +231,11 @@ class TabListRecyclerView
}
void setShadowVisibility(boolean shouldShowShadow) {
@@ -403,7 +403,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
if (mShadowImageView == null) {
Context context = getContext();
mShadowImageView = new ImageView(context);
@@ -237,7 +246,10 @@ class TabListRecyclerView
@@ -239,7 +248,10 @@ class TabListRecyclerView
if (getParent() instanceof FrameLayout) {
// Add shadow for grid tab switcher.
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
@@ -415,7 +415,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
mShadowImageView.setLayoutParams(params);
mShadowImageView.setTranslationY(mShadowTopOffset);
FrameLayout parent = (FrameLayout) getParent();
@@ -264,6 +276,10 @@ class TabListRecyclerView
@@ -266,6 +278,10 @@ class TabListRecyclerView
void setShadowTopOffset(int shadowTopOffset) {
mShadowTopOffset = shadowTopOffset;
@@ -426,7 +426,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
if (mShadowImageView != null && getParent() instanceof FrameLayout) {
// Since the shadow has no functionality, other than just existing visually, we can use
@@ -443,6 +459,7 @@ class TabListRecyclerView
@@ -445,6 +461,7 @@ class TabListRecyclerView
mListener.finishedHiding();
}
});
@@ -437,7 +437,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java
@@ -39,6 +39,7 @@ import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider
@@ -40,6 +40,7 @@ import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerImpl;
import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -445,7 +445,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
import org.chromium.chrome.browser.init.FirstDrawDetector;
import org.chromium.chrome.browser.multiwindow.MultiWindowModeStateDispatcher;
import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
@@ -384,11 +385,22 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
@@ -414,11 +415,22 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
updateTopControlsProperties();
mContainerViewModel.set(
BOTTOM_CONTROLS_HEIGHT, browserControlsStateProvider.getBottomControlsHeight());
@@ -468,7 +468,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
}
mContainerView = containerView;
@@ -502,6 +514,10 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
@@ -535,6 +547,10 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView
final int contentOffset = mBrowserControlsStateProvider.getContentOffset();
mContainerViewModel.set(TOP_MARGIN, contentOffset);
@@ -558,7 +558,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
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
@@ -240,6 +240,9 @@ import java.util.ArrayList;
@@ -241,6 +241,9 @@ import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
@@ -568,7 +568,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
/**
* A {@link AsyncInitializationActivity} that builds and manages a {@link CompositorViewHolder}
* and associated classes.
@@ -744,6 +747,15 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -745,6 +748,15 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
int toolbarLayoutId = getToolbarLayoutId();
if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
controlContainer.initWithToolbar(toolbarLayoutId);
@@ -584,7 +584,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
}
}
onInitialLayoutInflationComplete();
@@ -767,6 +779,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -768,6 +780,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
mCompositorViewHolderSupplier.get().setRootView(rootView);
// Setting fitsSystemWindows to false ensures that the root view doesn't consume the
@@ -595,18 +595,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
@@ -103,6 +103,7 @@ public class ChromeCachedFlags {
@@ -105,6 +105,7 @@ public class ChromeCachedFlags {
add(ChromeFeatureList.sInstanceSwitcher);
add(ChromeFeatureList.sInstantStart);
add(ChromeFeatureList.sInterestFeedV2);
+ add(ChromeFeatureList.sMoveTopToolbarToBottom);
add(ChromeFeatureList.sNewWindowAppMenu);
add(ChromeFeatureList.sOmniboxModernizeVisualUpdate);
add(ChromeFeatureList.sOptimizationGuidePushNotifications);
add(ChromeFeatureList.sPaintPreviewDemo);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
@@ -77,6 +77,8 @@ import org.chromium.ui.base.EventOffsetHandler;
@@ -79,6 +79,8 @@ import org.chromium.ui.base.EventOffsetHandler;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.resources.ResourceManager;
import org.chromium.ui.resources.dynamics.DynamicResourceLoader;
@@ -615,7 +615,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp
import java.util.ArrayList;
import java.util.HashSet;
@@ -296,6 +298,10 @@ public class CompositorViewHolder extends FrameLayout
@@ -298,6 +300,10 @@ public class CompositorViewHolder extends FrameLayout
WebContents webContents = mTabVisible.getWebContents();
if (webContents == null) return;
EventForwarder forwarder = webContents.getEventForwarder();
@@ -754,7 +754,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelper.java
@@ -368,7 +368,7 @@ public class StripLayoutHelper implements StripLayoutTab.StripLayoutTabDelegate
@@ -374,7 +374,7 @@ public class StripLayoutHelper implements StripLayoutTab.StripLayoutTabDelegate
// position 0 is on the left. Account for that in the offset calculation.
boolean isRtl = LocalizationUtils.isLayoutRtl();
boolean useUnadjustedScrollOffset = isRtl != isLeft;
@@ -822,7 +822,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
getActiveStripLayoutHelper().onLongPress(time(), x, y);
}
@@ -244,7 +253,8 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
@@ -249,7 +258,8 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
*/
public StripLayoutHelperManager(Context context, LayoutUpdateHost updateHost,
LayoutRenderHost renderHost, Supplier<LayerTitleCache> layerTitleCacheSupplier,
@@ -832,7 +832,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
mUpdateHost = updateHost;
mLayerTitleCacheSupplier = layerTitleCacheSupplier;
mTabStripTreeProvider = new TabStripSceneLayer(context);
@@ -287,6 +297,8 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
@@ -292,6 +302,8 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
new StripLayoutHelper(context, updateHost, renderHost, false, mModelSelectorButton);
mIncognitoHelper =
new StripLayoutHelper(context, updateHost, renderHost, true, mModelSelectorButton);
@@ -841,7 +841,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
onContextChanged(context);
}
@@ -356,9 +368,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
@@ -361,9 +373,13 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
Tab selectedTab = mTabModelSelector.getCurrentModel().getTabAt(
mTabModelSelector.getCurrentModel().index());
int selectedTabId = selectedTab == null ? TabModel.INVALID_TAB_INDEX : selectedTab.getId();
@@ -856,7 +856,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
return mTabStripTreeProvider;
}
@@ -396,7 +412,17 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
@@ -401,7 +417,17 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa
mIncognitoHelper.onSizeChanged(
mWidth, mHeight, orientationChanged, LayoutManagerImpl.time());
@@ -1040,7 +1040,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/Brow
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java
@@ -16,6 +16,10 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -17,6 +17,10 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
import org.chromium.components.messages.MessageContainer;
@@ -1051,7 +1051,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/messages/Messag
/**
* Coordinator of {@link MessageContainer}, which can adjust margins of the message container
* and control the visibility of browser control when message is being shown.
@@ -45,7 +49,12 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider
@@ -50,7 +54,12 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider
}
CoordinatorLayout.LayoutParams params =
(CoordinatorLayout.LayoutParams) mContainer.getLayoutParams();
@@ -1065,7 +1065,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/messages/Messag
mContainer.setLayoutParams(params);
}
@@ -87,6 +96,12 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider
@@ -110,6 +119,12 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider
/** @return Offset of the message container from the top of the screen. */
private int getContainerTopOffset() {
@@ -1200,7 +1200,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsP
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
@@ -69,6 +69,11 @@ import org.chromium.ui.base.WindowDelegate;
@@ -70,6 +70,11 @@ import org.chromium.ui.base.WindowDelegate;
import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.url.GURL;
@@ -1212,7 +1212,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se
import java.lang.ref.WeakReference;
/** Queries the user's default search engine and shows autocomplete suggestions. */
@@ -180,6 +185,11 @@ public class SearchActivity extends AsyncInitializationActivity
@@ -181,6 +186,11 @@ public class SearchActivity extends AsyncInitializationActivity
mSearchBox = (SearchActivityLocationBarLayout) mContentView.findViewById(
R.id.search_location_bar);
View anchorView = mContentView.findViewById(R.id.toolbar);
@@ -1224,7 +1224,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se
OverrideUrlLoadingDelegate overrideUrlLoadingDelegate =
(String url, @PageTransition int transition, String postDataType, byte[] postData,
boolean incognito) -> {
@@ -193,7 +203,7 @@ public class SearchActivity extends AsyncInitializationActivity
@@ -194,7 +204,7 @@ public class SearchActivity extends AsyncInitializationActivity
getOnBackPressedDispatcher().addCallback(this, backPressManager.getCallback());
}
// clang-format off
@@ -1302,7 +1302,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/status_indicato
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
@@ -175,6 +175,9 @@ import org.chromium.url.GURL;
@@ -178,6 +178,9 @@ import org.chromium.url.GURL;
import java.util.List;
@@ -1312,7 +1312,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
/**
* Contains logic for managing the toolbar visual component. This class manages the interactions
* with the rest of the application to ensure the toolbar is always visually up to date.
@@ -612,7 +615,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
@@ -661,7 +664,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
mEphemeralTabCoordinatorSupplier);
// clang-format off
LocationBarCoordinator locationBarCoordinator = new LocationBarCoordinator(
@@ -1321,7 +1321,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
PrivacyPreferencesManagerImpl.getInstance(), mLocationBarModel,
mActionModeController.getActionModeCallback(),
new WindowDelegate(mActivity.getWindow()), windowAndroid, mActivityTabProvider,
@@ -865,11 +868,13 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
@@ -914,11 +917,13 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
// the height won't be measured by the background image.
if (mControlContainer.getBackground() == null) {
setControlContainerTopMargin(getToolbarExtraYOffset());
@@ -1335,7 +1335,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
mControlContainer.removeOnLayoutChangeListener(mLayoutChangeListener);
mLayoutChangeListener = null;
}
@@ -1226,13 +1231,25 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
@@ -1299,13 +1304,25 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
return mLocationBar.getOmniboxStub().isUrlBarFocused();
}
@@ -1363,19 +1363,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
mScrimCoordinator, mOmniboxFocusStateSupplier, mBottomSheetController,
mActivityLifecycleDispatcher, mIsWarmOnResumeSupplier, mTabModelSelector,
mTabContentManager, mCompositorViewHolder,
@@ -1241,8 +1258,9 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
@@ -1314,8 +1331,9 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
mBottomControlsCoordinatorSupplier.set(
new BottomControlsCoordinator(mActivity, mWindowAndroid, mLayoutManager,
mCompositorViewHolder.getResourceManager(), mBrowserControlsSizer,
- mFullscreenManager, (ScrollingBottomViewResourceFrameLayout) root,
- mTabGroupUi, mOverlayPanelVisibilitySupplier));
- mTabGroupUi, mOverlayPanelVisibilitySupplier, mConstraintsProxy));
+ mFullscreenManager, (ScrollingBottomViewResourceFrameLayout) bottomRoot,
+ mTabGroupUi, mOverlayPanelVisibilitySupplier,
+ mTabGroupUi, mOverlayPanelVisibilitySupplier, mConstraintsProxy,
+ mTopUiThemeColorProvider, mActivityTabProvider));
}
/**
@@ -1984,6 +2002,15 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
@@ -2083,6 +2101,15 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve
private void setControlContainerTopMargin(int margin) {
final ViewGroup.MarginLayoutParams layoutParams =
((ViewGroup.MarginLayoutParams) mControlContainer.getLayoutParams());
@@ -1434,7 +1434,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContai
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
@@ -6942,6 +6942,11 @@ const FeatureEntry kFeatureEntries[] = {
@@ -7055,6 +7055,11 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWindowsScrollingPersonalityDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kWindowsScrollingPersonality)},
@@ -1457,7 +1457,7 @@ diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer
using base::android::JavaParamRef;
using base::android::JavaRef;
@@ -84,8 +85,10 @@ void TabStripSceneLayer::SetContentTree(
@@ -82,8 +83,10 @@ void TabStripSceneLayer::SetContentTree(
content_tree_ = content_tree;
if (content_tree) {
layer()->InsertChild(content_tree->layer(), 0);
@@ -1470,9 +1470,9 @@ diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer
}
}
}
@@ -120,7 +123,12 @@ void TabStripSceneLayer::UpdateTabStripLayer(JNIEnv* env,
@@ -115,12 +118,17 @@ void TabStripSceneLayer::UpdateTabStripLayer(JNIEnv* env,
jfloat y_offset,
jboolean should_readd_background) {
background_tab_brightness_ = background_tab_brightness;
gfx::RectF content(0, y_offset, width, height);
- layer()->SetPosition(gfx::PointF(0, y_offset));
+ if (base::FeatureList::IsEnabled(::features::kMoveTopToolbarToBottom)) {
@@ -1484,9 +1484,6 @@ diff --git a/chrome/browser/android/compositor/scene_layer/tab_strip_scene_layer
tab_strip_layer_->SetBounds(gfx::Size(width, height));
scrollable_strip_layer_->SetBounds(gfx::Size(width, height));
@@ -133,7 +141,7 @@ void TabStripSceneLayer::UpdateTabStripLayer(JNIEnv* env,
}
// Content tree should not be affected by tab strip scene layer visibility.
- if (content_tree_)
+ if (content_tree_ && !base::FeatureList::IsEnabled(::features::kMoveTopToolbarToBottom))
@@ -1535,7 +1532,7 @@ diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrom
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
@@ -1671,6 +1671,10 @@ const char kImprovedKeyboardShortcutsDescription[] =
@@ -1689,6 +1689,10 @@ const char kImprovedKeyboardShortcutsDescription[] =
"Ensure keyboard shortcuts work consistently with international keyboard "
"layouts and deprecate legacy shortcuts.";
@@ -1543,21 +1540,21 @@ diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descripti
+const char kMoveTopToolbarToBottomDescription[] =
+ "Move the top toolbar to the bottom.";
+
const char kIncognitoBrandConsistencyForAndroidName[] =
"Enable Incognito brand consistency in Android.";
const char kIncognitoBrandConsistencyForAndroidDescription[] =
const char kIncognitoDownloadsWarningName[] =
"Enable Incognito downloads warning";
const char kIncognitoDownloadsWarningDescription[] =
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
@@ -942,6 +942,9 @@ extern const char kImprovedKeyboardShortcutsDescription[];
@@ -952,6 +952,9 @@ extern const char kImprovedKeyboardShortcutsDescription[];
extern const char kCompositorThreadedScrollbarScrollingName[];
extern const char kCompositorThreadedScrollbarScrollingDescription[];
+extern const char kMoveTopToolbarToBottomName[];
+extern const char kMoveTopToolbarToBottomDescription[];
+
extern const char kIncognitoBrandConsistencyForAndroidName[];
extern const char kIncognitoBrandConsistencyForAndroidDescription[];
extern const char kIncognitoReauthenticationForAndroidName[];
extern const char kIncognitoReauthenticationForAndroidDescription[];
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
@@ -1602,18 +1599,18 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
#include "base/metrics/field_trial_params.h"
#include "base/no_destructor.h"
#include "base/strings/string_piece_forward.h"
@@ -254,6 +255,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -247,6 +248,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kKitKatSupported,
&kLensCameraAssistedSearch,
&kLensOnQuickActionSearchWidget,
+ &features::kMoveTopToolbarToBottom,
&kLocationBarModelOptimizations,
&kMostRecentTabOnBackgroundCloseTab,
&kNewInstanceFromDraggedLink,
&kNewTabPageTilesTitleWrapAround,
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
@@ -97,6 +97,7 @@ public class CachedFeatureFlags {
@@ -101,6 +101,7 @@ public class CachedFeatureFlags {
.put(ChromeFeatureList.TAB_GROUPS_CONTINUATION_ANDROID, false)
.put(ChromeFeatureList.TAB_GROUPS_FOR_TABLETS, false)
.put(ChromeFeatureList.TAB_STRIP_IMPROVEMENTS, false)
@@ -1621,7 +1618,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
.put(ChromeFeatureList.TAB_TO_GTS_ANIMATION, true)
.put(ChromeFeatureList.TEST_DEFAULT_DISABLED, false)
.put(ChromeFeatureList.TEST_DEFAULT_ENABLED, true)
@@ -202,6 +203,23 @@ public class CachedFeatureFlags {
@@ -206,6 +207,23 @@ public class CachedFeatureFlags {
SharedPreferencesManager.getInstance().writeBoolean(preferenceName, isEnabledInNative);
}
@@ -1645,7 +1642,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
/**
* Forces a feature to be enabled or disabled for testing.
*
@@ -521,6 +539,7 @@ public class CachedFeatureFlags {
@@ -525,6 +543,7 @@ public class CachedFeatureFlags {
@NativeMethods
interface Natives {
@@ -1656,7 +1653,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
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
@@ -421,6 +421,8 @@ public abstract class ChromeFeatureList {
@@ -420,6 +420,8 @@ public abstract class ChromeFeatureList {
public static final String MESSAGES_FOR_ANDROID_SYNC_ERROR = "MessagesForAndroidSyncError";
public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox";
public static final String MODAL_PERMISSION_DIALOG_VIEW = "ModalPermissionDialogView";
@@ -1665,15 +1662,15 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String METRICS_SETTINGS_ANDROID = "MetricsSettingsAndroid";
public static final String MOST_RECENT_TAB_ON_BACKGROUND_CLOSE_TAB =
"MostRecentTabOnBackgroundCloseTab";
@@ -663,6 +665,8 @@ public abstract class ChromeFeatureList {
@@ -673,6 +675,8 @@ public abstract class ChromeFeatureList {
public static final CachedFlag sInterestFeedV2 = new CachedFlag(INTEREST_FEED_V2, true);
public static final CachedFlag sLensCameraAssistedSearch =
new CachedFlag(LENS_CAMERA_ASSISTED_SEARCH, false);
+ public static final CachedFlag sMoveTopToolbarToBottom =
+ new CachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
public static final CachedFlag sNewWindowAppMenu = new CachedFlag(NEW_WINDOW_APP_MENU, true);
public static final CachedFlag sOptimizationGuidePushNotifications =
new CachedFlag(OPTIMIZATION_GUIDE_PUSH_NOTIFICATIONS, false);
public static final CachedFlag sOmahaMinSdkVersionAndroid =
new CachedFlag(OMAHA_MIN_SDK_VERSION_ANDROID, false);
diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java
--- a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java
+++ b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java
@@ -1883,7 +1880,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
@@ -53,6 +53,9 @@ import org.chromium.ui.modelutil.PropertyModel;
@@ -57,6 +57,9 @@ import org.chromium.ui.modelutil.PropertyModel;
import org.chromium.ui.mojom.WindowOpenDisposition;
import org.chromium.url.GURL;
@@ -1893,7 +1890,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.List;
@@ -934,7 +937,9 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener,
@@ -969,7 +972,9 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener,
public void onSuggestionDropdownScroll() {
if (mDropdownViewInfoListBuilder.hasFullyConcealedElements()) {
mSuggestionsListScrolled = true;
@@ -1907,7 +1904,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java
@@ -40,6 +40,9 @@ import org.chromium.ui.base.ViewUtils;
@@ -41,6 +41,9 @@ import org.chromium.ui.base.ViewUtils;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -1917,7 +1914,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
/** A widget for showing a list of omnibox suggestions. */
public class OmniboxSuggestionsDropdown extends RecyclerView {
private static final long DEFERRED_INITIAL_SHRINKING_LAYOUT_FROM_IME_DURATION_MS = 300;
@@ -169,7 +172,8 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
@@ -170,7 +173,8 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
* Constructs a new list designed for containing omnibox suggestions.
* @param context Context used for contained views.
*/
@@ -1927,7 +1924,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
super(context, null, android.R.attr.dropDownListViewStyle);
setFocusable(true);
setFocusableInTouchMode(true);
@@ -180,7 +184,7 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
@@ -181,7 +185,7 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
mScrollListener = new SuggestionScrollListener();
setOnScrollListener(mScrollListener);
@@ -1936,8 +1933,8 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
@Override
public int scrollVerticallyBy(
int deltaY, RecyclerView.Recycler recycler, RecyclerView.State state) {
@@ -195,6 +199,19 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
final Resources resources = context.getResources();
@@ -199,6 +203,19 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
: 0;
int paddingBottom =
resources.getDimensionPixelOffset(R.dimen.omnibox_suggestion_list_padding_bottom);
+ if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) {
@@ -1953,10 +1950,10 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
+ }
+ }
+ setLayoutManager(linearLayoutManager);
ViewCompat.setPaddingRelative(this, 0, 0, 0, paddingBottom);
ViewCompat.setPaddingRelative(this, paddingSide, 0, paddingSide, paddingBottom);
mStandardBgColor = ChromeColors.getDefaultThemeColor(context, false);
@@ -366,6 +383,8 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
@@ -370,6 +387,8 @@ public class OmniboxSuggestionsDropdown extends RecyclerView {
}
private int calculateAnchorBottomRelativeToContent() {
@@ -1998,7 +1995,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/android/toolbar/BUILD.gn b/chrome/browser/ui/android/toolbar/BUILD.gn
--- a/chrome/browser/ui/android/toolbar/BUILD.gn
+++ b/chrome/browser/ui/android/toolbar/BUILD.gn
@@ -160,6 +160,7 @@ android_library("java") {
@@ -162,6 +162,7 @@ android_library("java") {
"//components/user_prefs/android:java",
"//content/public/android:content_java",
"//third_party/android_deps:material_design_java",
@@ -2042,18 +2039,19 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
+import org.chromium.chrome.browser.tab.CurrentTabObserver;
+import org.chromium.chrome.browser.tab.Tab;
import org.chromium.base.Callback;
import org.chromium.components.browser_ui.widget.gesture.BackPressHandler;
@@ -24,9 +28,12 @@ public interface BottomControlsContentDelegate extends BackPressHandler {
* Initialize the delegate on native initialization.
@@ -26,10 +30,13 @@ public interface BottomControlsContentDelegate extends BackPressHandler {
* @param activity Activity for the delegate.
* @param visibilityController Bottom controls visibility controller.
* @param onModelTokenChange Callback to notify when a new capture is needed.
+ * @param topUiThemeColorProvider {@link ThemeColorProvider} for top UI.
+ * @param tabSupplier Activity tab supplier.
*/
void initializeWithNative(Activity activity,
- BottomControlsCoordinator.BottomControlsVisibilityController visibilityController);
+ BottomControlsCoordinator.BottomControlsVisibilityController visibilityController,
BottomControlsCoordinator.BottomControlsVisibilityController visibilityController,
- Callback<Object> onModelTokenChange);
+ Callback<Object> onModelTokenChange,
+ TopUiThemeColorProvider topUiThemeColorProvider, ObservableSupplier<Tab> tabSupplier);
/** Destroy the delegate. */
@@ -2070,33 +2068,33 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
/**
* The root coordinator for the bottom controls component. This component is intended for use with
@@ -59,6 +61,8 @@ public class BottomControlsCoordinator implements BackPressHandler {
@@ -60,6 +62,8 @@ public class BottomControlsCoordinator implements BackPressHandler {
* @param contentDelegate Delegate for bottom controls UI operations.
* @param overlayPanelVisibilitySupplier Notifies overlay panel visibility event.
* @param resourceManager A {@link ResourceManager} for loading textures into the compositor.
* @param layoutManager A {@link LayoutManagerImpl} to attach overlays to.
* @param constraintsSupplier Used to access current constraints of the browser controls.
+ * @param topUiThemeColorProvider {@link ThemeColorProvider} for top UI.
+ * @param tabSupplier Activity tab supplier.
*/
@SuppressLint("CutPasteId") // Not actually cut and paste since it's View vs ViewGroup.
public BottomControlsCoordinator(Activity activity, WindowAndroid windowAndroid,
@@ -66,7 +70,9 @@ public class BottomControlsCoordinator implements BackPressHandler {
BrowserControlsSizer controlsSizer, FullscreenManager fullscreenManager,
@@ -68,7 +72,9 @@ public class BottomControlsCoordinator implements BackPressHandler {
ScrollingBottomViewResourceFrameLayout root,
BottomControlsContentDelegate contentDelegate,
- ObservableSupplier<Boolean> overlayPanelVisibilitySupplier) {
+ ObservableSupplier<Boolean> overlayPanelVisibilitySupplier,
ObservableSupplier<Boolean> overlayPanelVisibilitySupplier,
- ObservableSupplier<Integer> constraintsSupplier) {
+ ObservableSupplier<Integer> constraintsSupplier,
+ TopUiThemeColorProvider topUiThemeColorProvider,
+ ObservableSupplier<Tab> tabSupplier) {
root.setConstraintsSupplier(constraintsSupplier);
PropertyModel model = new PropertyModel(BottomControlsProperties.ALL_KEYS);
ScrollingBottomViewSceneLayer sceneLayer =
@@ -100,7 +106,8 @@ public class BottomControlsCoordinator implements BackPressHandler {
layoutManager.addSceneOverlay(sceneLayer);
@@ -104,7 +110,8 @@ public class BottomControlsCoordinator implements BackPressHandler {
if (mContentDelegate != null) {
- mContentDelegate.initializeWithNative(activity, mMediator::setBottomControlsVisible);
+ mContentDelegate.initializeWithNative(activity, mMediator::setBottomControlsVisible,
+ topUiThemeColorProvider, tabSupplier);
mContentDelegate.initializeWithNative(
- activity, mMediator::setBottomControlsVisible, root::onModelTokenChange);
+ activity, mMediator::setBottomControlsVisible, root::onModelTokenChange,
+ topUiThemeColorProvider, tabSupplier);
}
}
@@ -2221,7 +2219,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
@@ -37,6 +37,11 @@ import org.chromium.ui.base.ViewUtils;
@@ -43,6 +43,11 @@ import org.chromium.ui.base.ViewUtils;
import org.chromium.ui.resources.dynamics.ViewResourceAdapter;
import org.chromium.ui.widget.OptimizedFrameLayout;
@@ -2233,7 +2231,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
/**
* Layout for the browser controls (omnibox, menu, tab strip, etc..).
*/
@@ -93,6 +98,12 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
@@ -99,6 +104,12 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con
@Override
public void initWithToolbar(int toolbarLayoutId) {
try (TraceEvent te = TraceEvent.scoped("ToolbarControlContainer.initWithToolbar")) {
@@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
+++ b/chrome/android/java/res/xml/privacy_preferences.xml
@@ -59,6 +59,19 @@
@@ -60,6 +60,19 @@
android:key="privacy_sandbox"
android:title="@string/prefs_privacy_sandbox"
android:fragment="org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsFragment"/>
@@ -37,7 +37,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
@@ -45,6 +45,12 @@ import org.chromium.components.user_prefs.UserPrefs;
@@ -42,6 +42,12 @@ import org.chromium.components.user_prefs.UserPrefs;
import org.chromium.ui.text.NoUnderlineClickableSpan;
import org.chromium.ui.text.SpanApplier;
@@ -50,8 +50,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
/**
* Fragment to keep track of the all the privacy related preferences.
*/
@@ -63,6 +69,16 @@ public class PrivacySettings
@@ -60,6 +66,16 @@ public class PrivacySettings
private static final String PREF_PROXY_OPTIONS = "proxy";
private static final String PREF_CLOSE_TABS_ON_EXIT = "close_tabs_on_exit";
+ // moved from SyncAndServicesSettings.java
@@ -66,8 +66,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
+
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
private IncognitoLockSettings mIncognitoLockSettings;
private ViewGroup mDialogContainer;
@@ -112,6 +128,16 @@ public class PrivacySettings
@@ -99,6 +115,16 @@ public class PrivacySettings
mManagedPreferenceDelegate = createManagedPreferenceDelegate();
@@ -84,7 +84,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);
@@ -144,6 +170,9 @@ public class PrivacySettings
@@ -131,6 +157,9 @@ public class PrivacySettings
} else if (PREF_HTTPS_FIRST_MODE.equals(key)) {
UserPrefs.get(Profile.getLastUsedRegularProfile())
.setBoolean(Pref.HTTPS_ONLY_MODE_ENABLED, (boolean) newValue);
@@ -94,7 +94,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
}
@@ -158,7 +187,7 @@ public class PrivacySettings
@@ -145,7 +174,7 @@ public class PrivacySettings
* Updates the preferences.
*/
public void updatePreferences() {
@@ -61,7 +61,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2354,6 +2354,7 @@ static_library("browser") {
@@ -2361,6 +2361,7 @@ static_library("browser") {
"//services/device/public/cpp:device_features",
"//services/device/public/cpp/serial:switches",
"//services/device/public/cpp/usb",
@@ -72,7 +72,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
@@ -211,6 +211,8 @@
@@ -213,6 +213,8 @@
#include "ui/native_theme/native_theme_features.h"
#include "ui/ui_features.h"
@@ -81,7 +81,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
#include "base/allocator/buildflags.h"
#endif
@@ -3372,6 +3374,20 @@ const FeatureEntry kFeatureEntries[] = {
@@ -3419,6 +3421,20 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWebrtcUseMinMaxVEADimensionsName,
flag_descriptions::kWebrtcUseMinMaxVEADimensionsDescription, kOsAll,
FEATURE_VALUE_TYPE(blink::features::kWebRtcUseMinMaxVEADimensions)},
@@ -105,7 +105,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
@@ -236,6 +236,7 @@ source_set("browser") {
@@ -246,6 +246,7 @@ source_set("browser") {
"//third_party/libyuv",
"//third_party/re2",
"//third_party/sqlite",
@@ -124,7 +124,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
#if BUILDFLAG(IS_ANDROID)
#include "content/browser/android/java_interfaces_impl.h"
#include "content/browser/font_unique_name_lookup/font_unique_name_lookup_service.h"
@@ -3210,6 +3211,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
@@ -3224,6 +3225,9 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kDisableBreakpad,
switches::kDisableDatabases,
switches::kDisableFileSystem,
@@ -148,7 +148,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
@@ -40,6 +40,8 @@
@@ -41,6 +41,8 @@
#include "ui/gl/gl_switches.h"
#include "ui/native_theme/native_theme_features.h"
@@ -157,7 +157,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
#if BUILDFLAG(IS_ANDROID)
#include "base/android/build_info.h"
#endif
@@ -547,6 +549,13 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
@@ -551,6 +553,13 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
if (!command_line.HasSwitch(switches::kDisableYUVImageDecoding) &&
base::FeatureList::IsEnabled(
blink::features::kDecodeLossyWebPImagesToYUV)) {
@@ -174,7 +174,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
--- a/third_party/blink/public/platform/web_runtime_features.h
+++ b/third_party/blink/public/platform/web_runtime_features.h
@@ -211,6 +211,9 @@ class WebRuntimeFeatures {
@@ -216,6 +216,9 @@ class WebRuntimeFeatures {
BLINK_PLATFORM_EXPORT static void EnableAutomationControlled(bool);
BLINK_PLATFORM_EXPORT static void EnableAutoplayIgnoresWebAudio(bool);
BLINK_PLATFORM_EXPORT static void EnableMediaControlsExpandGesture(bool);
@@ -187,7 +187,7 @@ diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_pa
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
@@ -42,6 +42,7 @@
@@ -37,6 +37,7 @@
#include "base/containers/contains.h"
#include "base/debug/dump_without_crashing.h"
#include "base/metrics/histogram_functions.h"
@@ -195,7 +195,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
#include "base/notreached.h"
#include "base/time/time.h"
#include "cc/animation/animation_host.h"
@@ -810,6 +811,15 @@ Document::Document(const DocumentInit& initializer,
@@ -806,6 +807,15 @@ Document::Document(const DocumentInit& initializer,
? MakeGarbageCollected<RenderBlockingResourceManager>(*this)
: nullptr),
data_(MakeGarbageCollected<DocumentData>(GetExecutionContext())) {
@@ -211,7 +211,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
if (base::FeatureList::IsEnabled(features::kDelayAsyncScriptExecution))
script_runner_delayer_->Activate();
@@ -2237,6 +2247,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() {
@@ -2233,6 +2243,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() {
#endif
}
@@ -240,7 +240,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;
@@ -2267,6 +2271,9 @@ class CORE_EXPORT Document : public ContainerNode,
@@ -2274,6 +2278,9 @@ class CORE_EXPORT Document : public ContainerNode,
base::ElapsedTimer start_time_;
@@ -253,7 +253,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
@@ -2106,6 +2106,7 @@ void Element::ClientQuads(Vector<gfx::QuadF>& quads) const {
@@ -2110,6 +2110,7 @@ void Element::ClientQuads(Vector<gfx::QuadF>& quads) const {
quads.push_back(element_layout_object->LocalToAbsoluteQuad(
gfx::QuadF(element_layout_object->ObjectBoundingBox())));
}
@@ -261,7 +261,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/
return;
}
@@ -2113,6 +2114,11 @@ void Element::ClientQuads(Vector<gfx::QuadF>& quads) const {
@@ -2117,6 +2118,11 @@ void Element::ClientQuads(Vector<gfx::QuadF>& quads) const {
if (element_layout_object->IsBoxModelObject() ||
element_layout_object->IsBR())
element_layout_object->AbsoluteQuads(quads);
@@ -273,7 +273,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/
}
DOMRectList* Element::getClientRects() {
@@ -2144,6 +2150,9 @@ gfx::RectF Element::GetBoundingClientRectNoLifecycleUpdate() const {
@@ -2148,6 +2154,9 @@ gfx::RectF Element::GetBoundingClientRectNoLifecycleUpdate() const {
DCHECK(element_layout_object);
GetDocument().AdjustRectForScrollAndAbsoluteZoom(result,
*element_layout_object);
@@ -464,7 +464,7 @@ diff --git a/third_party/blink/renderer/core/svg/svg_text_content_element.cc b/t
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
--- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
@@ -28,6 +28,7 @@
@@ -29,6 +29,7 @@
#include "third_party/blink/renderer/modules/webcodecs/video_frame.h"
#include "third_party/blink/renderer/platform/graphics/bitmap_image.h"
#include "third_party/blink/renderer/platform/graphics/graphics_context.h"
@@ -472,7 +472,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"
@@ -2047,6 +2048,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal(
@@ -2094,6 +2095,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal(
snapshot->PaintImageForCurrentFrame().GetSkImageInfo().bounds();
DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh)));
}
@@ -506,7 +506,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
@@ -1607,7 +1607,9 @@ component("platform") {
@@ -1609,7 +1609,9 @@ component("platform") {
"//third_party/blink/renderer:non_test_config",
]
@@ -517,7 +517,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",
@@ -1676,6 +1678,7 @@ component("platform") {
@@ -1678,6 +1680,7 @@ component("platform") {
"//third_party/blink/public/strings",
"//third_party/blink/renderer/platform/wtf",
"//third_party/ced",
@@ -528,8 +528,8 @@ 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
@@ -683,4 +683,16 @@ void WebRuntimeFeatures::EnableGetDisplayMediaSetAutoSelectAllScreens(
enable);
@@ -703,4 +703,16 @@ void WebRuntimeFeatures::EnablePrefixedStorageInfo(bool enable) {
RuntimeEnabledFeatures::SetPrefixedStorageInfoEnabled(enable);
}
+void WebRuntimeFeatures::EnableFingerprintingClientRectsNoise(bool enable) {
@@ -761,7 +761,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
@@ -1064,6 +1064,15 @@
@@ -1029,6 +1029,15 @@
name: "FileSystemAccess",
status: {"Android": "test", "default": "stable"},
},
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -265,6 +265,8 @@ std::vector<std::u16string> ChromeAutocompleteProviderClient::GetBuiltinURLs() {
@@ -269,6 +269,8 @@ std::vector<std::u16string> ChromeAutocompleteProviderClient::GetBuiltinURLs() {
std::vector<std::u16string>
ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
std::vector<std::u16string> builtins_to_provide;
@@ -79,7 +79,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
#include "components/metrics/single_sample_metrics.h"
#include "components/services/storage/privileged/mojom/indexed_db_control.mojom.h"
#include "components/services/storage/public/cpp/buckets/bucket_id.h"
@@ -3152,8 +3153,11 @@ void RenderProcessHostImpl::AppendRendererCommandLine(
@@ -3158,8 +3159,11 @@ void RenderProcessHostImpl::AppendRendererCommandLine(
PropagateBrowserCommandLineToRenderer(browser_command_line, command_line);
// Pass on the browser locale.
@@ -67,7 +67,7 @@ diff --git a/third_party/blink/renderer/core/inspector/inspector_page_agent.cc b
diff --git a/third_party/blink/renderer/core/loader/image_loader.cc b/third_party/blink/renderer/core/loader/image_loader.cc
--- a/third_party/blink/renderer/core/loader/image_loader.cc
+++ b/third_party/blink/renderer/core/loader/image_loader.cc
@@ -727,7 +727,8 @@ bool ImageLoader::ShouldLoadImmediately(const KURL& url) const {
@@ -726,7 +726,8 @@ bool ImageLoader::ShouldLoadImmediately(const KURL& url) const {
// content when style recalc is over and DOM mutation is allowed again.
if (!url.IsNull()) {
Resource* resource = GetMemoryCache()->ResourceForURL(
@@ -128,7 +128,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.h b/t
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
--- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
@@ -656,7 +656,8 @@ Resource* ResourceFetcher::CreateResourceForStaticData(
@@ -657,7 +657,8 @@ Resource* ResourceFetcher::CreateResourceForStaticData(
if (!archive_ && factory.GetType() == ResourceType::kRaw)
return nullptr;
@@ -159,7 +159,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
if (!base::FeatureList::IsEnabled(
blink::features::kScopeMemoryCachePerContext)) {
DCHECK(!IsMainThread() || params.IsStaleRevalidation() ||
@@ -2218,13 +2222,16 @@ void ResourceFetcher::UpdateAllImageResourcePriorities() {
@@ -2211,13 +2215,16 @@ void ResourceFetcher::UpdateAllImageResourcePriorities() {
to_be_removed.clear();
}
@@ -179,7 +179,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
// Requests that can be satisfied via `archive_` (i.e. MHTML) or
// `subresource_web_bundles_` should not participate in the global caching,
@@ -2236,7 +2243,7 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url) const {
@@ -2229,7 +2236,7 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url) const {
if (bundle)
return bundle->GetCacheIdentifier();
@@ -35,16 +35,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
net/base/network_isolation_key.h | 19 +++++++++++++++----
net/dns/dns_transaction.cc | 23 +++++++++++++++++++----
net/dns/dns_transaction.h | 4 +++-
net/dns/host_resolver_manager.cc | 21 +++++++++++++++++----
net/dns/host_resolver_manager.cc | 20 ++++++++++++++++----
net/socket/ssl_client_socket_impl.cc | 6 ++++++
14 files changed, 148 insertions(+), 15 deletions(-)
14 files changed, 147 insertions(+), 15 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
@@ -7964,6 +7964,18 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kUIDebugTools),
},
@@ -8073,6 +8073,18 @@ const FeatureEntry kFeatureEntries[] = {
kOsWin | kOsLinux | kOsLacros | kOsMac | kOsFuchsia,
FEATURE_VALUE_TYPE(kSigninInterceptBubbleV2)},
#endif
+ {"dns-request-partitioning",
+ flag_descriptions::kSplitDnsByNetworkIsolationKeyName,
@@ -64,7 +64,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
@@ -2616,6 +2616,15 @@ const char kSmoothScrollingName[] = "Smooth Scrolling";
@@ -2672,6 +2672,15 @@ const char kSmoothScrollingName[] = "Smooth Scrolling";
const char kSmoothScrollingDescription[] =
"Animate smoothly when scrolling page content.";
@@ -83,7 +83,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
@@ -1480,6 +1480,12 @@ extern const char kSiteIsolationOptOutChoiceOptOut[];
@@ -1511,6 +1511,12 @@ extern const char kSiteIsolationOptOutChoiceOptOut[];
extern const char kSmoothScrollingName[];
extern const char kSmoothScrollingDescription[];
@@ -99,7 +99,7 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -126,6 +126,12 @@ const base::Feature kIsCleartextPermitted{"IsCleartextPermitted",
@@ -123,6 +123,12 @@ const base::Feature kIsCleartextPermitted{"IsCleartextPermitted",
const base::Feature kNetworkQualityEstimator{"NetworkQualityEstimator",
base::FEATURE_DISABLED_BY_DEFAULT};
@@ -115,7 +115,7 @@ diff --git a/net/base/features.cc b/net/base/features.cc
diff --git a/net/base/features.h b/net/base/features.h
--- a/net/base/features.h
+++ b/net/base/features.h
@@ -188,6 +188,12 @@ NET_EXPORT extern const base::Feature kEncryptedClientHello;
@@ -184,6 +184,12 @@ NET_EXPORT extern const base::Feature kEncryptedClientHello;
// quality estimator (NQE).
NET_EXPORT extern const base::Feature kNetworkQualityEstimator;
@@ -170,8 +170,8 @@ diff --git a/net/base/isolation_info.cc b/net/base/isolation_info.cc
+ return info;
}
IsolationInfo IsolationInfo::Create(
@@ -276,6 +296,8 @@ std::string IsolationInfo::Serialize() const {
IsolationInfo IsolationInfo::CreateDoubleKey(
@@ -287,6 +307,8 @@ std::string IsolationInfo::Serialize() const {
}
}
@@ -183,9 +183,9 @@ diff --git a/net/base/isolation_info.cc b/net/base/isolation_info.cc
diff --git a/net/base/isolation_info.h b/net/base/isolation_info.h
--- a/net/base/isolation_info.h
+++ b/net/base/isolation_info.h
@@ -202,6 +202,10 @@ class NET_EXPORT IsolationInfo {
// an empty string.
std::string Serialize() const;
@@ -216,6 +216,10 @@ class NET_EXPORT IsolationInfo {
// means both `frame_site_` and `top_frame_site_` are populated.
static bool IsFrameSiteEnabled();
+ static IsolationInfo CreateTransientForDNS();
+ static IsolationInfo CreateTransientForDNS(net::NetworkIsolationKey network_isolation_key);
@@ -194,7 +194,7 @@ diff --git a/net/base/isolation_info.h b/net/base/isolation_info.h
private:
IsolationInfo(RequestType request_type,
const absl::optional<url::Origin>& top_frame_origin,
@@ -244,6 +248,9 @@ class NET_EXPORT IsolationInfo {
@@ -258,6 +262,9 @@ class NET_EXPORT IsolationInfo {
// excluded to make it easier to update on subframe redirects.
absl::optional<std::set<SchemefulSite>> party_context_;
@@ -238,7 +238,7 @@ diff --git a/net/base/network_isolation_key.cc b/net/base/network_isolation_key.
NetworkIsolationKey NetworkIsolationKey::CreateTransient() {
SchemefulSite site_with_opaque_origin;
return NetworkIsolationKey(site_with_opaque_origin, site_with_opaque_origin);
@@ -96,6 +108,10 @@ std::string NetworkIsolationKey::ToDebugString() const {
@@ -99,6 +111,10 @@ std::string NetworkIsolationKey::ToDebugString() const {
return_string += " (with nonce " + nonce_->ToString() + ")";
}
@@ -273,8 +273,8 @@ diff --git a/net/base/network_isolation_key.h b/net/base/network_isolation_key.h
+ std::tie(other.top_frame_site_, other.frame_site_, other.nonce_, other.is_dns_);
}
// Returns the string representation of the key, which is the string
@@ -139,6 +139,15 @@ class NET_EXPORT NetworkIsolationKey {
// Returns the string representation of the key for use in string-keyed disk
@@ -145,6 +145,15 @@ class NET_EXPORT NetworkIsolationKey {
const base::Value& value,
NetworkIsolationKey* out_network_isolation_key);
@@ -290,7 +290,7 @@ diff --git a/net/base/network_isolation_key.h b/net/base/network_isolation_key.h
private:
// Whether this key has opaque origins or a nonce.
bool IsOpaque() const;
@@ -148,6 +157,8 @@ class NET_EXPORT NetworkIsolationKey {
@@ -154,6 +163,8 @@ class NET_EXPORT NetworkIsolationKey {
static absl::optional<std::string> SerializeSiteWithNonce(
const SchemefulSite& site);
@@ -386,15 +386,15 @@ diff --git a/net/dns/dns_transaction.cc b/net/dns/dns_transaction.cc
diff --git a/net/dns/dns_transaction.h b/net/dns/dns_transaction.h
--- a/net/dns/dns_transaction.h
+++ b/net/dns/dns_transaction.h
@@ -15,6 +15,7 @@
#include "base/strings/string_piece.h"
@@ -16,6 +16,7 @@
#include "base/time/time.h"
#include "net/base/request_priority.h"
#include "net/dns/opt_record_rdata.h"
+#include "net/base/network_isolation_key.h"
#include "net/dns/public/secure_dns_mode.h"
#include "net/dns/record_rdata.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
@@ -115,7 +116,8 @@ class NET_EXPORT_PRIVATE DnsTransactionFactory {
@@ -116,7 +117,8 @@ class NET_EXPORT_PRIVATE DnsTransactionFactory {
bool secure,
SecureDnsMode secure_dns_mode,
ResolveContext* resolve_context,
@@ -407,27 +407,27 @@ diff --git a/net/dns/dns_transaction.h b/net/dns/dns_transaction.h
diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
--- a/net/dns/host_resolver_manager.cc
+++ b/net/dns/host_resolver_manager.cc
@@ -1259,7 +1259,8 @@ class HostResolverManager::DnsTask : public base::SupportsWeakPtr<DnsTask> {
Delegate* delegate,
@@ -1243,7 +1243,8 @@ class HostResolverManager::DnsTask : public base::SupportsWeakPtr<DnsTask> {
const NetLogWithSource& job_net_log,
const base::TickClock* tick_clock,
- bool fallback_available)
+ bool fallback_available,
bool fallback_available,
- const HostResolver::HttpsSvcbOptions& https_svcb_options)
+ const HostResolver::HttpsSvcbOptions& https_svcb_options,
+ const NetworkIsolationKey& network_isolation_key)
: client_(client),
host_(std::move(host)),
resolve_context_(resolve_context->AsSafeRef()),
@@ -1269,7 +1270,8 @@ class HostResolverManager::DnsTask : public base::SupportsWeakPtr<DnsTask> {
net_log_(job_net_log),
@@ -1254,7 +1255,8 @@ class HostResolverManager::DnsTask : public base::SupportsWeakPtr<DnsTask> {
tick_clock_(tick_clock),
task_start_time_(tick_clock_->NowTicks()),
- fallback_available_(fallback_available) {
+ fallback_available_(fallback_available),
fallback_available_(fallback_available),
- https_svcb_options_(https_svcb_options) {
+ https_svcb_options_(https_svcb_options),
+ network_isolation_key_(network_isolation_key) {
DCHECK(client_);
DCHECK(delegate_);
@@ -1488,7 +1490,8 @@ class HostResolverManager::DnsTask : public base::SupportsWeakPtr<DnsTask> {
@@ -1473,7 +1475,8 @@ class HostResolverManager::DnsTask : public base::SupportsWeakPtr<DnsTask> {
std::move(transaction_hostname),
DnsQueryTypeToQtype(transaction_info.type), net_log_, secure_,
secure_dns_mode_, &*resolve_context_,
@@ -437,26 +437,25 @@ diff --git a/net/dns/host_resolver_manager.cc b/net/dns/host_resolver_manager.cc
transaction_info.transaction->SetRequestPriority(delegate_->priority());
auto transaction_info_it =
@@ -2104,6 +2107,8 @@ class HostResolverManager::DnsTask : public base::SupportsWeakPtr<DnsTask> {
// task completes unsuccessfully. Used as a signal that underlying
// transactions should timeout more quickly.
@@ -2076,6 +2079,8 @@ class HostResolverManager::DnsTask : public base::SupportsWeakPtr<DnsTask> {
bool fallback_available_;
const HostResolver::HttpsSvcbOptions https_svcb_options_;
+
+ const NetworkIsolationKey network_isolation_key_;
};
//-----------------------------------------------------------------------------
@@ -2672,7 +2677,8 @@ class HostResolverManager::Job : public PrioritizedDispatcher::Job,
dns_task_ = std::make_unique<DnsTask>(
@@ -2652,7 +2657,7 @@ class HostResolverManager::Job : public PrioritizedDispatcher::Job,
resolver_->dns_client_.get(), key_.host, key_.query_types,
&*key_.resolve_context, secure, key_.secure_dns_mode, this, net_log_,
- tick_clock_, !tasks_.empty() /* fallback_available */);
+ tick_clock_, !tasks_.empty() /* fallback_available */,
+ key_.network_isolation_key);
tick_clock_, !tasks_.empty() /* fallback_available */,
- https_svcb_options_);
+ https_svcb_options_, key_.network_isolation_key);
dns_task_->StartNextTransaction();
// Schedule a second transaction, if needed. DoH queries can bypass the
// dispatcher and start all of their transactions immediately.
@@ -2964,6 +2970,13 @@ class HostResolverManager::Job : public PrioritizedDispatcher::Job,
@@ -2939,6 +2944,13 @@ class HostResolverManager::Job : public PrioritizedDispatcher::Job,
net_log_.EndEventWithNetErrorCode(
NetLogEventType::HOST_RESOLVER_MANAGER_JOB, results.error());
+6 -23
View File
@@ -11,11 +11,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../authenticator_dialog_view_browsertest.cc | 7 +++++++
.../webauthn/authenticator_dialog_browsertest.cc | 7 +++++++
.../webauthn/chrome_webauthn_browsertest.cc | 2 ++
content/browser/webauth/authenticator_common.cc | 6 ++++--
.../webauth/authenticator_impl_unittest.cc | 15 +++++++++++++--
content/public/common/content_features.cc | 6 ++++++
content/public/common/content_features.h | 1 +
7 files changed, 40 insertions(+), 4 deletions(-)
6 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/ui/views/webauthn/authenticator_dialog_view_browsertest.cc b/chrome/browser/ui/views/webauthn/authenticator_dialog_view_browsertest.cc
--- a/chrome/browser/ui/views/webauthn/authenticator_dialog_view_browsertest.cc
@@ -33,7 +32,7 @@ diff --git a/chrome/browser/ui/views/webauthn/authenticator_dialog_view_browsert
// DialogBrowserTest:
void ShowUi(const std::string& name) override {
dialog_model_ = std::make_unique<AuthenticatorRequestDialogModel>(
@@ -166,6 +172,7 @@ class AuthenticatorDialogViewTest : public DialogBrowserTest {
@@ -165,6 +171,7 @@ class AuthenticatorDialogViewTest : public DialogBrowserTest {
}
}
@@ -76,7 +75,7 @@ diff --git a/chrome/browser/webauthn/chrome_webauthn_browsertest.cc b/chrome/bro
// This makes it a little easier to compare against.
trace_ << std::endl;
}
@@ -697,6 +698,7 @@ class WebAuthnCableSecondFactor : public WebAuthnBrowserTest {
@@ -695,6 +696,7 @@ class WebAuthnCableSecondFactor : public WebAuthnBrowserTest {
};
protected:
@@ -84,22 +83,6 @@ diff --git a/chrome/browser/webauthn/chrome_webauthn_browsertest.cc b/chrome/bro
std::ostringstream trace_;
AuthenticatorRequestDialogModel* model_ = nullptr;
};
diff --git a/content/browser/webauth/authenticator_common.cc b/content/browser/webauth/authenticator_common.cc
--- a/content/browser/webauth/authenticator_common.cc
+++ b/content/browser/webauth/authenticator_common.cc
@@ -298,8 +298,10 @@ base::flat_set<device::FidoTransportProtocol> GetWebAuthnTransports(
transports.insert(device::FidoTransportProtocol::kInternal);
}
- transports.insert(
- device::FidoTransportProtocol::kCloudAssistedBluetoothLowEnergy);
+ if (base::FeatureList::IsEnabled(features::kWebAuthCable)) {
+ transports.insert(
+ device::FidoTransportProtocol::kCloudAssistedBluetoothLowEnergy);
+ }
// kAndroidAccessory doesn't work on Windows because of USB stack issues.
// Note: even if this value were inserted it wouldn't take effect on Windows
diff --git a/content/browser/webauth/authenticator_impl_unittest.cc b/content/browser/webauth/authenticator_impl_unittest.cc
--- a/content/browser/webauth/authenticator_impl_unittest.cc
+++ b/content/browser/webauth/authenticator_impl_unittest.cc
@@ -117,7 +100,7 @@ diff --git a/content/browser/webauth/authenticator_impl_unittest.cc b/content/br
// https://crbug.com/954355
NavigateAndCommit(GURL(kTestOrigin1));
@@ -3405,7 +3410,13 @@ TEST_F(AuthenticatorContentBrowserClientTest,
@@ -3404,7 +3409,13 @@ TEST_F(AuthenticatorContentBrowserClientTest,
AuthenticatorStatus::SUCCESS);
}
@@ -135,7 +118,7 @@ diff --git a/content/browser/webauth/authenticator_impl_unittest.cc b/content/br
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
@@ -1106,6 +1106,12 @@ const base::Feature kWebAssemblyTrapHandler {
@@ -1135,6 +1135,12 @@ const base::Feature kWebAssemblyTrapHandler {
#endif
};
@@ -151,7 +134,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
--- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h
@@ -286,6 +286,7 @@ CONTENT_EXPORT extern const base::Feature kWebAssemblyLazyCompilation;
@@ -295,6 +295,7 @@ CONTENT_EXPORT extern const base::Feature kWebAssemblyLazyCompilation;
CONTENT_EXPORT extern const base::Feature kWebAssemblySimd;
CONTENT_EXPORT extern const base::Feature kWebAssemblyTiering;
CONTENT_EXPORT extern const base::Feature kWebAssemblyTrapHandler;
@@ -132,7 +132,7 @@ diff --git a/chrome/android/features/tab_ui/junit/src/org/chromium/chrome/browse
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
@@ -8731,6 +8731,13 @@ const FeatureEntry kFeatureEntries[] = {
@@ -8830,6 +8830,13 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kWaylandScreenCoordinatesEnabled)},
#endif
@@ -149,7 +149,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
@@ -3390,6 +3390,11 @@ const char kEnableCbdSignOutDescription[] =
@@ -3458,6 +3458,11 @@ const char kEnableCbdSignOutDescription[] =
"Enable additional affordance to sign out when clearing browsing data and "
"ensure consistent behavior for all signed-in users.";
@@ -164,7 +164,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
@@ -379,6 +379,9 @@ extern const char kContextMenuSearchAndShopWithGoogleLensDescription[];
@@ -386,6 +386,9 @@ extern const char kContextMenuSearchWithGoogleLensDescription[];
extern const char kClientStorageAccessContextAuditingName[];
extern const char kClientStorageAccessContextAuditingDescription[];
@@ -177,15 +177,15 @@ diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptio
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -179,6 +179,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -178,6 +178,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kAssistantNonPersonalizedVoiceSearch,
&kAppLaunchpad,
&kAppMenuMobileSiteOption,
+ &kCloseAllTabsModalDialog,
&kAppToWebAttribution,
&kBackgroundThreadPool,
&kBulkTabRestore,
&kCastDeviceFilter,
+ &kCloseAllTabsModalDialog,
&kCloseTabSuggestions,
&kBookmarksExportUseSaf,
&kCriticalPersistedTabData,
@@ -501,6 +502,9 @@ const base::Feature kBulkTabRestore{"BulkTabRestore",
@@ -503,6 +504,9 @@ const base::Feature kBulkTabRestore{"BulkTabRestore",
const base::Feature kConditionalTabStripAndroid{
"ConditionalTabStripAndroid", base::FEATURE_DISABLED_BY_DEFAULT};
@@ -203,13 +203,13 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
extern const base::Feature kBackgroundThreadPool;
extern const base::Feature kBulkTabRestore;
+extern const base::Feature kCloseAllTabsModalDialog;
extern const base::Feature kClearOmniboxFocusAfterNavigation;
extern const base::Feature kCloseTabSuggestions;
extern const base::Feature kCriticalPersistedTabData;
extern const base::Feature kCommerceCoupons;
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
@@ -261,6 +261,7 @@ public abstract class ChromeFeatureList {
@@ -264,6 +264,7 @@ public abstract class ChromeFeatureList {
public static final String CCT_RESIZABLE_90_MAXIMUM_HEIGHT = "CCTResizable90MaximumHeight";
public static final String CCT_RESIZABLE_ALLOW_RESIZE_BY_USER_GESTURE =
"CCTResizableAllowResizeByUserGesture";
@@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/base/BUILD.gn b/base/BUILD.gn
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -3929,8 +3929,13 @@ action("build_date") {
@@ -3978,8 +3978,13 @@ action("build_date") {
args = [
rebase_path("$target_gen_dir/generated_build_date.h", root_build_dir),

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