Rebase to 128 (#1362)

Rebase to 128
This commit is contained in:
uazo
2024-08-16 17:57:48 +05:00
committed by GitHub
221 changed files with 3669 additions and 4080 deletions
+1 -1
View File
@@ -1 +1 @@
127.0.6533.103
128.0.6613.40
+8 -2
View File
@@ -31,7 +31,6 @@ use_sysroot=false
webview_includes_weblayer=false
enable_arcore=false
enable_openxr=false
enable_gvr_services=false
enable_feed_v2=false
enable_cardboard=false
is_high_end_android=true
@@ -81,7 +80,7 @@ use_relr_relocations=false
use_v8_context_snapshot = false
# enable libjxl support by default
enable_jxl_decoder = true
enable_jxl_decoder = false
# disable minikin engine
# see https://github.com/uazo/cromite/issues/697
@@ -94,6 +93,13 @@ enable_bound_session_credentials = false
# Use LogErrorNotReached() for NOTREACHED_IN_MIGRATION()
enable_log_error_not_reached = true
# Allows building without //third_party/unrar included, for license reasons
safe_browsing_use_unrar = false
# Keep disabled Google Request Header Integrity
# see https://chromium-review.googlesource.com/c/chromium/src/+/5778493
enable_request_header_integrity = false
declare_args() {
_is_debug_build = ""
build_webview = false
-11
View File
@@ -38,12 +38,10 @@ ungoogled-chromium-Disable-translate-integration.patch
ungoogled-chromium-Disable-profile-avatar.patch
ungoogled-chromium-Disable-intranet-detector.patch
ungoogled-chromium-no-special-hosts-domains.patch
ungoogled-chromium-Disable-Gaia.patch
ungoogled-chromium-Disable-Network-Time-Tracker.patch
Disable-all-promo-dialogs.patch
Disable-update-scheduler.patch
Add-search-engine.patch
openH264-enable-ARM-ARM64-optimizations.patch
Inject-scripts-for-AMP-tracking-ads-and-video.patch
Allow-playing-audio-in-background.patch
Add-flag-to-control-video-playback-resume-feature.patch
@@ -65,7 +63,6 @@ Disable-privacy-sandbox.patch
History-number-of-days-privacy-setting.patch
Disable-fetching-of-all-field-trials.patch
Disable-plugins-enumeration.patch
net-cert-increase-default-key-length.patch
dns-send-IPv6-connectivity-probes-to-RIPE-DNS.patch
Add-flag-to-disable-IPv6-probes.patch
profile-resetter-disable-send-settings.patch
@@ -73,7 +70,6 @@ Do-not-build-API-keys-infobar.patch
autofill-miscellaneous.patch
Enable-native-Android-autofill.patch
translate-disable-fetching-of-languages-from-server.patch
Offer-builtin-autocomplete-for-chrome-flags.patch
Disable-various-metrics.patch
Enable-StrictOriginIsolation-and-SitePerProcess.patch
Use-64-bit-WebView-processes.patch
@@ -101,7 +97,6 @@ Add-menu-item-to-view-source.patch
Revert-removal-of-execution-context-address-space.patch
Block-gateway-attacks-via-websockets.patch
Enable-prefetch-privacy-changes-by-default.patch
Disable-support-for-RAR-files-inspection.patch
Enable-darken-websites-checkbox-in-themes.patch
Remove-blocklisted-URLs-upon-bookmark-creation.patch
Disable-the-DIAL-repeating-discovery.patch
@@ -176,7 +171,6 @@ Partition-blobs-by-top-frame-URL.patch
Override-Navigator-Language.patch
Disable-add-to-home-screen-prompt.patch
Remove-HTTP-referrals-in-cross-origin-navigation.patch
Disable-StartSurface-feature.patch
Enable-third-party-storage-partitioning.patch
Restore-adaptive-button-in-top-toolbar-customization.patch
Add-kill-switch-for-unsupported-clangd-flags.patch
@@ -203,7 +197,6 @@ Disable-BackForwardCache.patch
Evict-the-entire-FrameTree-like-desktop.patch
Disable-visited-pseudo-class.patch
Add-setting-to-clear-data-on-exit.patch
WIN-Disable-sharing-hub.patch
Improve-the-browser-sandbox.patch
Disable-csp-reports.patch
Fonts-fingerprinting-mitigation.patch
@@ -224,7 +217,6 @@ Add-a-flag-to-disable-GamePad-API.patch
Disable-WebGPU.patch
Disable-GetInstalledRelatedApps-API.patch
Disable-GSA-by-default.patch
Disable-PrivateStateTokens-API.patch
Disallowing-MIDI-permission-by-default.patch
Disable-Compression-Dictionary-Transport.patch
Disallow-Android-App-Scheme-as-referrer.patch
@@ -302,15 +294,12 @@ Ask-for-restart-on-connection-change.patch
Bubble-Locking-on-UI-DevTools.patch
# temporary or wip patches
Disable-wip-Android-Hub.patch
Temp-PerformanceNavigationTiming-privacy-fix.patch
Temp-disable-predictive-back-gesture.patch
TEMP-Add-a-log-to-track-strange-behavior.patch
Temp-guard-FileSystemAccessPersistentPermissions.patch
Never-treat-Proguard-warnings-as-errors.patch
Fix-chromium-build-bugs.patch
Downstream-validate-opaque-origins-checking-their-precursor.patch
Temp-try-to-fix-DIPS-service.patch
# adblock patches
eyeo-beta-118.0.5993.48-base.patch
@@ -90,7 +90,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
@@ -3286,9 +3286,9 @@
@@ -3355,9 +3355,9 @@
"expiry_milestone": 135
},
{
@@ -121,7 +121,7 @@ new file mode 100644
diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json
--- a/gpu/config/gpu_driver_bug_list.json
+++ b/gpu/config/gpu_driver_bug_list.json
@@ -2696,6 +2696,22 @@
@@ -2618,6 +2618,22 @@
"no_downscaled_overlay_promotion"
]
},
@@ -183,9 +183,9 @@ diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc
if (!gpu_preferences.enable_android_surface_control)
return kGpuFeatureStatusDisabled;
@@ -387,6 +390,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info) {
gpu_feature_info->status_values[GPU_FEATURE_TYPE_CANVAS_OOP_RASTERIZATION] =
kGpuFeatureStatusBlocklisted;
@@ -401,6 +404,11 @@ void AdjustGpuFeatureStatusToWorkarounds(GpuFeatureInfo* gpu_feature_info,
kGpuFeatureStatusSoftware;
}
}
+
+ if (gpu_feature_info->IsWorkaroundEnabled(DISABLE_AIMAGEREADER)) {
@@ -198,8 +198,8 @@ 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
@@ -10,6 +10,7 @@ clamp_texture_base_level_and_max_level
clear_pixel_unpack_buffer_before_copyteximage
@@ -7,6 +7,7 @@ check_egl_fence_before_wait
check_ycbcr_studio_g22_left_p709_for_nv12_support
disable_2d_canvas_auto_flush
disable_accelerated_av1_decode
+disable_aimagereader
@@ -217,7 +217,7 @@ diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
#endif
#if BUILDFLAG(ENABLE_VULKAN)
@@ -721,6 +722,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
@@ -718,6 +719,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line,
}
#endif // BUILDFLAG(IS_WIN)
@@ -28,8 +28,8 @@ 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;
@@ -1070,6 +1071,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
super.onStartWithNative();
@@ -1043,6 +1044,8 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
ChromeActivitySessionTracker.getInstance().onStartWithNative(getProfileProviderSupplier());
ChromeCachedFlags.getInstance().cacheNativeFlags();
+ X509Util.AllowUserCertificates = ChromeFeatureList.isEnabled(
@@ -40,10 +40,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
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
@@ -144,6 +144,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -148,6 +148,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedPerformanceStudy,
&feed::kFeedShowSignInCommand,
&feed::kFeedSignedOutViewDemotion,
&feed::kFeedUserInteractionReliabilityReport,
+ &kAllowUserCertificates,
&feed::kInterestFeedV2,
&feed::kInterestFeedV2Hearts,
@@ -59,23 +59,23 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_TRANSLATE =
"AdaptiveButtonInTopToolbarTranslate";
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_ADD_TO_BOOKMARKS =
@@ -559,6 +560,8 @@ public abstract class ChromeFeatureList {
public static final CachedFlag sAppInfoTabResumptionModule =
newCachedFlag(APP_INFO_TAB_RESUMPTION_MODULE, false);
@@ -576,6 +577,8 @@ public abstract class ChromeFeatureList {
public static final CachedFlag sAndroidTabGroupStableIds =
newCachedFlag(ANDROID_TAB_GROUP_STABLE_IDS, true);
public static final CachedFlag sAppSpecificHistory = newCachedFlag(APP_SPECIFIC_HISTORY, false);
+ public static final CachedFlag sAllowUserCertificates =
+ newCachedFlag(ALLOW_USER_CERTIFICATES, false);
public static final CachedFlag sArchiveTabService = newCachedFlag(ARCHIVE_TAB_SERVICE, false);
public static final CachedFlag sAsyncNotificationManager =
newCachedFlag(ASYNC_NOTIFICATION_MANAGER, false);
@@ -708,6 +711,7 @@ public abstract class ChromeFeatureList {
@@ -734,6 +737,7 @@ public abstract class ChromeFeatureList {
public static final List<CachedFlag> sFlagsCachedFullBrowserChromium =
List.of(
sAccountReauthenticationRecentTimeWindow,
+ sAllowUserCertificates,
sAndroidAppIntegration,
sAndroidElegantTextHeight,
sAndroidHub,
sAndroidGoogleSansText,
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-AllowUserCertificates-flag.inc
new file mode 100644
--- /dev/null
@@ -44,7 +44,7 @@ new file mode 100644
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc
--- a/net/url_request/url_request_http_job.cc
+++ b/net/url_request/url_request_http_job.cc
@@ -360,6 +360,11 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
@@ -390,6 +390,11 @@ std::unique_ptr<URLRequestJob> URLRequestHttpJob::Create(URLRequest* request) {
}
}
@@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/base/features.cc b/base/features.cc
--- a/base/features.cc
+++ b/base/features.cc
@@ -90,6 +90,10 @@ BASE_FEATURE(kCollectAndroidFrameTimelineMetrics,
@@ -109,6 +109,10 @@ BASE_FEATURE(kPostPowerMonitorBroadcastReceiverInitToBackground,
FEATURE_DISABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_ANDROID)
@@ -14,7 +14,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.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
@@ -7694,9 +7694,9 @@
@@ -7866,9 +7866,9 @@
"expiry_milestone": 130
},
{
@@ -29,7 +29,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
@@ -3109,7 +3109,7 @@ const char kResetShortcutCustomizationsDescription[] =
@@ -3206,7 +3206,7 @@ const char kResetShortcutCustomizationsDescription[] =
const char kRestrictGamepadAccessName[] = "Restrict gamepad access";
const char kRestrictGamepadAccessDescription[] =
@@ -50,7 +50,7 @@ diff --git a/device/gamepad/public/cpp/gamepad_features.cc b/device/gamepad/publ
diff --git a/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc b/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc
--- a/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc
+++ b/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc
@@ -113,6 +113,10 @@ void RecordGamepadsForIdentifiabilityStudy(
@@ -118,6 +118,10 @@ void RecordGamepadsForIdentifiabilityStudy(
HeapVector<Member<Gamepad>> NavigatorGamepad::getGamepads(
Navigator& navigator,
ExceptionState& exception_state) {
@@ -61,7 +61,7 @@ diff --git a/third_party/blink/renderer/modules/gamepad/navigator_gamepad.cc b/t
if (!navigator.DomWindow()) {
// Using an existing NavigatorGamepad if one exists, but don't create one
// for a detached window, as its subclasses depend on a non-null window.
@@ -435,6 +439,8 @@ void NavigatorGamepad::SampleAndCompareGamepadState() {
@@ -440,6 +444,8 @@ void NavigatorGamepad::SampleAndCompareGamepadState() {
void NavigatorGamepad::DispatchGamepadEvent(const AtomicString& event_name,
Gamepad* gamepad) {
@@ -18,7 +18,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/android/java/res/values/values.xml | 3 +
.../java/res/xml/privacy_preferences.xml | 4 +
.../privacy/settings/PrivacySettings.java | 1 +
.../chrome_autocomplete_provider_client.cc | 2 +
.../chrome_autocomplete_provider_client.cc | 1 +
chrome/browser/browser_resources.grd | 3 +
.../extensions/api/proxy/proxy_api_helpers.cc | 2 +-
chrome/browser/net/proxy_service_factory.cc | 24 +-
@@ -30,9 +30,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/resources/proxy_config.js | 278 +++++++++++++
chrome/browser/ui/BUILD.gn | 2 +
.../webui/chrome_web_ui_controller_factory.cc | 3 +
chrome/browser/ui/webui/proxy_config_ui.cc | 392 ++++++++++++++++++
chrome/browser/ui/webui/proxy_config_ui.cc | 389 ++++++++++++++++++
chrome/browser/ui/webui/proxy_config_ui.h | 31 ++
chrome/common/webui_url_constants.cc | 4 +
chrome/common/webui_url_constants.cc | 2 +
chrome/common/webui_url_constants.h | 2 +
.../pref_proxy_config_tracker_impl.cc | 5 +-
.../proxy_config/proxy_config_dictionary.cc | 30 +-
@@ -40,7 +40,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../proxy_config/proxy_policy_handler.cc | 2 +-
net/proxy_resolution/proxy_config.cc | 51 ++-
net/proxy_resolution/proxy_config.h | 3 +
25 files changed, 979 insertions(+), 17 deletions(-)
25 files changed, 973 insertions(+), 17 deletions(-)
create mode 100644 chrome/browser/resources/proxy_config.css
create mode 100644 chrome/browser/resources/proxy_config.html
create mode 100644 chrome/browser/resources/proxy_config.js
@@ -88,19 +88,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -309,6 +309,8 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUISettingsURL));
@@ -319,6 +319,7 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
builtins_to_provide.push_back(chrome::kChromeUISettingsURL16);
#endif
+ builtins_to_provide.push_back(
+ base::ASCIIToUTF16(chrome::kChromeUIProxyConfigURL));
builtins_to_provide.push_back(
base::ASCIIToUTF16(chrome::kChromeUIVersionURL));
builtins_to_provide.push_back(chrome::kChromeUIVersionURL16);
+ builtins_to_provide.push_back(chrome::kChromeUIProxyConfigURL16);
return builtins_to_provide;
}
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
@@ -241,6 +241,9 @@
@@ -242,6 +242,9 @@
<include name="IDR_PREF_HASH_SEED_BIN" file="resources\settings\internal\pref_hash_seed.bin" type="BINDATA" />
<include name="IDR_ADDITIONAL_MODULE_IDS" file="${additional_modules_list_file}" use_base_dir="false" type="BINDATA" />
</if>
@@ -197,7 +196,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
@@ -195,6 +195,8 @@
@@ -200,6 +200,8 @@
#include "rlz/buildflags/buildflags.h"
#include "services/screen_ai/buildflags/buildflags.h"
@@ -206,7 +205,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
@@ -1697,6 +1699,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -1465,6 +1467,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
component_updater::RegisterPrefs(registry);
domain_reliability::RegisterPrefs(registry);
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
@@ -661,7 +660,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
@@ -327,6 +327,8 @@ static_library("ui") {
@@ -338,6 +338,8 @@ static_library("ui") {
"webui/metrics_internals/metrics_internals_ui.h",
"webui/net_export_ui.cc",
"webui/net_export_ui.h",
@@ -681,7 +680,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/privacy_sandbox/privacy_sandbox_internals_ui.h"
#include "chrome/browser/ui/webui/segmentation_internals/segmentation_internals_ui.h"
@@ -450,6 +451,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
@@ -441,6 +442,8 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* web_ui,
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
if (url.host_piece() == chrome::kChromeUINetExportHost)
return &NewWebUI<NetExportUI>;
@@ -694,7 +693,7 @@ diff --git a/chrome/browser/ui/webui/proxy_config_ui.cc b/chrome/browser/ui/webu
new file mode 100644
--- /dev/null
+++ b/chrome/browser/ui/webui/proxy_config_ui.cc
@@ -0,0 +1,392 @@
@@ -0,0 +1,389 @@
+/*
+ This file is part of Bromite.
+
@@ -756,7 +755,6 @@ new file mode 100644
+// this class's public methods are expected to run on the UI thread.
+class ProxyConfigMessageHandler
+ : public WebUIMessageHandler,
+ public base::SupportsWeakPtr<ProxyConfigMessageHandler>,
+ public net::ProxyConfigService::Observer {
+ public:
+ ProxyConfigMessageHandler(const ProxyConfigMessageHandler&) = delete;
@@ -794,12 +792,10 @@ new file mode 100644
+
+ void apply(const net::ProxyConfig& config);
+
+ base::WeakPtrFactory<ProxyConfigMessageHandler> weak_ptr_factory_;
+ base::WeakPtrFactory<ProxyConfigMessageHandler> weak_ptr_factory_{this};
+};
+
+ProxyConfigMessageHandler::ProxyConfigMessageHandler(Profile *profile)
+ :
+ weak_ptr_factory_(this) {
+ProxyConfigMessageHandler::ProxyConfigMessageHandler(Profile *profile) {
+
+ // used to set new configuration preferences
+ pref_service_ = g_browser_process->local_state();
@@ -1126,16 +1122,7 @@ new file mode 100644
diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc
--- a/chrome/common/webui_url_constants.cc
+++ b/chrome/common/webui_url_constants.cc
@@ -50,6 +50,8 @@ const char kChromeUICertificateViewerHost[] = "view-cert";
const char kChromeUICertificateViewerURL[] = "chrome://view-cert/";
const char kChromeUIChromeSigninHost[] = "chrome-signin";
const char kChromeUIChromeSigninURL[] = "chrome://chrome-signin/";
+const char kChromeUIProxyConfigHost[] = "proxy";
+const char kChromeUIProxyConfigURL[] = "chrome://proxy/";
const char kChromeUIChromeURLsHost[] = "chrome-urls";
const char kChromeUIChromeURLsURL[] = "chrome://chrome-urls/";
const char kChromeUIComponentsHost[] = "components";
@@ -471,6 +473,7 @@ bool IsSystemWebUIHost(std::string_view host) {
@@ -53,6 +53,7 @@ bool IsSystemWebUIHost(std::string_view host) {
kChromeUILockScreenNetworkHost,
kChromeUILockScreenStartReauthHost,
kChromeUIMobileSetupHost,
@@ -1143,26 +1130,26 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
kChromeUIMultiDeviceSetupHost,
kChromeUINetworkHost,
kChromeUINotificationTesterHost,
@@ -766,6 +769,7 @@ const char* const kChromeHostURLs[] = {
@@ -75,6 +76,7 @@ bool IsSystemWebUIHost(std::string_view host) {
// These hosts will also be suggested by BuiltinProvider.
base::span<const base::cstring_view> ChromeURLHosts() {
static constexpr auto kChromeURLHosts = std::to_array<base::cstring_view>({
+ kChromeUIProxyConfigHost,
kChromeUIAboutHost,
kChromeUIAccessibilityHost,
#if !BUILDFLAG(IS_ANDROID)
#if !BUILDFLAG(IS_CHROMEOS)
kChromeUIAppLauncherPageHost,
+ kChromeUIProxyConfigHost,
#endif
kChromeUIBookmarksHost,
kChromeUIDownloadsHost,
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
--- a/chrome/common/webui_url_constants.h
+++ b/chrome/common/webui_url_constants.h
@@ -137,6 +137,8 @@ extern const char kChromeUINTPTilesInternalsHost[];
extern const char kChromeUINaClHost[];
extern const char kChromeUINetExportHost[];
extern const char kChromeUINetExportURL[];
+extern const char kChromeUIProxyConfigHost[];
+extern const char kChromeUIProxyConfigURL[];
extern const char kChromeUINetInternalsHost[];
extern const char kChromeUINetInternalsURL[];
extern const char kChromeUINewTabHost[];
@@ -171,6 +171,8 @@ inline constexpr char kChromeUINetExportURL[] = "chrome://net-export";
inline constexpr char kChromeUINetInternalsHost[] = "net-internals";
inline constexpr char kChromeUINetInternalsURL[] = "chrome://net-internals/";
inline constexpr char kChromeUINewTabHost[] = "newtab";
+inline constexpr char16_t kChromeUIProxyConfigURL16[] = u"chrome://proxy/";
+inline constexpr char kChromeUIProxyConfigHost[] = "proxy";
inline constexpr char kChromeUINewTabPageHost[] = "new-tab-page";
inline constexpr char kChromeUINewTabPageThirdPartyHost[] =
"new-tab-page-third-party";
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
+111 -100
View File
@@ -30,7 +30,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../ChromeContextMenuPopulator.java | 7 +-
.../CustomTabActivityLifecycleUmaTracker.java | 31 ----
.../CustomTabAppMenuPropertiesDelegate.java | 4 +
.../CustomTabIntentDataProvider.java | 5 +-
.../CustomTabIntentDataProvider.java | 10 ++
.../browser/download/DownloadUtils.java | 16 +-
.../history/HistoryContentManager.java | 7 +-
.../browser/history/HistoryManager.java | 27 ++-
@@ -47,7 +47,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../tabmodel/TabModelSelectorImpl.java | 3 +
.../browser/tabmodel/TabPersistentStore.java | 9 +
.../browser/toolbar/ToolbarManager.java | 3 +-
.../webapps/WebappIntentDataProvider.java | 14 ++
.../webapps/WebappIntentDataProvider.java | 15 ++
.../browser/android/historical_tab_saver.cc | 24 ++-
.../chrome_autocomplete_provider_client.cc | 9 +
.../chrome_autocomplete_provider_client.h | 1 +
@@ -66,7 +66,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/browser/profiles/profile_selections.cc | 10 ++
chrome/browser/profiles/profile_selections.h | 7 +-
.../browser/ui/android/native_page/BUILD.gn | 2 +
.../browser/ui/native_page/NativePage.java | 23 ++-
.../browser/ui/native_page/NativePage.java | 22 ++-
.../strings/android_chrome_strings.grd | 25 +++
.../browser/toolbar/LocationBarModel.java | 5 +-
chrome/browser/ui/messages/android/BUILD.gn | 1 +
@@ -85,7 +85,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../add-an-always-incognito-mode.inc | 3 +
.../add-an-always-incognito-mode.inc | 1 +
net/base/file_stream_context.cc | 2 +-
66 files changed, 775 insertions(+), 103 deletions(-)
66 files changed, 781 insertions(+), 102 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
@@ -117,14 +117,14 @@ 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",
@@ -967,6 +968,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionOnboardingType.java",
"java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionOnboardingView.java",
"java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionSnackbarController.java",
@@ -955,6 +956,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",
+ "java/src/org/chromium/chrome/browser/privacy/settings/IncognitoSettings.java",
"java/src/org/chromium/chrome/browser/provider/BaseColumns.java",
"java/src/org/chromium/chrome/browser/provider/BookmarkColumns.java",
"java/src/org/chromium/chrome/browser/provider/ChromeBrowserProviderImpl.java",
"java/src/org/chromium/chrome/browser/privacy_sandbox/CctHandler.java",
"java/src/org/chromium/chrome/browser/privacy_sandbox/ChromeTrackingProtectionDelegate.java",
"java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionNoticeController.java",
diff --git a/chrome/android/java/res/xml/incognito_preferences.xml b/chrome/android/java/res/xml/incognito_preferences.xml
new file mode 100644
--- /dev/null
@@ -255,7 +255,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.app.metrics.LaunchCauseMetrics;
@@ -694,10 +698,15 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -677,10 +681,15 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
});
// For saving non-incognito tab closures for Recent Tabs.
@@ -275,7 +275,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
// Defer initialization of this helper so it triggers after TabModelFilter
// observers.
UndoRefocusHelper.initialize(
@@ -2453,8 +2462,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2251,8 +2260,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
// We determine the model as soon as possible so every systems get initialized coherently.
boolean startIncognito =
@@ -290,15 +290,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -94,6 +94,7 @@ import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial;
@@ -93,6 +93,7 @@ import org.chromium.chrome.browser.compositor.layouts.SceneChangeObserver;
import org.chromium.chrome.browser.compositor.layouts.content.TabContentManagerHandler;
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager.ContextualSearchTabPromotionDelegate;
import org.chromium.chrome.browser.dependency_injection.ChromeActivityCommonsModule;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.dependency_injection.ChromeActivityComponent;
import org.chromium.chrome.browser.dependency_injection.ModuleFactoryOverrides;
import org.chromium.chrome.browser.device.DeviceClassManager;
@@ -2033,6 +2034,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2006,6 +2007,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
throw new IllegalStateException(
"Attempting to access TabCreator before initialization");
}
@@ -331,7 +331,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.
@@ -594,6 +600,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -583,6 +589,13 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
private void prepareCommonMenuItems(Menu menu, @MenuGroup int menuGroup, boolean isIncognito) {
@@ -345,7 +345,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;
@@ -657,7 +670,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -646,7 +659,15 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
}
if (item.getItemId() == R.id.recent_tabs_menu_id) {
@@ -362,7 +362,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
}
if (item.getItemId() == R.id.menu_select_tabs) {
item.setVisible(isMenuSelectTabsVisible);
@@ -866,8 +887,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -859,8 +880,9 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
&& !isNativePage
&& !isFileScheme
&& !isContentScheme
@@ -385,7 +385,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator;
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuItem.Item;
import org.chromium.chrome.browser.contextmenu.ContextMenuCoordinator.ListItemType;
@@ -258,6 +259,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -265,6 +266,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
public List<Pair<Integer, ModelList>> buildContextMenu() {
mShowEphemeralTabNewLabel = null;
@@ -395,7 +395,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
List<Pair<Integer, ModelList>> groupedItems = new ArrayList<>();
if (mParams.isAnchor()) {
@@ -268,6 +272,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -275,6 +279,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
if (mMode == ContextMenuMode.NORMAL) {
linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB_IN_GROUP));
linkGroup.add(createListItem(Item.OPEN_IN_NEW_TAB));
@@ -403,7 +403,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
if (!mItemDelegate.isIncognito() && mItemDelegate.isIncognitoSupported()) {
linkGroup.add(createListItem(Item.OPEN_IN_INCOGNITO_TAB));
}
@@ -292,7 +297,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -299,7 +304,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
}
}
if (FirstRunStatus.getFirstRunFlowComplete()) {
@@ -464,7 +464,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
import org.chromium.chrome.browser.DefaultBrowserInfo;
import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl;
import org.chromium.chrome.browser.app.appmenu.DividerLineMenuItemViewBinder;
@@ -216,6 +217,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -218,6 +219,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
openInChromeItemVisible = false;
tryAddingReadAloud = false;
}
@@ -477,7 +477,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabIntentDataProvider.java
@@ -88,6 +88,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
@@ -88,6 +88,9 @@ import org.chromium.components.embedder_support.util.Origin;
import org.chromium.components.embedder_support.util.UrlConstants;
import org.chromium.device.mojom.ScreenOrientationLockType;
@@ -487,15 +487,20 @@ 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;
@@ -1390,7 +1393,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@Override
public boolean isIncognito() {
- return false;
+ return AlwaysIncognitoLinkInterceptor.isAlwaysIncognito();
@@ -1194,6 +1197,13 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
return getInitialActivityWidth() > 0;
}
+ @Override
+ public @CustomTabProfileType int getCustomTabMode() {
+ return AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()
+ ? CustomTabProfileType.INCOGNITO
+ : CustomTabProfileType.REGULAR;
+ }
+
@Override
public boolean isPartialCustomTab() {
return isPartialHeightCustomTab() || isPartialWidthCustomTab();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/download/DownloadUtils.java
@@ -563,7 +568,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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
@@ -56,6 +56,14 @@ import org.chromium.ui.base.Clipboard;
@@ -57,6 +57,14 @@ import org.chromium.ui.base.Clipboard;
import java.util.List;
@@ -578,7 +583,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
/** Combines and manages the different UI components of browsing history. */
public class HistoryManager
implements OnMenuItemClickListener,
@@ -168,7 +176,7 @@ public class HistoryManager
@@ -169,7 +177,7 @@ public class HistoryManager
mUmaRecorder.recordOpenHistory();
// If incognito placeholder is shown, we don't need to create History UI elements.
@@ -587,7 +592,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
mSelectableListLayout = null;
mRootView = getIncognitoHistoryPlaceholderView();
return;
@@ -420,9 +428,22 @@ public class HistoryManager
@@ -436,9 +444,22 @@ public class HistoryManager
onBackPressStateChanged();
}
@@ -611,7 +616,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
// If Incognito placeholder is shown no need to call any destroy method.
return;
}
@@ -482,7 +503,7 @@ public class HistoryManager
@@ -498,7 +519,7 @@ public class HistoryManager
* @return True if manager handles this event, false if it decides to ignore.
*/
private boolean onBackPressed() {
@@ -903,7 +908,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable;
import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
@@ -410,6 +411,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -408,6 +409,9 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
((ChromeBaseSettingsFragment)fragment).setRequestRestartDelegate(
new RequestRestartDelegate(mSnackbarManager, this));
}
@@ -1022,8 +1027,8 @@ 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
@@ -154,6 +154,8 @@ import org.chromium.components.webapps.bottomsheet.PwaBottomSheetControllerFacto
import org.chromium.ui.InsetObserver;
@@ -149,6 +149,8 @@ import org.chromium.ui.InsetObserver;
import org.chromium.ui.UiUtils;
import org.chromium.ui.base.ActivityWindowAndroid;
import org.chromium.ui.base.DeviceFormFactor;
+import org.chromium.base.ContextUtils;
@@ -1031,7 +1036,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.dragdrop.DragDropGlobalState;
import org.chromium.ui.modaldialog.ModalDialogManager;
@@ -1045,7 +1047,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -1036,7 +1038,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
() -> {
mTabCreatorManagerSupplier
.get()
@@ -1043,7 +1048,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
@@ -50,6 +50,10 @@ import org.chromium.ui.base.PageTransition;
@@ -47,6 +47,10 @@ import org.chromium.ui.base.PageTransition;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.url.GURL;
@@ -1053,8 +1058,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
+
/** This class creates various kinds of new tabs and adds them to the right {@link TabModel}. */
public class ChromeTabCreator extends TabCreator {
/** Interface to handle showing overview instead of NTP if needed. */
@@ -534,7 +538,6 @@ public class ChromeTabCreator extends TabCreator {
private final Activity mActivity;
@@ -500,7 +504,6 @@ public class ChromeTabCreator extends TabCreator {
// TODO(crbug.com/40691614): Clean up the launches from SearchActivity/Chrome.
public Tab launchUrlFromExternalApp(
LoadUrlParams loadUrlParams, String appId, boolean forceNewTab, Intent intent) {
@@ -1085,7 +1090,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
@@ -49,6 +49,8 @@ import org.chromium.chrome.features.start_surface.StartSurfaceUserData;
@@ -48,6 +48,8 @@ import org.chromium.chrome.browser.tabpersistence.TabStateFileManager;
import org.chromium.components.embedder_support.util.UrlUtilities;
import org.chromium.content_public.browser.LoadUrlParams;
@@ -1094,7 +1099,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
@@ -764,6 +766,13 @@ public class TabPersistentStore {
@@ -766,6 +768,13 @@ public class TabPersistentStore {
}
}
}
@@ -1111,15 +1116,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
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
@@ -42,6 +42,7 @@ import org.chromium.base.supplier.OneshotSupplier;
@@ -41,6 +41,7 @@ import org.chromium.base.supplier.OneshotSupplierImpl;
import org.chromium.base.supplier.Supplier;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.app.tab_activity_glue.TabReparentingController;
import org.chromium.chrome.browser.app.tabmodel.TabWindowManagerSingleton;
@@ -650,7 +651,7 @@ public class ToolbarManager
import org.chromium.chrome.browser.back_press.BackPressManager;
@@ -625,7 +626,7 @@ public class ToolbarManager
TraceEvent.end("isOfflinePage");
return ret;
}
@@ -1131,17 +1136,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappIntentDataProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappIntentDataProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappIntentDataProvider.java
@@ -33,6 +33,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
@@ -33,6 +33,8 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
import org.chromium.device.mojom.ScreenOrientationLockType;
import org.chromium.ui.util.ColorUtils;
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+
/** Stores info about a web app. */
public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider {
private final Drawable mCloseButtonIcon;
@@ -45,6 +48,8 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
@@ -45,6 +47,8 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
private final ColorProviderImpl mColorProvider;
private final ColorProviderImpl mDarkColorProvider;
@@ -1150,7 +1154,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
/** Returns the toolbar color to use if a custom color is not specified by the webapp. */
public static int getDefaultToolbarColor() {
return Color.WHITE;
@@ -80,6 +85,10 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
@@ -80,6 +84,10 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
mWebappExtras = webappExtras;
mWebApkExtras = webApkExtras;
mActivityType = (webApkExtras != null) ? ActivityType.WEB_APK : ActivityType.WEBAPP;
@@ -1161,13 +1165,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
}
@Override
@@ -175,6 +184,11 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
@@ -175,6 +183,13 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
return mWebApkExtras;
}
+ @Override
+ public boolean isIncognito() {
+ return mIsIncognito;
+ public @CustomTabProfileType int getCustomTabMode() {
+ return mIsIncognito
+ ? CustomTabProfileType.INCOGNITO
+ : CustomTabProfileType.REGULAR;
+ }
+
@Override
@@ -1176,7 +1182,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/android/historical_tab_saver.cc
--- a/chrome/browser/android/historical_tab_saver.cc
+++ b/chrome/browser/android/historical_tab_saver.cc
@@ -32,6 +32,11 @@
@@ -33,6 +33,11 @@
// Must come after all headers that specialize FromJniType() / ToJniType().
#include "chrome/android/chrome_jni_headers/HistoricalTabSaverImpl_jni.h"
@@ -1188,7 +1194,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
using base::android::JavaParamRef;
using base::android::JavaRef;
using base::android::ScopedJavaLocalRef;
@@ -106,7 +111,8 @@ std::vector<std::optional<base::Uuid>> StringsToUuids(
@@ -107,7 +112,8 @@ std::vector<std::optional<base::Uuid>> StringsToUuids(
void CreateHistoricalTab(
TabAndroid* tab_android,
@@ -1198,7 +1204,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
if (!tab_android) {
return;
}
@@ -117,9 +123,14 @@ void CreateHistoricalTab(
@@ -118,9 +124,14 @@ void CreateHistoricalTab(
return;
}
@@ -1215,7 +1221,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
if (!service) {
return;
}
@@ -185,7 +196,7 @@ void CreateHistoricalBulkClosure(
@@ -186,7 +197,7 @@ void CreateHistoricalBulkClosure(
std::vector<int> per_tab_root_id,
std::vector<raw_ptr<TabAndroid, VectorExperimental>> tabs,
std::vector<WebContentsStateByteBuffer> web_contents_state) {
@@ -1224,7 +1230,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
DCHECK_EQ(root_ids.size(), group_titles.size());
DCHECK_EQ(root_ids.size(), group_colors.size());
DCHECK_EQ(root_ids.size(), optional_tab_group_ids.size());
@@ -318,11 +329,12 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab(
@@ -319,11 +330,12 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab(
JNIEnv* env,
const JavaParamRef<jobject>& jtab_android,
const JavaParamRef<jobject>& state,
@@ -1242,7 +1248,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
@@ -358,6 +358,15 @@ ChromeAutocompleteProviderClient::GetProviderStateService() const {
@@ -366,6 +366,15 @@ ChromeAutocompleteProviderClient::GetProviderStateService() const {
return ProviderStateServiceFactory::GetForProfile(profile_);
}
@@ -1303,7 +1309,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
#include "components/content_settings/core/browser/content_settings_pref_provider.h"
#include "components/content_settings/core/browser/host_content_settings_map.h"
#include "components/permissions/features.h"
@@ -101,9 +102,25 @@ scoped_refptr<RefcountedKeyedService>
@@ -104,9 +105,25 @@ scoped_refptr<RefcountedKeyedService>
if (profile->IsOffTheRecord() && !profile->IsGuestSession())
GetForProfile(original_profile);
@@ -1330,7 +1336,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
/*store_last_modified=*/true, profile->ShouldRestoreOldSessionCookies(),
profiles::IsRegularUserProfile(profile)));
@@ -112,6 +129,9 @@ scoped_refptr<RefcountedKeyedService>
@@ -115,6 +132,9 @@ scoped_refptr<RefcountedKeyedService>
settings_map->RegisterProvider(ProviderType::kWebuiAllowlistProvider,
std::move(allowlist_provider));
@@ -1716,7 +1722,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
@@ -248,6 +248,7 @@
@@ -257,6 +257,7 @@
#if BUILDFLAG(IS_ANDROID)
#include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h"
@@ -1724,7 +1730,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/ntp/recent_tabs_page_prefs.h"
#include "chrome/browser/android/oom_intervention/oom_intervention_decider.h"
@@ -2126,6 +2127,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -1914,6 +1915,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
variations::VariationsService::RegisterProfilePrefs(registry);
webapps::InstallPromptPrefs::RegisterProfilePrefs(registry);
@@ -1748,7 +1754,7 @@ diff --git a/chrome/browser/profiles/profile_selections.cc b/chrome/browser/prof
#include "chrome/browser/profiles/profile.h"
#include "components/profile_metrics/browser_profile_type.h"
@@ -109,6 +112,13 @@ Profile* ProfileSelections::ApplyProfileSelection(Profile* profile) const {
@@ -112,6 +115,13 @@ Profile* ProfileSelections::ApplyProfileSelection(Profile* profile) const {
return nullptr;
case ProfileSelection::kOriginalOnly:
return profile->IsOffTheRecord() ? nullptr : profile;
@@ -1768,13 +1774,13 @@ diff --git a/chrome/browser/profiles/profile_selections.h b/chrome/browser/profi
@@ -6,7 +6,7 @@
#define CHROME_BROWSER_PROFILES_PROFILE_SELECTIONS_H_
#include <optional>
#include <memory>
-
+#include "build/build_config.h"
#include "base/feature_list.h"
class Profile;
@@ -27,6 +27,11 @@ bool AreKeyedServicesDisabledForProfileByDefault(const Profile* profile);
// A helper function that checks whether Keyed Services should be created for
@@ -25,6 +25,11 @@ bool AreKeyedServicesDisabledForProfileByDefault(const Profile* profile);
enum class ProfileSelection {
kNone, // Original: No Profile -- OTR: No Profile
kOriginalOnly, // Original: Self -- OTR: No Profile
@@ -1796,8 +1802,8 @@ diff --git a/chrome/browser/ui/android/native_page/BUILD.gn b/chrome/browser/ui/
+ "//base:base_java",
+ "//components/embedder_support/android:util_java",
"//base:base_junit_test_support",
"//third_party/android_deps:org_mockito_mockito_core_java",
"//third_party/junit",
"//url:url_java",
diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/browser/ui/native_page/NativePage.java b/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/browser/ui/native_page/NativePage.java
--- a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/browser/ui/native_page/NativePage.java
+++ b/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/browser/ui/native_page/NativePage.java
@@ -1810,18 +1816,17 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
/** An interface for pages that will be using Android views instead of html/rendered Web content. */
public interface NativePage {
@@ -157,7 +159,9 @@ public interface NativePage {
* @return Whether the URL would navigate to a native page.
@@ -158,7 +160,8 @@ public interface NativePage {
*/
static boolean isNativePageUrl(GURL url, boolean isIncognito, boolean isPdf) {
- return url != null && nativePageType(url, null, isIncognito, isPdf) != NativePageType.NONE;
+ return url != null
+ && nativePageType(url, null, isIncognito, isPdf, /*isAlwaysIncognito*/ false)
static boolean isNativePageUrl(GURL url, boolean isIncognito, boolean hasPdfDownload) {
return url != null
- && nativePageType(url, null, isIncognito, hasPdfDownload) != NativePageType.NONE;
+ && nativePageType(url, null, isIncognito, hasPdfDownload, /*isAlwaysIncognito*/ false)
+ != NativePageType.NONE;
}
/**
@@ -167,7 +171,7 @@ public interface NativePage {
@@ -168,7 +171,7 @@ public interface NativePage {
* not have chrome or chrome-native scheme.
*/
static boolean isChromePageUrl(GURL url, boolean isIncognito) {
@@ -1830,35 +1835,41 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
}
/**
@@ -179,11 +183,12 @@ public interface NativePage {
@@ -180,11 +183,12 @@ public interface NativePage {
*/
// TODO(crbug.com/40549331) - Convert to using GURL.
static @NativePageType int nativePageType(
- String url, NativePage candidatePage, boolean isIncognito, boolean isPdf) {
+ String url, NativePage candidatePage, boolean isIncognito, boolean isPdf,
- String url, NativePage candidatePage, boolean isIncognito, boolean hasPdfDownload) {
+ String url, NativePage candidatePage, boolean isIncognito, boolean hasPdfDownload,
+ boolean isAlwaysIncognito) {
if (url == null) return NativePageType.NONE;
GURL gurl = new GURL(url);
- return nativePageType(gurl, candidatePage, isIncognito, isPdf);
+ return nativePageType(gurl, candidatePage, isIncognito, isPdf, isAlwaysIncognito);
- return nativePageType(gurl, candidatePage, isIncognito, hasPdfDownload);
+ return nativePageType(gurl, candidatePage, isIncognito, hasPdfDownload, isAlwaysIncognito);
}
/**
@@ -194,9 +199,10 @@ public interface NativePage {
@@ -195,7 +199,8 @@ public interface NativePage {
* @return Type of the native page defined in {@link NativePageType}.
*/
private static @NativePageType int nativePageType(
- GURL url, NativePage candidatePage, boolean isIncognito, boolean isPdf) {
+ GURL url, NativePage candidatePage, boolean isIncognito, boolean isPdf,
- GURL url, NativePage candidatePage, boolean isIncognito, boolean hasPdfDownload) {
+ GURL url, NativePage candidatePage, boolean isIncognito, boolean hasPdfDownload,
+ boolean isAlwaysIncognito) {
if (!isPdf) {
if (hasPdfDownload) {
// For navigation with associated pdf download (e.g. open a pdf link), pdf page should
// be created.
@@ -213,7 +218,7 @@ public interface NativePage {
// created after the pdf document is re-downloaded in other parts of the code.
return NativePageType.NONE;
} else {
- return chromePageType(url, candidatePage, isIncognito);
+ return chromePageType(url, candidatePage, isIncognito, isAlwaysIncognito);
}
}
if (candidatePage != null && candidatePage.getUrl().equals(url.getSpec())) {
@@ -214,7 +220,7 @@ public interface NativePage {
@@ -225,7 +230,7 @@ public interface NativePage {
* which do not have chrome or chrome-native scheme.
*/
private static @NativePageType int chromePageType(
@@ -1867,7 +1878,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
String host = url.getHost();
String scheme = url.getScheme();
if (!UrlConstants.CHROME_NATIVE_SCHEME.equals(scheme)
@@ -234,7 +240,8 @@ public interface NativePage {
@@ -245,7 +250,8 @@ public interface NativePage {
return NativePageType.DOWNLOADS;
} else if (UrlConstants.HISTORY_HOST.equals(host)) {
return NativePageType.HISTORY;
@@ -1880,7 +1891,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1297,6 +1297,31 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1305,6 +1305,31 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_CLEAR_BROWSING_HISTORY_SUMMARY_SYNCED_NO_LINK" desc="A text for the basic tab explaining browsing history for users with history sync. This version is shown when the link to MyActivity is displayed separately.">
Deletes history from all synced devices
</message>
@@ -1915,7 +1926,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
@@ -162,6 +162,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
@@ -159,6 +159,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
protected String mFormattedFullUrl;
protected String mUrlForDisplay;
private boolean mOmniboxUpdatedConnectionSecurityIndicatorsEnabled;
@@ -1923,7 +1934,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
// notifyUrlChanged and notifySecurityStateChanged are usually called 3 times across a same
// document navigation. The first call is usually necessary, which updates the UrlBar to reflect
@@ -185,7 +186,9 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
@@ -182,7 +183,9 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
Context context,
NewTabPageDelegate newTabPageDelegate,
@NonNull UrlFormatter urlFormatter,
@@ -1980,7 +1991,7 @@ new file mode 100644
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
@@ -4077,6 +4077,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
@@ -4142,6 +4142,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
"net.out_of_process_system_dns_resolution_enabled";
#endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
@@ -1996,7 +2007,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
diff --git a/components/content_settings/core/browser/content_settings_pref_provider.cc b/components/content_settings/core/browser/content_settings_pref_provider.cc
--- a/components/content_settings/core/browser/content_settings_pref_provider.cc
+++ b/components/content_settings/core/browser/content_settings_pref_provider.cc
@@ -96,10 +96,12 @@ void PrefProvider::RegisterProfilePrefs(
@@ -98,10 +98,12 @@ void PrefProvider::RegisterProfilePrefs(
PrefProvider::PrefProvider(PrefService* prefs,
bool off_the_record,
@@ -2009,7 +2020,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
store_last_modified_(store_last_modified),
clock_(base::DefaultClock::GetInstance()) {
TRACE_EVENT_BEGIN("startup", "PrefProvider::PrefProvider");
@@ -122,11 +124,13 @@ PrefProvider::PrefProvider(PrefService* prefs,
@@ -124,11 +126,13 @@ PrefProvider::PrefProvider(PrefService* prefs,
WebsiteSettingsRegistry* website_settings =
WebsiteSettingsRegistry::GetInstance();
for (const WebsiteSettingsInfo* info : *website_settings) {
@@ -2046,7 +2057,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
@@ -270,6 +270,7 @@ struct ContentSettingEntry {
@@ -264,6 +264,7 @@ struct ContentSettingEntry {
HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
bool is_off_the_record,
@@ -2054,7 +2065,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
bool store_last_modified,
bool restore_session,
bool should_record_metrics)
@@ -279,6 +280,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
@@ -273,6 +274,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
#endif
prefs_(prefs),
is_off_the_record_(is_off_the_record),
@@ -2062,7 +2073,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),
clock_(base::DefaultClock::GetInstance()) {
@@ -292,7 +294,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
@@ -286,7 +288,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
policy_provider->AddObserver(this);
auto pref_provider_ptr = std::make_unique<content_settings::PrefProvider>(
@@ -2082,7 +2093,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
bool store_last_modified,
bool restore_session,
bool should_record_metrics);
@@ -507,6 +508,8 @@ class HostContentSettingsMap : public content_settings::Observer,
@@ -510,6 +511,8 @@ class HostContentSettingsMap : public content_settings::Observer,
// Whether this settings map is for an incognito or guest session.
bool is_off_the_record_;
@@ -2094,7 +2105,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
diff --git a/components/omnibox/browser/autocomplete_provider_client.cc b/components/omnibox/browser/autocomplete_provider_client.cc
--- a/components/omnibox/browser/autocomplete_provider_client.cc
+++ b/components/omnibox/browser/autocomplete_provider_client.cc
@@ -38,3 +38,7 @@ base::WeakPtr<AutocompleteProviderClient>
@@ -46,3 +46,7 @@ base::WeakPtr<AutocompleteProviderClient>
AutocompleteProviderClient::GetWeakPtr() {
return nullptr;
}
@@ -2116,7 +2127,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
@@ -376,7 +376,7 @@ bool BaseSearchProvider::CanSendSuggestRequestWithoutPageURL(
@@ -386,7 +386,7 @@ bool BaseSearchProvider::CanSendSuggestRequestWithoutPageURL(
}
// Don't make a suggest request if in incognito mode.
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../menu/bookmark_toolbar_menu_improved.xml | 14 +
.../browser/TabbedModeTabDelegateFactory.java | 5 +-
.../app/bookmarks/BookmarkActivity.java | 32 ++
.../browser/bookmarks/BookmarkBridge.java | 285 +++++++++++++++++
.../browser/bookmarks/BookmarkBridge.java | 285 ++++++++++++++++++
.../browser/bookmarks/BookmarkDelegate.java | 10 +
.../bookmarks/BookmarkManagerCoordinator.java | 9 +
.../bookmarks/BookmarkManagerMediator.java | 23 ++
@@ -26,8 +26,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../bookmarks/BookmarkToolbarViewBinder.java | 6 +
.../native_page/NativePageFactory.java | 11 +-
chrome/browser/BUILD.gn | 11 +-
.../bookmarks/android/bookmark_bridge.cc | 287 ++++++++++++++++++
.../bookmarks/android/bookmark_bridge.h | 30 +-
.../bookmarks/android/bookmark_bridge.cc | 282 +++++++++++++++++
.../bookmarks/android/bookmark_bridge.h | 29 +-
.../browser/bookmarks/bookmark_html_writer.cc | 11 +
.../dialogs/DownloadLocationCustomView.java | 8 +-
.../DownloadLocationDialogCoordinator.java | 10 +-
@@ -53,7 +53,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
ui/shell_dialogs/select_file_dialog_linux.cc | 4 +
ui/shell_dialogs/select_file_dialog_linux.h | 2 +
ui/shell_dialogs/select_file_dialog_win.cc | 5 +
42 files changed, 919 insertions(+), 30 deletions(-)
42 files changed, 913 insertions(+), 30 deletions(-)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/add-bookmark-import-export-actions.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-bookmark-import-export-actions.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/add-bookmark-import-export-actions.inc
@@ -542,7 +542,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.ui.modaldialog.ModalDialogManager.ModalDialogType;
import org.chromium.ui.modelutil.MVCListAdapter.ModelList;
@@ -303,6 +305,13 @@ public class BookmarkManagerCoordinator
@@ -302,6 +304,13 @@ public class BookmarkManagerCoordinator
// Public API implementation.
@@ -559,15 +559,15 @@ 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/BookmarkManagerMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
@@ -52,6 +52,8 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelega
@@ -53,6 +53,8 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelega
import org.chromium.components.commerce.core.CommerceSubscription;
import org.chromium.components.commerce.core.ShoppingService;
import org.chromium.components.commerce.core.SubscriptionsObserver;
+import org.chromium.ui.base.ActivityWindowAndroid;
+import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.components.favicon.LargeIconBridge;
import org.chromium.components.feature_engagement.EventConstants;
import org.chromium.components.power_bookmarks.PowerBookmarkMeta;
import org.chromium.components.power_bookmarks.PowerBookmarkType;
@@ -81,6 +83,9 @@ class BookmarkManagerMediator
private static boolean sPreventLoadingForTesting;
@@ -578,7 +578,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/** Keeps track of whether drag is enabled / active for bookmark lists. */
private class BookmarkDragStateDelegate implements DragStateDelegate {
private BookmarkDelegate mBookmarkDelegate;
@@ -568,6 +573,14 @@ class BookmarkManagerMediator
@@ -544,6 +549,14 @@ class BookmarkManagerMediator
mNativePage = nativePage;
}
@@ -593,7 +593,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/Bookm
/** See BookmarkManager(Coordinator)#updateForUrl */
void updateForUrl(String url) {
// Bookmark model is null if the manager has been destroyed.
@@ -748,6 +761,16 @@ class BookmarkManagerMediator
@@ -724,6 +737,16 @@ class BookmarkManagerMediator
}
}
@@ -814,7 +814,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
@@ -203,6 +203,8 @@ static_library("browser") {
@@ -201,6 +201,8 @@ static_library("browser") {
"bluetooth/chrome_bluetooth_delegate_impl_client.h",
"bookmarks/bookmark_model_factory.cc",
"bookmarks/bookmark_model_factory.h",
@@ -823,7 +823,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"bookmarks/chrome_bookmark_client.cc",
"bookmarks/chrome_bookmark_client.h",
"bookmarks/managed_bookmark_service_factory.cc",
@@ -1935,6 +1937,13 @@ static_library("browser") {
@@ -1958,6 +1960,13 @@ static_library("browser") {
]
}
@@ -837,7 +837,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
configs += [
"//build/config/compiler:wexit_time_destructors",
"//build/config:precompiled_headers",
@@ -3746,8 +3755,6 @@ static_library("browser") {
@@ -3727,8 +3736,6 @@ static_library("browser") {
"badging/badge_manager_factory.h",
"banners/app_banner_manager_desktop.cc",
"banners/app_banner_manager_desktop.h",
@@ -878,7 +878,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
// Must come after all headers that specialize FromJniType() / ToJniType().
#include "chrome/android/chrome_jni_headers/BookmarkBridge_jni.h"
@@ -77,12 +99,96 @@ using bookmarks::android::JavaBookmarkIdGetType;
@@ -77,12 +99,97 @@ using bookmarks::android::JavaBookmarkIdGetType;
using content::BrowserThread;
using power_bookmarks::PowerBookmarkMeta;
@@ -910,14 +910,15 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
+ return true;
+
+ GURL fixed_url(url_formatter::FixupURL(url.spec(), std::string()));
+ for (size_t i = 0; i < chrome::kNumberOfChromeHostURLs; ++i) {
+ if (fixed_url.DomainIs(chrome::kChromeHostURLs[i]))
+ const base::span<const base::cstring_view> hosts = chrome::ChromeURLHosts();
+ for (const base::cstring_view host : hosts) {
+ if (fixed_url.DomainIs(host)) {
+ return true;
+ }
+ }
+
+ for (size_t i = 0; i < chrome::kNumberOfChromeDebugURLs; ++i) {
+ if (fixed_url == chrome::kChromeDebugURLs[i])
+ return true;
+ if (base::Contains(chrome::ChromeDebugURLs(), fixed_url)) {
+ return true;
+ }
+
+ // If url has either chrome:// or about: schemes but wasn't found in the
@@ -975,7 +976,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
class BookmarkTitleComparer {
public:
explicit BookmarkTitleComparer(BookmarkBridge* bookmark_bridge,
@@ -223,6 +329,10 @@ BookmarkBridge::~BookmarkBridge() {
@@ -223,6 +330,10 @@ BookmarkBridge::~BookmarkBridge() {
partner_bookmarks_shim_observation_.Reset();
bookmark_model_observation_.Reset();
profile_observation_.Reset();
@@ -986,7 +987,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
}
void BookmarkBridge::Destroy(JNIEnv* env) {
@@ -762,6 +872,183 @@ jint BookmarkBridge::GetTotalBookmarkCount(
@@ -762,6 +873,177 @@ jint BookmarkBridge::GetTotalBookmarkCount(
return count;
}
@@ -1007,10 +1008,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
+ ui::SelectFileDialog::FileTypeInfo file_type_info;
+
+ const std::vector<std::u16string> v_accept_types = { u"text/html" };
+
+ // Android needs the original MIME types and an additional capture value.
+ std::pair<std::vector<std::u16string>, bool> accept_types =
+ std::make_pair(v_accept_types, /* use_media_capture */ false);
+ select_file_dialog_->SetAcceptTypes(v_accept_types);
+
+ select_file_dialog_->SelectFile(
+ ui::SelectFileDialog::SELECT_OPEN_FILE,
@@ -1019,8 +1017,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
+ &file_type_info,
+ 0,
+ base::FilePath::StringType(),
+ window,
+ &accept_types
+ window
+ );
+}
+
@@ -1068,8 +1065,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
+ return std::make_unique<TemplateURL>(data);
+}
+
+void BookmarkBridge::FileSelected(const ui::SelectedFileInfo& file, int index,
+ void* params) {
+void BookmarkBridge::FileSelected(const ui::SelectedFileInfo& file, int index) {
+ base::FilePath path = file.path();
+ base::ThreadPool::PostTaskAndReplyWithResult(
+ FROM_HERE, {base::TaskPriority::BEST_EFFORT, base::MayBlock()},
@@ -1164,8 +1160,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
+ LOG(INFO) << result;
+}
+
+void BookmarkBridge::FileSelectionCanceled(void* params) {
+}
+void BookmarkBridge::FileSelectionCanceled() {}
+
void BookmarkBridge::SetBookmarkTitle(JNIEnv* env,
jlong id,
@@ -1201,20 +1196,19 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
public:
// All of the injected pointers must be non-null and must outlive `this`.
BookmarkBridge(Profile* profile,
@@ -81,6 +86,12 @@ class BookmarkBridge : public ProfileObserver,
@@ -81,6 +86,11 @@ class BookmarkBridge : public ProfileObserver,
bool IsDoingExtensiveChanges(JNIEnv* env);
+ // SelectFileDialog::Listener implementation.
+ void FileSelected(const ui::SelectedFileInfo& file,
+ int index,
+ void* params) override;
+ void FileSelectionCanceled(void* params) override;
+ int index) override;
+ void FileSelectionCanceled() override;
+
jboolean IsEditBookmarksEnabled(JNIEnv* env);
void LoadEmptyPartnerBookmarkShimForTesting(JNIEnv* env);
@@ -93,6 +104,15 @@ class BookmarkBridge : public ProfileObserver,
@@ -93,6 +103,15 @@ class BookmarkBridge : public ProfileObserver,
jlong id,
jint type);
@@ -1230,7 +1224,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
void GetAllFoldersWithDepths(
JNIEnv* env,
const base::android::JavaParamRef<jobject>& j_folders_obj,
@@ -363,6 +383,9 @@ class BookmarkBridge : public ProfileObserver,
@@ -363,6 +382,9 @@ class BookmarkBridge : public ProfileObserver,
void CreateOrDestroyAccountReadingListManagerIfNeeded();
const raw_ptr<Profile> profile_; // weak
@@ -1240,7 +1234,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
base::android::ScopedJavaGlobalRef<jobject> java_bookmark_model_;
const raw_ptr<bookmarks::BookmarkModel> bookmark_model_; // weak
const raw_ptr<bookmarks::ManagedBookmarkService>
@@ -377,6 +400,7 @@ class BookmarkBridge : public ProfileObserver,
@@ -377,6 +399,7 @@ class BookmarkBridge : public ProfileObserver,
std::unique_ptr<bookmarks::ScopedGroupBookmarkActions>
grouped_bookmark_actions_;
PrefChangeRegistrar pref_change_registrar_;
@@ -1248,7 +1242,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.
@@ -408,6 +432,10 @@ class BookmarkBridge : public ProfileObserver,
@@ -408,6 +431,10 @@ class BookmarkBridge : public ProfileObserver,
bool suppress_observer_notifications_ = false;
@@ -1365,7 +1359,7 @@ diff --git a/chrome/browser/download/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -188,6 +188,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -192,6 +192,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCacheActivityTaskID,
&kCastDeviceFilter,
&kCCTAuthView,
@@ -1376,7 +1370,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/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
@@ -521,6 +521,7 @@ public abstract class ChromeFeatureList {
@@ -538,6 +538,7 @@ public abstract class ChromeFeatureList {
public static final String VERTICAL_AUTOMOTIVE_BACK_BUTTON_TOOLBAR =
"VerticalAutomotiveBackButtonToolbar";
public static final String VISITED_URL_RANKING_SERVICE = "VisitedURLRankingService";
@@ -1439,7 +1433,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
/** Whether Chrome is set as the default browser. Default value is false. */
public static final String CHROME_DEFAULT_BROWSER = "applink.chrome_default_browser";
@@ -921,6 +923,7 @@ public final class ChromePreferenceKeys {
@@ -914,6 +916,7 @@ public final class ChromePreferenceKeys {
AUTOFILL_ASSISTANT_PROACTIVE_HELP_ENABLED,
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
@@ -1478,7 +1472,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
@@ -395,6 +395,9 @@ static_library("common_lib") {
@@ -402,6 +402,9 @@ static_library("common_lib") {
sources += [
"media/chrome_media_drm_bridge_client.cc",
"media/chrome_media_drm_bridge_client.h",
@@ -1616,7 +1610,7 @@ diff --git a/chrome/utility/importer/bookmark_html_reader.h b/chrome/utility/imp
diff --git a/components/headless/select_file_dialog/headless_select_file_dialog.cc b/components/headless/select_file_dialog/headless_select_file_dialog.cc
--- a/components/headless/select_file_dialog/headless_select_file_dialog.cc
+++ b/components/headless/select_file_dialog/headless_select_file_dialog.cc
@@ -58,6 +58,10 @@ class HeadlessSelectFileDialog : public ui::SelectFileDialog {
@@ -57,6 +57,10 @@ class HeadlessSelectFileDialog : public ui::SelectFileDialog {
// ui::SelectFileDialog:
bool HasMultipleFileTypeChoicesImpl() override { return false; }
@@ -1752,7 +1746,7 @@ diff --git a/ui/android/java/strings/android_ui_strings.grd b/ui/android/java/st
diff --git a/ui/shell_dialogs/select_file_dialog.h b/ui/shell_dialogs/select_file_dialog.h
--- a/ui/shell_dialogs/select_file_dialog.h
+++ b/ui/shell_dialogs/select_file_dialog.h
@@ -209,6 +209,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
@@ -220,6 +220,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
const GURL* caller = nullptr);
bool HasMultipleFileTypeChoices();
@@ -1764,7 +1758,7 @@ diff --git a/ui/shell_dialogs/select_file_dialog.h b/ui/shell_dialogs/select_fil
diff --git a/ui/shell_dialogs/select_file_dialog_android.cc b/ui/shell_dialogs/select_file_dialog_android.cc
--- a/ui/shell_dialogs/select_file_dialog_android.cc
+++ b/ui/shell_dialogs/select_file_dialog_android.cc
@@ -139,6 +139,12 @@ void SelectFileDialogImpl::SelectFileImpl(
@@ -129,6 +129,12 @@ void SelectFileDialogImpl::SelectFileImpl(
owning_window->GetJavaObject());
}
@@ -1780,8 +1774,8 @@ diff --git a/ui/shell_dialogs/select_file_dialog_android.cc b/ui/shell_dialogs/s
diff --git a/ui/shell_dialogs/select_file_dialog_android.h b/ui/shell_dialogs/select_file_dialog_android.h
--- a/ui/shell_dialogs/select_file_dialog_android.h
+++ b/ui/shell_dialogs/select_file_dialog_android.h
@@ -58,6 +58,8 @@ class SelectFileDialogImpl : public SelectFileDialog {
void* params,
@@ -52,6 +52,8 @@ class SelectFileDialogImpl : public SelectFileDialog {
gfx::NativeWindow owning_window,
const GURL* caller) override;
+ void ShowToast(const std::string& message) override;
@@ -1818,7 +1812,7 @@ diff --git a/ui/shell_dialogs/select_file_dialog_linux.h b/ui/shell_dialogs/sele
diff --git a/ui/shell_dialogs/select_file_dialog_win.cc b/ui/shell_dialogs/select_file_dialog_win.cc
--- a/ui/shell_dialogs/select_file_dialog_win.cc
+++ b/ui/shell_dialogs/select_file_dialog_win.cc
@@ -195,6 +195,7 @@ class SelectFileDialogImpl : public ui::SelectFileDialog,
@@ -193,6 +193,7 @@ class SelectFileDialogImpl : public ui::SelectFileDialog,
int index);
bool HasMultipleFileTypeChoicesImpl() override;
@@ -1826,7 +1820,7 @@ diff --git a/ui/shell_dialogs/select_file_dialog_win.cc b/ui/shell_dialogs/selec
// Returns the filter to be used while displaying the open/save file dialog.
// This is computed from the extensions for the file types being opened.
@@ -273,6 +274,10 @@ bool SelectFileDialogImpl::HasMultipleFileTypeChoicesImpl() {
@@ -270,6 +271,10 @@ bool SelectFileDialogImpl::HasMultipleFileTypeChoicesImpl() {
return has_multiple_file_type_choices_;
}
+60 -64
View File
@@ -46,8 +46,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
components/components_strings.grd | 1 +
.../content_settings/core/common/features.cc | 1 +
.../placeholder.txt | 1 +
components/flags_ui/flags_state.cc | 55 +++++-
components/flags_ui/resources/app.html | 42 ++++-
components/flags_ui/flags_state.cc | 54 ++++++
components/flags_ui/resources/app.html | 40 +++++
components/flags_ui/resources/app.ts | 41 ++++-
components/flags_ui/resources/experiment.html | 7 +-
components/flags_ui/resources/experiment.ts | 16 ++
@@ -96,7 +96,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
third_party/blink/public/common/features.h | 1 +
ui/base/ui_base_features.cc | 1 +
ui/base/ui_base_features.h | 1 +
83 files changed, 771 insertions(+), 22 deletions(-)
83 files changed, 770 insertions(+), 20 deletions(-)
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/include_all_directory.java
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/java_template/CromiteCachedFlag.java.tmpl
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-cromite-flags-support.grdp
@@ -132,7 +132,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/base/BUILD.gn b/base/BUILD.gn
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -202,6 +202,8 @@ buildflag_header("message_pump_buildflags") {
@@ -196,6 +196,8 @@ buildflag_header("message_pump_buildflags") {
# This does not include test code (test support and anything in the test
# directory) which should use source_set as is recommended for GN targets).
component("base") {
@@ -141,7 +141,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn
sources = [
"allocator/allocator_check.cc",
"allocator/allocator_check.h",
@@ -1054,7 +1056,7 @@ component("base") {
@@ -1050,7 +1052,7 @@ component("base") {
"//build/config/compiler:wglobal_constructors",
]
@@ -558,7 +558,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
@VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
public static final String EXTRA_SHOW_FRAGMENT = "show_fragment";
@@ -373,6 +405,10 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -371,6 +403,10 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
((PrivacySandboxSettingsBaseFragment) fragment)
.setSnackbarManager(getSnackbarManager());
}
@@ -572,7 +572,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
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
@@ -370,6 +370,10 @@ using flags_ui::kOsLinux;
@@ -375,6 +375,10 @@ using flags_ui::kOsLinux;
using flags_ui::kOsMac;
using flags_ui::kOsWin;
@@ -583,9 +583,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
namespace about_flags {
namespace {
@@ -4089,6 +4093,10 @@ const FeatureEntry::FeatureVariation kAutofillUpstreamUpdatedUiOptions[] = {
kAutofillUpstreamUpdatedUi_Education_Animated,
std::size(kAutofillUpstreamUpdatedUi_Education_Animated), nullptr}};
@@ -4162,6 +4166,10 @@ const FeatureEntry::FeatureVariation
nullptr}};
#endif // BUILDFLAG(ENABLE_EXTENSIONS)
+#define FEATURE_PARAM_SECTION
+#include "cromite_flags/chrome_browser_about_flags_cc.inc"
@@ -594,7 +594,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
// RECORDING USER METRICS FOR FLAGS:
// -----------------------------------------------------------------------------
// The first line of the entry is the internal name.
@@ -4115,6 +4123,9 @@ const FeatureEntry::FeatureVariation kAutofillUpstreamUpdatedUiOptions[] = {
@@ -4188,6 +4196,9 @@ const FeatureEntry::FeatureVariation
const FeatureEntry kFeatureEntries[] = {
// Include generated flags for flag unexpiry; see //docs/flag_expiry.md and
// //tools/flags/generate_unexpire_flags.py.
@@ -607,7 +607,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
@@ -401,4 +401,5 @@ BASE_FEATURE(kBrowserDynamicCodeDisabled,
@@ -378,4 +378,5 @@ BASE_FEATURE(kBrowserDynamicCodeDisabled,
base::FEATURE_DISABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_WIN)
@@ -655,7 +655,7 @@ diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn
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
@@ -1018,5 +1018,6 @@ BASE_FEATURE(kWebApkAllowIconUpdate,
@@ -1052,5 +1052,6 @@ BASE_FEATURE(kWebApkAllowIconUpdate,
"WebApkAllowIconUpdate",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -665,9 +665,9 @@ 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
@@ -193,6 +193,7 @@ constexpr base::FeatureParam<int> kAuxiliarySearchMaxTabsCountParam(
"auxiliary_search_max_donation_tab",
100);
@@ -204,6 +204,7 @@ constexpr base::FeatureParam<std::string> kQuickDeleteAndroidSurveyTriggerId(
"trigger_id",
/*default_value=*/"");
+#include "cromite_flags/chrome_browser_flags_android_chrome_feature_list_h.inc"
} // namespace android
@@ -687,18 +687,18 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
import java.util.List;
import java.util.Map;
@@ -695,7 +699,7 @@ public abstract class ChromeFeatureList {
public static final CachedFlag sVerticalAutomotiveBackButtonToolbar =
newCachedFlag(VERTICAL_AUTOMOTIVE_BACK_BUTTON_TOOLBAR, true);
@@ -721,7 +725,7 @@ public abstract class ChromeFeatureList {
public static final CachedFlag sWebApkMinShellApkVersion =
newCachedFlag(WEB_APK_MIN_SHELL_APK_VERSION, true);
- public static final List<CachedFlag> sFlagsCachedFullBrowser =
+ public static final List<CachedFlag> sFlagsCachedFullBrowserChromium =
List.of(
sAccountReauthenticationRecentTimeWindow,
sAndroidAppIntegration,
@@ -788,6 +792,13 @@ public abstract class ChromeFeatureList {
sUseLibunwindstackNativeUnwinderAndroid,
sVerticalAutomotiveBackButtonToolbar);
@@ -817,6 +821,13 @@ public abstract class ChromeFeatureList {
sVerticalAutomotiveBackButtonToolbar,
sWebApkMinShellApkVersion);
+ private static <T> List<T> concatenateLists(List<T>... collections) {
+ return Arrays.stream(collections).flatMap(x -> x.stream()).collect(Collectors.toList());
@@ -771,7 +771,7 @@ new file mode 100644
diff --git a/chrome/browser/settings/BUILD.gn b/chrome/browser/settings/BUILD.gn
--- a/chrome/browser/settings/BUILD.gn
+++ b/chrome/browser/settings/BUILD.gn
@@ -14,6 +14,7 @@ android_library("java") {
@@ -32,6 +32,7 @@ android_library("java") {
deps = [
"//base:base_java",
"//chrome/browser/feedback/android:java",
@@ -877,16 +877,16 @@ new file mode 100644
diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc
--- a/chrome/browser/ui/ui_features.cc
+++ b/chrome/browser/ui/ui_features.cc
@@ -517,4 +517,5 @@ BASE_FEATURE(kStopLoadingAnimationForHiddenWindow,
"StopLoadingAnimationForHiddenWindow",
@@ -463,4 +463,5 @@ BASE_FEATURE(kUsePortalAccentColor,
base::FEATURE_ENABLED_BY_DEFAULT);
#endif
+#include "cromite_flags/chrome_browser_ui_ui_features_cc.inc"
} // namespace features
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
@@ -1674,4 +1674,5 @@ BASE_FEATURE(kEventBasedLogUpload,
@@ -1744,4 +1744,5 @@ BASE_FEATURE(kPeriodicLogUploadMigration,
base::FEATURE_DISABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -993,11 +993,10 @@ new file mode 100644
diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_state.cc
--- a/components/flags_ui/flags_state.cc
+++ b/components/flags_ui/flags_state.cc
@@ -359,7 +359,21 @@ void FlagsState::GetSwitchesAndFeaturesFromFlags(
@@ -360,6 +360,21 @@ void FlagsState::GetSwitchesAndFeaturesFromFlags(
for (const std::string& entry_name : enabled_entries) {
const auto& entry_it = name_to_switch_map.find(entry_name);
- DCHECK(entry_it != name_to_switch_map.end());
+ if (entry_it == name_to_switch_map.end()) {
+ // check if is a cromite feature
+ std::string::size_type pos = entry_name.find('@');
@@ -1013,10 +1012,10 @@ diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_stat
+ }
+ NOTREACHED_NORETURN();
+ }
CHECK(entry_it != name_to_switch_map.end(), base::NotFatalUntil::M130);
const SwitchEntry& entry = entry_it->second;
if (!entry.switch_name.empty())
@@ -676,6 +690,27 @@ void FlagsState::GetFlagFeatureEntries(
@@ -677,6 +692,27 @@ void FlagsState::GetFlagFeatureEntries(
data.Set("links", std::move(links));
}
@@ -1044,7 +1043,7 @@ diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_stat
switch (entry.type) {
case FeatureEntry::SINGLE_VALUE:
case FeatureEntry::SINGLE_DISABLE_VALUE:
@@ -804,6 +839,16 @@ void FlagsState::AddSwitchesToCommandLine(
@@ -805,6 +841,16 @@ void FlagsState::AddSwitchesToCommandLine(
for (const std::string& entry_name : enabled_entries) {
const auto& entry_it = name_to_switch_map.find(entry_name);
if (entry_it == name_to_switch_map.end()) {
@@ -1061,7 +1060,7 @@ diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_stat
NOTREACHED_IN_MIGRATION();
continue;
}
@@ -1056,6 +1101,14 @@ const FeatureEntry* FlagsState::FindFeatureEntryByName(
@@ -1057,6 +1103,14 @@ const FeatureEntry* FlagsState::FindFeatureEntryByName(
bool FlagsState::IsSupportedFeature(const FlagsStorage* storage,
const std::string& name,
int platform_mask) const {
@@ -1112,9 +1111,9 @@ diff --git a/components/flags_ui/resources/app.html b/components/flags_ui/resour
<div id="header">
<div class="flex-container">
<div class="flex search-container">
@@ -545,6 +570,11 @@
aria-selected="false" aria-controls="panel2"
tabindex="-1">$i18n{unavailable}</a>
@@ -540,6 +565,11 @@
$i18n{unavailable}
</a>
</if>
+ <a href="#tab-content-cromite" id="tab-cromite" class="tab"
+ role="tab"
@@ -1124,7 +1123,7 @@ diff --git a/components/flags_ui/resources/app.html b/components/flags_ui/resour
</div>
<div id="tabpanels">
<div id="tab-content-available" class="tab-content selected"
@@ -564,6 +594,14 @@
@@ -559,6 +589,14 @@
</div>
</div>
</if>
@@ -1139,13 +1138,10 @@ diff --git a/components/flags_ui/resources/app.html b/components/flags_ui/resour
</div>
<div id="needs-restart">
<div class="flex-container">
@@ -578,4 +616,6 @@
</div>
@@ -574,3 +612,5 @@
</div>
</div>
-</div>
\ No newline at end of file
+</div>
</div>
+
+</div>
diff --git a/components/flags_ui/resources/app.ts b/components/flags_ui/resources/app.ts
@@ -1383,16 +1379,16 @@ diff --git a/components/offline_pages/core/offline_page_feature.h b/components/o
diff --git a/components/password_manager/core/browser/features/password_features.cc b/components/password_manager/core/browser/features/password_features.cc
--- a/components/password_manager/core/browser/features/password_features.cc
+++ b/components/password_manager/core/browser/features/password_features.cc
@@ -207,4 +207,5 @@ BASE_FEATURE(kUsernameFirstFlowWithIntermediateValuesVoting,
"UsernameFirstFlowWithIntermediateValuesVoting",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -192,4 +192,5 @@ BASE_FEATURE(kUseAsyncOsCryptInLoginDatabase,
"UseAsyncOsCryptInLoginDatabase",
base::FEATURE_DISABLED_BY_DEFAULT);
+#include "cromite_flags/components_password_manager_core_browser_features_password_features_cc.inc"
} // namespace password_manager::features
diff --git a/components/permissions/features.cc b/components/permissions/features.cc
--- a/components/permissions/features.cc
+++ b/components/permissions/features.cc
@@ -149,6 +149,7 @@ BASE_FEATURE(kCpssQuietChipTextUpdate,
@@ -150,6 +150,7 @@ BASE_FEATURE(kCpssQuietChipTextUpdate,
"CpssQuietChipTextUpdate",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -1415,7 +1411,7 @@ diff --git a/components/version_ui/version_handler_helper.cc b/components/versio
diff --git a/content/common/features.cc b/content/common/features.cc
--- a/content/common/features.cc
+++ b/content/common/features.cc
@@ -584,4 +584,5 @@ BASE_FEATURE(kScrollBubblingFix,
@@ -607,4 +607,5 @@ BASE_FEATURE(kScrollBubblingFix,
// Please keep features in alphabetical order.
@@ -1424,7 +1420,7 @@ diff --git a/content/common/features.cc b/content/common/features.cc
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -1295,4 +1295,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() {
@@ -1334,4 +1334,5 @@ bool IsVideoCaptureServiceEnabledForBrowserProcess() {
VideoCaptureServiceConfiguration::kEnabledForBrowserProcess;
}
@@ -1433,7 +1429,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 BASE_DECLARE_FEATURE(kWebRtcPipeWireCapturer);
@@ -292,6 +292,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kWebRtcPipeWireCapturer);
CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess();
CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess();
@@ -1767,7 +1763,7 @@ new file mode 100755
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
@@ -1904,5 +1904,5 @@ uint32_t GetPassthroughAudioFormats() {
@@ -1917,5 +1917,5 @@ uint32_t GetPassthroughAudioFormats() {
return 0;
#endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS)
}
@@ -1777,7 +1773,7 @@ diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
diff --git a/media/base/media_switches.h b/media/base/media_switches.h
--- a/media/base/media_switches.h
+++ b/media/base/media_switches.h
@@ -576,5 +576,5 @@ MEDIA_EXPORT OOPVDMode GetOutOfProcessVideoDecodingMode();
@@ -583,5 +583,5 @@ MEDIA_EXPORT OOPVDMode GetOutOfProcessVideoDecodingMode();
MEDIA_EXPORT uint32_t GetPassthroughAudioFormats();
} // namespace media
@@ -1787,18 +1783,18 @@ diff --git a/media/base/media_switches.h b/media/base/media_switches.h
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -549,4 +549,5 @@ BASE_FEATURE(kSpdySessionForProxyAdditionalChecks,
"SpdySessionForProxyAdditionalChecks",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -570,4 +570,5 @@ BASE_FEATURE(kOptimizeParsingDataUrls,
"OptimizeParsingDataUrls",
base::FEATURE_DISABLED_BY_DEFAULT);
+#include "cromite_flags/net_base_features_cc.inc"
} // namespace net::features
diff --git a/net/base/features.h b/net/base/features.h
--- a/net/base/features.h
+++ b/net/base/features.h
@@ -522,6 +522,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kStorageAccessHeaders);
// not causing any problems.
NET_EXPORT BASE_DECLARE_FEATURE(kSpdySessionForProxyAdditionalChecks);
@@ -562,6 +562,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kReportingApiEnableEnterpriseCookieIssues);
// Optimize parsing data: URLs.
NET_EXPORT BASE_DECLARE_FEATURE(kOptimizeParsingDataUrls);
+#include "cromite_flags/net_base_features_h.inc"
} // namespace net::features
@@ -1807,7 +1803,7 @@ diff --git a/net/base/features.h b/net/base/features.h
diff --git a/services/network/public/cpp/features.cc b/services/network/public/cpp/features.cc
--- a/services/network/public/cpp/features.cc
+++ b/services/network/public/cpp/features.cc
@@ -518,4 +518,5 @@ const base::FeatureParam<int> kNetworkContextPrefetchMaxLoaders{
@@ -474,4 +474,5 @@ const base::FeatureParam<int> kNetworkContextPrefetchMaxLoaders{
&kNetworkContextPrefetch,
/*name=*/"max_loaders", /*default_value=*/10};
@@ -1816,7 +1812,7 @@ diff --git a/services/network/public/cpp/features.cc b/services/network/public/c
diff --git a/services/network/public/cpp/features.h b/services/network/public/cpp/features.h
--- a/services/network/public/cpp/features.h
+++ b/services/network/public/cpp/features.h
@@ -212,6 +212,7 @@ BASE_DECLARE_FEATURE(kNetworkContextPrefetch);
@@ -187,6 +187,7 @@ BASE_DECLARE_FEATURE(kNetworkContextPrefetch);
COMPONENT_EXPORT(NETWORK_CPP)
extern const base::FeatureParam<int> kNetworkContextPrefetchMaxLoaders;
@@ -1827,7 +1823,7 @@ diff --git a/services/network/public/cpp/features.h b/services/network/public/cp
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
@@ -2677,5 +2677,6 @@ BASE_FEATURE(kOptimizeLoadingDataUrls,
@@ -2691,5 +2691,6 @@ BASE_FEATURE(kOptimizeLoadingDataUrls,
"OptimizeLoadingDataUrls",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -1837,7 +1833,7 @@ diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/fea
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
@@ -1744,6 +1744,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kRenderSizeInScoreAdBrowserSignals);
@@ -1787,6 +1787,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kRenderSizeInScoreAdBrowserSignals);
// Optimize loading data: URLs.
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kOptimizeLoadingDataUrls);
@@ -1848,8 +1844,8 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ
diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc
--- a/ui/base/ui_base_features.cc
+++ b/ui/base/ui_base_features.cc
@@ -521,4 +521,5 @@ BASE_FEATURE(kEnableGestureBeginEndTypes,
"EnableGestureBeginEndTypes",
@@ -546,4 +546,5 @@ BASE_FEATURE(kAsyncFullscreenWindowState,
"AsyncFullscreenWindowState",
base::FEATURE_DISABLED_BY_DEFAULT);
+#include "cromite_flags/ui_base_features_cc.inc"
@@ -1857,9 +1853,9 @@ diff --git a/ui/base/ui_base_features.cc b/ui/base/ui_base_features.cc
diff --git a/ui/base/ui_base_features.h b/ui/base/ui_base_features.h
--- a/ui/base/ui_base_features.h
+++ b/ui/base/ui_base_features.h
@@ -245,6 +245,7 @@ BASE_DECLARE_FEATURE(kBubbleFrameViewTitleIsHeading);
@@ -261,6 +261,7 @@ BASE_DECLARE_FEATURE(kUseUtf8EncodingForSvgImage);
COMPONENT_EXPORT(UI_BASE_FEATURES)
BASE_DECLARE_FEATURE(kEnableGestureBeginEndTypes);
BASE_DECLARE_FEATURE(kAsyncFullscreenWindowState);
+#include "cromite_flags/ui_base_features_h.inc"
} // namespace features
@@ -98,7 +98,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
@@ -867,6 +867,7 @@ public class CustomTabsConnection {
@@ -912,6 +912,7 @@ public class CustomTabsConnection {
PostTask.postTask(
TaskTraits.UI_DEFAULT,
() -> {
@@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
/**
* A model class that parses the incoming intent for incognito and ephemeral Custom Tabs specific
* customization data.
@@ -130,6 +133,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
@@ -131,6 +134,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
}
private static boolean isIntentFromThirdPartyAllowed() {
@@ -203,7 +203,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
@@ -5449,6 +5449,20 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -5699,6 +5699,20 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
<message name="IDS_NEAR_OOM_INTERVENTION_DECLINE" desc="The text of the button letting the user decline the browser's intervention, so that the page can resume what it was doing.">
Resume
</message>
+7 -7
View File
@@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml
@@ -160,6 +160,9 @@ found in the LICENSE file.
@@ -163,6 +163,9 @@ found in the LICENSE file.
<item android:id="@+id/managed_by_menu_id"
android:title="@string/managed_browser"
android:icon="@drawable/ic_business" />
@@ -26,7 +26,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
</group>
<!-- Items shown only in the tab switcher -->
@@ -186,6 +189,9 @@ found in the LICENSE file.
@@ -192,6 +195,9 @@ found in the LICENSE file.
<item android:id="@id/preferences_id"
android:title="@string/menu_settings"
android:icon="@drawable/settings_cog" />
@@ -58,7 +58,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
@@ -268,6 +268,8 @@ import java.util.Set;
@@ -263,6 +263,8 @@ import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.DoubleConsumer;
@@ -67,7 +67,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.
@@ -2960,6 +2962,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2693,6 +2695,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
} else if (id == R.id.close_tab) {
getCurrentTabModel().closeTab(currentTab, false, true);
RecordUserAction.record("MobileTabClosed");
@@ -75,7 +75,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
+ ApplicationLifetime.terminate(false);
} else if (id == R.id.close_all_tabs_menu_id) {
// Close both incognito and normal tabs.
CloseAllTabsDialog.show(
Runnable closeAllTabsRunnable =
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
@@ -87,7 +87,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;
@@ -2597,6 +2598,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2518,6 +2519,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return true;
}
@@ -102,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
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
@@ -4064,6 +4064,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -4296,6 +4296,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
<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>
@@ -26,7 +26,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
#include "base/feature_list.h"
#include "base/format_macros.h"
#include "base/functional/bind.h"
@@ -500,6 +501,15 @@ AutocompleteController::AutocompleteController(
@@ -530,6 +531,15 @@ AutocompleteController::AutocompleteController(
provider_client_->GetOmniboxTriggeredFeatureService()),
steady_state_omnibox_position_(
metrics::OmniboxEventProto::UNKNOWN_POSITION) {
@@ -45,7 +45,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
@@ -487,6 +487,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input,
@@ -488,6 +488,9 @@ void HistoryURLProvider::Start(const AutocompleteInput& input,
if (fixed_up_input.type() != metrics::OmniboxInputType::QUERY)
matches_.push_back(what_you_typed_match);
@@ -59,7 +59,7 @@ diff --git a/components/network_session_configurator/common/network_switch_list.
diff --git a/components/url_formatter/spoof_checks/top_domains/BUILD.gn b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
--- a/components/url_formatter/spoof_checks/top_domains/BUILD.gn
+++ b/components/url_formatter/spoof_checks/top_domains/BUILD.gn
@@ -89,6 +89,7 @@ executable("make_top_domain_list_variables") {
@@ -90,6 +90,7 @@ executable("make_top_domain_list_variables") {
"//base:i18n",
"//components/url_formatter/spoof_checks/common_words:common",
"//third_party/icu",
@@ -45,7 +45,7 @@ new file mode 100644
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1047,6 +1047,7 @@ component("net") {
@@ -1077,6 +1077,7 @@ component("net") {
"//build:chromeos_buildflags",
"//components/miracle_parameter/common",
"//net/http:transport_security_state_generated_files",
@@ -56,7 +56,7 @@ diff --git a/net/BUILD.gn b/net/BUILD.gn
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
@@ -113,6 +113,7 @@
@@ -114,6 +114,7 @@
#include "net/log/net_log_event_type.h"
#include "net/log/net_log_source.h"
#include "net/log/net_log_source_type.h"
@@ -64,7 +64,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/url_request/url_request_context.h"
@@ -1429,6 +1430,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck(
@@ -1430,6 +1431,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck(
return OK;
}
@@ -104,7 +104,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
@@ -672,6 +672,10 @@
@@ -721,6 +721,10 @@
status: {"Android": "stable"},
base_feature: "none",
},
@@ -7,14 +7,14 @@ Allows build with clangd by suppressing unsupported parameters
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
build/config/compiler/BUILD.gn | 10 +++++++++-
build/config/compiler/BUILD.gn | 11 ++++++++++-
build_overrides/build.gni | 3 +++
2 files changed, 12 insertions(+), 1 deletion(-)
2 files changed, 13 insertions(+), 1 deletion(-)
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
@@ -1920,7 +1920,6 @@ config("default_warnings") {
@@ -1950,7 +1950,6 @@ config("default_warnings") {
# TODO(crbug.com/40284799): Fix and re-enable.
"-Wno-thread-safety-reference-return",
]
@@ -22,9 +22,9 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
cflags_cc += [
# TODO(crbug.com/328490295): Fix and re-enable for C flags.
"-Wenum-compare-conditional",
@@ -1937,6 +1936,15 @@ config("default_warnings") {
cflags_cc += [ "-Wno-missing-template-arg-list-after-template-kw" ]
}
@@ -1965,6 +1964,16 @@ config("default_warnings") {
# TODO(crbug.com/344680447): Fix and re-enable.
cflags_cc += [ "-Wno-missing-template-arg-list-after-template-kw" ]
}
+ if (skip_clangd_unsupported_options) {
+ cflags -= [
@@ -33,6 +33,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
+ ]
+ cflags_cc -= [
+ "-Wno-c++11-narrowing-const-reference",
+ "-Wno-missing-template-arg-list-after-template-kw",
+ ]
+ }
}
@@ -207,7 +207,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/
~OneTimePermissionsTracker() override;
OneTimePermissionsTracker(const OneTimePermissionsTracker&) = delete;
@@ -139,7 +140,7 @@ class OneTimePermissionsTracker : public KeyedService {
@@ -138,7 +139,7 @@ class OneTimePermissionsTracker : public KeyedService {
base::ObserverList<OneTimePermissionsTrackerObserver> observer_list_;
std::map<url::Origin, OriginTrackEntry> origin_tracker_;
@@ -219,7 +219,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/
diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc b/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
--- a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
+++ b/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
@@ -41,5 +41,5 @@ bool OneTimePermissionsTrackerFactory::ServiceIsCreatedWithBrowserContext()
@@ -44,5 +44,5 @@ bool OneTimePermissionsTrackerFactory::ServiceIsCreatedWithBrowserContext()
std::unique_ptr<KeyedService>
OneTimePermissionsTrackerFactory::BuildServiceInstanceForBrowserContext(
content::BrowserContext* context) const {
@@ -229,7 +229,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
diff --git a/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc b/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc
--- a/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc
+++ b/chrome/browser/ui/views/permissions/embedded_permission_prompt.cc
@@ -658,7 +658,7 @@ void EmbeddedPermissionPrompt::SendDelegateAction(Action action) {
@@ -650,7 +650,7 @@ void EmbeddedPermissionPrompt::SendDelegateAction(Action action) {
delegate_->Accept();
break;
case Action::kAllowThisTime:
@@ -509,7 +509,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
@@ -1171,6 +1171,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
@@ -1178,6 +1178,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
permission_info.is_one_time =
(info.metadata.session_model() ==
content_settings::mojom::SessionModel::ONE_TIME);
@@ -731,7 +731,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_dialog_
diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.cc b/components/permissions/android/permission_prompt/permission_prompt_android.cc
--- a/components/permissions/android/permission_prompt/permission_prompt_android.cc
+++ b/components/permissions/android/permission_prompt/permission_prompt_android.cc
@@ -62,8 +62,12 @@ void PermissionPromptAndroid::Accept() {
@@ -67,8 +67,12 @@ void PermissionPromptAndroid::Accept() {
delegate_->Accept();
}
@@ -749,7 +749,7 @@ diff --git a/components/permissions/android/permission_prompt/permission_prompt_
diff --git a/components/permissions/android/permission_prompt/permission_prompt_android.h b/components/permissions/android/permission_prompt/permission_prompt_android.h
--- a/components/permissions/android/permission_prompt/permission_prompt_android.h
+++ b/components/permissions/android/permission_prompt/permission_prompt_android.h
@@ -47,8 +47,9 @@ class PermissionPromptAndroid : public PermissionPrompt {
@@ -49,8 +49,9 @@ class PermissionPromptAndroid : public PermissionPrompt {
void Closing();
void Accept();
@@ -920,7 +920,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
diff --git a/components/permissions/permission_context_base.cc b/components/permissions/permission_context_base.cc
--- a/components/permissions/permission_context_base.cc
+++ b/components/permissions/permission_context_base.cc
@@ -265,6 +265,17 @@ bool PermissionContextBase::UsesAutomaticEmbargo() const {
@@ -266,6 +266,17 @@ bool PermissionContextBase::UsesAutomaticEmbargo() const {
return true;
}
@@ -938,7 +938,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
content::PermissionResult PermissionContextBase::GetPermissionStatus(
content::RenderFrameHost* render_frame_host,
const GURL& requesting_origin,
@@ -501,7 +512,8 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
@@ -502,7 +513,8 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
const GURL& embedding_origin,
ContentSetting content_setting,
bool is_one_time,
@@ -948,7 +948,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
content_setting == CONTENT_SETTING_BLOCK ||
content_setting == CONTENT_SETTING_DEFAULT);
@@ -516,13 +528,14 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
@@ -517,13 +529,14 @@ void PermissionContextBase::PermissionDecided(const PermissionRequestID& id,
// missing if a permission prompt was preignored and we already notified an
// origin about it.
if (request->second.second) {
@@ -967,7 +967,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
}
}
@@ -590,11 +603,27 @@ void PermissionContextBase::NotifyPermissionSet(
@@ -591,11 +604,27 @@ void PermissionContextBase::NotifyPermissionSet(
ContentSetting content_setting,
bool is_one_time,
bool is_final_decision) {
@@ -996,7 +996,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
}
if (is_final_decision) {
@@ -634,6 +663,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
@@ -635,6 +664,15 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
const GURL& embedding_origin,
ContentSetting content_setting,
bool is_one_time) {
@@ -1012,7 +1012,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
DCHECK_EQ(requesting_origin, requesting_origin.DeprecatedGetOriginAsURL());
DCHECK_EQ(embedding_origin, embedding_origin.DeprecatedGetOriginAsURL());
DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
@@ -643,6 +681,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
@@ -644,6 +682,8 @@ void PermissionContextBase::UpdateContentSetting(const GURL& requesting_origin,
constraints.set_session_model(
is_one_time ? content_settings::mojom::SessionModel::ONE_TIME
: content_settings::mojom::SessionModel::DURABLE);
@@ -1078,7 +1078,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
diff --git a/components/permissions/permission_prompt.h b/components/permissions/permission_prompt.h
--- a/components/permissions/permission_prompt.h
+++ b/components/permissions/permission_prompt.h
@@ -67,8 +67,9 @@ class PermissionPrompt {
@@ -68,8 +68,9 @@ class PermissionPrompt {
virtual GURL GetEmbeddingOrigin() const = 0;
virtual void Accept() = 0;
@@ -1107,7 +1107,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
PermissionRequest::~PermissionRequest() {
DCHECK(delete_callback_.is_null());
}
@@ -370,19 +378,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
@@ -386,19 +394,37 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
return request_type() == RequestType::kStorageAccess;
}
@@ -1199,7 +1199,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
diff --git a/components/permissions/permission_request_manager.cc b/components/permissions/permission_request_manager.cc
--- a/components/permissions/permission_request_manager.cc
+++ b/components/permissions/permission_request_manager.cc
@@ -169,7 +169,7 @@ void PermissionRequestManager::AddRequest(
@@ -172,7 +172,7 @@ void PermissionRequestManager::AddRequest(
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDenyPermissionPrompts)) {
@@ -1208,7 +1208,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
request->RequestFinished();
return;
}
@@ -246,7 +246,7 @@ void PermissionRequestManager::AddRequest(
@@ -249,7 +249,7 @@ void PermissionRequestManager::AddRequest(
if (should_auto_approve_request) {
if (should_auto_approve_request == PermissionAction::GRANTED) {
@@ -1217,7 +1217,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
request->RequestFinished();
return;
@@ -615,7 +615,8 @@ void PermissionRequestManager::Accept() {
@@ -618,7 +618,8 @@ void PermissionRequestManager::Accept() {
(*requests_iter)->request_type(),
PermissionAction::GRANTED);
PermissionGrantedIncludingDuplicates(*requests_iter,
@@ -1227,7 +1227,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
#if !BUILDFLAG(IS_ANDROID)
std::optional<ContentSettingsType> content_settings_type =
@@ -633,7 +634,7 @@ void PermissionRequestManager::Accept() {
@@ -636,7 +637,7 @@ void PermissionRequestManager::Accept() {
CurrentRequestsDecided(PermissionAction::GRANTED);
}
@@ -1236,7 +1236,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_)
return;
DCHECK(view_);
@@ -645,7 +646,8 @@ void PermissionRequestManager::AcceptThisTime() {
@@ -648,7 +649,8 @@ void PermissionRequestManager::AcceptThisTime() {
(*requests_iter)->request_type(),
PermissionAction::GRANTED_ONCE);
PermissionGrantedIncludingDuplicates(*requests_iter,
@@ -1246,7 +1246,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
NotifyRequestDecided(PermissionAction::GRANTED_ONCE);
@@ -653,6 +655,15 @@ void PermissionRequestManager::AcceptThisTime() {
@@ -656,6 +658,15 @@ void PermissionRequestManager::AcceptThisTime() {
}
void PermissionRequestManager::Deny() {
@@ -1262,7 +1262,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_)
return;
DCHECK(view_);
@@ -676,7 +687,7 @@ void PermissionRequestManager::Deny() {
@@ -679,7 +690,7 @@ void PermissionRequestManager::Deny() {
StorePermissionActionForUMA((*requests_iter)->requesting_origin(),
(*requests_iter)->request_type(),
PermissionAction::DENIED);
@@ -1271,7 +1271,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
}
NotifyRequestDecided(PermissionAction::DENIED);
@@ -1243,32 +1254,32 @@ PermissionRequestManager::VisitDuplicateRequests(
@@ -1255,32 +1266,32 @@ PermissionRequestManager::VisitDuplicateRequests(
void PermissionRequestManager::PermissionGrantedIncludingDuplicates(
PermissionRequest* request,
@@ -1314,7 +1314,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
request);
}
@@ -1529,7 +1540,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() {
@@ -1541,7 +1552,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() {
}
switch (auto_response_for_test_) {
case ACCEPT_ONCE:
@@ -1326,7 +1326,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
diff --git a/components/permissions/permission_request_manager.h b/components/permissions/permission_request_manager.h
--- a/components/permissions/permission_request_manager.h
+++ b/components/permissions/permission_request_manager.h
@@ -162,8 +162,10 @@ class PermissionRequestManager
@@ -165,8 +165,10 @@ class PermissionRequestManager
GURL GetRequestingOrigin() const override;
GURL GetEmbeddingOrigin() const override;
void Accept() override;
@@ -1338,7 +1338,7 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe
void Dismiss() override;
void Ignore() override;
void FinalizeCurrentRequests() override;
@@ -372,9 +374,12 @@ class PermissionRequestManager
@@ -375,9 +377,12 @@ class PermissionRequestManager
// Calls PermissionGranted on a request and all its duplicates.
void PermissionGrantedIncludingDuplicates(PermissionRequest* request,
@@ -31,7 +31,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml
@@ -71,6 +71,10 @@ found in the LICENSE file.
@@ -74,6 +74,10 @@ found in the LICENSE file.
<item android:id="@+id/all_bookmarks_menu_id"
android:title="@string/menu_bookmarks"
android:icon="@drawable/btn_star_filled" />
@@ -42,10 +42,10 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
<item android:id="@+id/recent_tabs_menu_id"
android:title="@string/menu_recent_tabs"
android:icon="@drawable/devices_black_24dp" />
@@ -180,6 +184,9 @@ found in the LICENSE file.
<item android:id="@+id/close_all_incognito_tabs_menu_id"
android:title="@string/menu_close_all_incognito_tabs"
android:icon="@drawable/btn_close_white" />
@@ -186,6 +190,9 @@ found in the LICENSE file.
<item android:id="@id/tinker_tank_menu_id"
android:title="@string/menu_tinker_tank"
android:icon="@drawable/ic_add_box_rounded_corner" />
+ <item android:id="@+id/bookmark_all_tabs_menu_id"
+ android:title="@string/menu_bookmark_all_tabs"
+ android:icon="@drawable/ic_folder_blue_24dp" />
@@ -63,16 +63,16 @@ 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;
@@ -2985,6 +2986,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2725,6 +2726,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
getTabModelSelectorSupplier().get(),
this::closeAllTabsHidingTabGroups);
closeAllTabsRunnable);
RecordUserAction.record("MobileMenuCloseAllTabs");
+ } else if (id == R.id.bookmark_all_tabs_menu_id) {
+ bookmarkAllTabs();
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
// Close only incognito tabs
CloseAllTabsDialog.show(
@@ -3056,6 +3059,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
Runnable closeAllTabsRunnable =
@@ -2803,6 +2806,27 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
getTabModalLifetimeHandler().onOmniboxFocusChanged(hasFocus);
}
@@ -220,7 +220,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
@@ -178,7 +178,7 @@ class FileBookmarksExportObserver: public BookmarksExportObserver {
@@ -179,7 +179,7 @@ class FileBookmarksExportObserver: public BookmarksExportObserver {
JNIEnv* env = AttachCurrentThread();
Java_BookmarkBridge_bookmarksExported(env, obj_, window_->GetJavaObject(),
@@ -229,7 +229,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
result == Result::kSuccess);
delete this;
}
@@ -349,6 +349,33 @@ jboolean BookmarkBridge::AreAccountBookmarkFoldersActive(JNIEnv* env) {
@@ -350,6 +350,33 @@ jboolean BookmarkBridge::AreAccountBookmarkFoldersActive(JNIEnv* env) {
return bookmark_model_->account_mobile_node() != nullptr;
}
@@ -263,7 +263,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
base::android::ScopedJavaLocalRef<jobject>
BookmarkBridge::GetMostRecentlyAddedUserBookmarkIdForUrl(JNIEnv* env,
const GURL& url) {
@@ -461,6 +488,7 @@ void BookmarkBridge::GetAllFoldersWithDepths(
@@ -462,6 +489,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(),
@@ -271,7 +271,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
bookmark_model_->bookmark_bar_node(),
bookmark_model_->other_node(),
};
@@ -554,6 +582,9 @@ std::vector<const BookmarkNode*> BookmarkBridge::GetTopLevelFolderIdsImpl(
@@ -555,6 +583,9 @@ std::vector<const BookmarkNode*> BookmarkBridge::GetTopLevelFolderIdsImpl(
top_level_folders.push_back(other_node);
}
@@ -281,7 +281,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browse
const BookmarkNode* reading_list_node =
local_or_syncable_reading_list_manager_->GetRoot();
if (IsPermanentFolderVisible(ignore_visibility, reading_list_node)) {
@@ -1266,6 +1297,17 @@ void BookmarkBridge::GetBookmarksOfType(
@@ -1261,6 +1292,17 @@ void BookmarkBridge::GetBookmarksOfType(
AddBookmarkNodesToBookmarkIdList(env, j_list, results);
}
@@ -313,7 +313,7 @@ diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.h b/chrome/browser
base::android::ScopedJavaLocalRef<jobject>
GetMostRecentlyAddedUserBookmarkIdForUrl(JNIEnv* env, const GURL& url);
const bookmarks::BookmarkNode* GetMostRecentlyAddedUserBookmarkIdForUrlImpl(
@@ -223,6 +227,10 @@ class BookmarkBridge : public ProfileObserver,
@@ -222,6 +226,10 @@ class BookmarkBridge : public ProfileObserver,
const base::android::JavaParamRef<jobject>& j_list,
jint type);
@@ -391,7 +391,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
@@ -4191,6 +4191,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -4423,6 +4423,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
<message name="IDS_MENU_SELECT_TABS" desc="Menu item for bulk editing tabs. [CHAR_LIMIT=27]">
Select tabs
</message>
@@ -654,7 +654,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
@@ -914,7 +914,7 @@ bool BookmarkModel::HasBookmarks() const {
@@ -802,7 +802,7 @@ bool BookmarkModel::HasBookmarks() const {
bool BookmarkModel::HasNoUserCreatedBookmarksOrFolders() const {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
return bookmark_bar_node_->children().empty() &&
@@ -663,7 +663,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
}
bool BookmarkModel::IsBookmarked(const GURL& url) const {
@@ -1246,6 +1246,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
@@ -1110,6 +1110,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();
@@ -674,7 +674,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
diff --git a/components/bookmarks/browser/bookmark_model.h b/components/bookmarks/browser/bookmark_model.h
--- a/components/bookmarks/browser/bookmark_model.h
+++ b/components/bookmarks/browser/bookmark_model.h
@@ -157,6 +157,12 @@ class BookmarkModel : public CoreBookmarkModel,
@@ -149,6 +149,12 @@ class BookmarkModel : public BookmarkUndoProvider,
// bookmarks in the account storage).
const BookmarkNode* account_mobile_node() const;
@@ -687,7 +687,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_;
@@ -639,6 +645,7 @@ class BookmarkModel : public CoreBookmarkModel,
@@ -566,6 +572,7 @@ class BookmarkModel : public BookmarkUndoProvider,
raw_ptr<BookmarkPermanentNode> account_bookmark_bar_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> account_other_node_ = nullptr;
raw_ptr<BookmarkPermanentNode> account_mobile_node_ = nullptr;
@@ -789,7 +789,7 @@ diff --git a/components/bookmarks/browser/bookmark_uuids.h b/components/bookmark
diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks/browser/model_loader.cc
--- a/components/bookmarks/browser/model_loader.cc
+++ b/components/bookmarks/browser/model_loader.cc
@@ -71,6 +71,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
@@ -70,6 +70,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
BookmarkPermanentNode::CreateOtherBookmarks(0);
std::unique_ptr<BookmarkPermanentNode> account_mobile_folder_node =
BookmarkPermanentNode::CreateMobileBookmarks(0);
@@ -798,7 +798,7 @@ diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks
std::optional<base::Value::Dict> root_dict =
LoadFileToDict(account_file_path);
@@ -78,7 +80,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
@@ -77,7 +79,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
if (root_dict.has_value() &&
codec.Decode(*root_dict, /*already_assigned_ids=*/{},
account_bb_node.get(), account_other_folder_node.get(),
@@ -808,7 +808,7 @@ diff --git a/components/bookmarks/browser/model_loader.cc b/components/bookmarks
&sync_metadata_str)) {
ids_assigned_to_account_nodes = codec.release_assigned_ids();
@@ -127,7 +130,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
@@ -119,7 +122,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
if (root_dict.has_value() &&
codec.Decode(*root_dict, std::move(ids_assigned_to_account_nodes),
details->bb_node(), details->other_folder_node(),
@@ -29,7 +29,7 @@ diff --git a/chrome/android/java/res/menu/custom_tabs_menu.xml b/chrome/android/
diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/res/menu/main_menu.xml
--- a/chrome/android/java/res/menu/main_menu.xml
+++ b/chrome/android/java/res/menu/main_menu.xml
@@ -107,6 +107,9 @@ found in the LICENSE file.
@@ -110,6 +110,9 @@ found in the LICENSE file.
<item android:id="@+id/add_to_homescreen_id"
android:title="@string/menu_add_to_homescreen"
android:icon="@drawable/ic_add_to_home_screen" />
@@ -42,7 +42,7 @@ diff --git a/chrome/android/java/res/menu/main_menu.xml b/chrome/android/java/re
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -3011,6 +3011,8 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -2758,6 +2758,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
@@ -2748,6 +2748,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -2674,6 +2674,11 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
return doOpenWebApk(currentTab);
}
@@ -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
@@ -576,6 +576,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -565,6 +565,7 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
isNativePage, isFileScheme, isContentScheme, isIncognito, url));
updateRequestDesktopSiteMenuItem(menu, currentTab, true /* can show */, isNativePage);
@@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
updateAutoDarkMenuItem(menu, currentTab, isNativePage);
@@ -1304,6 +1305,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
@@ -1297,6 +1298,23 @@ public class AppMenuPropertiesDelegateImpl implements AppMenuPropertiesDelegate
findInPageMenuRow.setVisible(itemVisible);
}
@@ -104,7 +104,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
@@ -294,6 +294,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -292,6 +292,7 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
updateRequestDesktopSiteMenuItem(
menu, currentTab, requestDesktopSiteVisible, isNativePage);
@@ -9,14 +9,13 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../java/res/xml/privacy_preferences.xml | 5 +++
.../chrome/browser/app/ChromeActivity.java | 3 +-
.../privacy/settings/PrivacySettings.java | 43 ++++++++++++++++++-
.../browser/tab_ui/TabContentManager.java | 6 ++-
.../strings/android_chrome_strings.grd | 8 ++++
7 files changed, 73 insertions(+), 7 deletions(-)
6 files changed, 69 insertions(+), 5 deletions(-)
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridViewBinder.java
@@ -350,9 +350,12 @@ class TabGridViewBinder {
@@ -333,9 +333,12 @@ class TabGridViewBinder {
// Adjust bitmap to thumbnail.
TabUtils.setBitmapAndUpdateImageMatrix(thumbnail, result, thumbnailSize);
} else if (isMostRecentRequest) {
@@ -32,7 +31,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
}
};
if (sThumbnailFetcherForTesting != null) {
@@ -391,6 +394,7 @@ class TabGridViewBinder {
@@ -374,6 +377,7 @@ class TabGridViewBinder {
ViewLookupCachingFrameLayout rootView,
PropertyModel model,
TabListFaviconProvider.TabFavicon favicon) {
@@ -43,7 +42,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/TabProperties.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabProperties.java
@@ -74,6 +74,9 @@ public class TabProperties {
@@ -77,6 +77,9 @@ public class TabProperties {
public static final WritableBooleanPropertyKey FAVICON_FETCHED =
new WritableBooleanPropertyKey();
@@ -87,7 +86,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/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
@@ -144,6 +144,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
@@ -142,6 +142,7 @@ import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.printing.TabPrinter;
@@ -95,15 +94,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.profiles.ProfileProvider;
import org.chromium.chrome.browser.readaloud.ReadAloudController;
@@ -721,7 +722,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -718,7 +719,7 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
new TabContentManager(
this,
mBrowserControlsManagerSupplier.get(),
- !SysUtils.isLowEndDevice(),
+ !ContextUtils.getAppSharedPreferences().getBoolean(PrivacySettings.PREF_TABGRID_USE_ICONS, false),
tabModelSelector != null ? tabModelSelector::getTabById : null));
tabModelSelector != null ? tabModelSelector::getTabById : null,
TabWindowManagerSingleton.getInstance()));
getBrowserControlsManager()
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
@@ -190,26 +189,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference refererPolicyPref = findPreference(PREF_REFERER_POLICY);
refererPolicyPref.setSummary(
RefererSettingsFragment.getRefererSummaryString(getContext()));
diff --git a/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/tab_ui/TabContentManager.java b/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/tab_ui/TabContentManager.java
--- a/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/tab_ui/TabContentManager.java
+++ b/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/tab_ui/TabContentManager.java
@@ -328,8 +328,10 @@ public class TabContentManager {
@NonNull Callback<Bitmap> callback,
boolean forceUpdate,
boolean writeBack) {
- if (!mSnapshotsEnabled) return;
-
+ if (!mSnapshotsEnabled) {
+ callback.onResult(null);
+ return;
+ }
// TODO(crbug.com/40267864): Remove forceUpdate and writeBack params once the following
// features
// launch:
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
@@ -5659,6 +5659,14 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -5909,6 +5909,14 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
Your <ph name="FQDN">%1$s<ex>www.amazon.com</ex></ph> timer ran out. It'll start again tomorrow.
</message>
@@ -7,41 +7,41 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../start_surface/StartSurfaceMediator.java | 5 +++-
.../layout/custom_tabs_control_container.xml | 2 +-
.../java/res/layout/recent_tabs_page.xml | 2 +-
.../java/res/values-sw600dp/dimens.xml | 4 +--
chrome/android/java/res/values/dimens.xml | 6 +++-
.../chrome/browser/ChromeTabbedActivity.java | 4 ++-
.../java/res/values-sw600dp/dimens.xml | 4 ++--
chrome/android/java/res/values/dimens.xml | 6 ++++-
.../chrome/browser/WarmupManager.java | 5 +++-
.../settings/AccessibilitySettings.java | 13 +++++++++
.../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++
.../chrome/browser/app/ChromeActivity.java | 4 ++-
.../overlays/strip/StripLayoutHelper.java | 10 +++++--
.../strip/StripLayoutHelperManager.java | 7 ++++-
.../settings/AccessibilitySettings.java | 13 ++++++++++
.../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++++
.../chrome/browser/app/ChromeActivity.java | 4 +++-
.../overlays/strip/StripLayoutHelper.java | 10 ++++++--
.../strip/StripLayoutHelperManager.java | 7 +++++-
.../tabbed_mode/TabbedRootUiCoordinator.java | 4 +++-
.../chrome/browser/ui/RootUiCoordinator.java | 5 +++-
chrome/browser/preferences/BUILD.gn | 1 +
.../preferences/ChromePreferenceKeys.java | 1 +
.../preferences/ChromeSharedPreferences.java | 8 ++++++
.../preferences/ChromeSharedPreferences.java | 8 +++++++
.../LegacyChromePreferenceKeys.java | 1 +
.../SingleTabSwitcherOnNtpMediator.java | 1 +
.../omnibox/LocationBarCoordinator.java | 2 +-
.../strings/android_chrome_strings.grd | 7 +++++
.../java/res/layout/control_container.xml | 12 ++++----
.../strings/android_chrome_strings.grd | 7 ++++++
.../java/res/layout/control_container.xml | 10 ++++----
.../java/res/layout/toolbar_tablet.xml | 2 +-
.../java/res/values-sw600dp/dimens.xml | 5 ++--
.../toolbar/java/res/values/dimens.xml | 5 ++--
.../browser/toolbar/ControlContainer.java | 2 +-
.../top/TabStripTransitionCoordinator.java | 2 +-
.../toolbar/top/ToolbarControlContainer.java | 28 ++++++++++++++++++-
.../toolbar/top/ToolbarControlContainer.java | 24 ++++++++++++++++++-
.../browser/toolbar/top/ToolbarLayout.java | 5 +++-
components/BUILD.gn | 6 ++--
.../TabStripTransitionCoordinator.java | 2 +-
components/BUILD.gn | 6 ++---
.../res/xml/accessibility_preferences.xml | 5 ++++
.../AccessibilitySettingsDelegate.java | 11 ++++++++
.../chromium/ui/base/DeviceFormFactor.java | 9 ++++++
32 files changed, 167 insertions(+), 32 deletions(-)
.../AccessibilitySettingsDelegate.java | 11 +++++++++
.../chromium/ui/base/DeviceFormFactor.java | 9 +++++++
32 files changed, 162 insertions(+), 31 deletions(-)
diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
--- a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
+++ b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java
@@ -97,6 +97,7 @@ import org.chromium.components.browser_ui.widget.gesture.BackPressHandler;
@@ -90,6 +90,7 @@ import org.chromium.components.browser_ui.widget.gesture.BackPressHandler;
import org.chromium.components.embedder_support.util.UrlUtilities;
import org.chromium.components.prefs.PrefService;
import org.chromium.content_public.browser.LoadUrlParams;
@@ -49,7 +49,7 @@ diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/
import org.chromium.ui.modelutil.PropertyModel;
import org.chromium.ui.text.EmptyTextWatcher;
import org.chromium.ui.util.ColorUtils;
@@ -1124,7 +1125,9 @@ class StartSurfaceMediator
@@ -992,7 +993,9 @@ class StartSurfaceMediator
int getTopToolbarPlaceholderHeight() {
// If logo is visible in Start surface instead of in the toolbar, we don't need to show the
// top margin of the fake search box.
@@ -101,7 +101,7 @@ diff --git a/chrome/android/java/res/values-sw600dp/dimens.xml b/chrome/android/
diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml
--- a/chrome/android/java/res/values/dimens.xml
+++ b/chrome/android/java/res/values/dimens.xml
@@ -120,9 +120,13 @@ found in the LICENSE file.
@@ -118,9 +118,13 @@ found in the LICENSE file.
<dimen name="tab_modal_scrim_vertical_margin">16dp</dimen>
<!-- Should match toolbar_height_no_shadow -->
@@ -116,33 +116,19 @@ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res
<!-- Find in Page dimensions -->
<dimen name="find_in_page_popup_width">375dp</dimen>
<dimen name="find_in_page_popup_height">60dp</dimen>
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
@@ -2280,7 +2280,9 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@Override
public int getControlContainerHeightResource() {
- return R.dimen.control_container_height;
+ if (DeviceFormFactor.isForceTabletUI())
+ return R.dimen.control_container_height_tabletui;
+ return R.dimen.control_container_height_cromite;
}
@Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.java
@@ -56,6 +56,7 @@ import org.chromium.components.embedder_support.util.UrlConstants;
@@ -62,6 +62,7 @@ import org.chromium.components.embedder_support.util.UrlConstants;
import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.browser.WebContentsObserver;
import org.chromium.ui.LayoutInflaterUtils;
+import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.display.DisplayUtil;
@@ -425,7 +426,9 @@ public class WarmupManager {
(ControlContainer) mainView.findViewById(R.id.control_container);
import org.chromium.url.GURL;
@@ -455,7 +456,9 @@ public class WarmupManager {
ControlContainer controlContainer = mainView.findViewById(R.id.control_container);
if (toolbarId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
- controlContainer.initWithToolbar(toolbarId);
@@ -228,7 +214,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
@@ -862,7 +862,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
@@ -859,7 +859,9 @@ public abstract class ChromeActivity<C extends ChromeActivityComponent>
// Inflate the correct toolbar layout for the device.
int toolbarLayoutId = getToolbarLayoutId();
if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
@@ -242,15 +228,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
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
@@ -84,6 +84,7 @@ import org.chromium.components.feature_engagement.Tracker;
import org.chromium.components.prefs.PrefService;
@@ -87,6 +87,7 @@ import org.chromium.components.prefs.PrefService;
import org.chromium.components.tab_groups.TabGroupColorId;
import org.chromium.components.user_prefs.UserPrefs;
import org.chromium.ui.MotionEventUtils;
+import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.base.LocalizationUtils;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.interpolators.Interpolators;
@@ -5059,8 +5060,13 @@ public class StripLayoutHelper implements StripLayoutTabDelegate, StripLayoutGro
@@ -5190,8 +5191,13 @@ public class StripLayoutHelper implements StripLayoutTabDelegate, StripLayoutGro
mTabMenu.setAnchorView(tabView);
// 3. Set the vertical offset to align the tab menu with bottom of the tab strip
int tabHeight = mManagerHost.getHeight();
@@ -269,7 +255,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
@@ -80,6 +80,7 @@ import org.chromium.chrome.browser.ui.system.StatusBarColorController;
@@ -87,6 +87,7 @@ import org.chromium.chrome.browser.ui.system.StatusBarColorController;
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
import org.chromium.components.browser_ui.widget.scrim.ScrimProperties;
import org.chromium.content_public.browser.LoadUrlParams;
@@ -277,7 +263,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
import org.chromium.ui.base.LocalizationUtils;
import org.chromium.ui.base.PageTransition;
import org.chromium.ui.base.WindowAndroid;
@@ -405,11 +406,15 @@ public class StripLayoutHelperManager
@@ -446,11 +447,15 @@ public class StripLayoutHelperManager
mIsLayoutOptimizationsEnabled =
ToolbarFeatures.isTabStripWindowLayoutOptimizationEnabled(true);
@@ -293,19 +279,33 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
+
mTopPadding = mHeight - mScrollableStripHeight;
mDesktopWindowStateProvider = desktopWindowStateProvider;
mStripVisibilityStateSupplier = new ObservableSupplierImpl<>(StripVisibilityState.UNKNOWN);
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
@@ -535,7 +535,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@Override
public int getControlContainerHeightResource() {
- return R.dimen.control_container_height;
+ if (DeviceFormFactor.isForceTabletUI())
+ return R.dimen.control_container_height_tabletui;
+ return R.dimen.control_container_height_cromite;
}
@Override
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
@@ -98,6 +98,7 @@ import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
@@ -100,6 +100,7 @@ import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
import org.chromium.chrome.browser.pdf.PdfPage;
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
import org.chromium.chrome.browser.price_insights.PriceInsightsButtonController;
import org.chromium.chrome.browser.price_tracking.CurrentTabPriceTrackingStateSupplier;
import org.chromium.chrome.browser.price_tracking.PriceTrackingButtonController;
import org.chromium.chrome.browser.profiles.Profile;
@@ -1611,7 +1612,9 @@ public class RootUiCoordinator
@@ -1724,7 +1725,9 @@ public class RootUiCoordinator
if (!mSupportsFindInPageSupplier.getAsBoolean()) return;
int stubId = R.id.find_toolbar_stub;
@@ -377,7 +377,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
diff --git a/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java b/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java
--- a/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java
+++ b/chrome/browser/single_tab/android/java/src/org/chromium/chrome/browser/single_tab/SingleTabSwitcherOnNtpMediator.java
@@ -40,6 +40,7 @@ import org.chromium.components.browser_ui.widget.displaystyle.HorizontalDisplayS
@@ -41,6 +41,7 @@ import org.chromium.components.browser_ui.widget.displaystyle.HorizontalDisplayS
import org.chromium.components.browser_ui.widget.displaystyle.UiConfig;
import org.chromium.components.browser_ui.widget.displaystyle.UiConfig.DisplayStyle;
import org.chromium.components.embedder_support.util.UrlUtilities;
@@ -388,7 +388,7 @@ diff --git a/chrome/browser/single_tab/android/java/src/org/chromium/chrome/brow
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarCoordinator.java
@@ -778,7 +778,7 @@ public class LocationBarCoordinator
@@ -765,7 +765,7 @@ public class LocationBarCoordinator
}
private boolean isTabletWindow() {
@@ -400,7 +400,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1659,6 +1659,13 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1667,6 +1667,13 @@ Your Google account may have other forms of browsing history like searches and a
Hide your IP address
</message>
@@ -453,7 +453,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/control_container
android:layout_width="match_parent"
android:layout_height="@dimen/toolbar_height_no_shadow"
android:layout="@layout/find_toolbar" />
@@ -55,14 +55,14 @@ found in the LICENSE file.
@@ -55,7 +55,7 @@ found in the LICENSE file.
android:id="@+id/target_view_stub"
android:inflatedId="@+id/toolbar_drag_drop_target_view"
android:layout_width="match_parent"
@@ -461,15 +461,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/control_container
+ android:layout_marginTop="@dimen/tab_strip_height_cromite"
android:layout_height="@dimen/toolbar_height_no_shadow"
android:layout="@layout/drag_drop_target_view" />
<ViewStub
android:id="@+id/tab_switcher_toolbar_stub"
android:layout_width="match_parent"
- android:layout_marginTop="@dimen/tab_strip_height"
+ android:layout_marginTop="@dimen/tab_strip_height_cromite"
android:layout_height="@dimen/toolbar_height_no_shadow"
android:inflatedId="@+id/tab_switcher_toolbar"
android:layout="@layout/tab_switcher_toolbar" />
</org.chromium.chrome.browser.toolbar.top.ToolbarControlContainer>
diff --git a/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml b/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml
--- a/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml
+++ b/chrome/browser/ui/android/toolbar/java/res/layout/toolbar_tablet.xml
@@ -522,18 +514,6 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
/**
* @return The {@link ViewResourceAdapter} that exposes this {@link View} as a CC resource.
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TabStripTransitionCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TabStripTransitionCoordinator.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TabStripTransitionCoordinator.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TabStripTransitionCoordinator.java
@@ -155,7 +155,7 @@ public class TabStripTransitionCoordinator implements ComponentCallbacks, AppHea
mTabStripReservedTopPadding =
controlContainerView()
.getResources()
- .getDimensionPixelSize(R.dimen.tab_strip_reserved_top_padding);
+ .getDimensionPixelSize(R.dimen.tab_strip_reserved_top_padding_cromite);
mOnLayoutChangedListener =
(view, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {
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
@@ -545,7 +525,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
import android.graphics.Canvas;
import android.graphics.PorterDuff;
import android.graphics.Rect;
@@ -119,8 +120,33 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
@@ -119,8 +120,29 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
}
@Override
@@ -572,10 +552,6 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
+ view = findViewById(R.id.target_view_stub);
+ if (view != null)
+ ((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
+
+ view = findViewById(R.id.tab_switcher_toolbar_stub);
+ if (view != null)
+ ((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
+ }
mToolbarContainer =
(ToolbarViewResourceFrameLayout) findViewById(R.id.toolbar_container);
@@ -591,7 +567,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
import org.chromium.ui.util.TokenHolder;
import org.chromium.url.GURL;
@@ -596,7 +597,9 @@ public abstract class ToolbarLayout extends FrameLayout
@@ -644,7 +645,9 @@ public abstract class ToolbarLayout extends FrameLayout
* not have a tab strip.
*/
protected int getTabStripHeightFromResource() {
@@ -602,6 +578,18 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
}
/** Triggered when the content view for the specified tab has changed. */
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
@@ -151,7 +151,7 @@ public class TabStripTransitionCoordinator implements ComponentCallbacks, AppHea
mTabStripReservedTopPadding =
controlContainerView()
.getResources()
- .getDimensionPixelSize(R.dimen.tab_strip_reserved_top_padding);
+ .getDimensionPixelSize(R.dimen.tab_strip_reserved_top_padding_cromite);
mOnLayoutChangedListener =
(view, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {
diff --git a/components/BUILD.gn b/components/BUILD.gn
--- a/components/BUILD.gn
+++ b/components/BUILD.gn
@@ -614,7 +602,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
@@ -851,7 +851,7 @@ test("components_unittests") {
@@ -853,7 +853,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.
@@ -623,7 +611,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
assert_no_deps = [ "//chrome/*" ]
assert_no_deps += disallowed_extension_deps_
}
@@ -1137,7 +1137,7 @@ if (use_blink) {
@@ -1145,7 +1145,7 @@ if (use_blink) {
# 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.
@@ -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;
@@ -1644,8 +1645,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -1474,8 +1475,10 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
boolean hadCipherData =
CipherFactory.getInstance().restoreFromBundle(getSavedInstanceState());
@@ -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
@@ -5150,6 +5150,12 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -5400,6 +5400,12 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
<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>
@@ -23,15 +23,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
@@ -29,6 +29,7 @@ import org.chromium.chrome.browser.data_sharing.DataSharingNotificationManager;
import org.chromium.chrome.browser.data_sharing.SharedImageTilesCoordinator;
@@ -30,6 +30,7 @@ import org.chromium.base.task.TaskTraits;
import org.chromium.chrome.browser.data_sharing.DataSharingNotificationManager;
import org.chromium.chrome.browser.data_sharing.ui.shared_image_tiles.SharedImageTilesCoordinator;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.hub.HubFieldTrial;
+import org.chromium.chrome.browser.homepage.HomepageManager;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabCreationState;
import org.chromium.chrome.browser.tab.TabLaunchType;
@@ -62,6 +63,7 @@ import org.chromium.ui.KeyboardVisibilityDelegate;
@@ -65,6 +66,7 @@ import org.chromium.ui.KeyboardVisibilityDelegate;
import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.modelutil.PropertyModel;
import org.chromium.ui.text.EmptyTextWatcher;
@@ -39,7 +39,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
import java.util.ArrayList;
import java.util.List;
@@ -802,11 +804,16 @@ public class TabGridDialogMediator
@@ -820,11 +822,16 @@ public class TabGridDialogMediator
assert relatedTabs.size() > 0;
@@ -68,7 +68,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
import org.chromium.chrome.browser.layouts.LayoutStateProvider;
import org.chromium.chrome.browser.layouts.LayoutStateProvider.LayoutStateObserver;
import org.chromium.chrome.browser.layouts.LayoutType;
@@ -422,10 +423,15 @@ public class TabGroupUiMediator implements BackPressHandler {
@@ -427,10 +428,15 @@ public class TabGroupUiMediator implements BackPressHandler {
assert relatedTabs.size() > 0;
parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1);
@@ -181,10 +181,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.new_tab_url.DseNewTabUrlManager;
+import org.chromium.chrome.browser.homepage.HomepageManager;
import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin;
import org.chromium.chrome.browser.ntp.NewTabPageUtils;
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge;
@@ -518,6 +519,13 @@ public class ChromeTabCreator extends TabCreator {
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState;
import org.chromium.chrome.browser.profiles.Profile;
@@ -484,6 +485,13 @@ public class ChromeTabCreator extends TabCreator {
* @return the created tab.
*/
public Tab launchUrl(String url, @TabLaunchType int type, Intent intent, long intentTimestamp) {
@@ -223,7 +223,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1406,6 +1406,9 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1414,6 +1414,9 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_CLEAR_BROWSING_DATA_TAB_PERIOD_HOUR" desc="The option to delete browsing data from the last hour.">
Last hour
</message>
@@ -236,7 +236,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -85,6 +85,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -89,6 +89,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kShowForwardButton, true,
GetHomeAndForwardButtonAndHomePageIsNewTabPageFlags());
@@ -248,7 +248,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
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
@@ -1321,6 +1321,10 @@ inline constexpr char kShowHomeButton[] = "browser.show_home_button";
@@ -1350,6 +1350,10 @@ inline constexpr char kShowHomeButton[] = "browser.show_home_button";
// toolbar.
inline constexpr char kShowForwardButton[] = "browser.show_forward_button";
@@ -256,7 +256,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
+// instead of the New Tab page.
+inline constexpr char kNewTabPageIsHomePage[] = "newtabpage_is_homepage";
+
// Boolean pref to define the default setting for "block offensive words".
// The old key value is kept to avoid unnecessary migration code.
inline constexpr char kSpeechRecognitionFilterProfanities[] =
// Comma separated list of domain names (e.g. "google.com,school.edu").
// When this pref is set, the user will be able to access Google Apps
// only using an account that belongs to one of the domains from this pref.
--
+1 -1
View File
@@ -74,7 +74,7 @@ diff --git a/components/search_engines/prepopulated_engines.json b/components/se
"ecosia": {
"name": "Ecosia",
"keyword": "ecosia.org",
@@ -174,6 +184,27 @@
@@ -182,6 +192,27 @@
"id": 111
},
@@ -39,7 +39,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
@@ -306,6 +306,7 @@ chrome_java_sources = [
@@ -309,6 +309,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAdvanced.java",
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentBasic.java",
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataTabsFragment.java",
@@ -57,8 +57,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
+import org.chromium.chrome.browser.profiles.ProfileManagerUtils;
import org.chromium.chrome.browser.read_later.ReadingListBackPressHandler;
import org.chromium.chrome.browser.reengagement.ReengagementNotificationController;
import org.chromium.chrome.browser.search_engines.SearchEngineChoiceNotification;
@@ -1644,7 +1645,11 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
import org.chromium.chrome.browser.safety_hub.SafetyHubMagicStackBuilder;
@@ -1474,7 +1475,11 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
Intent intent = getIntent();
boolean hadCipherData =
@@ -214,7 +214,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -2416,6 +2416,16 @@
@@ -2418,6 +2418,16 @@
<message name="IDS_SETTINGS_CLEAR_BROWSING_DATA" desc="Text for delete browsing data button in Privacy options">
Delete browsing data
</message>
@@ -298,7 +298,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_constants
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
@@ -442,6 +442,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -455,6 +455,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
CreateTaskCompletionClosure(TracingDataType::kHistory),
&history_task_tracker_);
}
@@ -308,7 +308,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
if (ClipboardRecentContent::GetInstance())
ClipboardRecentContent::GetInstance()->SuppressClipboardContent();
@@ -492,7 +495,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -505,7 +508,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
prerender::NoStatePrefetchManager::CLEAR_PRERENDER_CONTENTS |
prerender::NoStatePrefetchManager::CLEAR_PRERENDER_HISTORY);
}
@@ -318,7 +318,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
// The saved Autofill profiles and credit cards can include the origin from
// which these profiles and credit cards were learned. These are a form of
// history, so clear them as well.
@@ -513,7 +518,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -526,7 +531,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
if (data_manager)
data_manager->Refresh();
}
@@ -328,7 +328,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
base::ThreadPool::PostTaskAndReply(
FROM_HERE, {base::TaskPriority::USER_VISIBLE, base::MayBlock()},
base::BindOnce(
@@ -560,6 +567,11 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -573,6 +580,11 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
// and SSL host state are scoped to hosts and represent them as std::string.
// Rename the method to indicate its more general usage.
if (profile_->GetSSLHostStateDelegate()) {
@@ -340,7 +340,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
profile_->GetSSLHostStateDelegate()->Clear(
filter_builder->MatchesAllOriginsAndDomains()
? base::RepeatingCallback<bool(const std::string&)>()
@@ -588,9 +600,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -601,9 +613,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
}
device_event_log::Clear(delete_begin_, delete_end_);
@@ -354,7 +354,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
content::BackgroundTracingManager::GetInstance().DeleteTracesInDateRange(
delete_begin_, delete_end_);
@@ -1257,6 +1273,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -1289,6 +1305,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
if (should_clear_zero_suggest_and_session_token && template_url_service)
template_url_service->ClearSessionToken();
@@ -366,7 +366,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
diff --git a/chrome/browser/dips/dips_service.cc b/chrome/browser/dips/dips_service.cc
--- a/chrome/browser/dips/dips_service.cc
+++ b/chrome/browser/dips/dips_service.cc
@@ -193,7 +193,7 @@ class StateClearer : public content::BrowsingDataRemover::Observer {
@@ -188,7 +188,7 @@ class StateClearer : public content::BrowsingDataRemover::Observer {
}
remover->RemoveWithFilterAndReply(
base::Time::Min(), base::Time::Max(),
@@ -378,7 +378,7 @@ diff --git a/chrome/browser/dips/dips_service.cc b/chrome/browser/dips/dips_serv
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
@@ -526,6 +526,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
@@ -532,6 +532,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
(*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] =
settings_api::PrefType::kNumber;
@@ -436,7 +436,7 @@ diff --git a/chrome/browser/profiles/android/profile_manager_utils.cc b/chrome/b
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
--- a/chrome/browser/profiles/profile_manager.cc
+++ b/chrome/browser/profiles/profile_manager.cc
@@ -1477,6 +1477,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info,
@@ -1479,6 +1479,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info,
}
}
@@ -456,7 +456,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
void ProfileManager::DoFinalInitForServices(Profile* profile,
bool go_off_the_record) {
if (!do_final_services_init_ ||
@@ -2141,7 +2154,7 @@ void ProfileManager::OnBrowserClosed(Browser* browser) {
@@ -2144,7 +2157,7 @@ void ProfileManager::OnBrowserClosed(Browser* browser) {
Profile* original_profile = profile->GetOriginalProfile();
// Do nothing if the closed window is not the last window of the same profile.
for (Browser* browser_iter : *BrowserList::GetInstance()) {
@@ -553,7 +553,7 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1501,6 +1501,9 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1509,6 +1509,9 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_ANDROID_APP_HISTORY_OPEN_FULL_OTHER_FORMS" desc="The informational message at the top of the history page letting users know that app-specific history may be missing some entries, followed by the info on the other forms of browing history.">
Some of your history might not show up here. To see all your Chrome history, open full Chrome history. Also, your Google Account may have other forms of browsing history at <ph name="BEGIN_LINK">&lt;link&gt;</ph>myactivity.google.com<ph name="END_LINK">&lt;/link&gt;</ph>.
</message>
@@ -566,7 +566,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -1775,6 +1775,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
@@ -1792,6 +1792,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
{"clearedData", IDS_SETTINGS_CLEARED_DATA},
{"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA},
{"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION},
@@ -752,7 +752,7 @@ diff --git a/components/browsing_data/core/pref_names.h b/components/browsing_da
diff --git a/components/search_engines/template_url_service.cc b/components/search_engines/template_url_service.cc
--- a/components/search_engines/template_url_service.cc
+++ b/components/search_engines/template_url_service.cc
@@ -819,6 +819,7 @@ void TemplateURLService::RemoveAutoGeneratedForUrlsBetween(
@@ -798,6 +798,7 @@ void TemplateURLService::RemoveAutoGeneratedForUrlsBetween(
if (turl->date_created() >= created_after &&
(created_before.is_null() || turl->date_created() < created_before) &&
turl->safe_for_autoreplace() && turl->prepopulate_id() == 0 &&
@@ -763,7 +763,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear
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
@@ -1533,6 +1533,7 @@ void StoragePartitionImpl::Initialize(
@@ -1473,6 +1473,7 @@ void StoragePartitionImpl::Initialize(
.AppendASCII("Code Cache");
}
DCHECK_GE(settings.size_in_bytes(), 0);
@@ -14,12 +14,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../contextmenu/ChromeContextMenuItem.java | 5 ++-
.../ChromeContextMenuPopulator.java | 5 +++
.../tab/TabContextMenuItemDelegate.java | 8 +++++
.../contextmenu/ContextMenuItemDelegate.java | 2 ++
.../flags/android/chrome_feature_list.cc | 1 +
.../browser/flags/ChromeFeatureList.java | 5 +++
.../strings/android_chrome_strings.grd | 9 +++++
.../res/xml/accessibility_preferences.xml | 5 +++
.../AccessibilitySettingsDelegate.java | 2 ++
.../contextmenu/ContextMenuItemDelegate.java | 3 ++
...Add-setting-to-invert-tap-and-long-tap.inc | 8 +++++
...Add-setting-to-invert-tap-and-long-tap.inc | 3 ++
...Add-setting-to-invert-tap-and-long-tap.inc | 1 +
@@ -29,7 +29,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../renderer/core/html/html_image_element.h | 2 ++
.../core/page/context_menu_controller.cc | 33 ++++++++++++-----
.../core/page/context_menu_controller.h | 5 +--
21 files changed, 165 insertions(+), 20 deletions(-)
21 files changed, 166 insertions(+), 20 deletions(-)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Add-setting-to-invert-tap-and-long-tap.inc
create mode 100644 cromite_flags/third_party/blink/common/features_h/Add-setting-to-invert-tap-and-long-tap.inc
@@ -37,7 +37,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml
--- a/chrome/android/java/res/values/ids.xml
+++ b/chrome/android/java/res/values/ids.xml
@@ -91,6 +91,7 @@ found in the LICENSE file.
@@ -88,6 +88,7 @@ found in the LICENSE file.
<!-- Menu item IDs for FullscreenActivities -->
<item type="id" name="contextmenu_open_in_chrome" />
@@ -142,7 +142,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
@@ -266,6 +266,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -273,6 +273,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
if (mParams.isAnchor()) {
ModelList linkGroup = new ModelList();
@@ -152,7 +152,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
if (FirstRunStatus.getFirstRunFlowComplete()
&& !isEmptyUrl(mParams.getUrl())
&& UrlUtilities.isAcceptedScheme(mParams.getUrl())) {
@@ -631,6 +634,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -638,6 +641,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
getProfile(),
false);
});
@@ -164,7 +164,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
@@ -297,6 +297,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -328,6 +328,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
mTab.loadUrl(loadUrlParams);
}
@@ -175,28 +175,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
+ loadUrlParams.setReferrer(referrer);
+ mTab.loadUrl(loadUrlParams);
+ }
+
@Override
public void onOpenImageInNewTab(GURL url, Referrer referrer) {
LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec());
diff --git a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java b/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java
--- a/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java
+++ b/chrome/browser/contextmenu/java/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemDelegate.java
@@ -110,6 +110,8 @@ public interface ContextMenuItemDelegate {
*/
void onOpenImageUrl(GURL url, Referrer referrer);
+ void onOpenUrl(GURL url, Referrer referrer);
+
/**
* Called when the {@code url} is of an image and should be opened in a new tab.
* @param url The image URL to open.
* Called when the {@code url} is of an image and should be opened in a new page.
*
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
@@ -293,6 +293,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -304,6 +304,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kTabGroupCreationDialogAndroid,
&kTabGroupParityAndroid,
&kTabIdMapAndroid,
&kTabletTabSwitcherLongPressMenu,
+ &blink::features::kShowAlwaysContextMenuOnLinks,
&kTabletToolbarReordering,
@@ -205,7 +193,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/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
@@ -370,6 +370,8 @@ public abstract class ChromeFeatureList {
@@ -379,6 +379,8 @@ public abstract class ChromeFeatureList {
"DisableToolbarSwipeUp";
public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM =
"MoveTopToolbarToBottom";
@@ -214,7 +202,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String NOTIFICATION_PERMISSION_VARIANT = "NotificationPermissionVariant";
public static final String NOTIFICATION_PERMISSION_BOTTOM_SHEET =
"NotificationPermissionBottomSheet";
@@ -654,6 +656,8 @@ public abstract class ChromeFeatureList {
@@ -679,6 +681,8 @@ public abstract class ChromeFeatureList {
newCachedFlag(DISABLE_TOOLBAR_SWIPE_UP, false);
public static final CachedFlag sMoveTopToolbarToBottom =
newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
@@ -223,18 +211,18 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final CachedFlag sPrivacyGuidePreloadAndroid =
newCachedFlag(PRIVACY_GUIDE_PRELOAD_ANDROID, false);
public static final CachedFlag sOptimizationGuidePushNotifications =
@@ -812,6 +816,7 @@ public abstract class ChromeFeatureList {
@@ -840,6 +844,7 @@ public abstract class ChromeFeatureList {
sTabWindowManagerIndexReassignmentActivityNotInAppTasks,
sTabWindowManagerReportIndicesMismatch,
sUseChimeAndroidSdk,
+ sShowAlwaysContextMenuOnLinks,
sUseLibunwindstackNativeUnwinderAndroid,
sVerticalAutomotiveBackButtonToolbar);
sVerticalAutomotiveBackButtonToolbar,
sWebApkMinShellApkVersion);
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
@@ -1724,6 +1724,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1732,6 +1732,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_DISABLE_TOOLBAR_SWIPE_UP" desc="Summary of the preference that allows the user to disable toolbar swipeup.">
Disable toolbar swipe up
</message>
@@ -247,7 +235,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<!-- Safety check -->
<message name="IDS_PREFS_SAFETY_CHECK" desc="Title of the Safety check element in settings, allowing the user to check multiple areas of browser safety. [CHAR_LIMIT=32]">
@@ -3011,6 +3017,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -3240,6 +3246,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
<message name="IDS_CONTEXTMENU_OPEN_IN_NEW_CHROME_TAB" desc="Context sensitive menu item to open the selected link in a new Chrome tab from Chrome Custom Tab. [CHAR_LIMIT=30]">
Open in new Chrome tab
</message>
@@ -284,6 +272,26 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
/** @return The BrowserContextHandle that should be used to read and update settings. */
BrowserContextHandle getBrowserContextHandle();
diff --git a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java
--- a/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java
+++ b/components/embedder_support/android/java/src/org/chromium/components/embedder_support/contextmenu/ContextMenuItemDelegate.java
@@ -9,6 +9,7 @@ import android.net.Uri;
import androidx.annotation.IntDef;
import org.chromium.content_public.browser.WebContents;
+import org.chromium.content_public.common.Referrer;
import org.chromium.url.GURL;
import java.lang.annotation.Retention;
@@ -148,6 +149,8 @@ public interface ContextMenuItemDelegate {
*/
GURL getPageUrl();
+ void onOpenUrl(GURL url, Referrer referrer);
+
/**
* Called when the current embedder app is not the default to handle a View Intent.
*
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-invert-tap-and-long-tap.inc
new file mode 100644
--- /dev/null
@@ -340,7 +348,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
LocalDOMWindow* window = GetDocument().domWindow();
if (!window) {
return;
@@ -576,6 +588,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
@@ -581,6 +593,15 @@ void HTMLAnchorElement::NavigateToHyperlink(ResourceRequest request,
request.GetReferrerPolicy()));
}
@@ -356,7 +364,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
Frame* target_frame =
frame->Tree().FindOrCreateFrameForNavigation(frame_request, target).frame;
@@ -629,7 +650,7 @@ AtomicString HTMLAnchorElement::interestAction() const {
@@ -634,7 +655,7 @@ AtomicString HTMLAnchorElement::interestAction() const {
return g_empty_atom;
}
@@ -365,7 +373,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
event.SetDefaultHandled();
LocalDOMWindow* window = GetDocument().domWindow();
@@ -725,13 +746,12 @@ void HTMLAnchorElement::HandleClick(MouseEvent& event) {
@@ -730,13 +751,12 @@ void HTMLAnchorElement::HandleClick(MouseEvent& event) {
return;
}
@@ -383,7 +391,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
// We distinguish single/double click with some modifiers.
// See the comment of `EventHandler.delayed_navigation_task_handle_`.
auto task_handle = PostDelayedCancellableTask(
@@ -741,7 +761,9 @@ void HTMLAnchorElement::HandleClick(MouseEvent& event) {
@@ -746,7 +766,9 @@ void HTMLAnchorElement::HandleClick(MouseEvent& event) {
frame->GetEventHandler().SetDelayedNavigationTaskHandle(
std::move(task_handle));
} else {
@@ -397,7 +405,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_party/blink/renderer/core/html/html_anchor_element.h
--- a/third_party/blink/renderer/core/html/html_anchor_element.h
+++ b/third_party/blink/renderer/core/html/html_anchor_element.h
@@ -112,6 +112,7 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
@@ -116,6 +116,7 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
AtomicString interestAction() const override;
void Trace(Visitor*) const override;
@@ -405,7 +413,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_
protected:
void ParseAttribute(const AttributeModificationParams&) override;
@@ -143,7 +144,11 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
@@ -147,7 +148,11 @@ class CORE_EXPORT HTMLAnchorElement : public HTMLElement, public DOMURLUtils {
bool is_trusted,
base::TimeTicks platform_time_stamp,
KURL);
@@ -429,7 +437,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_
#include "third_party/blink/renderer/core/frame/attribution_src_loader.h"
#include "third_party/blink/renderer/core/frame/deprecation/deprecation.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
@@ -64,6 +65,7 @@
@@ -63,6 +64,7 @@
#include "third_party/blink/renderer/core/media_type_names.h"
#include "third_party/blink/renderer/core/page/chrome_client.h"
#include "third_party/blink/renderer/core/page/page.h"
@@ -437,7 +445,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_
#include "third_party/blink/renderer/core/paint/timing/paint_timing.h"
#include "third_party/blink/renderer/core/probe/core_probes.h"
#include "third_party/blink/renderer/core/resize_observer/resize_observer_entry.h"
@@ -800,6 +802,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate(
@@ -799,6 +801,21 @@ void HTMLImageElement::DidFinishLifecycleUpdate(
}
}
@@ -521,7 +529,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
// Clear any previously set cached results if we are resetting the hit test
// result.
image_selection_cached_result_ = nullptr;
@@ -833,11 +846,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
@@ -831,11 +844,13 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
SetAutofillData(result.InnerNode(), data);
SetPasswordManagerData(result.InnerElement(), data);
+3 -3
View File
@@ -24,14 +24,14 @@ 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
@@ -155,6 +155,7 @@
@@ -153,6 +153,7 @@
#include "components/send_tab_to_self/features.h"
#include "components/services/heap_profiling/public/cpp/switches.h"
#include "components/services/storage/public/cpp/buckets/bucket_info.h"
+#include "components/site_engagement/core/features.h"
#include "components/shared_highlighting/core/common/shared_highlighting_features.h"
#include "components/sharing_message/features.h"
#include "components/signin/core/browser/dice_account_reconcilor_delegate.h"
#include "components/signin/public/base/signin_buildflags.h"
diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/engagement/important_sites_util.cc
--- a/chrome/browser/engagement/important_sites_util.cc
+++ b/chrome/browser/engagement/important_sites_util.cc
@@ -108,7 +108,7 @@ diff --git a/components/feature_engagement/public/feature_configurations.cc b/co
+
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \
BUILDFLAG(IS_CHROMEOS)
if (kIPHPasswordsAccountStorageFeature.name == feature->name) {
if (kIPHPasswordsManagementBubbleAfterSaveFeature.name == feature->name) {
diff --git a/components/site_engagement/content/site_engagement_score.cc b/components/site_engagement/content/site_engagement_score.cc
--- a/components/site_engagement/content/site_engagement_score.cc
+++ b/components/site_engagement/content/site_engagement_score.cc
@@ -20,7 +20,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import org.chromium.components.browser_ui.site_settings.BaseSiteSettingsFragment;
import org.chromium.components.browser_ui.site_settings.SiteSettingsCategory;
import org.chromium.components.browser_ui.util.TraceEventVectorDrawableCompat;
@@ -517,8 +518,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -515,8 +516,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
finish();
return true;
} else if (item.getItemId() == R.id.menu_id_general_help) {
@@ -9,14 +9,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
base/android/content_uri_utils.cc | 10 ++++++
base/android/content_uri_utils.h | 4 +++
.../org/chromium/base/ContentUriUtils.java | 33 +++++++++++++++++++
3 files changed, 47 insertions(+)
.../org/chromium/base/ContentUriUtils.java | 34 +++++++++++++++++++
3 files changed, 48 insertions(+)
diff --git a/base/android/content_uri_utils.cc b/base/android/content_uri_utils.cc
--- a/base/android/content_uri_utils.cc
+++ b/base/android/content_uri_utils.cc
@@ -32,6 +32,16 @@ File OpenContentUriForRead(const FilePath& content_uri) {
return File(fd);
@@ -39,6 +39,16 @@ int64_t GetContentUriFileSize(const FilePath& content_uri) {
return Java_ContentUriUtils_getContentUriFileSize(env, j_uri);
}
+File OpenContentUriForWrite(const FilePath& content_uri) {
@@ -43,13 +43,21 @@ diff --git a/base/android/content_uri_utils.h b/base/android/content_uri_utils.h
+// Returns -1 if the URI is invalid.
+BASE_EXPORT File OpenContentUriForWrite(const FilePath& content_uri);
+
// Check whether a content URI exists.
BASE_EXPORT bool ContentUriExists(const FilePath& content_uri);
// Gets file size, or -1 if file is unknown length.
BASE_EXPORT int64_t GetContentUriFileSize(const FilePath& content_uri);
diff --git a/base/android/java/src/org/chromium/base/ContentUriUtils.java b/base/android/java/src/org/chromium/base/ContentUriUtils.java
--- a/base/android/java/src/org/chromium/base/ContentUriUtils.java
+++ b/base/android/java/src/org/chromium/base/ContentUriUtils.java
@@ -23,6 +23,9 @@ import org.jni_zero.CalledByNative;
@@ -10,6 +10,7 @@ import android.content.res.AssetFileDescriptor;
import android.database.Cursor;
import android.net.Uri;
import android.os.Build;
+import android.os.ParcelFileDescriptor;
import android.provider.DocumentsContract;
import android.provider.MediaStore;
import android.text.TextUtils;
@@ -22,6 +23,9 @@ import org.jni_zero.CalledByNative;
import java.io.File;
import java.io.IOException;
@@ -59,7 +67,7 @@ diff --git a/base/android/java/src/org/chromium/base/ContentUriUtils.java b/base
/** This class provides methods to access content URI schemes. */
public abstract class ContentUriUtils {
private static final String TAG = "ContentUriUtils";
@@ -87,6 +90,36 @@ public abstract class ContentUriUtils {
@@ -86,6 +90,36 @@ public abstract class ContentUriUtils {
return -1;
}
+21 -20
View File
@@ -36,7 +36,7 @@ Enabled by default
.../platform/graphics/bitmap_image_metrics.h | 4 +-
.../renderer/platform/image-decoders/BUILD.gn | 9 +
.../platform/image-decoders/image_decoder.cc | 23 +
.../image-decoders/jxl/jxl_image_decoder.cc | 685 ++++++++++++++++++
.../image-decoders/jxl/jxl_image_decoder.cc | 686 ++++++++++++++++++
.../image-decoders/jxl/jxl_image_decoder.h | 123 ++++
.../jxl/jxl_image_decoder_test.cc | 626 ++++++++++++++++
.../blink/tools/commit_stats/git-dirs.txt | 1 +
@@ -58,7 +58,7 @@ Enabled by default
.../libjxl/gen_headers/jxl/jxl_export.h | 11 +
tools/metrics/histograms/enums.xml | 1 +
.../histograms/metadata/blink/enums.xml | 2 +-
53 files changed, 1997 insertions(+), 17 deletions(-)
53 files changed, 1998 insertions(+), 17 deletions(-)
create mode 100644 build/linux/unbundle/libjxl.gn
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-support-to-jxl.inc
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Add-support-to-jxl.inc
@@ -95,7 +95,7 @@ diff --git a/DEPS b/DEPS
'highway_revision': '8295336dd70f1201d42c22ab5b0861de38cf8fbf',
# Three lines of non-changing comments so that
# the commit queue can handle CLs rolling ffmpeg
@@ -1604,6 +1608,9 @@ deps = {
@@ -1632,6 +1636,9 @@ deps = {
'src/third_party/dawn':
Var('dawn_git') + '/dawn.git' + '@' + Var('dawn_revision'),
@@ -375,7 +375,7 @@ diff --git a/net/base/mime_util_unittest.cc b/net/base/mime_util_unittest.cc
diff --git a/third_party/.gitignore b/third_party/.gitignore
--- a/third_party/.gitignore
+++ b/third_party/.gitignore
@@ -92,6 +92,7 @@
@@ -89,6 +89,7 @@
/libgifcodec
/libjingle/source
/libupnp
@@ -467,7 +467,7 @@ diff --git a/third_party/blink/common/mime_util/mime_util_unittest.cc b/third_pa
diff --git a/third_party/blink/public/devtools_protocol/browser_protocol.pdl b/third_party/blink/public/devtools_protocol/browser_protocol.pdl
--- a/third_party/blink/public/devtools_protocol/browser_protocol.pdl
+++ b/third_party/blink/public/devtools_protocol/browser_protocol.pdl
@@ -4431,6 +4431,7 @@ domain Emulation
@@ -4473,6 +4473,7 @@ domain Emulation
experimental type DisabledImageType extends string
enum
avif
@@ -608,7 +608,7 @@ diff --git a/third_party/blink/renderer/modules/webcodecs/image_decoder_fuzzer.c
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
@@ -2351,6 +2351,10 @@ source_set("blink_platform_unittests_sources") {
@@ -2365,6 +2365,10 @@ source_set("blink_platform_unittests_sources") {
sources += [ "text/locale_icu_test.cc" ]
}
@@ -619,7 +619,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
sources += [ "testing/run_all_tests.cc" ]
configs += [
@@ -2396,6 +2400,7 @@ source_set("blink_platform_unittests_sources") {
@@ -2411,6 +2415,7 @@ source_set("blink_platform_unittests_sources") {
"//third_party/blink/renderer/platform/wtf",
"//third_party/dawn/src/dawn/native",
"//third_party/dawn/src/dawn/wire",
@@ -696,7 +696,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/BUILD.gn b/third
diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc b/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
--- a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
+++ b/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
@@ -24,6 +24,7 @@
@@ -29,6 +29,7 @@
#include "base/containers/heap_array.h"
#include "base/logging.h"
@@ -704,7 +704,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
#include "base/numerics/byte_conversions.h"
#include "base/numerics/safe_conversions.h"
#include "base/trace_event/trace_event.h"
@@ -50,6 +51,10 @@
@@ -55,6 +56,10 @@
#include "third_party/blink/renderer/platform/image-decoders/avif/crabbyavif_image_decoder.h"
#endif
@@ -715,7 +715,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
namespace blink {
namespace {
@@ -77,6 +82,11 @@ cc::ImageType FileExtensionToImageType(String image_extension) {
@@ -82,6 +87,11 @@ cc::ImageType FileExtensionToImageType(String image_extension) {
if (image_extension == "avif") {
return cc::ImageType::kAVIF;
}
@@ -727,7 +727,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
#endif
return cc::ImageType::kInvalid;
}
@@ -198,6 +208,12 @@ String SniffMimeTypeInternal(scoped_refptr<SegmentReader> reader) {
@@ -203,6 +213,12 @@ String SniffMimeTypeInternal(scoped_refptr<SegmentReader> reader) {
return "image/avif";
}
#endif
@@ -740,7 +740,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
return String();
}
@@ -309,6 +325,13 @@ std::unique_ptr<ImageDecoder> ImageDecoder::CreateByMimeType(
@@ -314,6 +330,13 @@ std::unique_ptr<ImageDecoder> ImageDecoder::CreateByMimeType(
alpha_option, high_bit_depth_decoding_option, color_behavior,
max_decoded_bytes, animation_option);
}
@@ -758,7 +758,7 @@ diff --git a/third_party/blink/renderer/platform/image-decoders/jxl/jxl_image_de
new file mode 100644
--- /dev/null
+++ b/third_party/blink/renderer/platform/image-decoders/jxl/jxl_image_decoder.cc
@@ -0,0 +1,685 @@
@@ -0,0 +1,686 @@
+// Copyright 2021 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
@@ -785,9 +785,10 @@ new file mode 100644
+ const skcms_TransferFunction& tf) {
+ // Override the transfer function with a known parametric curve.
+ profile.has_trc = true;
+ auto list = base::span(profile.trc);
+ for (int c = 0; c < 3; c++) {
+ profile.trc[c].table_entries = 0;
+ profile.trc[c].parametric = tf;
+ list[c].table_entries = 0;
+ list[c].parametric = tf;
+ }
+ return profile;
+}
@@ -1550,7 +1551,7 @@ new file mode 100644
+ bool have_color_info_ = false;
+
+ // Preserved for JXL pixel callback. Not owned.
+ ColorProfileTransform* xform_;
+ raw_ptr<ColorProfileTransform> xform_;
+
+ // Fields for animation support.
+
@@ -2217,7 +2218,7 @@ diff --git a/third_party/blink/tools/commit_stats/git-dirs.txt b/third_party/bli
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -4730,6 +4730,12 @@ crbug.com/1199522 http/tests/devtools/layers/layers-3d-view-hit-testing.js [ Fai
@@ -4713,6 +4713,12 @@ crbug.com/1199522 http/tests/devtools/layers/layers-3d-view-hit-testing.js [ Fai
# Started failing after rolling new version of check-layout-th.js
css3/flexbox/perpendicular-writing-modes-inside-flex-item.html [ Failure ]
@@ -2233,8 +2234,8 @@ diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/we
diff --git a/third_party/blink/web_tests/VirtualTestSuites b/third_party/blink/web_tests/VirtualTestSuites
--- a/third_party/blink/web_tests/VirtualTestSuites
+++ b/third_party/blink/web_tests/VirtualTestSuites
@@ -444,6 +444,15 @@
"--disable-threaded-compositing", "--disable-threaded-animation"],
@@ -437,6 +437,15 @@
"args": ["--enable-blink-features=FractionalScrollOffsets"],
"expires": "Jun 1, 2025"
},
+ {
@@ -2648,7 +2649,7 @@ new file mode 100644
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -20882,6 +20882,7 @@ from previous Chrome versions.
@@ -21311,6 +21311,7 @@ from previous Chrome versions.
<int value="188610022" label="NewMessageListView:enabled"/>
<int value="189728101" label="FasterLocationReload:disabled"/>
<int value="189777537" label="DisableInitialMostVisitedFadeIn:enabled"/>
+5 -5
View File
@@ -206,7 +206,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
@@ -116,6 +116,8 @@ enum ReasonForCallingCanExecuteScripts {
@@ -117,6 +117,8 @@ enum ReasonForCallingCanExecuteScripts {
enum ReferrerPolicySource { kPolicySourceHttpHeader, kPolicySourceMetaTag };
@@ -218,7 +218,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
@@ -289,6 +289,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
@@ -294,6 +294,13 @@ void WebGLRenderingContextBase::InitializeWebGLContextLimits(
}
}
@@ -232,7 +232,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
unsigned WebGLRenderingContextBase::CurrentMaxGLContexts() {
base::AutoLock locker(WebGLContextLimitLock());
DCHECK(webgl_context_limits_initialized_);
@@ -558,25 +565,6 @@ static String ExtractWebGLContextCreationError(
@@ -563,25 +570,6 @@ static String ExtractWebGLContextCreationError(
const Platform::GraphicsInfo& info) {
StringBuilder builder;
builder.Append("Could not create a WebGL context");
@@ -258,7 +258,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
FormatWebGLStatusString("ErrorMessage", info.error_message.Utf8().c_str(),
builder);
builder.Append('.');
@@ -636,6 +624,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
@@ -641,6 +629,12 @@ WebGLRenderingContextBase::CreateWebGraphicsContext3DProvider(
const CanvasContextCreationAttributesCore& attributes,
Platform::ContextType context_type,
Platform::GraphicsInfo* graphics_info) {
@@ -274,7 +274,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
@@ -1967,6 +1967,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
@@ -1933,6 +1933,8 @@ class MODULES_EXPORT WebGLRenderingContextBase : public CanvasRenderingContext,
DOMArrayBufferView* pixels,
int64_t offset);
+3 -3
View File
@@ -195,7 +195,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_d
#include "third_party/blink/public/platform/web_url.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_video_source.h"
#include "third_party/blink/public/web/web_document.h"
@@ -841,6 +842,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
@@ -871,6 +872,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
// origin.
WebRTCIPHandlingPolicy policy =
GetWebRTCIPHandlingPolicy(webrtc_ip_handling_policy);
@@ -219,7 +219,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_insertable_streams.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_rtcp_parameters.h"
@@ -286,6 +288,14 @@ RTCRtpCapabilities* RTCRtpReceiver::getCapabilities(ScriptState* state,
@@ -267,6 +269,14 @@ RTCRtpCapabilities* RTCRtpReceiver::getCapabilities(ScriptState* state,
if (kind != "audio" && kind != "video")
return nullptr;
@@ -246,7 +246,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.cc
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_encoding_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_rtc_insertable_streams.h"
@@ -1044,6 +1046,14 @@ RTCRtpCapabilities* RTCRtpSender::getCapabilities(ScriptState* state,
@@ -1024,6 +1026,14 @@ RTCRtpCapabilities* RTCRtpSender::getCapabilities(ScriptState* state,
if (kind != "audio" && kind != "video")
return nullptr;
@@ -6,17 +6,25 @@ Allow documentPiP api use only with content setting popup allowed
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../picture_in_picture_controller_impl.cc | 7 +++++++
1 file changed, 7 insertions(+)
.../picture_in_picture_controller_impl.cc | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc b/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc
--- a/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc
+++ b/third_party/blink/renderer/modules/document_picture_in_picture/picture_in_picture_controller_impl.cc
@@ -383,6 +383,13 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow(
@@ -27,6 +27,7 @@
#include "third_party/blink/renderer/core/html/media/html_media_element.h"
#include "third_party/blink/renderer/core/html/media/html_video_element.h"
#include "third_party/blink/renderer/core/layout/layout_video.h"
+#include "third_party/blink/renderer/core/loader/document_loader.h"
#include "third_party/blink/renderer/modules/picture_in_picture/picture_in_picture_event.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
@@ -383,6 +384,13 @@ void PictureInPictureControllerImpl::CreateDocumentPictureInPictureWindow(
return;
}
+ if (!opener.GetFrame()->GetContentSettings()->allow_popup) {
+ if (!opener.GetFrame()->Loader().GetDocumentLoader()->GetContentSettings()->allow_popup) {
+ exception_state.ThrowDOMException(DOMExceptionCode::kNotAllowedError,
+ "Document PiP requires user popup permission");
+ resolver->Reject(exception_state);
@@ -15,16 +15,16 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../Allow-building-without-enable_reporting.inc | 2 ++
net/base/features.cc | 1 +
net/reporting/reporting_service.cc | 6 ++++++
services/network/network_context.h | 4 ++--
services/network/network_context.h | 6 +++---
services/network/public/mojom/BUILD.gn | 1 -
.../network/public/mojom/network_context.mojom | 2 ++
.../network/public/mojom/network_context.mojom | 3 +++
.../core/frame/csp/content_security_policy.cc | 3 +++
.../blink/renderer/core/frame/local_frame.cc | 3 +++
.../blink/renderer/core/frame/local_frame.h | 4 +++-
.../renderer/core/frame/reporting_context.cc | 9 +++++++++
.../renderer/core/frame/reporting_context.h | 7 +++++--
.../renderer/core/frame/reporting_observer.cc | 3 +--
20 files changed, 58 insertions(+), 25 deletions(-)
20 files changed, 60 insertions(+), 26 deletions(-)
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Allow-building-without-enable_reporting.inc
diff --git a/chrome/browser/net/chrome_report_sender.cc b/chrome/browser/net/chrome_report_sender.cc
@@ -87,8 +87,8 @@ diff --git a/content/browser/network/cross_origin_embedder_policy_reporter.cc b/
if (endpoint) {
base::Value::Dict body_to_pass;
for (const auto& pair : body) {
@@ -126,6 +128,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
/*user_agent=*/std::nullopt, std::move(body_to_pass));
@@ -125,6 +127,7 @@ void CrossOriginEmbedderPolicyReporter::QueueAndNotify(
network_anonymization_key_, std::move(body_to_pass));
}
}
+#endif
@@ -116,7 +116,7 @@ diff --git a/content/browser/network/reporting_service_proxy.cc b/content/browse
return;
rph->GetStoragePartition()->GetNetworkContext()->QueueReport(
type, group, url, reporting_source_, network_anonymization_key_,
/*user_agent=*/std::nullopt, std::move(body));
std::move(body));
+#endif
}
@@ -124,7 +124,7 @@ diff --git a/content/browser/network/reporting_service_proxy.cc b/content/browse
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
--- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -14404,12 +14404,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
@@ -14675,12 +14675,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
}
}
}
@@ -133,7 +133,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
- GetProcess()->GetStoragePartition()->GetNetworkContext()->QueueReport(
- /*type=*/"crash", /*group=*/"default", last_committed_url_,
- GetReportingSource(), isolation_info_.network_anonymization_key(),
- /*user_agent=*/std::nullopt, std::move(body));
- std::move(body));
}
void RenderFrameHostImpl::SendCommitNavigation(
@@ -175,15 +175,15 @@ diff --git a/content/browser/security/coop/cross_origin_opener_policy_reporter.c
std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
switch (coop_value) {
case network::mojom::CrossOriginOpenerPolicyValue::kUnsafeNone:
@@ -62,6 +55,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
return "restrict-properties-plus-coep";
@@ -64,6 +57,7 @@ std::string ToString(network::mojom::CrossOriginOpenerPolicyValue coop_value) {
return "noopener-allow-popups";
}
}
+#endif
FrameTreeNode* TopLevelOpener(FrameTreeNode* frame) {
FrameTreeNode* opener =
@@ -233,6 +227,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
@@ -235,6 +229,7 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
network::mojom::SourceLocationPtr source_location,
const std::string& reported_window_url,
const std::string& initial_popup_url) const {
@@ -191,10 +191,10 @@ diff --git a/content/browser/security/coop/cross_origin_opener_policy_reporter.c
// Cross-Origin-Opener-Policy-Report-Only is not required to provide
// endpoints.
if (!coop_.report_only_reporting_endpoint)
@@ -280,12 +275,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
@@ -282,12 +277,14 @@ void CrossOriginOpenerPolicyReporter::QueueAccessReport(
storage_partition_->GetNetworkContext()->QueueReport(
"coop", endpoint, context_url_, reporting_source_,
network_anonymization_key_, std::nullopt, std::move(body));
network_anonymization_key_, std::move(body));
+#endif
}
@@ -206,10 +206,10 @@ diff --git a/content/browser/security/coop/cross_origin_opener_policy_reporter.c
body.Set(kDisposition,
is_report_only ? kDispositionReporting : kDispositionEnforce);
body.Set(kEffectivePolicy,
@@ -294,6 +291,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
@@ -295,6 +292,7 @@ void CrossOriginOpenerPolicyReporter::QueueNavigationReport(
storage_partition_->GetNetworkContext()->QueueReport(
"coop", endpoint, context_url_, reporting_source_,
network_anonymization_key_,
/*user_agent=*/std::nullopt, std::move(body));
network_anonymization_key_, std::move(body));
+#endif
}
@@ -254,7 +254,7 @@ new file mode 100644
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -196,6 +196,7 @@ extern const base::FeatureParam<base::TimeDelta> kTimeoutTcpConnectAttemptMax(
@@ -201,6 +201,7 @@ extern const base::FeatureParam<base::TimeDelta> kTimeoutTcpConnectAttemptMax(
base::Seconds(30));
#if BUILDFLAG(ENABLE_REPORTING)
@@ -265,10 +265,10 @@ diff --git a/net/base/features.cc b/net/base/features.cc
diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_service.cc
--- a/net/reporting/reporting_service.cc
+++ b/net/reporting/reporting_service.cc
@@ -214,6 +214,12 @@ class ReportingServiceImpl : public ReportingService {
base::Value::Dict body,
@@ -216,6 +216,12 @@ class ReportingServiceImpl : public ReportingService {
int depth,
base::TimeTicks queued_ticks) {
base::TimeTicks queued_ticks,
ReportingTargetType target_type) {
+#if BUILDFLAG(ENABLE_REPORTING)
+ if ((true))
+ return;
@@ -276,17 +276,22 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic
+#error Attempting to build with enable_reporting
+#endif
DCHECK(initialized_);
context_->cache()->AddReport(
reporting_source, network_anonymization_key, sanitized_url, user_agent,
context_->cache()->AddReport(reporting_source, network_anonymization_key,
sanitized_url, user_agent, group, type,
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
@@ -467,10 +467,10 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -463,14 +463,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
const GURL& url,
const std::optional<base::UnguessableToken>& reporting_source,
const net::NetworkAnonymizationKey& network_anonymization_key,
const std::optional<std::string>& user_agent,
- base::Value::Dict body) override;
+ base::Value::Dict body);
void QueueEnterpriseReport(const std::string& type,
const std::string& group,
const GURL& url,
- base::Value::Dict body) override;
+ base::Value::Dict body);
void QueueSignedExchangeReport(
mojom::SignedExchangeReportPtr report,
- const net::NetworkAnonymizationKey& network_anonymization_key) override;
@@ -297,7 +302,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
diff --git a/services/network/public/mojom/BUILD.gn b/services/network/public/mojom/BUILD.gn
--- a/services/network/public/mojom/BUILD.gn
+++ b/services/network/public/mojom/BUILD.gn
@@ -1491,7 +1491,6 @@ mojom("mojom") {
@@ -1486,7 +1486,6 @@ mojom("mojom") {
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/blink/public/platform/web_common.h"
if (enable_reporting) {
@@ -308,7 +313,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
@@ -1223,6 +1223,7 @@ interface NetworkContext {
@@ -1241,6 +1241,7 @@ interface NetworkContext {
// provided |network_isolation_key|.
//
// Spec: https://w3c.github.io/reporting/#concept-reports
@@ -316,7 +321,15 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
QueueReport(string type,
string group,
url.mojom.Url url,
@@ -1236,6 +1237,7 @@ interface NetworkContext {
@@ -1248,6 +1249,7 @@ interface NetworkContext {
NetworkAnonymizationKey network_anonymization_key,
mojo_base.mojom.DictionaryValue body);
+ [EnableIf=enable_reporting]
QueueEnterpriseReport(string type,
string group,
url.mojom.Url url,
@@ -1258,6 +1260,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|.
@@ -362,7 +375,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
#include "services/network/public/cpp/features.h"
#include "services/network/public/mojom/content_security_policy.mojom-blink.h"
#include "services/network/public/mojom/source_location.mojom-blink.h"
@@ -2760,9 +2761,11 @@ void LocalFrame::MainFrameFirstMeaningfulPaint() {
@@ -2769,9 +2770,11 @@ void LocalFrame::MainFrameFirstMeaningfulPaint() {
v8_local_compile_hints_producer_->GenerateData(kIsFinalData);
}
@@ -385,7 +398,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b
#include "mojo/public/cpp/bindings/pending_associated_receiver.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "services/metrics/public/cpp/ukm_source_id.h"
@@ -661,8 +662,9 @@ class CORE_EXPORT LocalFrame final
@@ -662,8 +663,9 @@ class CORE_EXPORT LocalFrame final
void FinishedScrollSequence();
SmoothScrollSequencer* GetSmoothScrollSequencer() const;
@@ -404,7 +417,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_
#include "third_party/blink/renderer/core/frame/reporting_context.h"
+#include "net/net_buildflags.h"
#include "third_party/blink/public/common/browser_interface_broker_proxy.h"
#include "third_party/blink/public/platform/browser_interface_broker_proxy.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/public/platform/task_type.h"
@@ -53,7 +54,9 @@ const char ReportingContext::kSupplementName[] = "ReportingContext";
@@ -6,7 +6,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/BUILD.gn | 1 -
.../browser/feed/FeedSurfaceCoordinator.java | 5 +----
.../feedback/ChromeFeedbackCollector.java | 1 -
chrome/browser/BUILD.gn | 2 --
chrome/browser/feedback/android/BUILD.gn | 2 --
.../prefs/chrome_pref_service_factory.cc | 2 +-
.../profiles/profile_attributes_entry.cc | 2 +-
chrome/browser/profiles/profile_impl.cc | 5 +----
@@ -18,19 +20,19 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../core/browser/supervised_user_service.cc | 5 +----
.../core/browser/supervised_user_utils.cc | 1 +
.../supervised_user/core/common/features.cc | 6 ++++++
14 files changed, 18 insertions(+), 46 deletions(-)
16 files changed, 18 insertions(+), 49 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -757,7 +757,6 @@ if (current_toolchain == default_toolchain) {
@@ -780,7 +780,6 @@ if (current_toolchain == default_toolchain) {
"//components/dom_distiller/core:distiller_type_java",
"//components/ntp_tiles:ntp_tiles_enums_java",
"//components/offline_pages/core:offline_page_model_enums_java",
- "//components/supervised_user/core/browser:supervised_user_utils_enum_javagen",
"//net:effective_connection_type_java",
]
# From java_sources.gni.
diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
--- a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
+++ b/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceCoordinator.java
@@ -42,7 +44,7 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/
import org.chromium.components.user_prefs.UserPrefs;
import org.chromium.third_party.android.swiperefresh.SwipeRefreshLayout;
import org.chromium.ui.base.DeviceFormFactor;
@@ -788,9 +787,7 @@ public class FeedSurfaceCoordinator
@@ -784,9 +783,7 @@ public class FeedSurfaceCoordinator
* Returns true if the supervised user feed should be displayed.
*/
public boolean shouldDisplaySupervisedFeed() {
@@ -53,22 +55,52 @@ diff --git a/chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/
}
/**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/feedback/ChromeFeedbackCollector.java
@@ -85,7 +85,6 @@ public class ChromeFeedbackCollector extends FeedbackCollector<ChromeFeedbackCol
// FamilyInfoFeedbackSource relies on IdentityManager which is not available for the
// incognito profile.
if (!initParams.profile.isOffTheRecord()) {
- sources.add(new FamilyInfoFeedbackSource(initParams.profile));
}
return sources;
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3271,8 +3271,6 @@ static_library("browser") {
@@ -3263,8 +3263,6 @@ static_library("browser") {
"feed/android/refresh_task_scheduler_impl.cc",
"feed/android/refresh_task_scheduler_impl.h",
"feed/android/web_feed_bridge.cc",
- "feedback/android/family_info_feedback_source.cc",
- "feedback/android/family_info_feedback_source.h",
"file_select_helper_contacts_android.cc",
"file_select_helper_contacts_android.h",
"first_run/android/first_run_prefs.cc",
"first_run/android/first_run_prefs.h",
"first_run/android/first_run_utils.cc",
diff --git a/chrome/browser/feedback/android/BUILD.gn b/chrome/browser/feedback/android/BUILD.gn
--- a/chrome/browser/feedback/android/BUILD.gn
+++ b/chrome/browser/feedback/android/BUILD.gn
@@ -7,7 +7,6 @@ import("//third_party/jni_zero/jni_zero.gni")
generate_jni("jni_headers") {
sources = [
- "java/src/org/chromium/chrome/browser/feedback/FamilyInfoFeedbackSource.java",
"java/src/org/chromium/chrome/browser/feedback/ProcessIdFeedbackSource.java",
"java/src/org/chromium/chrome/browser/feedback/SystemInfoFeedbackSource.java",
]
@@ -32,7 +31,6 @@ android_library("java") {
sources = [
"java/src/org/chromium/chrome/browser/feedback/AsyncFeedbackSourceAdapter.java",
"java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java",
- "java/src/org/chromium/chrome/browser/feedback/FamilyInfoFeedbackSource.java",
"java/src/org/chromium/chrome/browser/feedback/FeedbackContextFeedbackSource.java",
"java/src/org/chromium/chrome/browser/feedback/FragmentHelpAndFeedbackLauncher.java",
"java/src/org/chromium/chrome/browser/feedback/HelpAndFeedbackLauncher.java",
diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc
--- a/chrome/browser/prefs/chrome_pref_service_factory.cc
+++ b/chrome/browser/prefs/chrome_pref_service_factory.cc
@@ -324,7 +324,7 @@ void PrepareFactory(
@@ -338,7 +338,7 @@ void PrepareFactory(
policy::BrowserPolicyConnector* policy_connector) {
factory->SetManagedPolicies(policy_service, policy_connector);
factory->SetRecommendedPolicies(policy_service, policy_connector);
@@ -80,7 +112,7 @@ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browse
diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browser/profiles/profile_attributes_entry.cc
--- a/chrome/browser/profiles/profile_attributes_entry.cc
+++ b/chrome/browser/profiles/profile_attributes_entry.cc
@@ -422,7 +422,7 @@ bool ProfileAttributesEntry::IsSigninRequired() const {
@@ -459,7 +459,7 @@ bool ProfileAttributesEntry::IsSigninRequired() const {
}
std::string ProfileAttributesEntry::GetSupervisedUserId() const {
@@ -103,7 +135,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
// Changes in the profile avatar.
pref_change_registrar_.Add(
@@ -1624,6 +1620,7 @@ GURL ProfileImpl::GetHomePage() {
@@ -1629,6 +1625,7 @@ GURL ProfileImpl::GetHomePage() {
}
void ProfileImpl::UpdateSupervisedUserIdInStorage() {
@@ -114,7 +146,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
--- a/chrome/browser/profiles/profile_manager.cc
+++ b/chrome/browser/profiles/profile_manager.cc
@@ -1210,23 +1210,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
@@ -1212,23 +1212,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
profile->GetPrefs()->SetString(prefs::kProfileName, profile_name);
}
@@ -138,7 +170,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
#if !BUILDFLAG(IS_ANDROID)
if (profile->IsNewProfile()) {
profile->GetPrefs()->SetBoolean(prefs::kHasSeenWelcomePage, false);
@@ -2038,9 +2021,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) {
@@ -2041,9 +2024,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) {
init_params.icon_index =
profile->GetPrefs()->GetInteger(prefs::kProfileAvatarIndex);
@@ -165,7 +197,7 @@ diff --git a/chrome/browser/ui/webui/managed_ui_handler.cc b/chrome/browser/ui/w
diff --git a/chrome/browser/ui/webui/management/management_ui_handler.cc b/chrome/browser/ui/webui/management/management_ui_handler.cc
--- a/chrome/browser/ui/webui/management/management_ui_handler.cc
+++ b/chrome/browser/ui/webui/management/management_ui_handler.cc
@@ -546,10 +546,6 @@ bool ManagementUIHandler::managed() const {
@@ -557,10 +557,6 @@ bool ManagementUIHandler::managed() const {
void ManagementUIHandler::RegisterPrefChange(
PrefChangeRegistrar& pref_registrar) {
@@ -190,7 +222,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_pref_store.
diff --git a/components/supervised_user/core/browser/supervised_user_preferences.cc b/components/supervised_user/core/browser/supervised_user_preferences.cc
--- a/components/supervised_user/core/browser/supervised_user_preferences.cc
+++ b/components/supervised_user/core/browser/supervised_user_preferences.cc
@@ -164,6 +164,10 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -165,6 +165,10 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
}
void EnableParentalControls(PrefService& pref_service) {
@@ -201,7 +233,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_preferences
pref_service.SetString(prefs::kSupervisedUserId,
supervised_user::kChildAccountSUID);
SetIsChildAccountStatusKnown(pref_service);
@@ -186,7 +190,7 @@ bool IsSafeSitesEnabled(const PrefService& pref_service) {
@@ -187,7 +191,7 @@ bool IsSafeSitesEnabled(const PrefService& pref_service) {
}
bool IsSubjectToParentalControls(const PrefService& pref_service) {
@@ -224,7 +256,7 @@ diff --git a/components/supervised_user/core/browser/supervised_user_service.cc
FirstTimeInterstitialBannerState banner_state =
static_cast<FirstTimeInterstitialBannerState>(
user_prefs_->GetInteger(prefs::kFirstTimeInterstitialBannerState));
@@ -189,6 +185,7 @@ FirstTimeInterstitialBannerState SupervisedUserService::GetUpdatedBannerState(
@@ -190,6 +186,7 @@ FirstTimeInterstitialBannerState SupervisedUserService::GetUpdatedBannerState(
}
void SupervisedUserService::SetActive(bool active) {
@@ -246,8 +278,8 @@ diff --git a/components/supervised_user/core/browser/supervised_user_utils.cc b/
diff --git a/components/supervised_user/core/common/features.cc b/components/supervised_user/core/common/features.cc
--- a/components/supervised_user/core/common/features.cc
+++ b/components/supervised_user/core/common/features.cc
@@ -143,4 +143,10 @@ bool IsShadowKidsApiWithSafeSitesEnabled() {
return base::FeatureList::IsEnabled(kShadowKidsApiWithSafeSites);
@@ -179,4 +179,10 @@ bool IsKidFriendlyContentFeedAvailable() {
return base::FeatureList::IsEnabled(kKidFriendlyContentFeed);
}
+SET_CROMITE_FEATURE_DISABLED(kKidFriendlyContentFeed);
@@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc b/third_party/blink/renderer/platform/media/web_media_player_impl.cc
--- a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.cc
@@ -1230,6 +1230,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
@@ -1240,6 +1240,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
return pipeline_metadata_.has_audio;
}
@@ -24,7 +24,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
void WebMediaPlayerImpl::EnabledAudioTracksChanged(
const WebVector<WebMediaPlayer::TrackId>& enabledTrackIds) {
DCHECK(main_task_runner_->BelongsToCurrentThread());
@@ -3576,7 +3582,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
@@ -3591,7 +3597,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
: HasAudio();
// Audio only stream is allowed to play when in background.
@@ -17,7 +17,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
import org.chromium.chrome.browser.DefaultBrowserInfo;
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
@@ -36,6 +37,7 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
@@ -35,6 +36,7 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
import org.chromium.chrome.browser.offlinepages.RequestCoordinatorBridge;
import org.chromium.chrome.browser.profiles.Profile;
@@ -25,7 +25,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.tabmodel.document.ChromeAsyncTabLauncher;
import org.chromium.chrome.browser.tasks.tab_groups.TabGroupModelFilter;
@@ -234,6 +236,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -250,6 +252,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
Referrer referrer,
boolean navigateToTab,
@Nullable AdditionalNavigationParams additionalNavigationParams) {
@@ -33,9 +33,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
RecordUserAction.record("MobileNewTabOpened");
RecordUserAction.record("LinkOpenedInNewTab");
LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec());
@@ -250,6 +253,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@Override
@@ -270,6 +273,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
* @param url The URL to open.
*/
public void onOpenInNewTabInGroup(GURL url, Referrer referrer) {
+ TabBrowserControlsConstraintsHelper.get(mTab).update(BrowserControlsState.SHOWN, true);
RecordUserAction.record("MobileNewTabOpened");
@@ -90,7 +90,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
+import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
+import org.chromium.chrome.browser.ui.messages.snackbar.INeedSnackbarManager;
+import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
+import org.chromium.chrome.browser.tasks.tab_management.TabSwitcherLayout;
+import org.chromium.chrome.browser.hub.HubLayout;
+import org.chromium.chrome.browser.tab.Tab;
+import org.chromium.chrome.browser.tabmodel.TabModelUtils;
+import org.chromium.chrome.browser.tabmodel.TabModelSelector;
@@ -205,7 +205,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
+ // TabWindowManager.Observer
+ @Override
+ public void onSceneChange(Layout layout) {
+ if (!(layout instanceof TabSwitcherLayout)) {
+ if (!(layout instanceof HubLayout)) {
+ SnackbarManager snackbarManager = mSnackbarManagerSupplier.get();
+ snackbarManager.dismissSnackbars(this);
+ }
@@ -264,7 +264,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/in
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
@@ -1196,7 +1196,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -1189,7 +1189,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
mActivity,
mStatusIndicatorCoordinator,
isUrlBarFocusedSupplier,
@@ -279,7 +279,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
@@ -305,6 +305,13 @@ public abstract class TabModelSelectorBase
@@ -317,6 +317,13 @@ public abstract class TabModelSelectorBase
return null;
}
@@ -333,7 +333,7 @@ new file mode 100644
diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java
--- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java
+++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java
@@ -121,6 +121,8 @@ public interface TabModelSelector {
@@ -138,6 +138,8 @@ public interface TabModelSelector {
/** Close all tabs across all tab models */
void closeAllTabs();
@@ -345,7 +345,7 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java
--- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java
+++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelUtils.java
@@ -13,10 +13,14 @@ import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -12,10 +12,14 @@ import org.chromium.base.supplier.ObservableSupplier;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabSelectionType;
import org.chromium.content_public.browser.WebContents;
@@ -360,7 +360,7 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse
/**
* A set of convenience methods used for interacting with {@link TabList}s and {@link TabModel}s.
@@ -79,6 +83,20 @@ public class TabModelUtils {
@@ -78,6 +82,20 @@ public class TabModelUtils {
return TabModel.INVALID_TAB_INDEX;
}
@@ -379,7 +379,7 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse
+ }
+
/**
* Find the {@link Tab} with the specified id.
* Find the {@link Tab} index whose URL matches the specified URL.
*
diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java
--- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManager.java
@@ -396,7 +396,7 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java b/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java
--- a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java
+++ b/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java
@@ -449,6 +449,16 @@ public class TabWindowManagerImpl implements ActivityStateListener, TabWindowMan
@@ -456,6 +456,16 @@ public class TabWindowManagerImpl implements ActivityStateListener, TabWindowMan
return null;
}
@@ -449,7 +449,7 @@ diff --git a/chrome/browser/ui/messages/android/java/res/layout/snackbar.xml b/c
diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
--- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
+++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
@@ -127,6 +127,8 @@ public class Snackbar {
@@ -130,6 +130,8 @@ public class Snackbar {
private String mTemplateText;
private String mActionText;
private Object mActionData;
@@ -458,7 +458,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
private String mAccessibilityActionAnnouncement;
private int mBackgroundColor;
private int mTextApperanceResId;
@@ -195,6 +197,20 @@ public class Snackbar {
@@ -198,6 +200,20 @@ public class Snackbar {
return this;
}
@@ -482,7 +482,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java
--- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java
+++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/SnackbarManager.java
@@ -285,6 +285,12 @@ public class SnackbarManager
@@ -287,6 +287,12 @@ public class SnackbarManager
new SnackbarView(
mActivity,
this,
@@ -553,7 +553,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
diff --git a/content/browser/web_contents/web_contents_android.cc b/content/browser/web_contents/web_contents_android.cc
--- a/content/browser/web_contents/web_contents_android.cc
+++ b/content/browser/web_contents/web_contents_android.cc
@@ -890,6 +890,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, jboolean focused) {
@@ -883,6 +883,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, jboolean focused) {
view->SetFocus(focused);
}
@@ -579,7 +579,7 @@ diff --git a/content/browser/web_contents/web_contents_android.cc b/content/brow
diff --git a/content/browser/web_contents/web_contents_android.h b/content/browser/web_contents/web_contents_android.h
--- a/content/browser/web_contents/web_contents_android.h
+++ b/content/browser/web_contents/web_contents_android.h
@@ -195,6 +195,7 @@ class CONTENT_EXPORT WebContentsAndroid {
@@ -199,6 +199,7 @@ class CONTENT_EXPORT WebContentsAndroid {
void OnScaleFactorChanged(JNIEnv* env);
void SetFocus(JNIEnv* env, jboolean focused);
@@ -590,7 +590,7 @@ diff --git a/content/browser/web_contents/web_contents_android.h b/content/brows
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -3532,8 +3532,10 @@ void WebContentsImpl::Stop() {
@@ -3539,8 +3539,10 @@ void WebContentsImpl::Stop() {
void WebContentsImpl::SetPageFrozen(bool frozen) {
TRACE_EVENT1("content", "WebContentsImpl::SetPageFrozen", "frozen", frozen);
@@ -604,7 +604,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser
diff --git a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
--- a/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
@@ -1169,6 +1169,12 @@ public class WebContentsImpl implements WebContents, RenderFrameHostDelegate, Wi
@@ -1161,6 +1161,12 @@ public class WebContentsImpl implements WebContents, RenderFrameHostDelegate, Wi
WebContentsImplJni.get().setFocus(mNativeWebContentsAndroid, hasFocus);
}
@@ -617,7 +617,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon
@Override
public void setDisplayCutoutSafeArea(Rect insets) {
if (mNativeWebContentsAndroid == 0) return;
@@ -1444,6 +1450,8 @@ public class WebContentsImpl implements WebContents, RenderFrameHostDelegate, Wi
@@ -1440,6 +1446,8 @@ public class WebContentsImpl implements WebContents, RenderFrameHostDelegate, Wi
void setFocus(long nativeWebContentsAndroid, boolean focused);
@@ -629,7 +629,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon
diff --git a/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java b/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
--- a/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
+++ b/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
@@ -293,6 +293,8 @@ public interface WebContents extends Parcelable {
@@ -286,6 +286,8 @@ public interface WebContents extends Parcelable {
*/
void setFocus(boolean hasFocus);
@@ -641,7 +641,7 @@ diff --git a/content/public/android/java/src/org/chromium/content_public/browser
diff --git a/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java b/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java
--- a/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java
+++ b/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java
@@ -199,6 +199,9 @@ public class MockWebContents implements WebContents {
@@ -191,6 +191,9 @@ public class MockWebContents implements WebContents {
@Override
public void setFocus(boolean hasFocus) {}
@@ -686,7 +686,7 @@ new file mode 100644
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
@@ -4331,6 +4331,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) {
@@ -4338,6 +4338,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) {
}
void Document::DispatchFreezeEvent() {
@@ -697,7 +697,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
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
@@ -3197,6 +3197,7 @@ void LocalFrame::DidFreeze() {
@@ -3206,6 +3206,7 @@ void LocalFrame::DidFreeze() {
LoaderFreezeMode freeze_mode = GetLoaderFreezeMode();
GetDocument()->Fetcher()->SetDefersLoading(freeze_mode);
Loader().SetDefersLoading(freeze_mode);
@@ -705,7 +705,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
}
void LocalFrame::DidResume() {
@@ -3211,6 +3212,7 @@ void LocalFrame::DidResume() {
@@ -3220,6 +3221,7 @@ void LocalFrame::DidResume() {
GetDocument()->Fetcher()->SetDefersLoading(LoaderFreezeMode::kNone);
Loader().SetDefersLoading(LoaderFreezeMode::kNone);
@@ -52,7 +52,7 @@ new file mode 100644
diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc
--- a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc
+++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.cc
@@ -196,6 +196,20 @@ AudioBuffer::AudioBuffer(AudioBus* bus)
@@ -201,6 +201,20 @@ AudioBuffer::AudioBuffer(AudioBus* bus)
}
}
@@ -89,14 +89,14 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/thir
--- a/third_party/blink/renderer/modules/webaudio/audio_context.cc
+++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc
@@ -12,6 +12,7 @@
#include "third_party/blink/public/common/browser_interface_broker_proxy.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/mediastream/media_devices.h"
#include "third_party/blink/public/platform/browser_interface_broker_proxy.h"
+#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
#include "third_party/blink/public/platform/web_audio_latency_hint.h"
#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
@@ -586,7 +587,9 @@ double AudioContext::baseLatency() const {
@@ -585,7 +586,9 @@ double AudioContext::baseLatency() const {
DCHECK(IsMainThread());
DCHECK(destination());
@@ -162,7 +162,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/offline_audio_context.c
diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc
--- a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc
+++ b/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc
@@ -31,6 +31,7 @@
@@ -36,6 +36,7 @@
#include <bit>
#include <complex>
@@ -170,7 +170,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/
#include "third_party/blink/renderer/platform/audio/audio_bus.h"
#include "third_party/blink/renderer/platform/audio/audio_utilities.h"
#include "third_party/blink/renderer/platform/audio/vector_math.h"
@@ -155,6 +156,7 @@ void RealtimeAnalyser::GetFloatTimeDomainData(
@@ -160,6 +161,7 @@ void RealtimeAnalyser::GetFloatTimeDomainData(
input_buffer[(i + write_index - fft_size + kInputBufferSize) %
kInputBufferSize];
@@ -178,7 +178,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/
destination[i] = value;
}
}
@@ -182,6 +184,8 @@ void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array) {
@@ -187,6 +189,8 @@ void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array) {
input_buffer[(i + write_index - fft_size + kInputBufferSize) %
kInputBufferSize];
@@ -187,7 +187,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/
// Scale from nominal -1 -> +1 to unsigned byte.
double scaled_value = 128 * (value + 1);
@@ -301,6 +305,8 @@ void RealtimeAnalyser::ConvertToByteData(DOMUint8Array* destination_array) {
@@ -306,6 +310,8 @@ void RealtimeAnalyser::ConvertToByteData(DOMUint8Array* destination_array) {
double scaled_value =
UCHAR_MAX * (db_mag - min_decibels) * range_scale_factor;
@@ -196,7 +196,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/
// Clip to valid range.
destination[i] =
static_cast<unsigned char>(ClampTo(scaled_value, 0, UCHAR_MAX));
@@ -320,6 +326,7 @@ void RealtimeAnalyser::ConvertFloatToDb(DOMFloat32Array* destination_array) {
@@ -325,6 +331,7 @@ void RealtimeAnalyser::ConvertFloatToDb(DOMFloat32Array* destination_array) {
float linear_value = source[i];
double db_mag = audio_utilities::LinearToDecibels(linear_value);
destination[i] = static_cast<float>(db_mag);
@@ -207,7 +207,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/
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
@@ -375,8 +375,8 @@
@@ -396,8 +396,8 @@
{
// AudioContext.playoutStats interface.
// https://chromestatus.com/feature/5172818344148992
@@ -49,7 +49,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
@@ -391,6 +391,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
@@ -392,6 +392,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space);
HeapObserverSet<ContextLifecycleObserver>& ContextLifecycleObserverSet();
@@ -60,7 +60,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.h b/third_party/blink/renderer/core/loader/base_fetch_context.h
--- a/third_party/blink/renderer/core/loader/base_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/base_fetch_context.h
@@ -86,6 +86,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext {
@@ -94,6 +94,7 @@ class CORE_EXPORT BaseFetchContext : public FetchContext {
virtual SubresourceFilter* GetSubresourceFilter() const = 0;
virtual bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const = 0;
@@ -71,7 +71,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
@@ -624,6 +624,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
@@ -611,6 +611,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
return should_block_request;
}
@@ -224,7 +224,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc
diff --git a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
--- a/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
+++ b/third_party/blink/renderer/modules/websockets/websocket_channel_impl.cc
@@ -277,6 +277,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) {
@@ -284,6 +284,11 @@ bool WebSocketChannelImpl::Connect(const KURL& url, const String& protocol) {
return false;
}
@@ -64,7 +64,7 @@ diff --git a/chrome/browser/ui/singleton_tabs.cc b/chrome/browser/ui/singleton_t
diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnibox/browser/autocomplete_input.cc
--- a/components/omnibox/browser/autocomplete_input.cc
+++ b/components/omnibox/browser/autocomplete_input.cc
@@ -91,10 +91,15 @@ void OffsetComponentsExcludingScheme(url::Parsed* parts, int offset) {
@@ -92,10 +92,15 @@ void OffsetComponentsExcludingScheme(url::Parsed* parts, int offset) {
bool HasScheme(const std::u16string& input, const char* scheme) {
std::string utf8_input(base::UTF16ToUTF8(input));
url::Component view_source_scheme;
@@ -80,7 +80,7 @@ diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnib
return url::FindAndCompareScheme(utf8_input, scheme, nullptr);
}
@@ -582,7 +587,8 @@ void AutocompleteInput::ParseForEmphasizeComponents(
@@ -592,7 +597,8 @@ void AutocompleteInput::ParseForEmphasizeComponents(
// For the view-source and blob schemes, we should emphasize the host of the
// URL qualified by the view-source or blob prefix.
if ((base::EqualsCaseInsensitiveASCII(scheme_str, kViewSourceScheme) ||
@@ -107,7 +107,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
@@ -864,6 +864,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
@@ -867,6 +867,7 @@ ChildProcessSecurityPolicyImpl::ChildProcessSecurityPolicyImpl()
RegisterPseudoScheme(url::kJavaScriptScheme);
RegisterPseudoScheme(kViewSourceScheme);
RegisterPseudoScheme(kGoogleChromeScheme);
@@ -118,7 +118,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
@@ -1014,6 +1014,8 @@ component("net") {
@@ -1044,6 +1044,8 @@ component("net") {
"url_request/url_request_http_job.cc",
"url_request/url_request_http_job.h",
"url_request/url_request_interceptor.cc",
@@ -195,15 +195,15 @@ new file mode 100644
diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
--- a/net/url_request/url_request.cc
+++ b/net/url_request/url_request.cc
@@ -13,6 +13,7 @@
#include "base/metrics/histogram_macros.h"
@@ -14,6 +14,7 @@
#include "base/notreached.h"
#include "base/rand_util.h"
#include "base/strings/utf_string_conversions.h"
+#include "base/strings/string_util.h"
#include "base/synchronization/lock.h"
#include "base/task/single_thread_task_runner.h"
#include "base/types/pass_key.h"
@@ -49,6 +50,7 @@
@@ -51,6 +52,7 @@
#include "net/url_request/url_request_redirect_job.h"
#include "url/gurl.h"
#include "url/origin.h"
@@ -211,7 +211,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
namespace net {
@@ -605,6 +607,12 @@ URLRequest::URLRequest(base::PassKey<URLRequestContext> pass_key,
@@ -618,6 +620,12 @@ URLRequest::URLRequest(base::PassKey<URLRequestContext> pass_key,
// Sanity check out environment.
DCHECK(base::SingleThreadTaskRunner::HasCurrentDefault());
@@ -227,7 +227,7 @@ diff --git a/net/url_request/url_request.cc b/net/url_request/url_request.cc
diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/url_request_context_builder.cc
--- a/net/url_request/url_request_context_builder.cc
+++ b/net/url_request/url_request_context_builder.cc
@@ -48,6 +48,7 @@
@@ -49,6 +49,7 @@
#include "net/socket/network_binding_client_socket_factory.h"
#include "net/ssl/ssl_config_service_defaults.h"
#include "net/url_request/static_http_user_agent_settings.h"
@@ -235,7 +235,7 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_job_factory.h"
#include "url/url_constants.h"
@@ -582,6 +583,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
@@ -590,6 +591,8 @@ std::unique_ptr<URLRequestContext> URLRequestContextBuilder::Build() {
job_factory->SetProtocolHandler(scheme_handler.first,
std::move(scheme_handler.second));
}
@@ -247,7 +247,7 @@ diff --git a/net/url_request/url_request_context_builder.cc b/net/url_request/ur
diff --git a/url/url_constants.h b/url/url_constants.h
--- a/url/url_constants.h
+++ b/url/url_constants.h
@@ -36,6 +36,7 @@ inline constexpr char16_t kDataScheme16[] = u"data";
@@ -34,6 +34,7 @@ inline constexpr char16_t kDataScheme16[] = u"data";
inline constexpr char kDrivefsScheme[] = "drivefs";
inline constexpr char kFileScheme[] = "file";
inline constexpr char16_t kFileScheme16[] = u"file";
@@ -258,7 +258,7 @@ diff --git a/url/url_constants.h b/url/url_constants.h
diff --git a/url/url_util.cc b/url/url_util.cc
--- a/url/url_util.cc
+++ b/url/url_util.cc
@@ -48,6 +48,7 @@ struct SchemeRegistry {
@@ -53,6 +53,7 @@ struct SchemeRegistry {
std::vector<SchemeWithType> standard_schemes = {
{kHttpsScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION},
{kHttpScheme, SCHEME_WITH_HOST_PORT_AND_USER_INFORMATION},
@@ -266,7 +266,7 @@ diff --git a/url/url_util.cc b/url/url_util.cc
// Yes, file URLs can have a hostname, so file URLs should be handled as
// "standard". File URLs never have a port as specified by the SchemeType
// field. Unlike other SCHEME_WITH_HOST schemes, the 'host' in a file
@@ -93,6 +94,7 @@ struct SchemeRegistry {
@@ -98,6 +99,7 @@ struct SchemeRegistry {
kAboutScheme,
kJavaScriptScheme,
kDataScheme,
+24 -23
View File
@@ -31,7 +31,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../chrome/browser/omaha/OmahaPrefUtils.java | 52 +++-
.../chrome/browser/omaha/UpdateConfigs.java | 27 +-
.../browser/omaha/UpdateStatusProvider.java | 168 +++++++----
.../browser/omaha/VersionNumberGetter.java | 3 +-
.../browser/omaha/VersionNumberGetter.java | 4 +-
.../omaha/inline/InlineUpdateController.java | 57 ++++
.../safety_hub/SafetyHubFetchService.java | 5 -
.../strings/android_chrome_strings.grd | 23 +-
@@ -39,7 +39,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../endpoint_fetcher/endpoint_fetcher.h | 23 +-
.../Bromite-auto-updater.inc | 3 +
.../Bromite-auto-updater.inc | 1 +
31 files changed, 1225 insertions(+), 74 deletions(-)
31 files changed, 1225 insertions(+), 75 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/CromiteUpdateStatusProvider.java
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/BromiteInlineUpdateController.java
create mode 100644 chrome/browser/endpoint_fetcher/BUILD.gn
@@ -81,7 +81,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
@@ -869,6 +869,8 @@ chrome_java_sources = [
@@ -865,6 +865,8 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/omaha/OmahaBase.java",
"java/src/org/chromium/chrome/browser/omaha/OmahaDelegate.java",
"java/src/org/chromium/chrome/browser/omaha/OmahaDelegateBase.java",
@@ -672,7 +672,7 @@ new file mode 100644
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2779,6 +2779,12 @@ static_library("browser") {
@@ -2766,6 +2766,12 @@ static_library("browser") {
}
if (is_android) {
@@ -1085,7 +1085,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
@@ -253,6 +253,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -264,6 +264,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kPriceChangeModule,
&kPwaRestoreUi,
&kPwaRestoreUiAtStartup,
@@ -1096,7 +1096,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/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
@@ -339,6 +339,7 @@ public abstract class ChromeFeatureList {
@@ -345,6 +345,7 @@ public abstract class ChromeFeatureList {
public static final String INCOGNITO_REAUTHENTICATION_FOR_ANDROID =
"IncognitoReauthenticationForAndroid";
public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot";
@@ -1574,16 +1574,17 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o
diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java b/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java
--- a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java
+++ b/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/VersionNumberGetter.java
@@ -51,7 +51,8 @@ public class VersionNumberGetter {
private static VersionNumberGetter sInstanceForTests;
@@ -30,8 +30,8 @@ public class VersionNumberGetter {
/** If false, OmahaClient will never report that a newer version is available. */
- private static boolean sEnableUpdateDetection = true;
+ // it must be false to disable version control via Omaha server
+ private static boolean sEnableUpdateDetection = false;
private static VersionNumberGetter sInstance = new VersionNumberGetter();
protected VersionNumberGetter() {}
- /** If true, OmahaClient will never report that a newer version is available. */
- private static boolean sDisableUpdateDetectionForTesting;
+ /** it must be true to disable version control via Omaha server. */
+ private static boolean sDisableUpdateDetectionForTesting = true;
@VisibleForTesting
static VersionNumberGetter getInstance() {
diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java b/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/omaha/inline/InlineUpdateController.java
new file mode 100644
--- /dev/null
@@ -1649,19 +1650,19 @@ new file mode 100644
diff --git a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java b/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java
--- a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java
+++ b/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/browser/safety_hub/SafetyHubFetchService.java
@@ -53,9 +53,6 @@ public class SafetyHubFetchService implements SyncService.SyncStateChangedListen
if (syncService != null) {
syncService.addSyncStateChangedListener(this);
@@ -65,9 +65,6 @@ public class SafetyHubFetchService implements SigninManager.SignInStateObserver,
if (mSigninManager != null) {
mSigninManager.addSignInStateObserver(this);
}
-
- // Fetch latest update status.
- UpdateStatusProvider.getInstance().addObserver(mUpdateCallback);
}
@Override
@@ -64,8 +61,6 @@ public class SafetyHubFetchService implements SyncService.SyncStateChangedListen
if (syncService != null) {
syncService.removeSyncStateChangedListener(this);
void addObserver(Observer observer) {
@@ -83,8 +80,6 @@ public class SafetyHubFetchService implements SigninManager.SignInStateObserver,
if (mSigninManager != null) {
mSigninManager.removeSignInStateObserver(this);
}
-
- UpdateStatusProvider.getInstance().removeObserver(mUpdateCallback);
@@ -1671,7 +1672,7 @@ diff --git a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/brow
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -2194,6 +2194,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -2373,6 +2373,12 @@ Your Google account may have other forms of browsing history like searches and a
<message name="IDS_DEPRECATION_WARNING" desc="Warning about Chrome updates no longer being supported">
Chrome updates are no longer supported for this version of Android
</message>
@@ -1684,7 +1685,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]">
@@ -4045,7 +4051,10 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -4274,7 +4280,10 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
<!-- Main menu items -->
<message name="IDS_MENU_UPDATE" desc="Menu item for updating chrome. [CHAR_LIMIT=24]">
@@ -1696,7 +1697,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
@@ -4056,6 +4065,18 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -4285,6 +4294,18 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
<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>
@@ -68,7 +68,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
@@ -338,6 +338,7 @@ if (current_toolchain == default_toolchain) {
@@ -353,6 +353,7 @@ if (current_toolchain == default_toolchain) {
"//chrome/android/modules/cablev2_authenticator/public:java",
"//chrome/android/modules/stack_unwinder/provider:java",
"//chrome/android/webapk/libs/client:client_java",
@@ -79,7 +79,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
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
@@ -426,6 +426,7 @@ chrome_java_resources = [
@@ -428,6 +428,7 @@ chrome_java_resources = [
"java/res/layout/account_divider_preference.xml",
"java/res/layout/account_management_account_row.xml",
"java/res/layout/app_history_filter.xml",
@@ -98,7 +98,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
@@ -954,6 +954,8 @@ chrome_java_sources = [
@@ -950,6 +950,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",
@@ -182,7 +182,7 @@ new file mode 100644
diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res/values/styles.xml
--- a/chrome/android/java/res/values/styles.xml
+++ b/chrome/android/java/res/values/styles.xml
@@ -253,6 +253,24 @@ found in the LICENSE file.
@@ -256,6 +256,24 @@ found in the LICENSE file.
</item>
</style>
@@ -428,7 +428,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
@@ -865,7 +865,7 @@ public class TabModelImpl extends TabModelJniBridge {
@@ -860,7 +860,7 @@ public class TabModelImpl extends TabModelJniBridge {
protected boolean createTabWithWebContents(
Tab parent, Profile profile, WebContents webContents) {
return getTabCreator(profile.isOffTheRecord())
@@ -440,7 +440,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
@@ -15679,6 +15679,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
@@ -15796,6 +15796,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
Never show this again.
</message>
@@ -489,7 +489,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
class BackgroundModeManager;
class BrowserProcessPlatformPart;
@@ -71,6 +72,10 @@ namespace component_updater {
@@ -72,6 +73,10 @@ namespace component_updater {
class ComponentUpdateService;
}
@@ -500,7 +500,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
namespace extensions {
class EventRouterForwarder;
}
@@ -254,6 +259,7 @@ class BrowserProcess {
@@ -255,6 +260,7 @@ class BrowserProcess {
#endif
virtual component_updater::ComponentUpdateService* component_updater() = 0;
@@ -542,7 +542,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h
--- a/chrome/browser/browser_process_impl.h
+++ b/chrome/browser/browser_process_impl.h
@@ -215,6 +215,7 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -214,6 +214,7 @@ class BrowserProcessImpl : public BrowserProcess,
#endif
component_updater::ComponentUpdateService* component_updater() override;
@@ -561,7 +561,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
@@ -470,6 +470,9 @@ StartupProfileInfo CreateInitialProfile(
@@ -474,6 +474,9 @@ StartupProfileInfo CreateInitialProfile(
// missing code in the above test.
CHECK(profile_info.profile) << "Cannot get default profile.";
@@ -672,7 +672,7 @@ new file mode 100755
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
@@ -642,6 +642,10 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
@@ -630,6 +630,10 @@ SystemNetworkContextManager::~SystemNetworkContextManager() {
void SystemNetworkContextManager::RegisterPrefs(PrefRegistrySimple* registry) {
StubResolverConfigReader::RegisterPrefs(registry);
@@ -726,7 +726,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
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
@@ -2754,6 +2754,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
@@ -2779,6 +2779,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
inline constexpr char kAudioCaptureAllowedUrls[] =
"hardware.audio_capture_allowed_urls";
@@ -741,7 +741,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
@@ -368,6 +368,9 @@
@@ -371,6 +371,9 @@
<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>
@@ -1550,7 +1550,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
@@ -17,6 +17,9 @@
@@ -18,6 +18,9 @@
#include "base/strings/stringprintf.h"
#include "base/trace_event/trace_event.h"
#include "base/trace_event/traced_value.h"
@@ -1560,7 +1560,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f
#include "components/subresource_filter/content/browser/ad_tagging_utils.h"
#include "components/subresource_filter/content/browser/content_subresource_filter_web_contents_helper.h"
#include "components/subresource_filter/content/browser/profile_interaction_manager.h"
@@ -108,6 +111,7 @@ ContentSubresourceFilterThrottleManager::
@@ -110,6 +113,7 @@ ContentSubresourceFilterThrottleManager::
profile_interaction_manager_(
std::make_unique<subresource_filter::ProfileInteractionManager>(
profile_context)),
@@ -1568,7 +1568,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f
web_contents_helper_(web_contents_helper) {}
ContentSubresourceFilterThrottleManager::
@@ -641,6 +645,17 @@ ContentSubresourceFilterThrottleManager::
@@ -668,6 +672,17 @@ ContentSubresourceFilterThrottleManager::
throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
ad_tagging_state);
}
@@ -1589,7 +1589,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f
diff --git a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h
--- a/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h
+++ b/components/subresource_filter/content/browser/content_subresource_filter_throttle_manager.h
@@ -413,6 +413,8 @@ class ContentSubresourceFilterThrottleManager
@@ -411,6 +411,8 @@ class ContentSubresourceFilterThrottleManager
std::unique_ptr<ProfileInteractionManager> profile_interaction_manager_;
@@ -1601,7 +1601,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f
diff --git a/components/subresource_filter/content/shared/browser/ruleset_service.cc b/components/subresource_filter/content/shared/browser/ruleset_service.cc
--- a/components/subresource_filter/content/shared/browser/ruleset_service.cc
+++ b/components/subresource_filter/content/shared/browser/ruleset_service.cc
@@ -52,9 +52,7 @@ namespace {
@@ -51,9 +51,7 @@ namespace {
void RecordIndexAndWriteRulesetResult(
std::string_view uma_tag,
RulesetService::IndexAndWriteRulesetResult result) {
@@ -1612,7 +1612,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic
}
// Implements operations on a `sentinel file`, which is used as a safeguard to
@@ -235,10 +233,13 @@ RulesetService::RulesetService(
@@ -234,10 +232,13 @@ RulesetService::RulesetService(
RulesetService::~RulesetService() {}
void RulesetService::IndexAndStoreAndPublishRulesetIfNeeded(
@@ -1628,7 +1628,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic
// Trying to store a ruleset with the same version for a second time would
// not only be futile, but would fail on Windows due to "File System
// Tunneling" as long as the previously stored copy of the rules is still
@@ -248,13 +249,16 @@ void RulesetService::IndexAndStoreAndPublishRulesetIfNeeded(
@@ -247,13 +248,16 @@ void RulesetService::IndexAndStoreAndPublishRulesetIfNeeded(
if (most_recently_indexed_version.IsCurrentFormatVersion() &&
most_recently_indexed_version.content_version ==
unindexed_ruleset_info.content_version) {
@@ -1645,7 +1645,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic
return;
}
@@ -274,6 +278,23 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
@@ -273,6 +277,23 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
const RulesetConfig& config,
const base::FilePath& indexed_ruleset_base_dir,
const UnindexedRulesetInfo& unindexed_ruleset_info) {
@@ -1669,7 +1669,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic
base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
base::BlockingType::MAY_BLOCK);
@@ -281,6 +302,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
@@ -280,6 +301,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
unindexed_ruleset_info);
if (!unindexed_ruleset_stream_generator.ruleset_stream()) {
@@ -1677,7 +1677,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic
RecordIndexAndWriteRulesetResult(
config.uma_tag,
IndexAndWriteRulesetResult::FAILED_OPENING_UNINDEXED_RULESET);
@@ -295,6 +317,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
@@ -294,6 +316,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
indexed_ruleset_base_dir, indexed_version);
if (!base::CreateDirectory(indexed_ruleset_version_dir)) {
@@ -1685,7 +1685,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic
RecordIndexAndWriteRulesetResult(
config.uma_tag,
IndexAndWriteRulesetResult::FAILED_CREATING_VERSION_DIR);
@@ -303,13 +326,11 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
@@ -302,13 +325,11 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
SentinelFile sentinel_file(indexed_ruleset_version_dir);
if (sentinel_file.IsPresent()) {
@@ -1701,7 +1701,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic
RecordIndexAndWriteRulesetResult(
config.uma_tag,
IndexAndWriteRulesetResult::FAILED_CREATING_SENTINEL_FILE);
@@ -324,6 +345,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
@@ -323,6 +344,7 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
RulesetIndexer indexer;
if (!(*g_index_ruleset_func)(config, &unindexed_ruleset_stream_generator,
&indexer)) {
@@ -1709,7 +1709,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic
RecordIndexAndWriteRulesetResult(
config.uma_tag,
IndexAndWriteRulesetResult::FAILED_PARSING_UNINDEXED_RULESET);
@@ -343,8 +365,12 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
@@ -342,8 +364,12 @@ IndexedRulesetVersion RulesetService::IndexAndWriteRuleset(
WriteRuleset(indexed_ruleset_version_dir,
unindexed_ruleset_info.license_path, indexer.data());
RecordIndexAndWriteRulesetResult(config.uma_tag, result);
@@ -1723,7 +1723,7 @@ diff --git a/components/subresource_filter/content/shared/browser/ruleset_servic
CHECK(indexed_version.IsValid(), base::NotFatalUntil::M129);
return indexed_version;
@@ -472,6 +498,7 @@ void RulesetService::IndexAndStoreRuleset(
@@ -467,6 +493,7 @@ void RulesetService::IndexAndStoreRuleset(
void RulesetService::OnWrittenRuleset(WriteRulesetCallback result_callback,
const IndexedRulesetVersion& version) {
CHECK(!result_callback.is_null(), base::NotFatalUntil::M129);
@@ -1952,7 +1952,7 @@ diff --git a/components/subresource_filter/core/browser/verified_ruleset_dealer.
#include "base/not_fatal_until.h"
#include "base/notreached.h"
#include "base/task/sequenced_task_runner.h"
@@ -39,6 +40,9 @@ RulesetFilePtr VerifiedRulesetDealer::OpenAndSetRulesetFile(
@@ -40,6 +41,9 @@ RulesetFilePtr VerifiedRulesetDealer::OpenAndSetRulesetFile(
TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("loading"),
"VerifiedRulesetDealer::OpenAndSetRulesetFile", "file_valid",
file->IsValid());
@@ -1970,10 +1970,10 @@ diff --git a/components/subresource_filter/core/common/indexed_ruleset.cc b/comp
#include "base/check.h"
#include "base/hash/hash.h"
+#include "base/logging.h"
#include "base/metrics/histogram_macros.h"
#include "base/metrics/histogram_functions.h"
#include "base/not_fatal_until.h"
#include "base/trace_event/trace_event.h"
@@ -37,7 +38,9 @@ VerifyStatus GetVerifyStatus(base::span<const uint8_t> buffer,
#include "base/strings/strcat.h"
@@ -38,7 +39,9 @@ VerifyStatus GetVerifyStatus(base::span<const uint8_t> buffer,
// least once. The verifier detects a subset of the errors detected by the
// checksum, and is unneeded once expected_checksum is consistently nonzero.
flatbuffers::Verifier verifier(buffer.data(), buffer.size());
@@ -33,7 +33,7 @@ diff --git a/chrome/browser/ui/views/toolbar/reload_button.cc b/chrome/browser/u
diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h
--- a/ui/views/widget/widget.h
+++ b/ui/views/widget/widget.h
@@ -1230,6 +1230,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -1239,6 +1239,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
void SetAllowScreenshots(bool allow);
bool AreScreenshotsAllowed();
@@ -53,7 +53,7 @@ diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h
protected:
// Creates the RootView to be used within this Widget. Subclasses may override
// to create custom RootViews that do specialized event processing.
@@ -1269,13 +1282,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -1278,13 +1291,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
ui::ColorProviderKey GetColorProviderKey() const override;
private:
@@ -67,7 +67,7 @@ diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h
class PaintAsActiveLockImpl;
friend class ButtonTest;
@@ -1286,11 +1292,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -1295,11 +1301,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
friend class ui_devtools::PageAgentViews;
friend void DisableActivationChangeHandlingForTests();
+113 -88
View File
@@ -13,37 +13,37 @@ Auto-update is disabled by default: it is possible to activate it with chrome://
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/app/extensions_strings.grdp | 6 +++
.../developer_private_api.cc | 37 ++++++++++++-
.../developer_private/developer_private_api.h | 3 ++
.../webstore_private/webstore_private_api.cc | 15 +++++-
chrome/app/extensions_strings.grdp | 6 ++
.../developer_private_api.cc | 38 +++++++++++-
.../developer_private/developer_private_api.h | 3 +
.../webstore_private/webstore_private_api.cc | 15 ++++-
chrome/browser/extensions/cws_info_service.cc | 1 +
.../extensions/extension_system_impl.cc | 2 +
.../chrome_extension_downloader_factory.cc | 1 -
.../extensions/updater/extension_updater.cc | 40 ++++++++------
.../extensions/updater/extension_updater.cc | 40 ++++++++-----
.../extensions/updater/extension_updater.h | 4 ++
.../extensions/webstore_install_helper.cc | 2 +-
.../browser/extensions/webstore_installer.cc | 2 +-
.../browser/resources/extensions/manager.html | 1 +
.../browser/resources/extensions/manager.ts | 7 +++
.../browser/resources/extensions/service.ts | 5 ++
.../browser/resources/extensions/toolbar.html | 12 +++++
.../browser/resources/extensions/toolbar.html | 12 ++++
.../browser/resources/extensions/toolbar.ts | 20 +++++++
.../resources/webstore_app/manifest.json | 7 +--
.../ui/webui/extensions/extensions_ui.cc | 8 +++
.../chrome_update_query_params_delegate.cc | 13 ++---
.../chrome_update_query_params_delegate.cc | 13 ++--
.../extensions/api/developer_private.idl | 2 +
.../update_client/update_query_params.cc | 7 ++-
.../about_flags_cc/Webstore-protection.inc | 19 +++++++
.../browser/api/management/management_api.cc | 50 +++++++++++------
.../browser/updater/extension_downloader.cc | 53 +++++++------------
.../update_client/update_query_params.cc | 7 +--
.../about_flags_cc/Webstore-protection.inc | 19 ++++++
.../browser/api/management/management_api.cc | 60 ++++++++++++-------
.../browser/updater/extension_downloader.cc | 53 +++++++---------
.../browser/updater/extension_downloader.h | 1 -
.../browser/updater/manifest_fetch_data.cc | 8 +--
.../browser/updater/safe_manifest_parser.cc | 1 +
extensions/common/extension_features.cc | 15 ++++++
extensions/common/extension_features.cc | 15 +++++
extensions/common/extension_features.h | 4 ++
.../definitions/developer_private.d.ts | 2 +
30 files changed, 251 insertions(+), 97 deletions(-)
30 files changed, 256 insertions(+), 103 deletions(-)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Webstore-protection.inc
diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.grdp
@@ -65,7 +65,7 @@ diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.
diff --git a/chrome/browser/extensions/api/developer_private/developer_private_api.cc b/chrome/browser/extensions/api/developer_private/developer_private_api.cc
--- a/chrome/browser/extensions/api/developer_private/developer_private_api.cc
+++ b/chrome/browser/extensions/api/developer_private/developer_private_api.cc
@@ -129,6 +129,12 @@
@@ -130,6 +130,12 @@
#include "url/gurl.h"
#include "url/origin.h"
@@ -78,10 +78,11 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a
namespace extensions {
namespace developer = api::developer_private;
@@ -471,9 +477,32 @@ std::unique_ptr<developer::ProfileInfo> DeveloperPrivateAPI::CreateProfileInfo(
info->is_mv2_deprecation_warning_dismissed =
@@ -475,10 +481,32 @@ std::unique_ptr<developer::ProfileInfo> DeveloperPrivateAPI::CreateProfileInfo(
info->is_mv2_deprecation_notice_dismissed =
ManifestV2ExperimentManager::Get(profile)
->DidUserAcknowledgeWarningGlobally();
->DidUserAcknowledgeNoticeGlobally();
-
+ info->is_extension_autoupdate_enabled = DeveloperPrivateAPI::IsExtensionAutoupdateEnabled();
return info;
}
@@ -111,7 +112,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a
template <>
void BrowserContextKeyedAPIFactory<
DeveloperPrivateAPI>::DeclareFactoryDependencies() {
@@ -907,6 +936,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() {
@@ -916,6 +944,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() {
ExtensionUpdater::CheckParams params;
params.fetch_priority = DownloadFetchPriority::kForeground;
params.install_immediately = true;
@@ -119,7 +120,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a
params.callback =
base::BindOnce(&DeveloperPrivateAutoUpdateFunction::OnComplete, this);
updater->CheckNow(std::move(params));
@@ -1047,7 +1077,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() {
@@ -1056,7 +1085,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() {
const developer::ProfileConfigurationUpdate& update = params->update;
@@ -128,8 +129,8 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a
Profile* profile = Profile::FromBrowserContext(browser_context());
CHECK(profile);
if (supervised_user::AreExtensionsPermissionsEnabled(
@@ -1062,6 +1092,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() {
->MarkWarningAsAcknowledgedGlobally();
@@ -1071,6 +1100,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() {
->MarkNoticeAsAcknowledgedGlobally();
}
+ if (update.is_extension_autoupdate_enabled.has_value()) {
@@ -143,7 +144,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a
diff --git a/chrome/browser/extensions/api/developer_private/developer_private_api.h b/chrome/browser/extensions/api/developer_private/developer_private_api.h
--- a/chrome/browser/extensions/api/developer_private/developer_private_api.h
+++ b/chrome/browser/extensions/api/developer_private/developer_private_api.h
@@ -236,6 +236,9 @@ class DeveloperPrivateAPI : public BrowserContextKeyedAPI,
@@ -234,6 +234,9 @@ class DeveloperPrivateAPI : public BrowserContextKeyedAPI,
static std::unique_ptr<api::developer_private::ProfileInfo> CreateProfileInfo(
Profile* profile);
@@ -190,7 +191,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
switch (status) {
case kCanRequest:
return api::webstore_private::ExtensionInstallStatus::kCanRequest;
@@ -1165,7 +1172,8 @@ ExtensionFunction::ResponseAction
@@ -1168,7 +1175,8 @@ ExtensionFunction::ResponseAction
WebstorePrivateIsInIncognitoModeFunction::Run() {
Profile* profile = Profile::FromBrowserContext(browser_context());
return RespondNow(ArgumentList(IsInIncognitoMode::Results::Create(
@@ -200,7 +201,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
}
WebstorePrivateIsPendingCustodianApprovalFunction::
@@ -1260,11 +1268,14 @@ WebstorePrivateGetReferrerChainFunction::Run() {
@@ -1263,11 +1271,14 @@ WebstorePrivateGetReferrerChainFunction::Run() {
request.mutable_referrer_chain_options()->set_recent_navigations_to_collect(
recent_navigations_to_collect);
@@ -260,7 +261,7 @@ diff --git a/chrome/browser/extensions/updater/chrome_extension_downloader_facto
diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/browser/extensions/updater/extension_updater.cc
--- a/chrome/browser/extensions/updater/extension_updater.cc
+++ b/chrome/browser/extensions/updater/extension_updater.cc
@@ -44,6 +44,7 @@
@@ -47,6 +47,7 @@
#include "extensions/browser/updater/extension_update_data.h"
#include "extensions/common/constants.h"
#include "extensions/common/extension.h"
@@ -268,7 +269,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
#include "extensions/common/extension_set.h"
#include "extensions/common/extension_updater_uma.h"
#include "extensions/common/extension_urls.h"
@@ -198,6 +199,10 @@ void ExtensionUpdater::Start() {
@@ -201,6 +202,10 @@ void ExtensionUpdater::Start() {
DCHECK(!weak_ptr_factory_.HasWeakPtrs());
DCHECK(registry_);
alive_ = true;
@@ -279,7 +280,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
// Check soon, and set up the first delayed check.
if (!g_skip_scheduled_checks_for_tests) {
if (g_should_immediately_update)
@@ -330,7 +335,8 @@ void ExtensionUpdater::AddToDownloader(
@@ -333,7 +338,8 @@ void ExtensionUpdater::AddToDownloader(
const Extension& extension = **extension_iter;
const ExtensionId& extension_id = extension.id();
if (!Manifest::IsAutoUpdateableLocation(extension.location())) {
@@ -289,16 +290,16 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
continue;
}
// An extension might be overwritten by policy, and have its update url
@@ -344,7 +350,7 @@ void ExtensionUpdater::AddToDownloader(
@@ -347,7 +353,7 @@ void ExtensionUpdater::AddToDownloader(
continue;
}
- if (CanUseUpdateService(extension_id)) {
+ if ((false) && CanUseUpdateService(extension_id)) {
update_check_params->update_info[extension_id] = ExtensionUpdateData();
update_check_params->update_info[extension_id] =
GetExtensionUpdateData(extension_id);
} else if (AddExtensionToDownloader(extension, request_id,
fetch_priority)) {
@@ -382,6 +388,12 @@ bool ExtensionUpdater::AddExtensionToDownloader(
@@ -386,6 +392,12 @@ bool ExtensionUpdater::AddExtensionToDownloader(
}
void ExtensionUpdater::CheckNow(CheckParams params) {
@@ -311,7 +312,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
if (params.ids.empty()) {
// Checking all extensions. Cancel pending DoCheckSoon() call if there's
// one, as it would be redundant.
@@ -390,7 +402,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
@@ -394,7 +406,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
int request_id = next_request_id_++;
@@ -320,25 +321,25 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
if (params.ids.empty())
NotifyStarted();
@@ -462,7 +474,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
<< " is not a corrupt reinstall";
update_check_params.update_info[pending_id] = ExtensionUpdateData();
@@ -467,7 +479,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
update_check_params.update_info[pending_id] =
GetExtensionUpdateData(pending_id);
} else if (!Manifest::IsAutoUpdateableLocation(info->install_source())) {
- VLOG(2) << "Extension " << pending_id << " is not auto updateable";
+ LOG(INFO) << "Extension " << pending_id << " is not auto updateable";
continue;
}
// We have to mark high-priority extensions (such as policy-forced
@@ -472,7 +484,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
@@ -477,7 +489,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
// See https://crbug.com/904600 and https://crbug.com/965686.
const bool is_high_priority_extension_pending =
pending_extension_manager->HasHighPriorityPendingExtension();
- if (CanUseUpdateService(pending_id)) {
+ if ((false) && CanUseUpdateService(pending_id)) {
update_check_params.update_info[pending_id] =
GetExtensionUpdateData(pending_id);
update_check_params.update_info[pending_id].is_corrupt_reinstall =
is_corrupt_reinstall;
if (is_corrupt_reinstall) {
@@ -493,6 +505,8 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
@@ -500,6 +512,8 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
LOG(WARNING) << "Corrupt extension with id " << pending_id
<< " will be reinstalled with ExtensionDownloader.";
}
@@ -347,7 +348,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
} else {
InstallStageTracker::Get(profile_)->ReportFailure(
pending_id,
@@ -505,13 +519,6 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
@@ -512,13 +526,6 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
AddToDownloader(&registry_->disabled_extensions(), pending_ids, request_id,
params.fetch_priority, &update_check_params);
ExtensionSet remotely_disabled_extensions;
@@ -361,16 +362,16 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
AddToDownloader(&remotely_disabled_extensions, pending_ids, request_id,
params.fetch_priority, &update_check_params);
} else {
@@ -519,7 +526,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
@@ -526,7 +533,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
const Extension* extension =
registry_->GetExtensionById(id, ExtensionRegistry::EVERYTHING);
if (extension) {
- if (CanUseUpdateService(id)) {
+ if ((false) && CanUseUpdateService(id)) {
update_check_params.update_info[id] = ExtensionUpdateData();
update_check_params.update_info[id] = GetExtensionUpdateData(id);
} else if (AddExtensionToDownloader(*extension, request_id,
params.fetch_priority)) {
@@ -660,7 +667,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished(
@@ -667,7 +674,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished(
file.extension_id, InstallStageTracker::Stage::INSTALLING);
UpdatePingData(file.extension_id, ping);
@@ -379,7 +380,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
FetchedCRXFile fetched(file, file_ownership_passed, request_ids,
std::move(callback));
@@ -671,6 +678,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished(
@@ -678,6 +685,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished(
bool ExtensionUpdater::GetPingDataForExtension(const ExtensionId& id,
DownloadPingData* ping_data) {
@@ -387,7 +388,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
DCHECK(alive_);
ping_data->rollcall_days =
CalculatePingDaysForExtension(extension_prefs_->LastPingDay(id));
@@ -769,7 +777,7 @@ bool ExtensionUpdater::CanUseUpdateService(
@@ -790,7 +798,7 @@ bool ExtensionUpdater::CanUseUpdateService(
void ExtensionUpdater::InstallCRXFile(FetchedCRXFile crx_file) {
std::set<int> request_ids;
@@ -396,7 +397,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
<< crx_file.info.path.value();
// The ExtensionService is now responsible for cleaning up the temp file
@@ -878,7 +886,7 @@ void ExtensionUpdater::NotifyIfFinished(int request_id) {
@@ -899,7 +907,7 @@ void ExtensionUpdater::NotifyIfFinished(int request_id) {
InProgressCheck& request = requests_in_progress_[request_id];
if (!request.in_progress_ids.empty() || request.awaiting_update_service)
return; // This request is not done yet.
@@ -408,7 +409,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
diff --git a/chrome/browser/extensions/updater/extension_updater.h b/chrome/browser/extensions/updater/extension_updater.h
--- a/chrome/browser/extensions/updater/extension_updater.h
+++ b/chrome/browser/extensions/updater/extension_updater.h
@@ -81,6 +81,8 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate {
@@ -82,6 +82,8 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate {
// right away.
bool install_immediately = false;
@@ -417,7 +418,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.h b/chrome/brow
// An extension update check can be originated by a user or by a scheduled
// task. When the value of |fetch_priority| is FOREGROUND, the update
// request was initiated by a user.
@@ -328,6 +330,8 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate {
@@ -333,6 +335,8 @@ class ExtensionUpdater : public ExtensionDownloaderDelegate {
base::TimeDelta frequency_;
bool will_check_soon_ = false;
@@ -465,7 +466,7 @@ diff --git a/chrome/browser/resources/extensions/manager.ts b/chrome/browser/res
--- a/chrome/browser/resources/extensions/manager.ts
+++ b/chrome/browser/resources/extensions/manager.ts
@@ -127,6 +127,11 @@ export class ExtensionsManagerElement extends ExtensionsManagerElementBase {
value: () => loadTimeData.getBoolean('MV2DeprecationPanelDismissed'),
value: () => loadTimeData.getBoolean('MV2DeprecationNoticeDismissed'),
},
+ isExtUpdateEnabled: {
@@ -479,15 +480,15 @@ diff --git a/chrome/browser/resources/extensions/manager.ts b/chrome/browser/res
@@ -229,6 +234,7 @@ export class ExtensionsManagerElement extends ExtensionsManagerElementBase {
delegate: Service;
inDevMode: boolean;
isMv2DeprecationWarningDismissed: boolean;
isMv2DeprecationNoticeDismissed: boolean;
+ isExtUpdateEnabled: boolean;
showActivityLog: boolean;
enableEnhancedSiteControls: boolean;
devModeControlledByPolicy: boolean;
@@ -301,6 +307,7 @@ export class ExtensionsManagerElement extends ExtensionsManagerElementBase {
this.canLoadUnpacked = profileInfo.canLoadUnpacked;
this.isMv2DeprecationWarningDismissed =
profileInfo.isMv2DeprecationWarningDismissed;
this.isMv2DeprecationNoticeDismissed =
profileInfo.isMv2DeprecationNoticeDismissed;
+ this.isExtUpdateEnabled = profileInfo.isExtensionAutoupdateEnabled;
};
service.getProfileStateChangedTarget().addListener(onProfileStateChanged);
@@ -495,7 +496,7 @@ diff --git a/chrome/browser/resources/extensions/manager.ts b/chrome/browser/res
diff --git a/chrome/browser/resources/extensions/service.ts b/chrome/browser/resources/extensions/service.ts
--- a/chrome/browser/resources/extensions/service.ts
+++ b/chrome/browser/resources/extensions/service.ts
@@ -291,6 +291,11 @@ export class Service implements ServiceInterface {
@@ -290,6 +290,11 @@ export class Service implements ServiceInterface {
{inDeveloperMode: inDevMode});
}
@@ -622,7 +623,7 @@ diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browse
namespace extensions {
namespace {
@@ -359,6 +361,8 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile,
@@ -374,6 +376,8 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile,
{"itemSuspiciousInstallLearnMore",
IDS_EXTENSIONS_ADDED_WITHOUT_KNOWLEDGE_LEARN_MORE},
{"toolbarDevMode", IDS_EXTENSIONS_DEVELOPER_MODE},
@@ -631,7 +632,7 @@ diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browse
{"toolbarLoadUnpacked", IDS_EXTENSIONS_TOOLBAR_LOAD_UNPACKED},
{"toolbarLoadUnpackedDone", IDS_EXTENSIONS_TOOLBAR_LOAD_UNPACKED_DONE},
{"toolbarPack", IDS_EXTENSIONS_TOOLBAR_PACK},
@@ -431,6 +435,10 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile,
@@ -446,6 +450,10 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile,
source->AddString("hostPermissionsLearnMoreLink",
chrome_extension_constants::kRuntimeHostPermissionsHelpURL);
source->AddBoolean(kInDevModeKey, in_dev_mode);
@@ -671,15 +672,15 @@ diff --git a/chrome/common/extensions/api/developer_private.idl b/chrome/common/
@@ -292,6 +292,7 @@ namespace developerPrivate {
boolean isIncognitoAvailable;
boolean isChildAccount;
boolean isMv2DeprecationWarningDismissed;
boolean isMv2DeprecationNoticeDismissed;
+ boolean isExtensionAutoupdateEnabled;
};
// DEPRECATED: Prefer ExtensionInfo.
@@ -352,6 +353,7 @@ namespace developerPrivate {
@@ -351,6 +352,7 @@ namespace developerPrivate {
dictionary ProfileConfigurationUpdate {
boolean? inDeveloperMode;
boolean? isMv2DeprecationWarningDismissed;
boolean? isMv2DeprecationNoticeDismissed;
+ boolean? isExtensionAutoupdateEnabled;
};
@@ -745,7 +746,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
#include "extensions/browser/api/extensions_api_client.h"
#include "extensions/browser/api/management/management_api_constants.h"
#include "extensions/browser/disable_reason.h"
@@ -39,6 +42,7 @@
@@ -40,6 +43,7 @@
#include "extensions/common/api/management.h"
#include "extensions/common/error_utils.h"
#include "extensions/common/extension.h"
@@ -753,7 +754,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
#include "extensions/common/extension_id.h"
#include "extensions/common/extension_urls.h"
#include "extensions/common/icons/extension_icon_set.h"
@@ -90,6 +94,27 @@ std::vector<std::string> CreateWarningsList(const Extension* extension) {
@@ -91,6 +95,27 @@ std::vector<std::string> CreateWarningsList(const Extension* extension) {
return warnings_list;
}
@@ -781,7 +782,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
std::vector<management::LaunchType> GetAvailableLaunchTypes(
const Extension& extension,
const ManagementAPIDelegate* delegate) {
@@ -263,6 +288,8 @@ void AddExtensionInfo(const Extension* source_extension,
@@ -268,6 +293,8 @@ void AddExtensionInfo(const Extension* source_extension,
const ExtensionSet& extensions,
ExtensionInfoList* extension_list,
content::BrowserContext* context) {
@@ -790,7 +791,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
for (ExtensionSet::const_iterator iter = extensions.begin();
iter != extensions.end(); ++iter) {
const Extension& extension = **iter;
@@ -308,10 +335,9 @@ ExtensionFunction::ResponseAction ManagementGetFunction::Run() {
@@ -313,10 +340,9 @@ ExtensionFunction::ResponseAction ManagementGetFunction::Run() {
std::optional<management::Get::Params> params =
management::Get::Params::Create(args());
EXTENSION_FUNCTION_VALIDATE(params);
@@ -799,39 +800,63 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
const Extension* target_extension =
- registry->GetExtensionById(params->id, ExtensionRegistry::EVERYTHING);
+ GetExtensionById(GetSenderWebContents(), browser_context(), params->id, ExtensionRegistry::EVERYTHING);
if (!target_extension)
if (!target_extension) {
return RespondNow(Error(keys::kNoExtensionError, params->id));
@@ -331,8 +357,7 @@ ManagementGetPermissionWarningsByIdFunction::Run() {
}
@@ -337,8 +363,7 @@ ManagementGetPermissionWarningsByIdFunction::Run() {
EXTENSION_FUNCTION_VALIDATE(params);
const Extension* extension =
- ExtensionRegistry::Get(browser_context())
- ->GetExtensionById(params->id, ExtensionRegistry::EVERYTHING);
+ GetExtensionById(GetSenderWebContents(), browser_context(), params->id, ExtensionRegistry::EVERYTHING);
if (!extension)
if (!extension) {
return RespondNow(Error(keys::kNoExtensionError, params->id));
@@ -398,8 +423,7 @@ ExtensionFunction::ResponseAction ManagementLaunchAppFunction::Run() {
return RespondNow(Error(keys::kNotAllowedInKioskError));
}
@@ -406,8 +431,7 @@ ExtensionFunction::ResponseAction ManagementLaunchAppFunction::Run() {
}
const Extension* extension =
- ExtensionRegistry::Get(browser_context())
- ->GetExtensionById(params->id, ExtensionRegistry::EVERYTHING);
+ GetExtensionById(GetSenderWebContents(), browser_context(), params->id, ExtensionRegistry::EVERYTHING);
if (!extension)
if (!extension) {
return RespondNow(Error(keys::kNoExtensionError, params->id));
if (!extension->is_app())
@@ -434,7 +458,7 @@ ExtensionFunction::ResponseAction ManagementSetEnabledFunction::Run() {
->GetDelegate();
const Extension* target_extension =
- registry->GetExtensionById(extension_id_, ExtensionRegistry::EVERYTHING);
+ GetExtensionById(GetSenderWebContents(), browser_context(), extension_id_, ExtensionRegistry::EVERYTHING);
if (!target_extension || !ShouldExposeViaManagementAPI(*target_extension)) {
return RespondNow(Error(keys::kNoExtensionError, extension_id_));
}
@@ -644,8 +668,7 @@ ExtensionFunction::ResponseAction ManagementUninstallFunctionBase::Uninstall(
@@ -548,8 +572,8 @@ void ManagementSetEnabledFunction::CheckPermissionsIncrease() {
// Extension could have been uninstalled externally while previous check was
// happening.
const Extension* extension =
- ExtensionRegistry::Get(browser_context())
- ->GetExtensionById(extension_id_, ExtensionRegistry::EVERYTHING);
+ GetExtensionById(GetSenderWebContents(), browser_context(), extension_id_,
+ ExtensionRegistry::EVERYTHING);
if (!extension) {
FinishEnable(Error(keys::kNoExtensionError));
return;
@@ -592,8 +616,8 @@ void ManagementSetEnabledFunction::CheckManifestV2Deprecation() {
// Extension can be uninstalled externally while the previous check was
// happening async.
const Extension* extension =
- ExtensionRegistry::Get(browser_context())
- ->GetExtensionById(extension_id_, ExtensionRegistry::EVERYTHING);
+ GetExtensionById(GetSenderWebContents(), browser_context(), extension_id_,
+ ExtensionRegistry::EVERYTHING);
if (!extension) {
FinishEnable(Error(keys::kNoExtensionError));
return;
@@ -737,8 +761,8 @@ void ManagementSetEnabledFunction::OnSupervisedExtensionApprovalDone(
}
const Extension* ManagementSetEnabledFunction::GetExtension() {
- return ExtensionRegistry::Get(browser_context())
- ->GetExtensionById(extension_id_, ExtensionRegistry::EVERYTHING);
+ return GetExtensionById(GetSenderWebContents(), browser_context(), extension_id_,
+ ExtensionRegistry::EVERYTHING);
}
ManagementUninstallFunctionBase::ManagementUninstallFunctionBase() = default;
@@ -763,8 +787,7 @@ ExtensionFunction::ResponseAction ManagementUninstallFunctionBase::Uninstall(
->GetDelegate();
target_extension_id_ = target_extension_id;
const Extension* target_extension =
@@ -841,7 +866,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
ExtensionRegistry::EVERYTHING);
if (!target_extension || !ShouldExposeViaManagementAPI(*target_extension)) {
return RespondNow(Error(keys::kNoExtensionError, target_extension_id_));
@@ -709,8 +732,7 @@ void ManagementUninstallFunctionBase::UninstallExtension() {
@@ -829,8 +852,7 @@ void ManagementUninstallFunctionBase::UninstallExtension() {
// The extension can be uninstalled in another window while the UI was
// showing. Do nothing in that case.
const Extension* target_extension =
@@ -851,7 +876,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
ExtensionRegistry::EVERYTHING);
std::string error;
bool success = false;
@@ -791,8 +813,7 @@ ExtensionFunction::ResponseAction ManagementCreateAppShortcutFunction::Run() {
@@ -907,8 +929,7 @@ ExtensionFunction::ResponseAction ManagementCreateAppShortcutFunction::Run() {
management::CreateAppShortcut::Params::Create(args());
EXTENSION_FUNCTION_VALIDATE(params);
const Extension* extension =
@@ -861,7 +886,7 @@ diff --git a/extensions/browser/api/management/management_api.cc b/extensions/br
if (!extension) {
return RespondNow(Error(
ErrorUtils::FormatErrorMessage(keys::kNoExtensionError, params->id)));
@@ -842,8 +863,7 @@ ExtensionFunction::ResponseAction ManagementSetLaunchTypeFunction::Run() {
@@ -961,8 +982,7 @@ ExtensionFunction::ResponseAction ManagementSetLaunchTypeFunction::Run() {
management::SetLaunchType::Params::Create(args());
EXTENSION_FUNCTION_VALIDATE(params);
const Extension* extension =
@@ -1110,7 +1135,7 @@ diff --git a/extensions/browser/updater/safe_manifest_parser.cc b/extensions/bro
diff --git a/extensions/common/extension_features.cc b/extensions/common/extension_features.cc
--- a/extensions/common/extension_features.cc
+++ b/extensions/common/extension_features.cc
@@ -179,4 +179,19 @@ BASE_FEATURE(kUseNewServiceWorkerTaskQueue,
@@ -183,4 +183,19 @@ BASE_FEATURE(kUseNewServiceWorkerTaskQueue,
"UseNewServiceWorkerTaskQueue",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -1133,7 +1158,7 @@ diff --git a/extensions/common/extension_features.cc b/extensions/common/extensi
diff --git a/extensions/common/extension_features.h b/extensions/common/extension_features.h
--- a/extensions/common/extension_features.h
+++ b/extensions/common/extension_features.h
@@ -211,6 +211,10 @@ BASE_DECLARE_FEATURE(kUseItemSnippetsAPI);
@@ -217,6 +217,10 @@ BASE_DECLARE_FEATURE(kUseItemSnippetsAPI);
// If enabled, use the new simpler, more efficient service worker task queue.
BASE_DECLARE_FEATURE(kUseNewServiceWorkerTaskQueue);
@@ -1150,15 +1175,15 @@ diff --git a/tools/typescript/definitions/developer_private.d.ts b/tools/typescr
@@ -277,6 +277,7 @@ declare global {
isIncognitoAvailable: boolean;
isChildAccount: boolean;
isMv2DeprecationWarningDismissed: boolean;
isMv2DeprecationNoticeDismissed: boolean;
+ isExtensionAutoupdateEnabled: boolean;
}
export interface ExtensionConfigurationUpdate {
@@ -295,6 +296,7 @@ declare global {
@@ -293,6 +294,7 @@ declare global {
export interface ProfileConfigurationUpdate {
inDeveloperMode?: boolean;
isMv2DeprecationWarningDismissed?: boolean;
isMv2DeprecationNoticeDismissed?: boolean;
+ isExtensionAutoupdateEnabled?: boolean;
}
@@ -9,8 +9,8 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
services/network/cors/preflight_controller.cc | 4 ++++
services/network/cors/preflight_controller.h | 2 ++
services/network/cors/preflight_result.cc | 2 +-
services/network/network_context.cc | 2 ++
6 files changed, 15 insertions(+), 1 deletion(-)
services/network/network_context.cc | 1 +
6 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/services/network/cors/preflight_cache.cc b/services/network/cors/preflight_cache.cc
--- a/services/network/cors/preflight_cache.cc
@@ -41,7 +41,7 @@ diff --git a/services/network/cors/preflight_cache.h b/services/network/cors/pre
diff --git a/services/network/cors/preflight_controller.cc b/services/network/cors/preflight_controller.cc
--- a/services/network/cors/preflight_controller.cc
+++ b/services/network/cors/preflight_controller.cc
@@ -811,6 +811,10 @@ void PreflightController::ClearCorsPreflightCache(
@@ -835,6 +835,10 @@ void PreflightController::ClearCorsPreflightCache(
cache_.ClearCache(std::move(url_filter));
}
@@ -51,7 +51,7 @@ diff --git a/services/network/cors/preflight_controller.cc b/services/network/co
+
void PreflightController::RemoveLoader(PreflightLoader* loader) {
auto it = loaders_.find(loader);
DCHECK(it != loaders_.end());
CHECK(it != loaders_.end(), base::NotFatalUntil::M130);
diff --git a/services/network/cors/preflight_controller.h b/services/network/cors/preflight_controller.h
--- a/services/network/cors/preflight_controller.h
+++ b/services/network/cors/preflight_controller.h
@@ -79,13 +79,12 @@ diff --git a/services/network/cors/preflight_result.cc b/services/network/cors/p
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
@@ -1247,6 +1247,8 @@ void NetworkContext::ClearHttpCache(base::Time start_time,
base::BindOnce(&NetworkContext::OnHttpCacheCleared,
base::Unretained(this), std::move(callback))));
@@ -1255,6 +1255,7 @@ void NetworkContext::ClearHttpCache(base::Time start_time,
base::Time end_time,
mojom::ClearDataFilterPtr filter,
ClearHttpCacheCallback callback) {
+ cors_preflight_controller_.ClearCache();
+
NetworkServiceMemoryCache* memory_cache = GetMemoryCache();
if (memory_cache)
memory_cache->Clear();
// It's safe to use Unretained below as the HttpCacheDataRemover is owned by
// |this| and guarantees it won't call its callback if deleted.
http_cache_data_removers_.push_back(HttpCacheDataRemover::CreateAndStart(
--
+6 -6
View File
@@ -62,7 +62,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie
return network::IsOriginPotentiallyTrustworthy(origin);
}
@@ -723,7 +725,8 @@ void UpdateNavigationRequestClientUaHeadersImpl(
@@ -722,7 +724,8 @@ void UpdateNavigationRequestClientUaHeadersImpl(
// value, disable them. This overwrites previous decision from UI.
disable_due_to_custom_ua = !ua_metadata.has_value();
}
@@ -72,7 +72,7 @@ diff --git a/content/browser/client_hints/client_hints.cc b/content/browser/clie
if (!disable_due_to_custom_ua) {
if (!ua_metadata.has_value())
ua_metadata = delegate->GetUserAgentMetadata();
@@ -905,10 +908,12 @@ void AddRequestClientHintsHeaders(
@@ -904,10 +907,12 @@ void AddRequestClientHintsHeaders(
AddEctHeader(headers, network_quality_tracker, url);
}
@@ -92,7 +92,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
@@ -1202,6 +1202,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
@@ -1206,6 +1206,11 @@ void NavigationURLLoaderImpl::OnAcceptCHFrameReceived(
return;
}
@@ -266,7 +266,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.cc b/thir
if (ShouldSendClientHint(policy, resource_origin, is_1p_origin,
WebClientHintsType::kUAArch, hints_preferences)) {
SetHttpHeader(WebClientHintsType::kUAArch,
@@ -667,6 +667,8 @@ bool BaseFetchContext::ShouldSendClientHint(
@@ -682,6 +682,8 @@ bool BaseFetchContext::ShouldSendClientHint(
bool is_1p_origin,
network::mojom::blink::WebClientHintsType type,
const ClientHintsPreferences& hints_preferences) const {
@@ -278,7 +278,7 @@ diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.cc b/thir
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
@@ -337,6 +337,11 @@
@@ -361,6 +361,11 @@
name: "AtomicMoveAPI",
status: "test",
},
@@ -289,5 +289,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+ },
{
name: "AttributionReporting",
origin_trial_feature_name: "PrivacySandboxAdsAPIs",
status: "stable",
--
@@ -87,7 +87,7 @@ new file mode 100644
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -436,7 +436,7 @@ const base::FeatureParam<int> kIpPrivacyDebugExperimentArm{
@@ -437,7 +437,7 @@ const base::FeatureParam<int> kIpPrivacyDebugExperimentArm{
// NetworkChangeNotifier::AreNetworkHandlesSupported).
#if BUILDFLAG(IS_ANDROID)
inline constexpr auto kMigrateSessionsOnNetworkChangeV2Default =
@@ -97,7 +97,7 @@ Require: bromite-build-utils.patch
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
@@ -59,6 +59,10 @@ import org.chromium.url.GURL;
@@ -58,6 +58,10 @@ import org.chromium.url.GURL;
import java.util.Set;
@@ -108,7 +108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
/** A SiteSettingsDelegate instance that contains Chrome-specific Site Settings logic. */
public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
public static final String EMBEDDED_CONTENT_HELP_CENTER_URL =
@@ -216,7 +220,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@@ -215,7 +219,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@Override
public boolean isHelpAndFeedbackEnabled() {
@@ -117,7 +117,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
}
@Override
@@ -337,6 +341,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@@ -336,6 +340,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
return mPrivacySandboxBridge.getFirstPartySetOwner(memberOrigin);
}
@@ -150,7 +150,7 @@ diff --git a/chrome/browser/content_settings/page_specific_content_settings_dele
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
@@ -1489,4 +1489,5 @@
@@ -1474,4 +1474,5 @@
</settings-subpage>
</template>
</template>
@@ -262,7 +262,7 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc
/**
* Add all of the child routes that originate from the privacy route,
@@ -156,6 +157,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
@@ -158,6 +159,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
r.SITE_SETTINGS_AUTOMATIC_FULLSCREEN =
r.SITE_SETTINGS.createChild('automaticFullScreen');
}
@@ -369,7 +369,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d
diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html
--- a/chrome/browser/resources/settings/site_settings/site_details.html
+++ b/chrome/browser/resources/settings/site_settings/site_details.html
@@ -308,4 +308,5 @@
@@ -309,4 +309,5 @@
label="$i18n{siteSettingsPointerLock}">
</site-details-permission>
</template>
@@ -709,7 +709,7 @@ diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_
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
@@ -2165,6 +2165,7 @@ static_library("ui") {
@@ -2041,6 +2041,7 @@ static_library("ui") {
"//components/commerce/core:shopping_service",
"//components/commerce/core/webui",
"//components/endpoint_fetcher:endpoint_fetcher",
@@ -720,7 +720,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
diff --git a/chrome/browser/ui/views/controls/rich_controls_container_view.h b/chrome/browser/ui/views/controls/rich_controls_container_view.h
--- a/chrome/browser/ui/views/controls/rich_controls_container_view.h
+++ b/chrome/browser/ui/views/controls/rich_controls_container_view.h
@@ -45,6 +45,13 @@ class RichControlsContainerView : public views::FlexLayoutView {
@@ -48,6 +48,13 @@ class RichControlsContainerView : public views::FlexLayoutView {
return AddChildView(std::move(control_view));
}
@@ -1154,7 +1154,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
#include "components/password_manager/core/browser/leak_detection_dialog_utils.h"
#include "components/password_manager/core/browser/manage_passwords_referrer.h"
#include "components/password_manager/core/common/password_manager_features.h"
@@ -3717,6 +3721,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
@@ -3739,6 +3743,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
policy_indicator::AddLocalizedStrings(html_source);
AddSecurityKeysStrings(html_source);
@@ -1223,8 +1223,8 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
#include "components/content_settings/core/common/content_settings.h"
#include "components/content_settings/core/common/content_settings_pattern.h"
#include "components/content_settings/core/common/content_settings_types.h"
@@ -231,13 +233,13 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
{ContentSettingsType::TOP_LEVEL_TPCD_ORIGIN_TRIAL, nullptr},
@@ -234,13 +236,13 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
{ContentSettingsType::STORAGE_ACCESS_HEADER_ORIGIN_TRIAL, nullptr},
};
-static_assert(
@@ -1244,7 +1244,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
struct SiteSettingSourceStringMapping {
SiteSettingSource source;
@@ -469,6 +471,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) {
@@ -472,6 +474,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) {
return true;
}
}
@@ -1258,7 +1258,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
return false;
}
@@ -482,11 +491,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) {
@@ -485,11 +494,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) {
return entry.type;
}
}
@@ -1284,7 +1284,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
for (const auto& entry : kContentSettingsTypeGroupNames) {
if (type == entry.type) {
// Content setting types that aren't represented in the settings UI
@@ -501,7 +523,6 @@ std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) {
@@ -504,7 +526,6 @@ std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) {
return entry.name ? entry.name : std::string_view();
}
}
@@ -1292,7 +1292,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
NOTREACHED_IN_MIGRATION() << static_cast<int32_t>(type)
<< " is not a recognized content settings type.";
return std::string_view();
@@ -599,6 +620,13 @@ std::vector<ContentSettingsType> GetVisiblePermissionCategories(
@@ -602,6 +623,13 @@ std::vector<ContentSettingsType> GetVisiblePermissionCategories(
base_types->push_back(ContentSettingsType::POINTER_LOCK);
}
@@ -2189,7 +2189,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
@@ -332,6 +332,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -331,6 +331,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
website.site()
.getContentSetting(
browserContextHandle, mCategory.getContentSettingsType());
@@ -2200,7 +2200,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (contentSetting != null) {
return ContentSettingValues.BLOCK == contentSetting;
}
@@ -496,6 +500,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -495,6 +499,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS))
: null;
@@ -2208,7 +2208,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
configureGlobalToggles();
if (mCategory.getType() == SiteSettingsCategory.Type.REQUEST_DESKTOP_SITE) {
RecordUserAction.record("DesktopSiteContentSetting.SettingsPage.Entered");
@@ -526,7 +531,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -525,7 +530,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
if (queryHasChanged) getInfoForOrigins();
});
@@ -2218,7 +2218,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
MenuItem help =
menu.add(
Menu.NONE,
@@ -538,12 +544,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -537,12 +543,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
getResources(),
R.drawable.ic_help_and_feedback,
getContext().getTheme()));
@@ -2239,7 +2239,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (mCategory.getType() == SiteSettingsCategory.Type.PROTECTED_MEDIA) {
getSiteSettingsDelegate()
.launchProtectedContentHelpAndFeedbackActivity(getActivity());
@@ -615,6 +629,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -614,6 +628,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
BrowserContextHandle browserContextHandle =
getSiteSettingsDelegate().getBrowserContextHandle();
PrefService prefService = UserPrefs.get(browserContextHandle);
@@ -2251,7 +2251,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (BINARY_TOGGLE_KEY.equals(preference.getKey())) {
assert !mCategory.isManaged();
boolean toggleValue = (boolean) newValue;
@@ -809,6 +828,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -808,6 +827,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
.website_settings_allowed_group_heading_request_desktop_site;
break;
}
@@ -2260,7 +2260,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
assert resource > 0;
return getString(resource);
}
@@ -924,6 +945,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -923,6 +944,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
default:
break;
}
@@ -2269,7 +2269,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (allowSpecifyingExceptions) {
getPreferenceScreen()
.addPreference(
@@ -1110,8 +1133,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1109,8 +1132,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
private boolean isBlocked() {
switch (mGlobalToggleLayout) {
case GlobalToggleLayout.TRI_STATE_TOGGLE:
@@ -2286,7 +2286,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
return (triStateToggle.getCheckedSetting() == ContentSettingValues.BLOCK);
case GlobalToggleLayout.TRI_STATE_COOKIE_TOGGLE:
TriStateCookieSettingsPreference triStateCookieToggle =
@@ -1178,7 +1209,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1177,7 +1208,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
} else if (mCategory.getType() == SiteSettingsCategory.Type.STORAGE_ACCESS) {
infoText.setSummary(getStorageAccessSummary());
} else {
@@ -2299,7 +2299,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
// Hide the anti-abuse text preferences, as needed.
@@ -1215,6 +1250,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1214,6 +1249,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
} else {
screen.removePreference(mLocationTriStatePref);
}
@@ -2307,7 +2307,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (permissionBlockedByOs) {
maybeShowOsWarning(screen);
@@ -1372,7 +1408,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1370,7 +1406,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
getSiteSettingsDelegate().getBrowserContextHandle(), contentType);
int[] descriptionIds =
ContentSettingsResources.getTriStateSettingDescriptionIDs(contentType);
@@ -2316,7 +2316,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
private void configureBinaryToggle(ChromeSwitchPreference binaryToggle, int contentType) {
@@ -1496,6 +1532,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1494,6 +1530,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@ContentSettingValues
Integer value = site.getContentSetting(browserContextHandle, contentSettingsType);
@@ -2440,7 +2440,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
@@ -34,6 +34,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
@@ -46,6 +46,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
SettingsUtils.addPreferencesFromResource(this, R.xml.site_settings_preferences);
getActivity().setTitle(getContext().getString(R.string.prefs_site_settings));
@@ -2448,7 +2448,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
configurePreferences();
updatePreferenceStates();
}
@@ -55,7 +56,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
@@ -67,7 +68,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
// Remove unsupported settings categories.
for (@SiteSettingsCategory.Type int type = 0;
@@ -2457,7 +2457,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
type++) {
if (!getSiteSettingsDelegate().isCategoryVisible(type)) {
getPreferenceScreen().removePreference(findPreference(type));
@@ -71,7 +72,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
@@ -89,7 +90,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
@CookieControlsMode
int cookieControlsMode =
UserPrefs.get(browserContextHandle).getInteger(COOKIE_CONTROLS_MODE);
@@ -2466,7 +2466,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
Preference p = findPreference(prefCategory);
int contentType = SiteSettingsCategory.contentSettingsType(prefCategory);
// p can be null if the Preference was removed in configurePreferences.
@@ -140,19 +141,21 @@ public class SiteSettings extends BaseSiteSettingsFragment
@@ -158,19 +159,21 @@ public class SiteSettings extends BaseSiteSettingsFragment
} else if (Type.ZOOM == prefCategory) {
// Don't want to set a summary for Zoom because we don't want any message to display
// under the Zoom row on site settings.
@@ -2647,7 +2647,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
@@ -106,7 +106,7 @@ public class WebsitePermissionsFetcher {
@@ -107,7 +107,7 @@ public class WebsitePermissionsFetcher {
case ContentSettingsType.USB_GUARD:
return WebsitePermissionsType.CHOSEN_OBJECT_INFO;
default:
@@ -2786,10 +2786,10 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
namespace content_settings {
@@ -779,6 +780,7 @@ void ContentSettingsRegistry::Init() {
WebsiteSettingsRegistry::PLATFORM_ANDROID,
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
@@ -813,6 +814,7 @@ void ContentSettingsRegistry::Init() {
WebsiteSettingsRegistry::DESKTOP,
ContentSettingsInfo::DONT_INHERIT_IN_INCOGNITO,
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
+#include "components/content_settings/core/browser/bromite_content_settings.inc"
}
@@ -2797,7 +2797,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
diff --git a/components/content_settings/core/browser/content_settings_uma_util.cc b/components/content_settings/core/browser/content_settings_uma_util.cc
--- a/components/content_settings/core/browser/content_settings_uma_util.cc
+++ b/components/content_settings/core/browser/content_settings_uma_util.cc
@@ -198,11 +198,7 @@ void RecordContentSettingsHistogram(const std::string& name,
@@ -203,11 +203,7 @@ void RecordContentSettingsHistogram(const std::string& name,
}
int ContentSettingTypeToHistogramValue(ContentSettingsType content_setting) {
@@ -2842,7 +2842,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
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
@@ -135,6 +135,32 @@ class WebsiteSettingsInfo {
@@ -128,6 +128,32 @@ class WebsiteSettingsInfo {
ScopingType scoping_type() const { return scoping_type_; }
IncognitoBehavior incognito_behavior() const { return incognito_behavior_; }
@@ -2875,7 +2875,7 @@ diff --git a/components/content_settings/core/browser/website_settings_info.h b/
private:
const ContentSettingsType type_;
const std::string name_;
@@ -147,6 +173,18 @@ class WebsiteSettingsInfo {
@@ -140,6 +166,18 @@ class WebsiteSettingsInfo {
const LossyStatus lossy_status_;
const ScopingType scoping_type_;
const IncognitoBehavior incognito_behavior_;
@@ -3121,13 +3121,13 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
diff --git a/components/content_settings/core/common/content_settings_types.mojom b/components/content_settings/core/common/content_settings_types.mojom
--- a/components/content_settings/core/common/content_settings_types.mojom
+++ b/components/content_settings/core/common/content_settings_types.mojom
@@ -429,5 +429,6 @@ enum ContentSettingsType {
// BLOCK: Protections enabled. This is the default state.
// ALLOW: Protections disabled.
TRACKING_PROTECTION,
@@ -452,5 +452,6 @@ enum ContentSettingsType {
// origins to retry a request or load with storage access.
// BLOCK (default): no effect.
STORAGE_ACCESS_HEADER_ORIGIN_TRIAL,
+#include "components/content_settings/core/common/bromite_content_settings.inc"
};
// LINT.ThenChange(/tools/metrics/histograms/metadata/settings/enums.xml:SafetyHubPermissionType)
// LINT.ThenChange(//tools/metrics/histograms/metadata/settings/enums.xml:SafetyHubPermissionType)
diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc
--- a/components/content_settings/renderer/content_settings_agent_impl.cc
+++ b/components/content_settings/renderer/content_settings_agent_impl.cc
@@ -3299,7 +3299,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
#include "components/content_settings/browser/ui/cookie_controls_controller.h"
#include "components/content_settings/core/browser/content_settings_registry.h"
#include "components/content_settings/core/browser/content_settings_uma_util.h"
@@ -1232,6 +1233,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
@@ -1239,6 +1240,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
// applies to permissions listed in |kPermissionType|.
bool PageInfo::ShouldShowPermission(
const PageInfo::PermissionInfo& info) const {
@@ -3314,7 +3314,7 @@ diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.
// Note |ContentSettingsType::ADS| will show up regardless of its default
// value when it has been activated on the current origin.
if (info.type == ContentSettingsType::ADS) {
@@ -1339,7 +1348,19 @@ void PageInfo::PresentSitePermissions() {
@@ -1346,7 +1355,19 @@ void PageInfo::PresentSitePermissions() {
HostContentSettingsMap* content_settings = GetContentSettings();
DCHECK(web_contents_);
@@ -3346,7 +3346,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
#include "components/page_info/core/features.h"
#include "components/page_info/page_info.h"
#include "components/page_info/page_info_ui_delegate.h"
@@ -610,6 +611,12 @@ PageInfoUI::~PageInfoUI() = default;
@@ -618,6 +619,12 @@ PageInfoUI::~PageInfoUI() = default;
// static
std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
@@ -3359,7 +3359,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) {
if (info.type == type)
return l10n_util::GetStringUTF16(info.string_id);
@@ -621,6 +628,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
@@ -629,6 +636,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
// static
std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence(
ContentSettingsType type) {
@@ -3372,7 +3372,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
for (const PermissionUIInfo& info : GetContentSettingsUIInfo()) {
if (info.type == type)
return l10n_util::GetStringUTF16(info.string_id_mid_sentence);
@@ -1058,6 +1071,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
@@ -1074,6 +1087,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
if (info.type == type)
return true;
}
@@ -3449,7 +3449,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
@@ -43,6 +43,7 @@
@@ -44,6 +44,7 @@
#include "third_party/blink/public/mojom/permissions_policy/permissions_policy_feature.mojom-blink-forward.h"
#include "third_party/blink/public/mojom/permissions_policy/policy_disposition.mojom-blink-forward.h"
#include "third_party/blink/public/mojom/v8_cache_options.mojom-blink-forward.h"
@@ -3457,7 +3457,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
#include "third_party/blink/renderer/bindings/core/v8/sanitize_script_errors.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/execution_context/security_context.h"
@@ -103,6 +104,10 @@ class SecurityOrigin;
@@ -104,6 +105,10 @@ class SecurityOrigin;
class ScriptState;
class ScriptWrappable;
class TrustedTypePolicyFactory;
+18 -18
View File
@@ -9169,7 +9169,7 @@ diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.
</message>
<message name="IDS_EXTENSIONS_NO_DESCRIPTION" desc="The message shown to the user when an extension does not have any description.">
No description provided
@@ -515,7 +515,7 @@
@@ -518,7 +518,7 @@
My extensions
</message>
<message name="IDS_EXTENSIONS_SIDEBAR_DISCOVER_MORE" desc="The text displayed in the sidebar to open the Chrome Web Store to get more extensions.">
@@ -9181,7 +9181,7 @@ diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -414,7 +414,7 @@
@@ -415,7 +415,7 @@
Change
</message>
<message name="IDS_SETTINGS_WEB_STORE" desc="Sub-label about choosing something from the Chrome Web Store.">
@@ -13135,7 +13135,7 @@ e)fqMZZ`3a)Ds&5H<cfp<0000<MNUMnLSTYHt&Yn8
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2061,6 +2061,7 @@ static_library("browser") {
@@ -2062,6 +2062,7 @@ static_library("browser") {
"//build:chromeos_buildflags",
"//build/config/chromebox_for_meetings:buildflags",
"//build/config/compiler:compiler_buildflags",
@@ -13158,7 +13158,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o
diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browser/prefs/chrome_pref_service_factory.cc
--- a/chrome/browser/prefs/chrome_pref_service_factory.cc
+++ b/chrome/browser/prefs/chrome_pref_service_factory.cc
@@ -24,6 +24,7 @@
@@ -25,6 +25,7 @@
#include "build/branding_buildflags.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
@@ -13166,7 +13166,7 @@ diff --git a/chrome/browser/prefs/chrome_pref_service_factory.cc b/chrome/browse
#include "chrome/browser/browser_process.h"
#include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h"
#include "chrome/browser/policy/chrome_browser_policy_connector.h"
@@ -277,10 +278,7 @@ std::unique_ptr<ProfilePrefStoreManager> CreateProfilePrefStoreManager(
@@ -291,10 +292,7 @@ std::unique_ptr<ProfilePrefStoreManager> CreateProfilePrefStoreManager(
#endif
std::string seed;
CHECK(ui::ResourceBundle::HasSharedInstance());
@@ -13224,7 +13224,7 @@ diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -2259,7 +2259,7 @@ Your Google account may have other forms of browsing history like searches and a
@@ -2438,7 +2438,7 @@ Your Google account may have other forms of browsing history like searches and a
About Chrome
</message>
<message name="IDS_LEGAL_INFORMATION_SUMMARY" desc="Summary for legal information" meaning="Android">
@@ -13236,7 +13236,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h
--- a/chrome/common/url_constants.h
+++ b/chrome/common/url_constants.h
@@ -132,7 +132,7 @@ inline constexpr char kChromeHelpViaMenuURL[] =
@@ -136,7 +136,7 @@ inline constexpr char kChromeHelpViaMenuURL[] =
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
inline constexpr char kChromeHelpViaWebUIURL[] =
@@ -13245,7 +13245,7 @@ diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h
#if BUILDFLAG(IS_CHROMEOS_ASH)
inline constexpr char kChromeOsHelpViaWebUIURL[] =
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
@@ -195,7 +195,7 @@ inline constexpr char kChromeUIUntrustedNewTabPageUrl[] =
@@ -199,7 +199,7 @@ inline constexpr char kChromeUIUntrustedNewTabPageUrl[] =
"chrome-untrusted://new-tab-page/";
// The URL for the Chromium project used in the About dialog.
@@ -13257,7 +13257,7 @@ diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h
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
@@ -977,7 +977,7 @@
@@ -983,7 +983,7 @@
<!-- Accessibility preferences -->
<message name="IDS_PREFS_ACCESSIBILITY" desc="Title of Accessibility settings, which allows the user to change webpage font sizes. [CHAR_LIMIT=32]">
@@ -18894,7 +18894,7 @@ diff --git a/components/version_ui/resources/about_version_mobile.css b/componen
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
@@ -620,7 +620,7 @@ void ResolveInvalidConfigurations() {
@@ -617,7 +617,7 @@ void ResolveInvalidConfigurations() {
base::FeatureList::IsEnabled(
features::kPrivacySandboxAdsAPIsM1Override)) &&
!base::FeatureList::IsEnabled(blink::features::kFencedFrames)) {
@@ -18903,7 +18903,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
<< "Fenced frames cannot be enabled in this configuration. Use --"
<< switches::kEnableFeatures << "="
<< blink::features::kFencedFrames.name << " instead.";
@@ -630,9 +630,8 @@ void ResolveInvalidConfigurations() {
@@ -627,9 +627,8 @@ void ResolveInvalidConfigurations() {
if (!base::FeatureList::IsEnabled(blink::features::kFencedFrames) &&
base::FeatureList::IsEnabled(
blink::features::kFencedFramesLocalUnpartitionedDataAccess)) {
@@ -18915,7 +18915,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
<< "Fenced frames must be enabled in order to enable local "
"unpartitioned "
<< "data access. Use --" << switches::kEnableFeatures << "="
@@ -645,7 +644,7 @@ void ResolveInvalidConfigurations() {
@@ -642,7 +641,7 @@ void ResolveInvalidConfigurations() {
// The Document API should be additionally gated by the
// `kBrowsingTopicsDocumentAPI` feature.
if (!base::FeatureList::IsEnabled(blink::features::kBrowsingTopics)) {
@@ -18924,7 +18924,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
<< "Topics cannot be enabled in this configuration. Use --"
<< switches::kEnableFeatures << "="
<< blink::features::kBrowsingTopics.name << " in addition.";
@@ -665,7 +664,7 @@ void ResolveInvalidConfigurations() {
@@ -662,7 +661,7 @@ void ResolveInvalidConfigurations() {
}
if (!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPI)) {
@@ -18933,7 +18933,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
<< "SharedStorage cannot be enabled in this "
"configuration. Use --"
<< switches::kEnableFeatures << "="
@@ -675,7 +674,7 @@ void ResolveInvalidConfigurations() {
@@ -672,7 +671,7 @@ void ResolveInvalidConfigurations() {
if (!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPIM118) ||
!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPI)) {
@@ -18942,7 +18942,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
<< "SharedStorage for M118+ cannot be enabled in this "
"configuration. Use --"
<< switches::kEnableFeatures << "="
@@ -686,7 +685,7 @@ void ResolveInvalidConfigurations() {
@@ -683,7 +682,7 @@ void ResolveInvalidConfigurations() {
if (!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPIM125) ||
!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPI)) {
@@ -18951,7 +18951,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
<< "SharedStorage for M125+ cannot be enabled in this "
"configuration. Use --"
<< switches::kEnableFeatures << "="
@@ -697,7 +696,7 @@ void ResolveInvalidConfigurations() {
@@ -694,7 +693,7 @@ void ResolveInvalidConfigurations() {
if (!base::FeatureList::IsEnabled(
attribution_reporting::features::kConversionMeasurement)) {
@@ -18960,7 +18960,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
<< "AttributionReporting cannot be enabled in this "
"configuration. Use --"
<< switches::kEnableFeatures << "="
@@ -710,8 +709,8 @@ void ResolveInvalidConfigurations() {
@@ -707,8 +706,8 @@ void ResolveInvalidConfigurations() {
attribution_reporting::features::kConversionMeasurement) ||
!base::FeatureList::IsEnabled(
network::features::kAttributionReportingCrossAppWeb)) {
@@ -18971,7 +18971,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
<< "AttributionReportingCrossAppWeb cannot be enabled in this "
"configuration. Use --"
<< switches::kEnableFeatures << "="
@@ -722,7 +721,7 @@ void ResolveInvalidConfigurations() {
@@ -719,7 +718,7 @@ void ResolveInvalidConfigurations() {
}
if (!base::FeatureList::IsEnabled(blink::features::kInterestGroupStorage)) {
+28 -37
View File
@@ -15,19 +15,19 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../chrome/browser/ui/RootUiCoordinator.java | 8 +-
.../Customize-selection-popup.grdp | 34 +++++
.../res/xml/accessibility_preferences.xml | 24 ++++
.../selection/SelectActionMenuHelper.java | 131 ++++++++++++------
.../selection/SelectActionMenuHelper.java | 129 ++++++++++++------
.../selection/SmartSelectionClient.java | 4 +
10 files changed, 193 insertions(+), 52 deletions(-)
10 files changed, 192 insertions(+), 51 deletions(-)
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Customize-selection-popup.grdp
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
@@ -148,9 +148,7 @@ public class ChromeActionModeHandler {
@@ -154,9 +154,7 @@ public class ChromeActionModeHandler {
| ActionModeCallbackHelper.MENU_ITEM_SHARE;
// Disable options that expose additional Chrome functionality prior to the FRE being
// completed (i.e. creation of a new tab).
- if (FirstRunStatus.getFirstRunFlowComplete()) {
- if (FirstRunStatus.getFirstRunFlowComplete() && mShowWebSearch) {
- allowedActionModes |= ActionModeCallbackHelper.MENU_ITEM_WEB_SEARCH;
- }
+ allowedActionModes |= ActionModeCallbackHelper.MENU_ITEM_WEB_SEARCH;
@@ -37,7 +37,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionMod
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
@@ -756,10 +756,17 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@@ -739,10 +739,17 @@ public class ChromeTabbedActivity extends ChromeActivity<ChromeActivityComponent
@TabLaunchType int type,
@TabCreationState int creationState,
boolean markedForSelection) {
@@ -112,7 +112,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/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
@@ -309,8 +309,13 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -344,8 +344,13 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
public void onOpenImageInNewTab(GURL url, Referrer referrer) {
LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec());
loadUrlParams.setReferrer(referrer);
@@ -126,7 +126,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
+ loadUrlParams, type, mTab, isIncognito());
}
@Override
/**
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
@@ -136,9 +136,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
import org.chromium.base.CallbackController;
+import org.chromium.base.ContextUtils;
import org.chromium.base.TraceEvent;
import org.chromium.base.lifetime.Destroyable;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.base.supplier.ObservableSupplier;
@@ -822,11 +823,16 @@ public class RootUiCoordinator
@@ -828,11 +829,16 @@ public class RootUiCoordinator
TrackerFactory.getTrackerForProfile(tab.getProfile())
.notifyEvent(EventConstants.WEB_SEARCH_PERFORMED);
@@ -230,7 +230,7 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java
@@ -28,6 +28,7 @@ import androidx.core.content.ContextCompat;
@@ -29,6 +29,7 @@ import androidx.core.content.ContextCompat;
import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
@@ -238,7 +238,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
import org.chromium.base.PackageManagerUtils;
import org.chromium.base.StrictModeContext;
import org.chromium.content.R;
@@ -53,38 +54,84 @@ import java.util.TreeSet;
@@ -55,38 +56,84 @@ import java.util.TreeSet;
public class SelectActionMenuHelper {
private static final String TAG = "SelectActionMenu"; // 20 char limit.
@@ -353,16 +353,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
}
@Retention(RetentionPolicy.SOURCE)
@@ -161,7 +208,7 @@ public class SelectActionMenuHelper {
if (!additionalMenuItems.isEmpty()) {
// Additional menu item group which comes after default menu items.
SelectionMenuGroup additionalItemGroup =
- new SelectionMenuGroup(Menu.NONE, GroupItemOrder.SECONDARY_ASSIST_ITEMS);
+ new SelectionMenuGroup(Menu.NONE, GroupItemOrderChromium.SECONDARY_ASSIST_ITEMS());
additionalItemGroup.addItems(additionalMenuItems);
pasteMenuItems.add(additionalItemGroup);
}
@@ -227,7 +274,7 @@ public class SelectActionMenuHelper {
@@ -198,7 +245,7 @@ public class SelectActionMenuHelper {
}
SelectionMenuGroup primaryAssistGroup =
new SelectionMenuGroup(
@@ -371,7 +362,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
View.OnClickListener clickListener = null;
if (classificationResult.onClickListener != null) {
clickListener = classificationResult.onClickListener;
@@ -253,7 +300,7 @@ public class SelectActionMenuHelper {
@@ -224,7 +271,7 @@ public class SelectActionMenuHelper {
String selectedText) {
SelectionMenuGroup defaultGroup =
new SelectionMenuGroup(
@@ -380,16 +371,16 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
List<SelectionMenuItem.Builder> menuItemBuilders = new ArrayList<>();
menuItemBuilders.add(cut(delegate.canCut()));
menuItemBuilders.add(copy(delegate.canCopy()));
@@ -304,7 +351,7 @@ public class SelectActionMenuHelper {
// these menu items.
@@ -257,7 +304,7 @@ public class SelectActionMenuHelper {
// menu items if there is selected text.
@IdRes int groupId = selectedText.isEmpty() ? Menu.NONE : android.R.id.textAssist;
SelectionMenuGroup secondaryAssistItems =
new SelectionMenuGroup(
- android.R.id.textAssist, GroupItemOrder.SECONDARY_ASSIST_ITEMS);
+ android.R.id.textAssist, GroupItemOrderChromium.SECONDARY_ASSIST_ITEMS());
- new SelectionMenuGroup(groupId, GroupItemOrder.SECONDARY_ASSIST_ITEMS);
+ new SelectionMenuGroup(groupId, GroupItemOrderChromium.SECONDARY_ASSIST_ITEMS());
// First action is reserved for primary action so start at index 1.
final int startIndex = 1;
@@ -337,7 +384,7 @@ public class SelectActionMenuHelper {
if (selectedText.isEmpty() && selectionActionMenuDelegate != null) {
List<SelectionMenuItem> additionalMenuItems =
@@ -319,7 +366,7 @@ public class SelectActionMenuHelper {
SelectionMenuGroup textProcessingItems =
new SelectionMenuGroup(
R.id.select_action_menu_text_processing_items,
@@ -398,7 +389,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
if (isSelectionPassword || intentHandler == null) {
addAdditionalTextProcessingItems(textProcessingItems, selectionActionMenuDelegate);
return textProcessingItems;
@@ -444,7 +491,7 @@ public class SelectActionMenuHelper {
@@ -426,7 +473,7 @@ public class SelectActionMenuHelper {
.setId(R.id.select_action_menu_cut)
.setIconAttr(android.R.attr.actionModeCutDrawable)
.setAlphabeticShortcut(ItemKeyShortcuts.CUT)
@@ -407,7 +398,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled)
@@ -456,7 +503,7 @@ public class SelectActionMenuHelper {
@@ -438,7 +485,7 @@ public class SelectActionMenuHelper {
.setId(R.id.select_action_menu_copy)
.setIconAttr(android.R.attr.actionModeCopyDrawable)
.setAlphabeticShortcut(ItemKeyShortcuts.COPY)
@@ -416,7 +407,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled)
@@ -468,7 +515,7 @@ public class SelectActionMenuHelper {
@@ -450,7 +497,7 @@ public class SelectActionMenuHelper {
.setId(R.id.select_action_menu_paste)
.setIconAttr(android.R.attr.actionModePasteDrawable)
.setAlphabeticShortcut(ItemKeyShortcuts.PASTE)
@@ -425,7 +416,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled)
@@ -482,7 +529,7 @@ public class SelectActionMenuHelper {
@@ -464,7 +511,7 @@ public class SelectActionMenuHelper {
return new SelectionMenuItem.Builder(context.getString(R.string.actionbar_share))
.setId(R.id.select_action_menu_share)
.setIconAttr(android.R.attr.actionModeShareDrawable)
@@ -434,7 +425,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled)
@@ -494,7 +541,7 @@ public class SelectActionMenuHelper {
@@ -476,7 +523,7 @@ public class SelectActionMenuHelper {
.setId(R.id.select_action_menu_select_all)
.setIconAttr(android.R.attr.actionModeSelectAllDrawable)
.setAlphabeticShortcut(ItemKeyShortcuts.SELECT_ALL)
@@ -443,7 +434,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled)
@@ -507,7 +554,7 @@ public class SelectActionMenuHelper {
@@ -489,7 +536,7 @@ public class SelectActionMenuHelper {
SelectionMenuItem.Builder builder =
new SelectionMenuItem.Builder(android.R.string.paste_as_plain_text)
.setId(R.id.select_action_menu_paste_as_plain_text)
@@ -452,7 +443,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled);
@@ -527,7 +574,7 @@ public class SelectActionMenuHelper {
@@ -509,7 +556,7 @@ public class SelectActionMenuHelper {
return new SelectionMenuItem.Builder(context.getString(R.string.actionbar_web_search))
.setId(R.id.select_action_menu_web_search)
.setIconAttr(android.R.attr.actionModeWebSearchDrawable)
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
@@ -3305,8 +3305,8 @@
@@ -3395,8 +3395,8 @@
status: "stable",
},
{
@@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/re
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/LocationBarMediator.java
@@ -293,8 +293,17 @@ class LocationBarMediator
@@ -294,8 +294,17 @@ class LocationBarMediator
if (mNativeInitialized) RecordUserAction.record("FocusLocation");
// Don't clear Omnibox if the user just pasted text to NTP Omnibox.
if (mShouldClearOmniboxOnFocus) {
@@ -58,15 +58,15 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
import android.os.SystemClock;
import android.text.Editable;
import android.text.InputType;
@@ -102,6 +103,7 @@ public abstract class UrlBar extends AutocompleteEditText {
private boolean mFocused;
@@ -114,6 +115,7 @@ public class UrlBar extends AutocompleteEditText {
private boolean mAllowFocus = true;
private boolean mTypingStartedEventSent;
+ private boolean mPendingSelectAll;
private boolean mPendingScroll;
private int mLocationBarVerticalInset;
@@ -298,6 +300,27 @@ public abstract class UrlBar extends AutocompleteEditText {
// Captures the current intended text scroll type.
@@ -355,6 +357,27 @@ public class UrlBar extends AutocompleteEditText {
mPendingScroll = false;
}
fixupTextDirection();
@@ -28,7 +28,7 @@ diff --git a/third_party/blink/renderer/core/css/parser/css_supports_parser.cc b
diff --git a/third_party/blink/renderer/core/speculation_rules/document_rule_predicate.cc b/third_party/blink/renderer/core/speculation_rules/document_rule_predicate.cc
--- a/third_party/blink/renderer/core/speculation_rules/document_rule_predicate.cc
+++ b/third_party/blink/renderer/core/speculation_rules/document_rule_predicate.cc
@@ -604,7 +604,7 @@ DocumentRulePredicate* DocumentRulePredicate::Parse(
@@ -587,7 +587,7 @@ DocumentRulePredicate* DocumentRulePredicate::Parse(
HeapVector<Member<StyleRule>> selectors;
HeapVector<CSSSelector> arena;
CSSPropertyValueSet* empty_properties =
@@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/component_updater/registration.cc
--- a/chrome/browser/component_updater/registration.cc
+++ b/chrome/browser/component_updater/registration.cc
@@ -99,6 +99,7 @@
@@ -100,6 +100,7 @@
namespace component_updater {
void RegisterComponentsForUpdate() {
+6 -23
View File
@@ -4,31 +4,14 @@ Subject: Disable Compose feature
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/browser/extensions/api/settings_private/prefs_util.cc | 2 ++
components/compose/core/browser/compose_features.cc | 2 ++
components/compose/features.gni | 2 +-
3 files changed, 5 insertions(+), 1 deletion(-)
components/compose/core/browser/compose_features.cc | 2 ++
components/compose/features.gni | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
@@ -487,10 +487,12 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
(*s_allowlist)
[::permissions::prefs::kUnusedSitePermissionsRevocationEnabled] =
settings_api::PrefType::kBoolean;
+#if BUILDFLAG(ENABLE_COMPOSE)
(*s_allowlist)[prefs::kEnableProactiveNudge] =
settings_api::PrefType::kBoolean;
(*s_allowlist)[prefs::kProactiveNudgeDisabledSitesWithTime] =
settings_api::PrefType::kDictionary;
+#endif
// Clear browsing data settings.
(*s_allowlist)[browsing_data::prefs::kDeleteBrowsingHistory] =
diff --git a/components/compose/core/browser/compose_features.cc b/components/compose/core/browser/compose_features.cc
--- a/components/compose/core/browser/compose_features.cc
+++ b/components/compose/core/browser/compose_features.cc
@@ -83,4 +83,6 @@ BASE_FEATURE(kEnableNudgeForUnspecifiedHint,
@@ -91,4 +91,6 @@ BASE_FEATURE(kEnableNudgeForUnspecifiedHint,
BASE_FEATURE(kEnableAdditionalTextMetrics,
"EnableAdditionalTextMetrics",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -38,11 +21,11 @@ diff --git a/components/compose/core/browser/compose_features.cc b/components/co
diff --git a/components/compose/features.gni b/components/compose/features.gni
--- a/components/compose/features.gni
+++ b/components/compose/features.gni
@@ -4,5 +4,5 @@
@@ -6,5 +6,5 @@ import("//build/config/chromeos/ui_mode.gni")
declare_args() {
# Whether Compose is enabled in the build.
- enable_compose = is_mac || is_win || is_linux || is_chromeos
- enable_compose = is_mac || is_win || is_linux || is_chromeos_ash
+ enable_compose = false
}
--
@@ -10,25 +10,23 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
@@ -689,16 +689,18 @@
@@ -738,14 +738,16 @@
}
},
{
- name: "CompressionDictionaryTransport",
+ name: "CompressionDictionaryTransport", // need to be disabled
+ status: "experimental",
base_feature: "none",
origin_trial_feature_name: "CompressionDictionaryTransportV3",
origin_trial_allows_third_party: true,
public: true,
+ status: "experimental",
},
{
- name: "CompressionDictionaryTransportBackend",
+ name: "CompressionDictionaryTransportBackend", // need to be disabled
+ status: "experimental",
base_feature: "none",
public: true,
+ status: "experimental",
},
{
name: "ComputedAccessibilityInfo",
--
+1 -1
View File
@@ -26,7 +26,7 @@ new file mode 100644
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
@@ -1532,7 +1532,7 @@
@@ -1641,7 +1641,7 @@
{
name: "FedCm",
public: true,
+4 -4
View File
@@ -155,7 +155,7 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c
import static org.chromium.chrome.browser.ui.google_bottom_bar.GoogleBottomBarLogger.GoogleBottomBarButtonEvent.SEARCHBOX_HOME;
import static org.chromium.chrome.browser.ui.google_bottom_bar.GoogleBottomBarLogger.GoogleBottomBarButtonEvent.SEARCHBOX_LENS;
import static org.chromium.chrome.browser.ui.google_bottom_bar.GoogleBottomBarLogger.GoogleBottomBarButtonEvent.SEARCHBOX_SEARCH;
@@ -106,11 +103,6 @@ class GoogleBottomBarActionsHandler {
@@ -102,11 +99,6 @@ class GoogleBottomBarActionsHandler {
}
void onSearchboxMicTap() {
@@ -166,8 +166,8 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c
- startGoogleAppActivityForResult(intent, "openGoogleAppVoiceSearch");
}
void onSearchboxLensTap() {
@@ -148,21 +140,13 @@ class GoogleBottomBarActionsHandler {
void onSearchboxLensTap(View buttonView) {
@@ -145,21 +137,13 @@ class GoogleBottomBarActionsHandler {
}
private void openGoogleAppSearch() {
@@ -190,7 +190,7 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c
intent.putExtra(EXTRA_IS_LAUNCHED_FROM_CHROME_SEARCH_ENTRYPOINT, true);
if (PackageManagerUtils.canResolveActivity(intent)) {
@@ -285,6 +269,7 @@ class GoogleBottomBarActionsHandler {
@@ -271,6 +255,7 @@ class GoogleBottomBarActionsHandler {
}
private void sendPendingIntentWithUrl(PendingIntent pendingIntent) {
@@ -58,7 +58,7 @@ new file mode 100644
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
@@ -2200,9 +2200,9 @@
@@ -2336,9 +2336,9 @@
status: {"Android": "test", "default": "stable"},
},
{
@@ -10,11 +10,11 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/paint_preview/StartupPaintPreviewHelper.java
@@ -113,7 +113,7 @@ public class StartupPaintPreviewHelper {
* feature is not enabled this is effectively a no-op.
*/
public static void setShouldShowOnRestore(boolean shouldShowOnRestore) {
- sShouldShowOnRestore = shouldShowOnRestore;
@@ -107,7 +107,7 @@ public class StartupPaintPreviewHelper {
/** Enables Paint Preview show attempt on restoration of a tab. */
public static void enableShowOnRestore() {
- sShouldShowOnRestore = true;
+ sShouldShowOnRestore = false;
}
+1 -1
View File
@@ -24,7 +24,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc
--- a/chrome/browser/ui/webui/settings/settings_ui.cc
+++ b/chrome/browser/ui/webui/settings/settings_ui.cc
@@ -365,8 +365,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
@@ -359,8 +359,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
#endif // !BUILDFLAG(IS_CHROMEOS_LACROS)
bool show_privacy_guide =
@@ -1,18 +0,0 @@
From: uazo <uazo@users.noreply.github.com>
Date: Mon, 15 May 2023 12:33:18 +0000
Subject: Disable PrivateStateTokens API
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../public/cpp/features_cc/Disable-PrivateStateTokens-API.inc | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Disable-PrivateStateTokens-API.inc
diff --git a/cromite_flags/services/network/public/cpp/features_cc/Disable-PrivateStateTokens-API.inc b/cromite_flags/services/network/public/cpp/features_cc/Disable-PrivateStateTokens-API.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/services/network/public/cpp/features_cc/Disable-PrivateStateTokens-API.inc
@@ -0,0 +1,2 @@
+SET_CROMITE_FEATURE_DISABLED(kPrivateStateTokens);
+SET_CROMITE_FEATURE_DISABLED(kFledgePst);
--
+9 -9
View File
@@ -13,7 +13,7 @@ Real-box is search box in ntp
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
@@ -2350,7 +2350,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -2135,7 +2135,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
registry->RegisterBooleanPref(
prefs::kLensRegionSearchEnabled, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
@@ -25,7 +25,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/resources/new_tab_page/app.html
--- a/chrome/browser/resources/new_tab_page/app.html
+++ b/chrome/browser/resources/new_tab_page/app.html
@@ -440,13 +440,6 @@
@@ -429,13 +429,6 @@
hidden$="[[!logoEnabled_]]">
</ntp-logo>
<div id="realboxContainer">
@@ -42,7 +42,7 @@ diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/res
diff --git a/chrome/browser/ui/webui/searchbox/searchbox_handler.cc b/chrome/browser/ui/webui/searchbox/searchbox_handler.cc
--- a/chrome/browser/ui/webui/searchbox/searchbox_handler.cc
+++ b/chrome/browser/ui/webui/searchbox/searchbox_handler.cc
@@ -455,6 +455,7 @@ void SearchboxHandler::SetupWebUIDataSource(content::WebUIDataSource* source,
@@ -457,6 +457,7 @@ void SearchboxHandler::SetupWebUIDataSource(content::WebUIDataSource* source,
Profile* profile,
bool enable_voice_search,
bool enable_lens_search) {
@@ -53,18 +53,18 @@ diff --git a/chrome/browser/ui/webui/searchbox/searchbox_handler.cc b/chrome/bro
diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc
--- a/components/search/ntp_features.cc
+++ b/components/search/ntp_features.cc
@@ -176,7 +176,7 @@ BASE_FEATURE(kNtpHandleMostVisitedNavigationExplicitly,
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -169,7 +169,7 @@ BASE_FEATURE(kNtpHandleMostVisitedNavigationExplicitly,
// If enabled, logo will be shown.
// This is a kill switch. Keep indefinitely.
-BASE_FEATURE(kNtpLogo, "NtpLogo", base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kNtpLogo, "NtpLogo", base::FEATURE_DISABLED_BY_DEFAULT);
// If enabled, logo will fill up less vertical space.
BASE_FEATURE(kNtpReducedLogoSpace,
@@ -253,8 +253,8 @@ BASE_FEATURE(kNtpMostVisitedReflowOnOverflow,
// If enabled, middle slot promo will be shown.
// This is a kill switch. Keep indefinitely.
@@ -237,8 +237,8 @@ BASE_FEATURE(kNtpModulesRedesigned,
// If enabled, OneGoogleBar will be shown.
// This is a kill switch. Keep indefinitely.
BASE_FEATURE(kNtpOneGoogleBar,
- "NtpOneGoogleBar",
- base::FEATURE_ENABLED_BY_DEFAULT);
@@ -1,32 +0,0 @@
From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Wed, 16 Nov 2022 11:18:07 +0100
Subject: Disable StartSurface feature
This feature would normally show a search box but leads to crashes.
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../org/chromium/chrome/browser/flags/ChromeFeatureList.java | 2 +-
.../chrome_feature_list_cc/Disable-StartSurface-feature.inc | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-StartSurface-feature.inc
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
@@ -672,7 +672,7 @@ public abstract class ChromeFeatureList {
public static final CachedFlag sSmallerTabStripTitleLimit =
newCachedFlag(SMALLER_TAB_STRIP_TITLE_LIMIT, true);
public static final CachedFlag sStartSurfaceAndroid =
- newCachedFlag(START_SURFACE_ANDROID, true);
+ newCachedFlag(START_SURFACE_ANDROID, false);
public static final CachedFlag sStartSurfaceReturnTime =
newCachedFlag(START_SURFACE_RETURN_TIME, true);
public static final CachedFlag sStopAppIndexingReport =
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-StartSurface-feature.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-StartSurface-feature.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-StartSurface-feature.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kStartSurfaceAndroid);
--
+7 -7
View File
@@ -90,7 +90,7 @@ diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
--- a/net/quic/quic_session_pool.cc
+++ b/net/quic/quic_session_pool.cc
@@ -78,6 +78,7 @@
@@ -80,6 +80,7 @@
#include "net/third_party/quiche/src/quiche/quic/platform/api/quic_flags.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
#include "third_party/boringssl/src/include/openssl/aead.h"
@@ -98,7 +98,7 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
#include "url/gurl.h"
#include "url/scheme_host_port.h"
#include "url/url_constants.h"
@@ -195,6 +196,38 @@ void LogUsingExistingSession(const NetLogWithSource& request_net_log,
@@ -215,6 +216,38 @@ void LogUsingExistingSession(const NetLogWithSource& request_net_log,
} // namespace
@@ -137,7 +137,7 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
QuicSessionRequest::QuicSessionRequest(QuicSessionPool* pool) : pool_(pool) {}
QuicSessionRequest::~QuicSessionRequest() {
@@ -1881,7 +1914,7 @@ QuicSessionPool::CreateCryptoConfigHandle(
@@ -1958,7 +1991,7 @@ QuicSessionPool::CreateCryptoConfigHandle(
cert_verifier_, transport_security_state_, sct_auditing_delegate_,
HostsFromOrigins(params_.origins_to_force_quic_on),
actual_network_anonymization_key),
@@ -149,7 +149,7 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc
--- a/net/socket/ssl_client_socket_impl.cc
+++ b/net/socket/ssl_client_socket_impl.cc
@@ -293,7 +293,33 @@ SSLClientSocketImpl::SSLClientSocketImpl(
@@ -292,7 +292,33 @@ SSLClientSocketImpl::SSLClientSocketImpl(
CHECK(context_);
}
@@ -183,7 +183,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
Disconnect();
}
@@ -677,6 +703,8 @@ int SSLClientSocketImpl::Init() {
@@ -676,6 +702,8 @@ int SSLClientSocketImpl::Init() {
}
if (session)
SSL_set_session(ssl_.get(), session.get());
@@ -192,7 +192,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
}
const int kBufferSize = GetDefaultOpenSSLBufferSize();
@@ -963,6 +991,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) {
@@ -962,6 +990,35 @@ int SSLClientSocketImpl::DoHandshakeComplete(int result) {
: SSLHandshakeDetails::kTLS13Full;
}
}
@@ -228,7 +228,7 @@ diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket
UMA_HISTOGRAM_ENUMERATION("Net.SSLHandshakeDetails", details);
// Measure TLS connections that implement the renegotiation_info extension.
@@ -1588,6 +1645,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const {
@@ -1587,6 +1644,8 @@ bool SSLClientSocketImpl::IsRenegotiationAllowed() const {
}
bool SSLClientSocketImpl::IsCachingEnabled() const {
+2 -2
View File
@@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
@@ -572,6 +572,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
@@ -569,6 +569,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
WebRuntimeFeatures::EnableV8IdleTasks(true);
}
@@ -24,7 +24,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
--- a/gpu/config/gpu_finch_features.cc
+++ b/gpu/config/gpu_finch_features.cc
@@ -276,7 +276,7 @@ BASE_FEATURE(kEnableDrDc,
@@ -278,7 +278,7 @@ BASE_FEATURE(kEnableDrDc,
// enabled by default on supported platforms.
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \
BUILDFLAG(IS_ANDROID)
+45 -24
View File
@@ -11,6 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../optimization_guide/chrome_hints_manager.cc | 1 +
.../model_validator_keyed_service.cc | 6 +++++-
.../optimization_guide_keyed_service.cc | 1 -
.../predictors/autocomplete_action_predictor.cc | 2 ++
.../predictors/loading_predictor_config.cc | 4 ++--
chrome/browser/predictors/predictors_features.cc | 3 +--
chrome/browser/ui/tab_helpers.cc | 1 -
@@ -27,7 +28,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/optimization_guide/features.gni | 3 +--
.../core/page_content_annotations_features.cc | 5 +++++
components/search/ntp_features.cc | 3 +++
.../Disable-all-predictors-code.inc | 4 ++++
.../Disable-all-predictors-code.inc | 3 +++
.../Disable-all-predictors-code.inc | 1 +
.../Disable-all-predictors-code.inc | 1 +
.../features_cc/Disable-all-predictors-code.inc | 4 ++++
.../features_cc/Disable-all-predictors-code.inc | 1 +
@@ -35,8 +37,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
services/webnn/features.gni | 2 +-
.../document_speculation_rules.cc | 1 +
.../platform/runtime_enabled_features.json5 | 2 +-
30 files changed, 67 insertions(+), 35 deletions(-)
32 files changed, 69 insertions(+), 35 deletions(-)
create mode 100644 cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-all-predictors-code.inc
create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc
create mode 100644 cromite_flags/components/permissions/features_cc/Disable-all-predictors-code.inc
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Disable-all-predictors-code.inc
@@ -65,14 +68,15 @@ diff --git a/chrome/browser/navigation_predictor/preloading_model_keyed_service.
namespace {
// The model takes all of its inputs as floats, so this is a convenience
@@ -28,12 +29,14 @@ constexpr float ToInput(base::TimeDelta val) {
@@ -28,6 +29,7 @@ constexpr float ToInput(base::TimeDelta val) {
static_assert(1.0f == ToInput(true));
} // namespace
+#endif
PreloadingModelKeyedService::Inputs::Inputs() = default;
PreloadingModelKeyedService::Inputs::Inputs(const Inputs& other) = default;
@@ -37,6 +39,7 @@ PreloadingModelKeyedService::Inputs::operator=(const Inputs& other) = default;
PreloadingModelKeyedService::PreloadingModelKeyedService(
OptimizationGuideKeyedService* optimization_guide_keyed_service) {
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
@@ -156,7 +160,7 @@ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc
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
@@ -544,7 +544,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
@@ -553,7 +553,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
void OptimizationGuideKeyedService::RegisterOptimizationTypes(
const std::vector<optimization_guide::proto::OptimizationType>&
optimization_types) {
@@ -164,6 +168,18 @@ diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.
}
optimization_guide::OptimizationGuideDecision
diff --git a/chrome/browser/predictors/autocomplete_action_predictor.cc b/chrome/browser/predictors/autocomplete_action_predictor.cc
--- a/chrome/browser/predictors/autocomplete_action_predictor.cc
+++ b/chrome/browser/predictors/autocomplete_action_predictor.cc
@@ -209,6 +209,8 @@ void AutocompleteActionPredictor::StartPrerendering(
SetIsNavigationInDomainCallback(preloading_data);
+ if ((true)) return; // was kOmniboxTriggerForPrerender2
+
// Create new PreloadingAttempt and pass all the values corresponding to this
// prerendering attempt for Prerender.
content::PreloadingAttempt* preloading_attempt =
diff --git a/chrome/browser/predictors/loading_predictor_config.cc b/chrome/browser/predictors/loading_predictor_config.cc
--- a/chrome/browser/predictors/loading_predictor_config.cc
+++ b/chrome/browser/predictors/loading_predictor_config.cc
@@ -194,7 +210,7 @@ diff --git a/chrome/browser/predictors/predictors_features.cc b/chrome/browser/p
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
@@ -435,7 +435,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -433,7 +433,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
}
MixedContentSettingsTabHelper::CreateForWebContents(web_contents);
NavigationMetricsRecorder::CreateForWebContents(web_contents);
@@ -255,7 +271,7 @@ diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc
diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/components/autofill/core/browser/autofill_optimization_guide.cc
--- a/components/autofill/core/browser/autofill_optimization_guide.cc
+++ b/components/autofill/core/browser/autofill_optimization_guide.cc
@@ -172,6 +172,7 @@ void AutofillOptimizationGuide::OnDidParseForm(
@@ -194,6 +194,7 @@ void AutofillOptimizationGuide::OnDidParseForm(
// If we do not have any optimization types to register, do not do anything.
if (!optimization_types.empty()) {
// Register all optimization types that we need based on `form_structure`.
@@ -263,8 +279,8 @@ diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/c
decider_->RegisterOptimizationTypes(
std::vector<optimization_guide::proto::OptimizationType>(
std::move(optimization_types).extract()));
@@ -223,7 +224,7 @@ bool AutofillOptimizationGuide::ShouldBlockSingleFieldSuggestions(
AutofillField* field) const {
@@ -245,7 +246,7 @@ bool AutofillOptimizationGuide::ShouldBlockSingleFieldSuggestions(
const AutofillField* field) const {
// If the field's storable type is `IBAN_VALUE`, check whether IBAN
// suggestions should be blocked based on `url`.
- if (field->Type().GetStorableType() == IBAN_VALUE) {
@@ -272,7 +288,7 @@ diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/c
optimization_guide::OptimizationGuideDecision decision =
decider_->CanApplyOptimization(
url, optimization_guide::proto::IBAN_AUTOFILL_BLOCKED,
@@ -249,7 +250,7 @@ bool AutofillOptimizationGuide::ShouldBlockFormFieldSuggestion(
@@ -271,7 +272,7 @@ bool AutofillOptimizationGuide::ShouldBlockFormFieldSuggestion(
const CreditCard& card) const {
if (auto optimization_type =
GetVcnMerchantOptOutOptimizationTypeForCard(card);
@@ -284,7 +300,7 @@ diff --git a/components/autofill/core/browser/autofill_optimization_guide.cc b/c
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
--- a/components/omnibox/browser/autocomplete_controller.cc
+++ b/components/omnibox/browser/autocomplete_controller.cc
@@ -46,7 +46,9 @@
@@ -47,7 +47,9 @@
#include "components/omnibox/browser/autocomplete_input.h"
#include "components/omnibox/browser/autocomplete_match_type.h"
#include "components/omnibox/browser/autocomplete_provider.h"
@@ -294,7 +310,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
#include "components/omnibox/browser/autocomplete_scoring_signals_annotator.h"
#include "components/omnibox/browser/bookmark_provider.h"
#include "components/omnibox/browser/bookmark_scoring_signals_annotator.h"
@@ -119,6 +121,7 @@ using ProviderType = AutocompleteProvider::Type;
@@ -121,6 +123,7 @@ using ProviderType = AutocompleteProvider::Type;
constexpr bool is_android = !!BUILDFLAG(IS_ANDROID);
@@ -302,7 +318,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
void RecordMlScoreCoverage(size_t matches_with_non_null_scores,
size_t total_scored_matches) {
int percent_score_coverage =
@@ -207,6 +210,7 @@ void RecordScoringSignalCoverageForProvider(
@@ -218,6 +221,7 @@ void RecordScoringSignalCoverageForProvider(
pair.second);
}
}
@@ -313,7 +329,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
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
@@ -185,6 +185,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints(
@@ -198,6 +198,7 @@ bool HintsFetcher::FetchOptimizationGuideServiceHints(
bool skip_cache,
HintsFetchedCallback hints_fetched_callback,
std::optional<proto::RequestContextMetadata> request_context_metadata) {
@@ -353,7 +369,7 @@ diff --git a/components/optimization_guide/core/hints_manager.cc b/components/op
diff --git a/components/optimization_guide/core/optimization_guide_features.cc b/components/optimization_guide/core/optimization_guide_features.cc
--- a/components/optimization_guide/core/optimization_guide_features.cc
+++ b/components/optimization_guide/core/optimization_guide_features.cc
@@ -37,11 +37,7 @@ namespace features {
@@ -38,11 +38,7 @@ namespace features {
namespace {
constexpr auto enabled_by_default_mobile_only =
@@ -365,7 +381,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
} // namespace
@@ -430,8 +426,7 @@ size_t MaxURLKeyedHintCacheSize() {
@@ -437,8 +433,7 @@ size_t MaxURLKeyedHintCacheSize() {
}
bool ShouldPersistHintsToDisk() {
@@ -375,7 +391,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
}
RequestContextSet GetAllowedContextsForPersonalizedMetadata() {
@@ -871,5 +866,13 @@ int GetOnDeviceModelValidationAttemptCount() {
@@ -887,5 +882,13 @@ int GetOnDeviceModelValidationAttemptCount() {
return kParam.Get();
}
@@ -466,10 +482,10 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f
diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc
--- a/components/search/ntp_features.cc
+++ b/components/search/ntp_features.cc
@@ -574,4 +574,7 @@ std::vector<std::string> GetModulesOrder() {
base::SplitResult::SPLIT_WANT_NONEMPTY);
@@ -583,4 +583,7 @@ int GetWallpaperSearchButtonAnimationShownThreshold() {
kNtpWallpaperSearchButtonAnimationShownThreshold,
kNtpWallpaperSearchButtonAnimationShownThresholdParam, 15);
}
+SET_CROMITE_FEATURE_DISABLED(kNtpHistoryClustersModule);
+SET_CROMITE_FEATURE_DISABLED(kNtpHistoryClustersModuleLoad);
+SET_CROMITE_FEATURE_DISABLED(kNtpHistoryClustersModuleUseModelRanking);
@@ -478,11 +494,16 @@ diff --git a/cromite_flags/chrome/browser/browser_features_cc/Disable-all-predic
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc
@@ -0,0 +1,4 @@
+SET_CROMITE_FEATURE_DISABLED(kOmniboxTriggerForPrerender2);
@@ -0,0 +1,3 @@
+SET_CROMITE_FEATURE_DISABLED(kBookmarkTriggerForPrerender2);
+SET_CROMITE_FEATURE_DISABLED(kNewTabPageTriggerForPrerender2);
+SET_CROMITE_FEATURE_DISABLED(kSupportSearchSuggestionForPrerender2);
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-all-predictors-code.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-all-predictors-code.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-all-predictors-code.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kNewTabPageAndroidTriggerForPrerender2);
diff --git a/cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc b/cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc
new file mode 100644
--- /dev/null
@@ -526,7 +547,7 @@ diff --git a/services/webnn/features.gni b/services/webnn/features.gni
diff --git a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc
--- a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc
+++ b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc
@@ -660,6 +660,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() {
@@ -656,6 +656,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() {
return;
}
@@ -537,7 +558,7 @@ diff --git a/third_party/blink/renderer/core/speculation_rules/document_speculat
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
@@ -3115,7 +3115,7 @@
@@ -3209,7 +3209,7 @@
//
// It also has some feature params defined throughout the codebase.
name: "Prerender2",
@@ -17,7 +17,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.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
@@ -1312,6 +1312,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -1310,6 +1310,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
}
private boolean maybeShowPromo(Profile profile) {
@@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -144,7 +144,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -148,7 +148,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kEnterpriseHardwarePlatformAPIEnabled,
false);
@@ -40,18 +40,18 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
diff --git a/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc b/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc
--- a/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc
+++ b/chrome/browser/ui/views/user_education/browser_feature_promo_controller.cc
@@ -75,6 +75,7 @@ ui::ElementContext BrowserFeaturePromoController::GetAnchorContext() const {
@@ -78,6 +78,7 @@ ui::ElementContext BrowserFeaturePromoController::GetAnchorContext() const {
bool BrowserFeaturePromoController::CanShowPromoForElement(
ui::TrackedElement* anchor_element) const {
+ if ((true)) return false;
auto* const profile = browser_view_->GetProfile();
// Turn off IPH while a required privacy interstitial is visible or pending.
// Trying to show an IPH while the browser is closing can cause problems;
// see crbug.com/346461762 for an example.
if (browser_view_->browser()->IsBrowserClosing()) {
diff --git a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java b/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java
--- a/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java
+++ b/chrome/browser/user_education/java/src/org/chromium/chrome/browser/user_education/UserEducationHelper.java
@@ -125,6 +125,7 @@ public class UserEducationHelper {
@@ -126,6 +126,7 @@ public class UserEducationHelper {
}
private void showIPH(Tracker tracker, IPHCommand iphCommand) {
@@ -30,25 +30,21 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/AttributionOsLevelManager.java | 349 +-----------------
.../public/browser/content_browser_client.cc | 7 +-
.../public/browser/navigation_controller.cc | 1 -
.../Disable-conversion-measurement-api.inc | 1 +
.../Disable-conversion-measurement-api.inc | 1 +
.../Disable-conversion-measurement-api.inc | 1 +
.../Disable-conversion-measurement-api.inc | 3 +
.../Disable-conversion-measurement-api.inc | 9 +
.../attribution/request_headers_internal.cc | 1 +
.../network/public/cpp/attribution_utils.cc | 2 +
third_party/blink/renderer/core/page/page.cc | 2 +-
.../platform/runtime_enabled_features.json5 | 1 +
.../platform/runtime_enabled_features.json5 | 10 +-
ui/events/android/motion_event_android.cc | 6 +-
28 files changed, 73 insertions(+), 376 deletions(-)
create mode 100644 cromite_flags/content/common/features_cc/Disable-conversion-measurement-api.inc
create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-conversion-measurement-api.inc
26 files changed, 77 insertions(+), 381 deletions(-)
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Disable-conversion-measurement-api.inc
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Disable-conversion-measurement-api.inc
diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc
--- a/android_webview/browser/aw_content_browser_client.cc
+++ b/android_webview/browser/aw_content_browser_client.cc
@@ -1246,6 +1246,7 @@ network::mojom::AttributionSupport
@@ -1277,6 +1277,7 @@ network::mojom::AttributionSupport
AwContentBrowserClient::GetAttributionSupport(
AttributionReportingOsApiState state,
bool client_os_disabled) {
@@ -56,7 +52,7 @@ diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webv
// WebView only supports OS-level attribution and not web-attribution.
switch (state) {
case AttributionReportingOsApiState::kDisabled:
@@ -1264,6 +1265,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed(
@@ -1295,6 +1296,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* destination_origin,
const url::Origin* reporting_origin,
bool* can_bypass) {
@@ -77,7 +73,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.ja
@SpeculativeLoadingAllowedFlags
private int mSpeculativeLoadingAllowedFlags =
@@ -1773,7 +1773,7 @@ public class AwSettings {
@@ -1781,7 +1781,7 @@ public class AwSettings {
public void setAttributionBehavior(@AttributionBehavior int behavior) {
synchronized (mAwSettingsLock) {
if (mAttributionBehavior != behavior) {
@@ -110,7 +106,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
diff --git a/components/attribution_reporting/aggregatable_trigger_config.cc b/components/attribution_reporting/aggregatable_trigger_config.cc
--- a/components/attribution_reporting/aggregatable_trigger_config.cc
+++ b/components/attribution_reporting/aggregatable_trigger_config.cc
@@ -86,7 +86,7 @@ bool IsValid(SourceRegistrationTimeConfig source_registration_time_config,
@@ -109,7 +109,7 @@ bool IsValid(SourceRegistrationTimeConfig source_registration_time_config,
base::expected<std::optional<std::string>, TriggerRegistrationError>
ParseTriggerContextId(base::Value* value) {
@@ -122,9 +118,9 @@ diff --git a/components/attribution_reporting/aggregatable_trigger_config.cc b/c
diff --git a/components/attribution_reporting/features.cc b/components/attribution_reporting/features.cc
--- a/components/attribution_reporting/features.cc
+++ b/components/attribution_reporting/features.cc
@@ -17,4 +17,5 @@ BASE_FEATURE(kAttributionAggregatableDebugReporting,
"AttributionAggregatableDebugReporting",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -29,4 +29,5 @@ BASE_FEATURE(kAttributionScopes,
"AttributionScopes",
base::FEATURE_DISABLED_BY_DEFAULT);
+SET_CROMITE_FEATURE_DISABLED(kConversionMeasurement);
} // namespace attribution_reporting::features
@@ -154,7 +150,7 @@ diff --git a/components/renderer_context_menu/render_view_context_menu_base.cc b
diff --git a/content/browser/aggregation_service/aggregatable_report_sender.cc b/content/browser/aggregation_service/aggregatable_report_sender.cc
--- a/content/browser/aggregation_service/aggregatable_report_sender.cc
+++ b/content/browser/aggregation_service/aggregatable_report_sender.cc
@@ -138,19 +138,18 @@ void AggregatableReportSender::SendReport(const GURL& url,
@@ -180,20 +180,19 @@ void AggregatableReportSender::SendReport(const GURL& url,
// Allow bodies of non-2xx responses to be returned.
simple_url_loader_ptr->SetAllowHttpErrorResults(true);
@@ -163,24 +159,25 @@ diff --git a/content/browser/aggregation_service/aggregatable_report_sender.cc b
- simple_url_loader_ptr->DownloadHeadersOnly(
- url_loader_factory_.get(),
- base::BindOnce(&AggregatableReportSender::OnReportSent,
- base::Unretained(this), std::move(it),
- std::move(callback)));
- base::Unretained(this), std::move(it), std::move(callback),
- delay_type));
+ // this is never called on Bromite but nothing would be sent if it were
+ OnReportSent(std::move(it), std::move(callback), nullptr);
+ OnReportSent(std::move(it), std::move(callback), delay_type, nullptr);
}
void AggregatableReportSender::OnReportSent(
UrlLoaderList::iterator it,
ReportSentCallback callback,
std::optional<DelayType> delay_type,
- scoped_refptr<net::HttpResponseHeaders> headers) {
+ scoped_refptr<net::HttpResponseHeaders> headers) { // disable in Bromite
+ if ((true)) {
+ std::move(callback).Run(RequestStatus::kOk);
+ return;
+ }
RequestStatus status;
std::optional<int> http_response_code;
if (headers) {
http_response_code = headers->response_code();
diff --git a/content/browser/aggregation_service/aggregation_service_features.cc b/content/browser/aggregation_service/aggregation_service_features.cc
--- a/content/browser/aggregation_service/aggregation_service_features.cc
+++ b/content/browser/aggregation_service/aggregation_service_features.cc
@@ -193,7 +190,7 @@ diff --git a/content/browser/aggregation_service/aggregation_service_features.cc
diff --git a/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc b/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc
--- a/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc
+++ b/content/browser/attribution_reporting/attribution_data_host_manager_impl.cc
@@ -1134,6 +1134,7 @@ void AttributionDataHostManagerImpl::ParseHeader(
@@ -1132,6 +1132,7 @@ void AttributionDataHostManagerImpl::ParseHeader(
HeaderPendingDecode pending_decode,
Registrar registrar) {
CHECK(it != registrations_.end());
@@ -204,7 +201,7 @@ diff --git a/content/browser/attribution_reporting/attribution_data_host_manager
diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content/browser/attribution_reporting/attribution_host.cc
--- a/content/browser/attribution_reporting/attribution_host.cc
+++ b/content/browser/attribution_reporting/attribution_host.cc
@@ -258,6 +258,7 @@ void AttributionHost::NotifyNavigationRegistrationData(
@@ -257,6 +257,7 @@ void AttributionHost::NotifyNavigationRegistrationData(
return;
}
@@ -236,23 +233,23 @@ diff --git a/content/browser/attribution_reporting/attribution_report_network_se
--- a/content/browser/attribution_reporting/attribution_report_network_sender.cc
+++ b/content/browser/attribution_reporting/attribution_report_network_sender.cc
@@ -125,6 +125,9 @@ void AttributionReportNetworkSender::SendReport(GURL url,
url::Origin origin,
const std::string& body,
net::HttpRequestHeaders headers,
UrlLoaderCallback callback) {
+ // this is never called on Bromite but nothing would be sent if it were
+ if ((true)) return;
+
auto resource_request = std::make_unique<network::ResourceRequest>();
resource_request->url = std::move(url);
resource_request->headers = std::move(headers);
@@ -200,6 +203,12 @@ void AttributionReportNetworkSender::OnReportSent(
resource_request->method = net::HttpRequestHeaders::kPostMethod;
@@ -199,6 +202,12 @@ void AttributionReportNetworkSender::OnReportSent(
ReportSentCallback sent_callback,
UrlLoaderList::iterator it,
scoped_refptr<net::HttpResponseHeaders> headers) {
+ if ((true)) {
+ std::move(sent_callback)
+ .Run(std::move(report),
+ SendResult(SendResult::Status::kSent, headers ? headers->response_code() : 200));
+ .Run(report,
+ SendResult::Sent(SendResult::Sent::Result::kSent, 200));
+ return;
+ }
network::SimpleURLLoader* loader = it->get();
@@ -261,7 +258,7 @@ diff --git a/content/browser/attribution_reporting/attribution_report_network_se
diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/content/browser/attribution_reporting/attribution_storage_sql.cc
--- a/content/browser/attribution_reporting/attribution_storage_sql.cc
+++ b/content/browser/attribution_reporting/attribution_storage_sql.cc
@@ -471,14 +471,16 @@ base::FilePath DatabasePath(const base::FilePath& user_data_directory) {
@@ -489,6 +489,8 @@ base::FilePath DatabasePath(const base::FilePath& user_data_directory) {
return user_data_directory.Append(kDatabasePath);
}
@@ -269,6 +266,8 @@ diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/
+
} // namespace
// static
@@ -511,9 +513,9 @@ bool AttributionStorageSql::Transaction::Commit() {
AttributionStorageSql::AttributionStorageSql(
const base::FilePath& user_data_directory,
AttributionResolverDelegate* delegate)
@@ -284,7 +283,7 @@ 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
@@ -1488,15 +1488,6 @@ void StoragePartitionImpl::Initialize(
@@ -1428,15 +1428,6 @@ void StoragePartitionImpl::Initialize(
bucket_manager_ = std::make_unique<BucketManager>(this);
@@ -303,7 +302,7 @@ diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage
diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
--- a/content/public/android/BUILD.gn
+++ b/content/public/android/BUILD.gn
@@ -189,8 +189,6 @@ android_library("content_full_java") {
@@ -196,8 +196,6 @@ android_library("content_full_java") {
"//third_party/androidx:androidx_appcompat_appcompat_resources_java",
"//third_party/androidx:androidx_collection_collection_java",
"//third_party/androidx:androidx_core_core_java",
@@ -777,7 +776,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Attrib
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
--- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc
@@ -550,6 +550,7 @@ void ContentBrowserClient::OnAuctionComplete(
@@ -561,6 +561,7 @@ void ContentBrowserClient::OnAuctionComplete(
network::mojom::AttributionSupport ContentBrowserClient::GetAttributionSupport(
AttributionReportingOsApiState state,
bool client_os_disabled) {
@@ -785,7 +784,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
switch (state) {
case AttributionReportingOsApiState::kDisabled:
return network::mojom::AttributionSupport::kWeb;
@@ -567,13 +568,13 @@ bool ContentBrowserClient::IsAttributionReportingOperationAllowed(
@@ -578,13 +579,13 @@ bool ContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* destination_origin,
const url::Origin* reporting_origin,
bool* can_bypass) {
@@ -801,7 +800,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
}
bool ContentBrowserClient::IsAttributionReportingAllowedForContext(
@@ -581,7 +582,7 @@ bool ContentBrowserClient::IsAttributionReportingAllowedForContext(
@@ -592,7 +593,7 @@ bool ContentBrowserClient::IsAttributionReportingAllowedForContext(
content::RenderFrameHost* rfh,
const url::Origin& context_origin,
const url::Origin& reporting_origin) {
@@ -818,27 +817,17 @@ diff --git a/content/public/browser/navigation_controller.cc b/content/public/br
href_translate(input.href_translate),
reload_type(input.reload_type),
- impression(input.impression),
is_pdf(input.is_pdf) {
is_pdf(input.is_pdf),
has_rel_opener(input.has_rel_opener) {
#if DCHECK_IS_ON()
DCHECK(input.Valid());
diff --git a/cromite_flags/content/common/features_cc/Disable-conversion-measurement-api.inc b/cromite_flags/content/common/features_cc/Disable-conversion-measurement-api.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/content/common/features_cc/Disable-conversion-measurement-api.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kAttributionReportingCrossAppWebOverride);
diff --git a/cromite_flags/content/public/common/content_features_cc/Disable-conversion-measurement-api.inc b/cromite_flags/content/public/common/content_features_cc/Disable-conversion-measurement-api.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/content/public/common/content_features_cc/Disable-conversion-measurement-api.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxAdsAPIsOverride);
diff --git a/cromite_flags/services/network/public/cpp/features_cc/Disable-conversion-measurement-api.inc b/cromite_flags/services/network/public/cpp/features_cc/Disable-conversion-measurement-api.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/services/network/public/cpp/features_cc/Disable-conversion-measurement-api.inc
@@ -0,0 +1 @@
@@ -0,0 +1,3 @@
+SET_CROMITE_FEATURE_DISABLED(kAttributionReportingCrossAppWeb);
+SET_CROMITE_FEATURE_DISABLED(kPrivateStateTokens);
+SET_CROMITE_FEATURE_DISABLED(kFledgePst);
diff --git a/cromite_flags/third_party/blink/common/features_cc/Disable-conversion-measurement-api.inc b/cromite_flags/third_party/blink/common/features_cc/Disable-conversion-measurement-api.inc
new file mode 100644
--- /dev/null
@@ -849,9 +838,9 @@ new file mode 100644
+SET_CROMITE_FEATURE_DISABLED(kBrowsingTopics);
+SET_CROMITE_FEATURE_DISABLED(kBrowsingTopicsDocumentAPI);
+SET_CROMITE_FEATURE_DISABLED(kBrowsingTopicsParameters);
+SET_CROMITE_FEATURE_DISABLED(kFledge);
+SET_CROMITE_FEATURE_DISABLED(kFledgeBiddingAndAuctionServer);
+SET_CROMITE_FEATURE_DISABLED(kInterestGroupStorage);
+SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxAdsAPIs);
+SET_CROMITE_FEATURE_DISABLED(kPrivateAggregationApi);
diff --git a/services/network/attribution/request_headers_internal.cc b/services/network/attribution/request_headers_internal.cc
--- a/services/network/attribution/request_headers_internal.cc
@@ -867,7 +856,7 @@ diff --git a/services/network/attribution/request_headers_internal.cc b/services
diff --git a/services/network/public/cpp/attribution_utils.cc b/services/network/public/cpp/attribution_utils.cc
--- a/services/network/public/cpp/attribution_utils.cc
+++ b/services/network/public/cpp/attribution_utils.cc
@@ -9,6 +9,7 @@
@@ -10,6 +10,7 @@
namespace network {
bool HasAttributionOsSupport(mojom::AttributionSupport attribution_support) {
@@ -875,7 +864,7 @@ diff --git a/services/network/public/cpp/attribution_utils.cc b/services/network
switch (attribution_support) {
case mojom::AttributionSupport::kOs:
case mojom::AttributionSupport::kWebAndOs:
@@ -20,6 +21,7 @@ bool HasAttributionOsSupport(mojom::AttributionSupport attribution_support) {
@@ -23,6 +24,7 @@ bool HasAttributionOsSupport(mojom::AttributionSupport attribution_support) {
}
bool HasAttributionWebSupport(mojom::AttributionSupport attribution_support) {
@@ -886,7 +875,7 @@ diff --git a/services/network/public/cpp/attribution_utils.cc b/services/network
diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/renderer/core/page/page.cc
--- a/third_party/blink/renderer/core/page/page.cc
+++ b/third_party/blink/renderer/core/page/page.cc
@@ -1436,7 +1436,7 @@ void Page::UpdateBrowsingContextGroup(
@@ -1543,7 +1543,7 @@ void Page::UpdateBrowsingContextGroup(
void Page::SetAttributionSupport(
network::mojom::AttributionSupport attribution_support) {
@@ -898,14 +887,51 @@ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/re
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
@@ -4022,6 +4022,7 @@
@@ -279,7 +279,7 @@
{
// Interest Group JS API/runtimeflag.
name: "AdInterestGroupAPI",
- status: "stable",
+ status: "experimental",
origin_trial_feature_name: "AdInterestGroupAPI",
implied_by: ["Fledge", "Parakeet"],
public: true,
@@ -368,15 +368,15 @@
},
{
name: "AttributionReporting",
- status: "stable",
+ status: "experimental",
base_feature: "none",
public: true,
},
{
name: "AttributionReportingCrossAppWeb",
+ status: "experimental",
base_feature: "none",
public: true,
- status: "stable",
},
{
// This only exists so we can use RuntimeEnabled in the IDL file
@@ -4097,15 +4097,15 @@
},
{
name: "TopicsAPI",
+ status: "experimental",
base_feature: "none",
origin_trial_feature_name: "PrivacySandboxAdsAPIs",
origin_trial_allows_third_party: true,
public: true,
- status: "stable",
},
{
name: "TopicsDocumentAPI",
+ status: "experimental",
base_feature: "none",
public: true,
- status: "stable",
},
{
name: "TopLevelTpcd",
diff --git a/ui/events/android/motion_event_android.cc b/ui/events/android/motion_event_android.cc
--- a/ui/events/android/motion_event_android.cc
+++ b/ui/events/android/motion_event_android.cc
+1 -1
View File
@@ -11,7 +11,7 @@ Subject: Disable crash reporting
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
@@ -2584,15 +2584,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
@@ -2715,15 +2715,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
base::NumberToString(pid));
}
#endif
+5 -4
View File
@@ -1,7 +1,8 @@
From: Your Name <you@example.com>
From: uazo <uazo@users.noreply.github.com>
Date: Sun, 26 Feb 2023 19:46:04 +0000
Subject: Disable csp reports
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
third_party/blink/renderer/core/loader/ping_loader.cc | 3 +++
1 file changed, 3 insertions(+)
@@ -25,10 +26,10 @@ diff --git a/third_party/blink/renderer/core/loader/ping_loader.cc b/third_party
if (!ping_url.ProtocolIsInHTTPFamily())
return;
@@ -147,6 +149,7 @@ void PingLoader::SendLinkAuditPing(LocalFrame* frame,
void PingLoader::SendViolationReport(ExecutionContext* execution_context,
@@ -148,6 +150,7 @@ void PingLoader::SendViolationReport(ExecutionContext* execution_context,
const KURL& report_url,
scoped_refptr<EncodedFormData> report) {
scoped_refptr<EncodedFormData> report,
bool is_frame_ancestors_violation) {
+ if ((true)) return;
ResourceRequest request(report_url);
request.SetHttpMethod(http_names::kPOST);
@@ -6,16 +6,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/BUILD.gn | 9 +++++++++
chrome/browser/feed/android/web_feed_bridge.cc | 18 ++++++++++++++++++
chrome/browser/prefs/browser_prefs.cc | 4 ++--
components/feed/core/common/pref_names.cc | 13 +------------
chrome/browser/prefs/browser_prefs.cc | 10 +++++-----
.../feed/core/shared_prefs/pref_names.cc | 2 +-
components/feed/feed_feature_list.cc | 3 +++
6 files changed, 34 insertions(+), 15 deletions(-)
5 files changed, 36 insertions(+), 6 deletions(-)
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -2663,6 +2663,15 @@ static_library("browser") {
@@ -2658,6 +2658,15 @@ static_library("browser") {
]
}
@@ -42,7 +41,7 @@ diff --git a/chrome/browser/feed/android/web_feed_bridge.cc b/chrome/browser/fee
#include "components/feed/core/v2/config.h"
#include "components/feed/core/v2/public/feed_service.h"
#include "components/feed/core/v2/public/types.h"
@@ -80,10 +81,14 @@ base::android::ScopedJavaLocalRef<jbyteArray> ToJavaWebFeedId(
@@ -81,10 +82,14 @@ base::android::ScopedJavaLocalRef<jbyteArray> ToJavaWebFeedId(
}
WebFeedSubscriptions* GetSubscriptions() {
@@ -57,7 +56,7 @@ diff --git a/chrome/browser/feed/android/web_feed_bridge.cc b/chrome/browser/fee
}
FeedApi* GetStream() {
@@ -219,10 +224,14 @@ static void JNI_WebFeedBridge_FollowWebFeed(
@@ -220,10 +225,14 @@ static void JNI_WebFeedBridge_FollowWebFeed(
return;
}
@@ -72,7 +71,7 @@ diff --git a/chrome/browser/feed/android/web_feed_bridge.cc b/chrome/browser/fee
}
static jboolean JNI_WebFeedBridge_IsCormorantEnabledForLocale(JNIEnv* env) {
@@ -266,11 +275,16 @@ static void JNI_WebFeedBridge_UnfollowWebFeed(
@@ -264,11 +273,16 @@ static void JNI_WebFeedBridge_UnfollowWebFeed(
auto callback =
AdaptCallbackForJava<WebFeedSubscriptions::UnfollowWebFeedResult>(
env, j_callback);
@@ -89,7 +88,7 @@ diff --git a/chrome/browser/feed/android/web_feed_bridge.cc b/chrome/browser/fee
}
static void JNI_WebFeedBridge_FindWebFeedInfoForPage(
@@ -282,6 +296,7 @@ static void JNI_WebFeedBridge_FindWebFeedInfoForPage(
@@ -280,6 +294,7 @@ static void JNI_WebFeedBridge_FindWebFeedInfoForPage(
AdaptCallbackForJava<WebFeedMetadata>(env, j_callback);
PageInformation page_info = ToNativePageInformation(env, pageInfo);
@@ -97,7 +96,7 @@ diff --git a/chrome/browser/feed/android/web_feed_bridge.cc b/chrome/browser/fee
// Make sure web_contents is not NULL since the user might navigate away from
// the current tab that is requested to find info.
if (!page_info.web_contents) {
@@ -292,6 +307,9 @@ static void JNI_WebFeedBridge_FindWebFeedInfoForPage(
@@ -290,6 +305,9 @@ static void JNI_WebFeedBridge_FindWebFeedInfoForPage(
page_info.web_contents,
static_cast<WebFeedPageInformationRequestReason>(reason),
std::move(callback));
@@ -110,7 +109,21 @@ diff --git a/chrome/browser/feed/android/web_feed_bridge.cc b/chrome/browser/fee
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
@@ -2109,10 +2109,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -251,11 +251,11 @@
#endif
#include "components/feed/buildflags.h"
-#if BUILDFLAG(ENABLE_FEED_V2)
+//#if BUILDFLAG(ENABLE_FEED_V2)
#include "components/feed/core/common/pref_names.h" // nogncheck
#include "components/feed/core/shared_prefs/pref_names.h" // nogncheck
#include "components/feed/core/v2/ios_shared_prefs.h" // nogncheck
-#endif
+//#endif
#if BUILDFLAG(IS_ANDROID)
#include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h"
@@ -1898,10 +1898,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
ChromeRLZTrackerDelegate::RegisterProfilePrefs(registry);
#endif
@@ -123,29 +136,15 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#if BUILDFLAG(IS_ANDROID)
cdm::MediaDrmStorageImpl::RegisterProfilePrefs(registry);
diff --git a/components/feed/core/common/pref_names.cc b/components/feed/core/common/pref_names.cc
--- a/components/feed/core/common/pref_names.cc
+++ b/components/feed/core/common/pref_names.cc
@@ -107,18 +107,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
}
void MigrateObsoleteProfilePrefsOct_2022(PrefService* prefs) {
- const base::Value* val =
- prefs->GetUserPrefValue(prefs::kExperimentsDeprecated);
- const base::Value::Dict* old = val ? val->GetIfDict() : nullptr;
- if (old) {
- base::Value::Dict dict;
- for (const auto kv : *old) {
- base::Value::List list;
- list.Append(kv.second.GetString());
- dict.Set(kv.first, std::move(list));
- }
- prefs->SetDict(feed::prefs::kExperimentsV2, std::move(dict));
- }
+ prefs->ClearPref(feed::prefs::kExperimentsV2);
prefs->ClearPref(prefs::kExperimentsDeprecated);
}
@@ -2688,7 +2688,7 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs,
syncer::SyncPrefs::MaybeMigrateAutofillToPerAccountPref(profile_prefs);
#endif // !BUILDFLAG(IS_ANDROID)
-#if BUILDFLAG(IS_ANDROID)
+#if BUILDFLAG(IS_ANDROID) && BUILDFLAG(ENABLE_FEED_V2)
// Added 06/2024
feed::prefs::MigrateObsoleteFeedExperimentPref_Jun_2024(profile_prefs);
#endif // BUILDFLAG(IS_ANDROID)
diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/core/shared_prefs/pref_names.cc
--- a/components/feed/core/shared_prefs/pref_names.cc
+++ b/components/feed/core/shared_prefs/pref_names.cc
@@ -161,7 +160,7 @@ diff --git a/components/feed/core/shared_prefs/pref_names.cc b/components/feed/c
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
@@ -161,4 +161,7 @@ bool IsWebFeedEnabledForLocale(const std::string& country) {
@@ -150,4 +150,7 @@ bool IsWebFeedEnabledForLocale(const std::string& country) {
!base::FeatureList::IsEnabled(kWebFeedKillSwitch);
}
@@ -93,7 +93,7 @@ diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/s
diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/SafeModeVariationsSeedContentProvider.java b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/SafeModeVariationsSeedContentProvider.java
--- a/android_webview/nonembedded/java/src/org/chromium/android_webview/services/SafeModeVariationsSeedContentProvider.java
+++ b/android_webview/nonembedded/java/src/org/chromium/android_webview/services/SafeModeVariationsSeedContentProvider.java
@@ -88,11 +88,6 @@ public class SafeModeVariationsSeedContentProvider extends ContentProvider {
@@ -86,11 +86,6 @@ public class SafeModeVariationsSeedContentProvider extends ContentProvider {
private Boolean awaitSeedResults() {
CountDownLatch countDownLatch = new CountDownLatch(1);
@@ -141,7 +141,7 @@ diff --git a/chrome/browser/metrics/chrome_browser_sampling_trials.cc b/chrome/b
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
@@ -856,7 +856,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams(
@@ -836,7 +836,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams(
void SystemNetworkContextManager::ConfigureDefaultNetworkContextParams(
network::mojom::NetworkContextParams* network_context_params) {
@@ -177,7 +177,7 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari
diff --git a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java
--- a/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java
+++ b/components/variations/android/java/src/org/chromium/components/variations/firstrun/VariationsSeedFetcher.java
@@ -469,39 +469,13 @@ public class VariationsSeedFetcher {
@@ -472,39 +472,13 @@ public class VariationsSeedFetcher {
*/
public void fetchSeed(String restrictMode, String milestone, String channel) {
assert !ThreadUtils.runningOnUiThread();
@@ -221,7 +221,7 @@ diff --git a/components/variations/android/java/src/org/chromium/components/vari
}
private void recordFetchResultOrCode(int resultOrCode) {
@@ -553,7 +527,7 @@ public class VariationsSeedFetcher {
@@ -556,7 +530,7 @@ public class VariationsSeedFetcher {
* @param curSeedInfo optional currently saved seed info to set the `If-None-Match` header.
* @return the object holds the request result and seed data with its related header fields.
*/
@@ -352,7 +352,7 @@ diff --git a/content/browser/loader/url_loader_throttles.cc b/content/browser/lo
ClientHintsControllerDelegate* client_hint_delegate =
browser_context->GetClientHintsControllerDelegate();
@@ -137,11 +135,6 @@ CreateContentBrowserURLLoaderThrottlesForKeepAlive(
@@ -138,11 +136,6 @@ CreateContentBrowserURLLoaderThrottlesForKeepAlive(
GetContentClient()->browser()->CreateURLLoaderThrottlesForKeepAlive(
request, browser_context, wc_getter, frame_tree_node_id);
variations::OmniboxURLLoaderThrottle::AppendThrottleIfNeeded(&throttles);
@@ -404,7 +404,7 @@ new file mode 100644
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
@@ -202,13 +202,6 @@ WebVector<int> CopyInitiatorOriginTrials(
@@ -205,13 +205,6 @@ WebVector<int> CopyInitiatorOriginTrials(
const Vector<mojom::blink::OriginTrialFeature>&
initiator_origin_trial_features) {
WebVector<int> result;
+2 -2
View File
@@ -31,7 +31,7 @@ new file mode 100644
diff --git a/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5 b/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5
--- a/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5
+++ b/third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5
@@ -297,6 +297,7 @@
@@ -302,6 +302,7 @@
{
name: "IdleDetection",
permissions_policy_name: "idle-detection",
@@ -55,7 +55,7 @@ diff --git a/third_party/blink/renderer/modules/idle/idle_detector.idl b/third_p
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
@@ -2094,6 +2094,11 @@
@@ -2225,6 +2225,11 @@
name: "IgnoresCSSTextTransformsForPlainTextCopy",
status: "stable",
},
@@ -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
@@ -393,8 +393,8 @@ BASE_FEATURE(kOmniboxSteadyStateTextColor,
@@ -383,8 +383,8 @@ BASE_FEATURE(kOmniboxSteadyStateTextColor,
// used, on non-Android platforms this is controlled through the
// ChromeRefresh2023 flag.
BASE_FEATURE(kUpdatedConnectionSecurityIndicators,
@@ -15,7 +15,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
@@ -110,6 +110,7 @@ void ClearMediaRouterStoredPrefsForTesting() {
@@ -119,6 +119,7 @@ void ClearMediaRouterStoredPrefsForTesting() {
}
bool MediaRouterEnabled(content::BrowserContext* context) {
@@ -23,7 +23,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;
@@ -152,7 +153,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -161,7 +162,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterStringPref(prefs::kMediaRouterReceiverIdHashToken, "",
PrefRegistry::PUBLIC);
registry->RegisterBooleanPref(
@@ -32,7 +32,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
registry->RegisterBooleanPref(
media_router::prefs::kMediaRouterShowCastSessionsStartedByOtherDevices,
true);
@@ -223,4 +224,7 @@ std::optional<base::TimeDelta> GetCastMirroringPlayoutDelay() {
@@ -232,4 +233,7 @@ std::optional<base::TimeDelta> GetCastMirroringPlayoutDelay() {
#endif // !BUILDFLAG(IS_ANDROID)
@@ -43,7 +43,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
@@ -423,7 +423,7 @@ void ProfileImpl::RegisterProfilePrefs(
@@ -424,7 +424,7 @@ void ProfileImpl::RegisterProfilePrefs(
#endif
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);
@@ -55,7 +55,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
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
@@ -572,6 +572,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
@@ -569,6 +569,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
WebRuntimeFeatures::EnableBackForwardCache(
content::IsBackForwardCacheEnabled());
@@ -79,7 +79,7 @@ diff --git a/third_party/blink/renderer/modules/remoteplayback/remote_playback.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
@@ -3280,14 +3280,10 @@
@@ -3370,14 +3370,10 @@
base_feature: "none",
},
{
@@ -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
@@ -2256,9 +2256,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
@@ -2260,9 +2260,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
}
PluginData* LocalFrame::GetPluginData() const {
@@ -13,7 +13,7 @@ This feature can be used for fingerprinting as it exposes a user preference
diff --git a/third_party/blink/renderer/core/css/media_query_exp.cc b/third_party/blink/renderer/core/css/media_query_exp.cc
--- a/third_party/blink/renderer/core/css/media_query_exp.cc
+++ b/third_party/blink/renderer/core/css/media_query_exp.cc
@@ -115,7 +115,8 @@ static inline bool FeatureWithValidIdent(const String& media_feature,
@@ -120,7 +120,8 @@ static inline bool FeatureWithValidIdent(const String& media_feature,
ident == CSSValueID::kLess || ident == CSSValueID::kCustom;
}
@@ -51,7 +51,7 @@ diff --git a/third_party/blink/renderer/core/preferences/preference_manager.idl
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
@@ -3097,6 +3097,10 @@
@@ -3191,6 +3191,10 @@
name: "PrefersReducedData",
status: "experimental",
},
@@ -6,16 +6,18 @@ Need: Add-cromite-flags-support.patch
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/android/java/AndroidManifest.xml | 9 ---------
...sword_store_android_backend_dispatcher_bridge_impl.cc | 1 +
.../password_store_android_backend_bridge_helper_impl.cc | 1 +
.../android/password_store_android_local_backend.cc | 2 +-
.../generated_password_leak_detection_pref.cc | 3 +--
.../password_receiver_service_factory.cc | 2 +-
.../password_manager/password_sender_service_factory.cc | 2 +-
.../affiliations/core/browser/affiliation_backend.cc | 1 +
.../core/browser/affiliation_service_impl.cc | 4 ++++
components/affiliations/core/browser/facet_manager.cc | 4 ++++
.../leak_detection/leak_detection_check_factory_impl.cc | 5 +++++
.../browser/leak_detection/leak_detection_check_impl.cc | 3 +--
.../Disable-privacy-issues-in-password-manager.inc | 3 +++
10 files changed, 21 insertions(+), 14 deletions(-)
.../Disable-privacy-issues-in-password-manager.inc | 1 +
12 files changed, 21 insertions(+), 16 deletions(-)
create mode 100644 cromite_flags/components/password_manager/core/browser/features/password_features_cc/Disable-privacy-issues-in-password-manager.inc
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
@@ -37,12 +39,12 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<!-- Upgrade related -->
<receiver android:name="org.chromium.chrome.browser.upgrade.PackageReplacedBroadcastReceiver"
android:exported="false">
diff --git a/chrome/browser/password_manager/android/password_store_android_backend_dispatcher_bridge_impl.cc b/chrome/browser/password_manager/android/password_store_android_backend_dispatcher_bridge_impl.cc
--- a/chrome/browser/password_manager/android/password_store_android_backend_dispatcher_bridge_impl.cc
+++ b/chrome/browser/password_manager/android/password_store_android_backend_dispatcher_bridge_impl.cc
@@ -66,6 +66,7 @@ bool PasswordStoreAndroidBackendDispatcherBridge::
diff --git a/chrome/browser/password_manager/android/password_store_android_backend_bridge_helper_impl.cc b/chrome/browser/password_manager/android/password_store_android_backend_bridge_helper_impl.cc
--- a/chrome/browser/password_manager/android/password_store_android_backend_bridge_helper_impl.cc
+++ b/chrome/browser/password_manager/android/password_store_android_backend_bridge_helper_impl.cc
@@ -102,6 +102,7 @@ bool PasswordStoreAndroidBackendBridgeHelperImpl::
bool PasswordStoreAndroidBackendDispatcherBridge::
bool PasswordStoreAndroidBackendBridgeHelperImpl::
CanUseGetAllLoginsWithBrandingInfoAPI() {
+ if ((true)) return false;
base::android::BuildInfo* info = base::android::BuildInfo::GetInstance();
@@ -73,6 +75,30 @@ diff --git a/chrome/browser/password_manager/generated_password_leak_detection_p
}
// Returns whether the effective value of the Safe Browsing preferences for
diff --git a/chrome/browser/password_manager/password_receiver_service_factory.cc b/chrome/browser/password_manager/password_receiver_service_factory.cc
--- a/chrome/browser/password_manager/password_receiver_service_factory.cc
+++ b/chrome/browser/password_manager/password_receiver_service_factory.cc
@@ -55,7 +55,7 @@ PasswordReceiverServiceFactory::BuildServiceInstanceForBrowserContext(
content::BrowserContext* context) const {
// Password receiving on Android is handled in GMSCore, and hence no service
// should be instantiated.
-#if BUILDFLAG(IS_ANDROID)
+#if true
return nullptr;
#else
diff --git a/chrome/browser/password_manager/password_sender_service_factory.cc b/chrome/browser/password_manager/password_sender_service_factory.cc
--- a/chrome/browser/password_manager/password_sender_service_factory.cc
+++ b/chrome/browser/password_manager/password_sender_service_factory.cc
@@ -50,7 +50,7 @@ PasswordSenderServiceFactory::BuildServiceInstanceForBrowserContext(
content::BrowserContext* context) const {
// Password sending on Android is handled in GMSCore, and hence no service
// should be instantiated.
-#if BUILDFLAG(IS_ANDROID)
+#if true
return nullptr;
#else
diff --git a/components/affiliations/core/browser/affiliation_backend.cc b/components/affiliations/core/browser/affiliation_backend.cc
--- a/components/affiliations/core/browser/affiliation_backend.cc
+++ b/components/affiliations/core/browser/affiliation_backend.cc
@@ -144,8 +170,6 @@ diff --git a/cromite_flags/components/password_manager/core/browser/features/pas
new file mode 100644
--- /dev/null
+++ b/cromite_flags/components/password_manager/core/browser/features/password_features_cc/Disable-privacy-issues-in-password-manager.inc
@@ -0,0 +1,3 @@
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_ENABLED(kFillOnAccountSelect);
+SET_CROMITE_FEATURE_DISABLED(kPasswordManagerEnableReceiverService);
+SET_CROMITE_FEATURE_DISABLED(kPasswordManagerEnableSenderService);
--
+23 -15
View File
@@ -25,16 +25,18 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../tracking_protection_prefs.cc | 4 ++--
.../identity_manager/account_capabilities.cc | 2 +-
.../features_cc/Disable-privacy-sandbox.inc | 1 +
.../Disable-privacy-sandbox.inc | 1 +
.../features_cc/Disable-privacy-sandbox.inc | 4 ++++
third_party/blink/common/features.cc | 1 +
17 files changed, 40 insertions(+), 28 deletions(-)
18 files changed, 41 insertions(+), 28 deletions(-)
create mode 100644 cromite_flags/content/common/features_cc/Disable-privacy-sandbox.inc
create mode 100644 cromite_flags/content/public/common/content_features_cc/Disable-privacy-sandbox.inc
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Disable-privacy-sandbox.inc
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
@@ -3339,6 +3339,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed(
@@ -3483,6 +3483,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* destination_origin,
const url::Origin* reporting_origin,
bool* can_bypass) {
@@ -79,7 +81,7 @@ diff --git a/chrome/browser/first_party_sets/first_party_sets_policy_service.cc
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
@@ -1577,7 +1577,7 @@ void RegisterProfilePrefsForMigration(
@@ -1288,7 +1288,7 @@ void RegisterProfilePrefsForMigration(
registry->RegisterTimePref(kPlusAddressLastFetchedTime, base::Time());
// Deprecated 03/2024.
@@ -91,7 +93,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
diff --git a/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc b/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc
--- a/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc
+++ b/chrome/browser/privacy_sandbox/privacy_sandbox_service_impl.cc
@@ -471,7 +471,7 @@ bool PrivacySandboxServiceImpl::IsRestrictedNoticeEnabled() {
@@ -477,7 +477,7 @@ bool PrivacySandboxServiceImpl::IsRestrictedNoticeEnabled() {
void PrivacySandboxServiceImpl::SetFirstPartySetsDataAccessEnabled(
bool enabled) {
pref_service_->SetBoolean(prefs::kPrivacySandboxRelatedWebsiteSetsEnabled,
@@ -124,7 +126,7 @@ diff --git a/chrome/browser/ui/privacy_sandbox/privacy_sandbox_prompt.cc b/chrom
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
@@ -656,18 +656,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
@@ -657,18 +657,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
if (!visit_id)
return;
@@ -147,7 +149,7 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his
diff --git a/components/privacy_sandbox/privacy_sandbox_attestations/privacy_sandbox_attestations.cc b/components/privacy_sandbox/privacy_sandbox_attestations/privacy_sandbox_attestations.cc
--- a/components/privacy_sandbox/privacy_sandbox_attestations/privacy_sandbox_attestations.cc
+++ b/components/privacy_sandbox/privacy_sandbox_attestations/privacy_sandbox_attestations.cc
@@ -502,8 +502,6 @@ void PrivacySandboxAttestations::OnAttestationsParsed(
@@ -395,8 +395,6 @@ void PrivacySandboxAttestations::OnAttestationsParsed(
if (attestations_map.has_value() &&
(!file_version_.IsValid() || file_version_.CompareTo(version) < 0)) {
// Parsing succeeded and the attestations file has newer version.
@@ -155,13 +157,13 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_attestations/privacy_san
- attestations_map_ = std::move(attestations_map.value());
}
attestations_parse_progress_ = Progress::kFinished;
SetIsPreInstalled(is_pre_installed);
diff --git a/components/privacy_sandbox/privacy_sandbox_features.cc b/components/privacy_sandbox/privacy_sandbox_features.cc
--- a/components/privacy_sandbox/privacy_sandbox_features.cc
+++ b/components/privacy_sandbox/privacy_sandbox_features.cc
@@ -261,4 +261,8 @@ const base::FeatureParam<bool>
&kPrivacySandboxLocalNoticeConfirmation, "default-to-os-country",
false};
@@ -288,4 +288,8 @@ BASE_FEATURE(kPrivacySandboxMigratePrefsToNoticeConsentDataModel,
"PrivacySandboxMigratePrefsToNoticeConsentDataModel",
base::FEATURE_ENABLED_BY_DEFAULT);
+SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxSettings4);
+SET_CROMITE_FEATURE_ENABLED(kDisablePrivacySandboxPrompts);
@@ -171,7 +173,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_features.cc b/components
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
@@ -24,7 +24,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -25,7 +25,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(prefs::kPrivacySandboxM1FledgeEnabled, false);
registry->RegisterBooleanPref(prefs::kPrivacySandboxM1AdMeasurementEnabled,
false);
@@ -180,7 +182,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_prefs.cc b/components/pr
registry->RegisterTimePref(prefs::kPrivacySandboxTopicsDataAccessibleSince,
base::Time());
@@ -48,7 +48,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -49,7 +49,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
prefs::kPrivacySandboxFirstPartySetsDataAccessAllowedInitialized, false);
registry->RegisterBooleanPref(
@@ -270,7 +272,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_settings_impl.cc b/compo
diff --git a/components/privacy_sandbox/tracking_protection_prefs.cc b/components/privacy_sandbox/tracking_protection_prefs.cc
--- a/components/privacy_sandbox/tracking_protection_prefs.cc
+++ b/components/privacy_sandbox/tracking_protection_prefs.cc
@@ -53,14 +53,14 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
@@ -61,14 +61,14 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
// Tracking Protection Settings Prefs
registry->RegisterBooleanPref(
@@ -290,7 +292,7 @@ diff --git a/components/privacy_sandbox/tracking_protection_prefs.cc b/component
diff --git a/components/signin/public/identity_manager/account_capabilities.cc b/components/signin/public/identity_manager/account_capabilities.cc
--- a/components/signin/public/identity_manager/account_capabilities.cc
+++ b/components/signin/public/identity_manager/account_capabilities.cc
@@ -82,7 +82,7 @@ signin::Tribool AccountCapabilities::
@@ -86,7 +86,7 @@ signin::Tribool AccountCapabilities::
signin::Tribool AccountCapabilities::can_run_chrome_privacy_sandbox_trials()
const {
@@ -305,6 +307,12 @@ new file mode 100644
+++ b/cromite_flags/content/common/features_cc/Disable-privacy-sandbox.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxAdsAPIsM1Override);
diff --git a/cromite_flags/content/public/common/content_features_cc/Disable-privacy-sandbox.inc b/cromite_flags/content/public/common/content_features_cc/Disable-privacy-sandbox.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/content/public/common/content_features_cc/Disable-privacy-sandbox.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kPrivacySandboxAdsAPIsOverride);
diff --git a/cromite_flags/third_party/blink/common/features_cc/Disable-privacy-sandbox.inc b/cromite_flags/third_party/blink/common/features_cc/Disable-privacy-sandbox.inc
new file mode 100644
--- /dev/null
@@ -317,7 +325,7 @@ new file mode 100644
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
@@ -2601,6 +2601,7 @@ BASE_FEATURE(kWebviewAccelerateSmallCanvases,
@@ -2618,6 +2618,7 @@ BASE_FEATURE(kWebviewAccelerateSmallCanvases,
// constants for features in the section above.
bool IsAllowURNsInIframeEnabled() {
@@ -4,24 +4,25 @@ Subject: Disable references to fonts.googleapis.com
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../side_panel/read_anything/read_anything_toolbar.ts | 3 ---
.../content/browser/dom_distiller_viewer_source.cc | 2 +-
components/dom_distiller/core/html/dom_distiller_viewer.html | 2 --
components/dom_distiller/core/html/preview.html | 2 +-
.../dom_distiller/core/javascript/dom_distiller_viewer.js | 2 +-
third_party/crashpad/crashpad/doc/support/crashpad_doxygen.css | 3 +--
6 files changed, 4 insertions(+), 10 deletions(-)
.../side_panel/read_anything/read_anything_toolbar.ts | 4 +---
.../content/browser/dom_distiller_viewer_source.cc | 2 +-
components/dom_distiller/core/html/dom_distiller_viewer.html | 2 --
components/dom_distiller/core/html/preview.html | 2 +-
.../dom_distiller/core/javascript/dom_distiller_viewer.js | 2 +-
.../crashpad/crashpad/doc/support/crashpad_doxygen.css | 3 +--
6 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/chrome/browser/resources/side_panel/read_anything/read_anything_toolbar.ts b/chrome/browser/resources/side_panel/read_anything/read_anything_toolbar.ts
--- a/chrome/browser/resources/side_panel/read_anything/read_anything_toolbar.ts
+++ b/chrome/browser/resources/side_panel/read_anything/read_anything_toolbar.ts
@@ -472,9 +472,6 @@ export class ReadAnythingToolbarElement extends ReadAnythingToolbarElementBase {
@@ -432,9 +432,7 @@ export class ReadAnythingToolbarElement extends ReadAnythingToolbarElementBase {
const link = document.createElement('link');
link.rel = 'preload';
link.as = 'style';
- link.href =
- 'https://fonts.googleapis.com/css?family=Poppins|Comic+Neue|Lexend+Deca|' +
- 'EB+Garamond|STIX+Two+Text|Andika';
- link.href = 'https://fonts.googleapis.com/css?family=';
- link.href += chrome.readingMode.allFonts.join('|');
- link.href = link.href.replace(' ', '+');
+ this.setFontsLoaded();
link.addEventListener('load', () => {
link.media = 'all';
@@ -26,7 +26,7 @@ diff --git a/net/http/http_server_properties_manager.cc b/net/http/http_server_p
diff --git a/net/http/http_stream_factory_job_controller.cc b/net/http/http_stream_factory_job_controller.cc
--- a/net/http/http_stream_factory_job_controller.cc
+++ b/net/http/http_stream_factory_job_controller.cc
@@ -1260,11 +1260,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal(
@@ -1284,11 +1284,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal(
// single user on a multi-user system to hijack the alternate protocol.
// These systems also enforce ports <1024 as restricted ports. So don't
// allow protocol upgrades to user-controllable ports.
@@ -39,7 +39,7 @@ diff --git a/net/http/http_stream_factory_job_controller.cc b/net/http/http_stre
continue;
}
@@ -1308,8 +1304,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal(
@@ -1332,8 +1328,7 @@ HttpStreamFactory::JobController::GetAlternativeServiceInfoInternal(
GURL destination = CreateAltSvcUrl(
original_url, alternative_service_info.host_port_pair());
+25 -23
View File
@@ -8,15 +8,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/android/chrome_java_sources.gni | 1 -
.../android/java/res/xml/main_preferences.xml | 5 -----
.../browser/settings/SettingsActivity.java | 19 -------------------
.../settings/SettingsLauncherImpl.java | 6 ++----
.../settings/SettingsLauncherImpl.java | 8 ++------
chrome/browser/BUILD.gn | 1 -
.../suggestions/action/OmniboxPedal.java | 3 ---
7 files changed, 2 insertions(+), 38 deletions(-)
7 files changed, 2 insertions(+), 40 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -438,7 +438,6 @@ if (current_toolchain == default_toolchain) {
@@ -458,7 +458,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/recent_tabs:helper_java",
"//chrome/browser/recent_tabs:java",
"//chrome/browser/safe_browsing/android:java",
@@ -24,7 +24,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//chrome/browser/safety_hub/android:java",
"//chrome/browser/screenshot_monitor:java",
"//chrome/browser/search_engines/android:java",
@@ -1101,8 +1100,6 @@ if (current_toolchain == default_toolchain) {
@@ -1112,8 +1111,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/recent_tabs:java",
"//chrome/browser/recent_tabs:junit",
"//chrome/browser/recent_tabs/internal:junit",
@@ -33,8 +33,8 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//chrome/browser/safety_hub/android:java",
"//chrome/browser/safety_hub/android:junit",
"//chrome/browser/screenshot_monitor:java",
@@ -1754,8 +1751,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/quick_delete:javatests",
@@ -1769,8 +1766,6 @@ if (current_toolchain == default_toolchain) {
"//chrome/browser/readaloud/android:java",
"//chrome/browser/safe_browsing/android:java",
"//chrome/browser/safe_browsing/android:javatests",
- "//chrome/browser/safety_check/android:java",
@@ -45,7 +45,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
@@ -996,7 +996,6 @@ chrome_java_sources = [
@@ -992,7 +992,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",
@@ -82,7 +82,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import org.chromium.chrome.browser.safety_hub.SafetyHubBaseFragment;
import org.chromium.chrome.browser.safety_hub.SafetyHubFragment;
import org.chromium.chrome.browser.safety_hub.SafetyHubModuleDelegateImpl;
@@ -595,21 +591,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -593,21 +589,6 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
baseSiteSettingsFragment.setCustomTabIntentHelper(
LaunchIntentDispatcher::createCustomTabActivityIntent);
}
@@ -93,7 +93,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
- new SafetyCheckUpdatesDelegateImpl(),
- new SafetyCheckBridge(mProfile),
- mSettingsLauncher,
- SigninAndHistoryOptInActivityLauncherImpl.get(),
- SigninAndHistorySyncActivityLauncherImpl.get(),
- SyncConsentActivityLauncherImpl.get(),
- getModalDialogManagerSupplier(),
- SyncServiceFactory.getForProfile(mProfile),
@@ -107,37 +107,39 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java
@@ -21,7 +21,6 @@ import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataFragment;
import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataFragmentAdvanced;
@@ -23,7 +23,6 @@ import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataFragmentAdvanc
import org.chromium.chrome.browser.browsing_data.ClearBrowsingDataTabsFragment;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.password_manager.settings.PasswordSettings;
-import org.chromium.chrome.browser.safety_check.SafetyCheckSettingsFragment;
import org.chromium.chrome.browser.safety_hub.SafetyHubFragment;
import org.chromium.chrome.browser.sync.settings.GoogleServicesSettings;
import org.chromium.chrome.browser.sync.settings.ManageSyncSettings;
import org.chromium.components.browser_ui.settings.SettingsLauncher;
@@ -58,8 +57,7 @@ public class SettingsLauncherImpl implements SettingsLauncher {
@@ -61,10 +60,7 @@ public class SettingsLauncherImpl implements SettingsLauncher {
/* isFetcherSuppliedFromOutside= */ false);
break;
case SettingsFragment.SAFETY_CHECK:
- fragmentArgs = SafetyCheckSettingsFragment.createBundle(true);
- if (!ChromeFeatureList.sSafetyHub.isEnabled()) {
- fragmentArgs = SafetyCheckSettingsFragment.createBundle(true);
- }
- break;
+ return;
case SettingsFragment.MAIN:
case SettingsFragment.PAYMENT_METHODS:
case SettingsFragment.SITE:
@@ -132,7 +130,7 @@ public class SettingsLauncherImpl implements SettingsLauncher {
case SettingsFragment.PAYMENT_METHODS:
return AutofillPaymentMethodsFragment.class;
case SettingsFragment.SAFETY_CHECK:
- return SafetyCheckSettingsFragment.class;
+ return null;
@@ -140,7 +136,7 @@ public class SettingsLauncherImpl implements SettingsLauncher {
if (ChromeFeatureList.sSafetyHub.isEnabled()) {
return SafetyHubFragment.class;
} else {
- return SafetyCheckSettingsFragment.class;
+ return null;
}
case SettingsFragment.SITE:
return SiteSettings.class;
case SettingsFragment.ACCESSIBILITY:
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3584,7 +3584,6 @@ static_library("browser") {
@@ -3563,7 +3563,6 @@ static_library("browser") {
"//chrome/browser/reading_list/android",
"//chrome/browser/recent_tabs:jni_headers",
"//chrome/browser/safe_browsing/android:safe_browsing_enums",
@@ -148,7 +150,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java
@@ -54,9 +54,6 @@ public class OmniboxPedal extends OmniboxAction {
@@ -55,9 +55,6 @@ public class OmniboxPedal extends OmniboxAction {
case OmniboxPedalId.UPDATE_CREDIT_CARD:
delegate.openSettingsPage(SettingsFragment.PAYMENT_METHODS);
break;
@@ -44,7 +44,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
@@ -194,6 +194,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -198,6 +198,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCCTExtendTrustedCdnPublisher,
&kCCTFeatureUsage,
&kCCTEphemeralMode,
@@ -55,7 +55,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/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
@@ -251,6 +251,7 @@ public abstract class ChromeFeatureList {
@@ -256,6 +256,7 @@ public abstract class ChromeFeatureList {
public static final String CCT_INTENT_FEATURE_OVERRIDES = "CCTIntentFeatureOverrides";
public static final String CCT_PAGE_INSIGHTS_HUB = "CCTPageInsightsHub";
public static final String CCT_PAGE_INSIGHTS_HUB_PEEK = "CCTPageInsightsHubPeek";
@@ -66,7 +66,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
@@ -1181,7 +1181,6 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
@@ -1103,7 +1103,6 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
public boolean canWebSearch() {
return hasSelection()
&& !isFocusedNodeEditable()
@@ -31,7 +31,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
@@ -1627,7 +1627,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient(
@@ -1651,7 +1651,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient(
std::unique_ptr<media::SpeechRecognitionClient>
ChromeContentRendererClient::CreateSpeechRecognitionClient(
content::RenderFrame* render_frame) {
@@ -43,7 +43,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc b/components/content_settings/renderer/content_settings_agent_impl.cc
--- a/components/content_settings/renderer/content_settings_agent_impl.cc
+++ b/components/content_settings/renderer/content_settings_agent_impl.cc
@@ -484,6 +484,14 @@ bool ContentSettingsAgentImpl::IsAllowlistedForContentSettingsCromite() const {
@@ -483,6 +483,14 @@ bool ContentSettingsAgentImpl::IsAllowlistedForContentSettingsCromite() const {
return false;
}
@@ -58,7 +58,7 @@ diff --git a/components/content_settings/renderer/content_settings_agent_impl.cc
bool ContentSettingsAgentImpl::UpdateOverrides() {
// Evaluate the content setting rules
ContentSetting setting = CONTENT_SETTING_ALLOW;
@@ -494,7 +502,6 @@ bool ContentSettingsAgentImpl::UpdateOverrides() {
@@ -493,7 +501,6 @@ bool ContentSettingsAgentImpl::UpdateOverrides() {
}
return UpdateTimeZoneOverride(
setting, content_setting_rules_->timezone_override_value);
@@ -93,7 +93,7 @@ diff --git a/content/browser/speech/tts_android.cc b/content/browser/speech/tts_
diff --git a/content/browser/speech/tts_win.cc b/content/browser/speech/tts_win.cc
--- a/content/browser/speech/tts_win.cc
+++ b/content/browser/speech/tts_win.cc
@@ -155,7 +155,7 @@ class TtsPlatformImplWin : public TtsPlatformImpl {
@@ -156,7 +156,7 @@ class TtsPlatformImplWin : public TtsPlatformImpl {
TtsPlatformImplWin(const TtsPlatformImplWin&) = delete;
TtsPlatformImplWin& operator=(const TtsPlatformImplWin&) = delete;
@@ -152,8 +152,8 @@ diff --git a/third_party/blink/renderer/modules/speech/speech_synthesis.cc b/thi
--- a/third_party/blink/renderer/modules/speech/speech_synthesis.cc
+++ b/third_party/blink/renderer/modules/speech/speech_synthesis.cc
@@ -35,6 +35,7 @@
#include "third_party/blink/public/common/privacy_budget/identifiable_token_builder.h"
#include "third_party/blink/public/common/thread_safe_browser_interface_broker_proxy.h"
#include "third_party/blink/public/platform/browser_interface_broker_proxy.h"
#include "third_party/blink/public/platform/platform.h"
+#include "third_party/blink/public/platform/web_content_settings_client.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_speech_synthesis_error_event_init.h"
@@ -1,94 +0,0 @@
From: Michael Gilbert <mgilbert@debian.org>
Date: Wed, 21 Nov 2018 02:37:35 +0000
Subject: Disable support for RAR files inspection
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../download_protection/file_analyzer.cc | 2 +-
.../services/file_util/safe_archive_analyzer.cc | 15 ++-------------
chrome/services/file_util/safe_archive_analyzer.h | 2 --
chrome/utility/safe_browsing/BUILD.gn | 2 --
chrome/utility/safe_browsing/archive_analyzer.cc | 2 +-
5 files changed, 4 insertions(+), 19 deletions(-)
diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
--- a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
+++ b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
@@ -75,7 +75,7 @@ void FileAnalyzer::Start(const base::FilePath& target_path,
if (inspection_type == DownloadFileType::ZIP) {
StartExtractZipFeatures();
} else if (inspection_type == DownloadFileType::RAR) {
- StartExtractRarFeatures();
+ LOG(WARNING) << "Safebrowser inspection of rar files is disabled in this build";
#if BUILDFLAG(IS_MAC)
} else if (inspection_type == DownloadFileType::DMG) {
StartExtractDmgFeatures();
diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/services/file_util/safe_archive_analyzer.cc
--- a/chrome/services/file_util/safe_archive_analyzer.cc
+++ b/chrome/services/file_util/safe_archive_analyzer.cc
@@ -77,19 +77,8 @@ void SafeArchiveAnalyzer::AnalyzeRarFile(
DCHECK(rar_file.IsValid());
temp_file_getter_.Bind(std::move(temp_file_getter));
callback_ = std::move(callback);
- AnalysisFinishedCallback analysis_finished_callback =
- base::BindOnce(&SafeArchiveAnalyzer::AnalysisFinished,
- weak_factory_.GetWeakPtr(), base::FilePath());
- base::RepeatingCallback<void(GetTempFileCallback callback)>
- temp_file_getter_callback =
- base::BindRepeating(&SafeArchiveAnalyzer::RequestTemporaryFile,
- weak_factory_.GetWeakPtr());
- timeout_timer_.Start(FROM_HERE, kArchiveAnalysisTimeout, this,
- &SafeArchiveAnalyzer::Timeout);
- rar_analyzer_.Analyze(std::move(rar_file), base::FilePath(),
- /*password=*/password,
- std::move(analysis_finished_callback),
- std::move(temp_file_getter_callback), &results_);
+ Timeout();
+ LOG(FATAL) << "AnalyzeRarFile is disabled in this build";
}
void SafeArchiveAnalyzer::AnalyzeSevenZipFile(
diff --git a/chrome/services/file_util/safe_archive_analyzer.h b/chrome/services/file_util/safe_archive_analyzer.h
--- a/chrome/services/file_util/safe_archive_analyzer.h
+++ b/chrome/services/file_util/safe_archive_analyzer.h
@@ -9,7 +9,6 @@
#include "chrome/common/safe_browsing/archive_analyzer_results.h"
#include "chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom.h"
-#include "chrome/utility/safe_browsing/rar_analyzer.h"
#include "chrome/utility/safe_browsing/seven_zip_analyzer.h"
#include "chrome/utility/safe_browsing/zip_analyzer.h"
#include "mojo/public/cpp/bindings/remote.h"
@@ -67,7 +66,6 @@ class SafeArchiveAnalyzer : public chrome::mojom::SafeArchiveAnalyzer {
void Timeout();
safe_browsing::ZipAnalyzer zip_analyzer_;
- safe_browsing::RarAnalyzer rar_analyzer_;
safe_browsing::SevenZipAnalyzer seven_zip_analyzer_;
#if BUILDFLAG(IS_MAC)
safe_browsing::dmg::DMGAnalyzer dmg_analyzer_;
diff --git a/chrome/utility/safe_browsing/BUILD.gn b/chrome/utility/safe_browsing/BUILD.gn
--- a/chrome/utility/safe_browsing/BUILD.gn
+++ b/chrome/utility/safe_browsing/BUILD.gn
@@ -11,8 +11,6 @@ source_set("safe_browsing") {
sources = [
"archive_analyzer.cc",
"archive_analyzer.h",
- "rar_analyzer.cc",
- "rar_analyzer.h",
"seven_zip_analyzer.cc",
"seven_zip_analyzer.h",
"zip_analyzer.cc",
diff --git a/chrome/utility/safe_browsing/archive_analyzer.cc b/chrome/utility/safe_browsing/archive_analyzer.cc
--- a/chrome/utility/safe_browsing/archive_analyzer.cc
+++ b/chrome/utility/safe_browsing/archive_analyzer.cc
@@ -24,7 +24,7 @@ namespace safe_browsing {
std::unique_ptr<ArchiveAnalyzer> ArchiveAnalyzer::CreateForArchiveType(
DownloadFileType_InspectionType file_type) {
if (file_type == DownloadFileType::RAR) {
- return std::make_unique<RarAnalyzer>();
+ return nullptr;
} else if (file_type == DownloadFileType::ZIP) {
return std::make_unique<ZipAnalyzer>();
} else if (file_type == DownloadFileType::SEVEN_ZIP) {
--
@@ -22,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/prefs/prefs_tab_helper.cc
--- a/chrome/browser/ui/prefs/prefs_tab_helper.cc
+++ b/chrome/browser/ui/prefs/prefs_tab_helper.cc
@@ -383,7 +383,7 @@ void PrefsTabHelper::RegisterProfilePrefs(
@@ -374,7 +374,7 @@ void PrefsTabHelper::RegisterProfilePrefs(
registry->RegisterBooleanPref(prefs::kEnableEncryptedMedia, true);
registry->RegisterStringPref(prefs::kPrefixedVideoFullscreenApiAvailability,
"runtime-enabled");
@@ -34,7 +34,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
@@ -291,6 +291,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
@@ -288,6 +288,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
#endif
{wf::EnableTouchDragAndContextMenu,
raw_ref(features::kTouchDragAndContextMenu)},
@@ -74,7 +74,7 @@ new file mode 100644
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
@@ -4599,9 +4599,14 @@ void Document::SetURL(const KURL& url) {
@@ -4606,9 +4606,14 @@ void Document::SetURL(const KURL& url) {
TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT,
"url", new_url.GetString().Utf8());
@@ -92,7 +92,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
@@ -3972,10 +3972,9 @@
@@ -4047,10 +4047,9 @@
},
{
name: "TextFragmentIdentifiers",
@@ -76,7 +76,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
@@ -8971,7 +8971,6 @@ void NavigationRequest::SetSourceSiteInstanceToInitiatorIfNeeded() {
@@ -9048,7 +9048,6 @@ void NavigationRequest::SetSourceSiteInstanceToInitiatorIfNeeded() {
void NavigationRequest::ForceEnableOriginTrials(
const std::vector<std::string>& trials) {
DCHECK(!HasCommitted());
@@ -141,7 +141,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(),
@@ -662,7 +647,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
@@ -667,7 +652,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
info->url_request.HasUserGesture(),
info->url_request.HasTextFragmentToken(),
info->should_check_main_world_content_security_policy,
@@ -193,7 +193,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
@@ -188,13 +188,6 @@ namespace {
@@ -191,13 +191,6 @@ namespace {
Vector<mojom::blink::OriginTrialFeature> CopyInitiatorOriginTrials(
const WebVector<int>& initiator_origin_trial_features) {
Vector<mojom::blink::OriginTrialFeature> result;
@@ -207,7 +207,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
return result;
}
@@ -208,18 +201,12 @@ WebVector<int> CopyInitiatorOriginTrials(
@@ -211,18 +204,12 @@ WebVector<int> CopyInitiatorOriginTrials(
Vector<String> CopyForceEnabledOriginTrials(
const WebVector<WebString>& force_enabled_origin_trials) {
Vector<String> result;
@@ -226,7 +226,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
return result;
}
@@ -3070,10 +3057,6 @@ void DocumentLoader::CreateParserPostCommit() {
@@ -3096,10 +3083,6 @@ void DocumentLoader::CreateParserPostCommit() {
mojom::blink::OriginTrialFeature::kTouchEventFeatureDetection);
}
@@ -252,7 +252,7 @@ diff --git a/third_party/blink/renderer/core/loader/http_equiv.cc b/third_party/
diff --git a/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc b/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc
--- a/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc
+++ b/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc
@@ -315,6 +315,9 @@ void OriginTrialContext::AddToken(const String& token) {
@@ -312,6 +312,9 @@ void OriginTrialContext::AddToken(const String& token) {
void OriginTrialContext::AddTokenFromExternalScript(
const String& token,
const Vector<scoped_refptr<SecurityOrigin>>& external_origins) {
@@ -262,7 +262,7 @@ diff --git a/third_party/blink/renderer/core/origin_trials/origin_trial_context.
Vector<OriginInfo> script_origins;
for (const scoped_refptr<SecurityOrigin>& origin : external_origins) {
OriginInfo origin_info = {.origin = origin,
@@ -470,8 +473,6 @@ bool OriginTrialContext::InstallSettingFeature(
@@ -449,8 +452,6 @@ bool OriginTrialContext::InstallSettingFeature(
}
void OriginTrialContext::AddFeature(mojom::blink::OriginTrialFeature feature) {
@@ -271,12 +271,12 @@ diff --git a/third_party/blink/renderer/core/origin_trials/origin_trial_context.
}
bool OriginTrialContext::IsFeatureEnabled(
@@ -515,6 +516,7 @@ void OriginTrialContext::AddForceEnabledTrials(
@@ -494,6 +495,7 @@ void OriginTrialContext::AddForceEnabledTrials(
}
bool OriginTrialContext::CanEnableTrialFromName(const StringView& trial_name) {
+ if ((true)) return false;
if (trial_name == "PrivacySandboxAdsAPIs")
return base::FeatureList::IsEnabled(features::kPrivacySandboxAdsAPIs);
if (trial_name == "FledgeBiddingAndAuctionServer") {
return base::FeatureList::IsEnabled(features::kInterestGroupStorage) &&
base::FeatureList::IsEnabled(
--
+4 -4
View File
@@ -111,7 +111,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/prefs/capture_device_ranking.h"
#include "chrome/browser/media/router/media_router_feature.h"
@@ -5106,16 +5105,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -5319,16 +5318,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
content::NavigationHandle* handle) {
std::vector<std::unique_ptr<content::NavigationThrottle>> throttles;
@@ -128,7 +128,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#if BUILDFLAG(IS_ANDROID)
// TODO(davidben): This is insufficient to integrate with prerender properly.
// https://crbug.com/370595
@@ -5223,10 +5212,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
@@ -5436,10 +5425,6 @@ ChromeContentBrowserClient::CreateThrottlesForNavigation(
}
}
@@ -188,7 +188,7 @@ diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn
"most_visited_sites.cc",
"most_visited_sites.h",
"ntp_tile.cc",
@@ -97,7 +95,6 @@ source_set("unit_tests") {
@@ -98,7 +96,6 @@ source_set("unit_tests") {
"custom_links_manager_impl_unittest.cc",
"custom_links_store_unittest.cc",
"icon_cacher_impl_unittest.cc",
@@ -210,7 +210,7 @@ diff --git a/components/ntp_tiles/custom_links_manager_impl.cc b/components/ntp_
diff --git a/components/ntp_tiles/most_visited_sites.cc b/components/ntp_tiles/most_visited_sites.cc
--- a/components/ntp_tiles/most_visited_sites.cc
+++ b/components/ntp_tiles/most_visited_sites.cc
@@ -747,8 +747,6 @@ void MostVisitedSites::SaveTilesAndNotify(
@@ -771,8 +771,6 @@ void MostVisitedSites::SaveTilesAndNotify(
: new_tiles;
if (fixed_tiles.size() != new_tiles.size()) {
@@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/visitedlink/browser/visitedlink_writer.cc
--- a/components/visitedlink/browser/visitedlink_writer.cc
+++ b/components/visitedlink/browser/visitedlink_writer.cc
@@ -237,7 +237,7 @@ VisitedLinkWriter::VisitedLinkWriter(content::BrowserContext* browser_context,
@@ -241,7 +241,7 @@ VisitedLinkWriter::VisitedLinkWriter(content::BrowserContext* browser_context,
: browser_context_(browser_context),
delegate_(delegate),
listener_(std::make_unique<VisitedLinkEventListener>(browser_context)),
@@ -22,7 +22,7 @@ diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/v
VisitedLinkWriter::VisitedLinkWriter(Listener* listener,
VisitedLinkDelegate* delegate,
@@ -247,10 +247,10 @@ VisitedLinkWriter::VisitedLinkWriter(Listener* listener,
@@ -251,10 +251,10 @@ VisitedLinkWriter::VisitedLinkWriter(Listener* listener,
int32_t default_table_size)
: delegate_(delegate),
listener_(listener),
@@ -35,7 +35,7 @@ diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/v
DCHECK(listener_);
}
@@ -320,6 +320,7 @@ void VisitedLinkWriter::AddURL(const GURL& url, bool update_file) {
@@ -324,6 +324,7 @@ void VisitedLinkWriter::AddURL(const GURL& url, bool update_file) {
}
VisitedLinkWriter::Hash VisitedLinkWriter::TryToAddURL(const GURL& url) {
@@ -43,7 +43,7 @@ diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/v
// Extra check that we are not incognito. This should not happen.
// TODO(boliu): Move this check to HistoryService when IsOffTheRecord is
// removed from BrowserContext.
@@ -1049,7 +1050,6 @@ bool VisitedLinkWriter::RebuildTableFromDelegate() {
@@ -1053,7 +1054,6 @@ bool VisitedLinkWriter::RebuildTableFromDelegate() {
// TODO(brettw) make sure we have reasonable salt!
table_builder_ = new TableBuilder(this, salt_);
@@ -54,7 +54,7 @@ diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/v
diff --git a/components/visitedlink/common/visitedlink_common.cc b/components/visitedlink/common/visitedlink_common.cc
--- a/components/visitedlink/common/visitedlink_common.cc
+++ b/components/visitedlink/common/visitedlink_common.cc
@@ -75,6 +75,7 @@ bool VisitedLinkCommon::IsVisited(const GURL& link_url,
@@ -79,6 +79,7 @@ bool VisitedLinkCommon::IsVisited(const GURL& link_url,
}
bool VisitedLinkCommon::IsVisited(Fingerprint fingerprint) const {
@@ -1,30 +0,0 @@
From: uazo <uazo@users.noreply.github.com>
Date: Tue, 11 Jun 2024 13:33:20 +0000
Subject: Disable wip Android Hub
Temporarily disable android hub being still in work in progress
---
.../org/chromium/chrome/browser/flags/ChromeFeatureList.java | 2 +-
.../android/chrome_feature_list_cc/Disable-Android-Hub.inc | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Android-Hub.inc
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
@@ -557,7 +557,7 @@ public abstract class ChromeFeatureList {
newCachedFlag(ANDROID_APP_INTEGRATION, false);
public static final CachedFlag sAndroidElegantTextHeight =
newCachedFlag(ANDROID_ELEGANT_TEXT_HEIGHT, false);
- public static final CachedFlag sAndroidHub = newCachedFlag(ANDROID_HUB, true);
+ public static final CachedFlag sAndroidHub = newCachedFlag(ANDROID_HUB, false);
public static final CachedFlag sAndroidHubFloatingActionButton =
newCachedFlag(
ANDROID_HUB_FLOATING_ACTION_BUTTON,
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Android-Hub.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Android-Hub.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Android-Hub.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kAndroidHub);
--
@@ -11,7 +11,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
@@ -1500,8 +1500,6 @@ static_library("ui") {
@@ -1409,8 +1409,6 @@ static_library("ui") {
"startup/default_browser_prompt/default_browser_prompt_manager.h",
"startup/default_browser_prompt/default_browser_prompt_prefs.cc",
"startup/default_browser_prompt/default_browser_prompt_prefs.h",
@@ -6,15 +6,20 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/BUILD.gn | 1 -
.../chrome/browser/ui/RootUiCoordinator.java | 5 ----
chrome/browser/prefs/browser_prefs.cc | 2 +-
chrome/browser/share/BUILD.gn | 1 -
...omeProvidedSharingOptionsProviderBase.java | 23 -------------------
chrome/browser/share/android/java_sources.gni | 11 ---------
5 files changed, 41 deletions(-)
.../sharing_hub/sharing_hub_features.cc | 2 +-
.../browser/ui/browser_command_controller.cc | 6 ++---
chrome/browser/ui/browser_commands.cc | 1 +
.../qrcode_generator_bubble_controller.cc | 1 +
10 files changed, 7 insertions(+), 46 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -3606,7 +3606,6 @@ generate_jni("chrome_jni_headers") {
@@ -3624,7 +3624,6 @@ generate_jni("chrome_jni_headers") {
"../browser/share/android/java/src/org/chromium/chrome/browser/share/link_to_text/LinkToTextBridge.java",
"../browser/share/android/java/src/org/chromium/chrome/browser/share/long_screenshots/bitmap_generation/LongScreenshotsTabService.java",
"../browser/share/android/java/src/org/chromium/chrome/browser/share/long_screenshots/bitmap_generation/LongScreenshotsTabServiceFactory.java",
@@ -25,7 +30,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
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
@@ -114,7 +114,6 @@ import org.chromium.chrome.browser.share.ShareButtonController;
@@ -118,7 +118,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;
@@ -33,7 +38,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;
@@ -604,10 +603,6 @@ public class RootUiCoordinator
@@ -592,10 +591,6 @@ public class RootUiCoordinator
}
public void onAttachFragment(Fragment fragment) {
@@ -44,10 +49,22 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
}
@Override
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
@@ -1743,7 +1743,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(prefs::kUiAutomationProviderEnabled, false);
#endif
- registry->RegisterBooleanPref(prefs::kQRCodeGeneratorEnabled, true);
+ registry->RegisterBooleanPref(prefs::kQRCodeGeneratorEnabled, false);
// This is intentionally last.
RegisterLocalStatePrefsForMigration(registry);
diff --git a/chrome/browser/share/BUILD.gn b/chrome/browser/share/BUILD.gn
--- a/chrome/browser/share/BUILD.gn
+++ b/chrome/browser/share/BUILD.gn
@@ -45,7 +45,6 @@ source_set("share") {
@@ -47,7 +47,6 @@ source_set("share") {
"link_to_text_bridge.cc",
"page_info_sharing_bridge.cc",
"page_info_sharing_bridge.h",
@@ -123,4 +140,55 @@ diff --git a/chrome/browser/share/android/java_sources.gni b/chrome/browser/shar
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/EditorScreenshotSource.java",
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/EditorScreenshotTask.java",
"//chrome/browser/share/android/java/src/org/chromium/chrome/browser/share/screenshot/ScreenshotCoordinator.java",
diff --git a/chrome/browser/sharing_hub/sharing_hub_features.cc b/chrome/browser/sharing_hub/sharing_hub_features.cc
--- a/chrome/browser/sharing_hub/sharing_hub_features.cc
+++ b/chrome/browser/sharing_hub/sharing_hub_features.cc
@@ -72,7 +72,7 @@ BASE_FEATURE(kDesktopScreenshots,
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS)
void RegisterProfilePrefs(PrefRegistrySimple* registry) {
- registry->RegisterBooleanPref(prefs::kDesktopSharingHubEnabled, true);
+ registry->RegisterBooleanPref(prefs::kDesktopSharingHubEnabled, false);
}
#endif
diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc
--- a/chrome/browser/ui/browser_command_controller.cc
+++ b/chrome/browser/ui/browser_command_controller.cc
@@ -1773,10 +1773,10 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() {
command_updater_.UpdateCommandEnabled(IDC_CHROME_WHATS_NEW, show_main_ui);
#endif
command_updater_.UpdateCommandEnabled(IDC_CONTENT_CONTEXT_SHARING_SUBMENU,
- show_main_ui);
- command_updater_.UpdateCommandEnabled(IDC_SHARING_HUB, show_main_ui);
+ false);
+ command_updater_.UpdateCommandEnabled(IDC_SHARING_HUB, false);
command_updater_.UpdateCommandEnabled(IDC_SHARING_HUB_SCREENSHOT,
- show_main_ui);
+ false);
command_updater_.UpdateCommandEnabled(IDC_SHOW_APP_MENU, show_main_ui);
command_updater_.UpdateCommandEnabled(IDC_SHOW_MANAGEMENT_PAGE, true);
diff --git a/chrome/browser/ui/browser_commands.cc b/chrome/browser/ui/browser_commands.cc
--- a/chrome/browser/ui/browser_commands.cc
+++ b/chrome/browser/ui/browser_commands.cc
@@ -1649,6 +1649,7 @@ void SendTabToSelf(Browser* browser) {
}
bool CanGenerateQrCode(const Browser* browser) {
+ if ((true)) return false;
return !sharing_hub::SharingIsDisabledByPolicy(browser->profile()) &&
qrcode_generator::QRCodeGeneratorBubbleController::
IsGeneratorAvailable(browser->tab_strip_model()
diff --git a/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc b/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc
--- a/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc
+++ b/chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.cc
@@ -37,6 +37,7 @@ QRCodeGeneratorBubbleController::~QRCodeGeneratorBubbleController() {
// static
bool QRCodeGeneratorBubbleController::IsGeneratorAvailable(const GURL& url) {
+ if ((true)) return false;
if (!url.SchemeIsHTTPOrHTTPS())
return false;
--
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc
--- a/components/password_manager/core/browser/password_manager.cc
+++ b/components/password_manager/core/browser/password_manager.cc
@@ -277,14 +277,14 @@ bool HasManuallyFilledFields(const PasswordForm& form) {
@@ -314,14 +314,14 @@ bool HasManuallyFilledFields(const PasswordForm& form) {
void PasswordManager::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
@@ -27,7 +27,7 @@ diff --git a/components/password_manager/core/browser/password_manager.cc b/comp
user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
registry->RegisterStringPref(prefs::kSyncPasswordHash, std::string(),
PrefRegistry::NO_REGISTRATION_FLAGS);
@@ -324,9 +324,9 @@ void PasswordManager::RegisterProfilePrefs(
@@ -361,9 +361,9 @@ void PasswordManager::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(prefs::kPasswordsPrefWithNewLabelUsed, false);
#if BUILDFLAG(IS_ANDROID)
+1 -1
View File
@@ -128,7 +128,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
@@ -639,6 +639,7 @@ void HostResolverManager::SetDnsConfigOverrides(DnsConfigOverrides overrides) {
@@ -640,6 +640,7 @@ void HostResolverManager::SetDnsConfigOverrides(DnsConfigOverrides overrides) {
bool changed = dns_client_->SetConfigOverrides(std::move(overrides));
if (changed) {
@@ -1,201 +0,0 @@
From: uazo <uazo@users.noreply.github.com>
Date: Mon, 29 Jul 2024 10:22:46 +0000
Subject: Downstream validate opaque origins checking their precursor
commit https://source.chromium.org/chromium/chromium/src/+/4043b7370f9b845cd06f07296e115c7094662c66
---
content/browser/renderer_host/ipc_utils.cc | 55 +++++++++++++++----
.../renderer_host/render_frame_host_impl.cc | 47 ++++++++++------
.../renderer_host/render_frame_host_impl.h | 7 ++-
content/public/browser/render_frame_host.h | 2 +-
4 files changed, 79 insertions(+), 32 deletions(-)
diff --git a/content/browser/renderer_host/ipc_utils.cc b/content/browser/renderer_host/ipc_utils.cc
--- a/content/browser/renderer_host/ipc_utils.cc
+++ b/content/browser/renderer_host/ipc_utils.cc
@@ -12,6 +12,7 @@
#include "content/browser/child_process_security_policy_impl.h"
#include "content/browser/renderer_host/frame_tree_node.h"
#include "content/browser/renderer_host/render_frame_host_impl.h"
+#include "content/common/features.h"
#include "content/common/frame.mojom.h"
#include "content/common/navigation_params_utils.h"
#include "content/public/browser/browser_context.h"
@@ -50,18 +51,48 @@ bool VerifyInitiatorOrigin(
const RenderFrameHostImpl* current_rfh = nullptr,
GURL* navigation_url = nullptr,
std::optional<blink::LocalFrameToken>* initiator_frame_token = nullptr) {
- // TODO(acolwell, nasko): https://crbug.com/1029092: Ensure the precursor of
- // opaque origins matches the origin lock. One known problematic case are
- // reloads initiated from error pages - see the following
- // RenderFrameHostManagerTest tests:
- // 1. ErrorPageNavigationReload:
- // - renderer origin lock = chrome-error://chromewebdata/
- // - precursor of initiator origin = http://127.0.0.1:.../
- // 2. ErrorPageNavigationReload_InSubframe_BlockedByClient
- // - renderer origin lock = http://b.com:.../
- // - precursor of initiator origin = http://c.com:.../
- if (initiator_origin.opaque())
- return true;
+ // from https://chromium-review.googlesource.com/c/chromium/src/+/5590305
+
+ // TODO(crbug.com/40109437): Ideally, origin verification should be performed
+ // even if `initiator_origin` is opaque, to ensure that the precursor origin
+ // matches the process lock. However, there are a couple of cases where this
+ // doesn't yet work, which are documented and skipped below.
+ if (initiator_origin.opaque()) {
+ // TODO(alexmos): This used to allow all opaque origins; this behavior is
+ // now behind a kill switch and should be removed once the rollout in M128
+ // is complete.
+ if (!base::FeatureList::IsEnabled(
+ features::kAdditionalOpaqueOriginEnforcements)) {
+ return true;
+ }
+
+ // Reloads initiated from error pages may currently lead to a precursor
+ // mismatch, since the error page loads with an opaque origin with the
+ // original URL's origin as its precursor, which may not match the error
+ // page's process lock. This is seen in the following
+ // RenderFrameHostManagerTest tests:
+ // 1. ErrorPageNavigationReload:
+ // - renderer origin lock = chrome-error://chromewebdata/
+ // - precursor of initiator origin = http://127.0.0.1:.../
+ // 2. ErrorPageNavigationReload_InSubframe_BlockedByClient
+ // - renderer origin lock = http://b.com:.../
+ // - precursor of initiator origin = http://c.com:.../
+ if (current_rfh && current_rfh->IsErrorDocument()) {
+ return true;
+ }
+
+ // Certain (e.g., data:) navigations in subframes of MHTML documents may
+ // have precursor origins that do not match the process lock of the MHTML
+ // document. This is seen in NavigationMhtmlBrowserTest.DataIframe, where:
+ // - renderer origin lock = { file:/// sandboxed }
+ // - precursor of initiator origin = http://8.8.8.8/
+ // Note that RenderFrameHostImpl::CanCommitOriginAndUrl() similarly allows
+ // such navigations to commit, and it also ensures that they can only commit
+ // in the main frame MHTML document's process.
+ if (current_rfh && current_rfh->IsMhtmlSubframe()) {
+ return true;
+ }
+ }
auto* policy = ChildProcessSecurityPolicyImpl::GetInstance();
if (!policy->HostsOrigin(process_id, initiator_origin)) {
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
@@ -2525,7 +2525,7 @@ void RenderFrameHostImpl::GetOpenGraphMetadata(
}
}
-bool RenderFrameHostImpl::IsErrorDocument() {
+bool RenderFrameHostImpl::IsErrorDocument() const {
// This shouldn't be called before committing the document as this value is
// set during call to RenderFrameHostImpl::DidNavigate which happens after
// commit.
@@ -4596,6 +4596,16 @@ void RenderFrameHostImpl::SetOriginDependentStateOfNewFrame(
// object could be configured incorrectly if it were initialized before
// knowing the value of |last_committed_origin_|. More at crbug.com/1112959.
ResetPermissionsPolicy({});
+
+ // New empty frames created on error page documents are also considered error
+ // documents. Otherwise, site isolation enforcements would get confused by a
+ // non-error document attempting to do things in an error process. Error pages
+ // do not normally have subframes (or do window.open, which would also go
+ // through here), but it's possible to inject new frames into error pages via
+ // DevTools, for example.
+ if (creator_frame) {
+ is_error_document_ = creator_frame->is_error_document_;
+ }
}
FrameTreeNode* RenderFrameHostImpl::AddChild(
@@ -10113,6 +10123,10 @@ void RenderFrameHostImpl::ResetWaitingState() {
page_close_state_ = PageCloseState::kNotClosing;
}
+bool RenderFrameHostImpl::IsMhtmlSubframe() const {
+ return !is_main_frame() && GetMainFrame()->is_mhtml_document();
+}
+
CanCommitStatus RenderFrameHostImpl::CanCommitOriginAndUrl(
const url::Origin& origin,
const GURL& url,
@@ -10144,24 +10158,23 @@ CanCommitStatus RenderFrameHostImpl::CanCommitOriginAndUrl(
// which the frame was at the time of generating the MHTML
// (e.g. "http://localhost"). In such cases, don't verify the URL, but require
// the URL to commit in the process of the main frame.
- if (!is_main_frame()) {
+ if (IsMhtmlSubframe()) {
RenderFrameHostImpl* main_frame = GetMainFrame();
- if (main_frame->is_mhtml_document()) {
- if (IsSameSiteInstance(main_frame))
- return CanCommitStatus::CAN_COMMIT_ORIGIN_AND_URL;
-
- // If an MHTML subframe commits in a different process (even one that
- // appears correct for the subframe's URL), then we aren't correctly
- // loading it from the archive and should kill the renderer.
- static auto* const oopif_in_mhtml_page_key =
- base::debug::AllocateCrashKeyString(
- "oopif_in_mhtml_page", base::debug::CrashKeySize::Size32);
- base::debug::SetCrashKeyString(
- oopif_in_mhtml_page_key,
- is_mhtml_document() ? "is_mhtml_doc" : "not_mhtml_doc");
- LogCanCommitOriginAndUrlFailureReason("oopif_in_mhtml_page");
- return CanCommitStatus::CANNOT_COMMIT_URL;
+ if (IsSameSiteInstance(main_frame)) {
+ return CanCommitStatus::CAN_COMMIT_ORIGIN_AND_URL;
}
+
+ // If an MHTML subframe commits in a different process (even one that
+ // appears correct for the subframe's URL), then we aren't correctly
+ // loading it from the archive and should kill the renderer.
+ static auto* const oopif_in_mhtml_page_key =
+ base::debug::AllocateCrashKeyString("oopif_in_mhtml_page",
+ base::debug::CrashKeySize::Size32);
+ base::debug::SetCrashKeyString(
+ oopif_in_mhtml_page_key,
+ is_mhtml_document() ? "is_mhtml_doc" : "not_mhtml_doc");
+ LogCanCommitOriginAndUrlFailureReason("oopif_in_mhtml_page");
+ return CanCommitStatus::CANNOT_COMMIT_URL;
}
// Same-document navigations cannot change origins, as long as these checks
diff --git a/content/browser/renderer_host/render_frame_host_impl.h b/content/browser/renderer_host/render_frame_host_impl.h
--- a/content/browser/renderer_host/render_frame_host_impl.h
+++ b/content/browser/renderer_host/render_frame_host_impl.h
@@ -556,7 +556,7 @@ class CONTENT_EXPORT RenderFrameHostImpl
void GetOpenGraphMetadata(
base::OnceCallback<void(blink::mojom::OpenGraphMetadataPtr)> callback)
override;
- bool IsErrorDocument() override;
+ bool IsErrorDocument() const override;
DocumentRef GetDocumentRef() override;
WeakDocumentPtr GetWeakDocumentPtr() override;
void EnableMojoJsBindings(
@@ -1717,7 +1717,10 @@ class CONTENT_EXPORT RenderFrameHostImpl
network::mojom::WebSandboxFlags active_sandbox_flags() {
return policy_container_host_->sandbox_flags();
}
- bool is_mhtml_document() { return is_mhtml_document_; }
+ bool is_mhtml_document() const { return is_mhtml_document_; }
+
+ // Returns whether this document is a subframe of a MHTML document.
+ bool IsMhtmlSubframe() const;
ReloadType reload_type() { return reload_type_; }
diff --git a/content/public/browser/render_frame_host.h b/content/public/browser/render_frame_host.h
--- a/content/public/browser/render_frame_host.h
+++ b/content/public/browser/render_frame_host.h
@@ -1061,7 +1061,7 @@ class CONTENT_EXPORT RenderFrameHost : public IPC::Listener,
// site cant be reached".
// This can't be called for pending commit RFH because the value is set
// during call to RenderFrameHostImpl::DidNavigate which happens after commit.
- virtual bool IsErrorDocument() = 0;
+ virtual bool IsErrorDocument() const = 0;
// Return checked and weak references, respectively, to the current document
// in this RenderFrameHost, which will be no longer valid once the
--

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