Rebase to v147 (#2788)

Rebase to v147
This commit is contained in:
uazo
2026-04-10 08:24:46 +02:00
committed by GitHub
221 changed files with 4834 additions and 4318 deletions
+1 -1
View File
@@ -1 +1 @@
146.0.7680.111
147.0.7727.56
-1
View File
@@ -316,7 +316,6 @@ Block-leakage-of-urls-in-sandbox-iframes.patch
Fix-chromium-build-bugs.patch
Try-to-fix-2082.patch
Temp-use-PREVIEW-for-IDCompositionDevice5.patch
Enable-Socket-Pool-Limit-Randomization.patch
Disable-integration-with-Gemini.patch
# adblock patches
@@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.printing.PrintManagerDelegateImpl;
import org.chromium.printing.PrintingController;
import org.chromium.printing.PrintingControllerImpl;
@@ -1125,6 +1126,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -1134,6 +1135,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
super.onStartWithNative();
ChromeActivitySessionTracker.getInstance().onStartWithNative(getProfileProviderSupplier());
@@ -40,7 +40,7 @@ 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
@@ -202,6 +202,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -204,6 +204,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedNoViewCache,
&feed::kFeedPerformanceStudy,
&feed::kFeedRecyclerBinderUnmountOnDetach,
@@ -59,7 +59,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_PAGE_SUMMARY =
"AdaptiveButtonInTopToolbarPageSummary";
// Don't clean up this flag yet, BCIV is launched, so this needs to be enabled by
@@ -797,6 +798,8 @@ public abstract class ChromeFeatureList {
@@ -801,6 +802,8 @@ public abstract class ChromeFeatureList {
public static final CachedFlag sAndroidWindowPopupResizeAfterSpawn =
newCachedFlag(ANDROID_WINDOW_POPUP_RESIZE_AFTER_SPAWN, false, true);
public static final CachedFlag sAppSpecificHistory = newCachedFlag(APP_SPECIFIC_HISTORY, true);
@@ -68,10 +68,10 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final CachedFlag sAppSpecificHistoryViewIntent =
newCachedFlag(APP_SPECIFIC_HISTORY_VIEW_INTENT, true);
public static final CachedFlag sAsyncNotificationManager =
@@ -1131,6 +1134,7 @@ public abstract class ChromeFeatureList {
// keep-sorted start
@@ -1154,6 +1157,7 @@ public abstract class ChromeFeatureList {
sAccountForSuppressedKeyboardInsets,
sAndroidAnimatedProgressBarInBrowser,
sAndroidApb144Patch1,
+ sAllowUserCertificates,
sAndroidAppIntegrationModule,
sAndroidAppIntegrationMultiDataSource,
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java
@@ -941,6 +941,12 @@ public class KeyboardShortcuts {
@@ -935,6 +935,12 @@ public class KeyboardShortcuts {
KeyEvent.KEYCODE_ESCAPE,
KeyEvent.META_CTRL_ON);
}
@@ -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
@@ -197,6 +197,10 @@ bool IsReducePPMsEnabled() {
@@ -198,6 +198,10 @@ bool IsReducePPMsEnabled() {
return g_is_reduce_ppms_enabled.load(std::memory_order_relaxed);
}
@@ -16,7 +16,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
@@ -266,6 +266,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
@@ -241,6 +241,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
{wf::EnablePaymentApp, raw_ref(features::kServiceWorkerPaymentApps)},
{wf::EnablePeriodicBackgroundSync,
raw_ref(features::kPeriodicBackgroundSync)},
@@ -40,7 +40,7 @@ new file mode 100644
diff --git a/device/gamepad/public/cpp/gamepad_features.cc b/device/gamepad/public/cpp/gamepad_features.cc
--- a/device/gamepad/public/cpp/gamepad_features.cc
+++ b/device/gamepad/public/cpp/gamepad_features.cc
@@ -59,4 +59,12 @@ bool IsGamepadMultitouchEnabled() {
@@ -63,4 +63,12 @@ bool IsGamepadMultitouchEnabled() {
return false;
}
@@ -64,7 +64,7 @@ diff --git a/device/gamepad/public/cpp/gamepad_features.h b/device/gamepad/publi
#if BUILDFLAG(IS_WIN)
GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(kIgnorePS5GamepadsInWgi);
@@ -32,6 +33,7 @@ GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(
@@ -34,6 +35,7 @@ GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(
#endif // BUILDFLAG(IS_APPLE)
GAMEPAD_FEATURES_EXPORT bool IsGamepadMultitouchEnabled();
@@ -93,7 +93,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.
@@ -432,6 +436,8 @@ void NavigatorGamepad::MaybeDispatchGamepadEvents(
@@ -433,6 +437,8 @@ void NavigatorGamepad::MaybeDispatchGamepadEvents(
void NavigatorGamepad::DispatchGamepadConnectionChangedEvent(
const AtomicString& event_name,
Gamepad* gamepad) {
@@ -33,7 +33,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/ui/webui/chrome_web_ui_configs.cc | 5 +-
chrome/browser/ui/webui/proxy_config_ui.cc | 389 ++++++++++++++++++
chrome/browser/ui/webui/proxy_config_ui.h | 41 ++
chrome/common/webui_url_constants.cc | 2 +
chrome/common/webui_url_constants.cc | 1 +
chrome/common/webui_url_constants.h | 2 +
.../pref_proxy_config_tracker_impl.cc | 5 +-
.../proxy_config/proxy_config_dictionary.cc | 30 +-
@@ -43,7 +43,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
net/proxy_resolution/pac_file_fetcher_impl.cc | 8 -
net/proxy_resolution/proxy_config.cc | 53 ++-
net/proxy_resolution/proxy_config.h | 3 +
27 files changed, 987 insertions(+), 27 deletions(-)
27 files changed, 986 insertions(+), 27 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
@@ -80,7 +80,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -106,6 +106,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -108,6 +108,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
private static final String PREF_PASSWORD_LEAK_DETECTION = "password_leak_detection";
private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link";
private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox";
@@ -91,7 +91,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
--- a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
+++ b/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
@@ -412,6 +412,7 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
@@ -424,6 +424,7 @@ ChromeAutocompleteProviderClient::GetBuiltinsToProvideAsUserTypes() {
builtins_to_provide.push_back(chrome::kChromeUISettingsURL16);
#endif
builtins_to_provide.push_back(chrome::kChromeUIVersionURL16);
@@ -102,7 +102,7 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc
diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd
--- a/chrome/browser/browser_resources.grd
+++ b/chrome/browser/browser_resources.grd
@@ -241,6 +241,9 @@
@@ -225,6 +225,9 @@
<if expr="_google_chrome">
<include name="IDR_PREF_HASH_SEED_BIN" file="resources\settings\internal\pref_hash_seed.bin" type="BINDATA" />
</if>
@@ -115,7 +115,7 @@ diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resou
diff --git a/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc b/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
--- a/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
+++ b/chrome/browser/extensions/api/proxy/proxy_api_helpers.cc
@@ -375,7 +375,7 @@ std::optional<base::DictValue> CreateProxyConfigDict(
@@ -383,7 +383,7 @@ std::optional<base::DictValue> CreateProxyConfigDict(
return std::nullopt;
}
return ProxyConfigDictionary::CreateFixedServers(proxy_rules_string,
@@ -199,7 +199,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
@@ -209,6 +209,8 @@
@@ -212,6 +212,8 @@
#include "printing/buildflags/buildflags.h"
#include "rlz/buildflags/buildflags.h"
@@ -208,7 +208,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
#include "chrome/browser/background/extensions/background_mode_manager.h"
#endif
@@ -1396,6 +1398,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -1438,6 +1440,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
component_updater::RegisterPrefs(registry);
domain_reliability::RegisterPrefs(registry);
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
@@ -663,7 +663,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
@@ -159,6 +159,8 @@ static_library("ui") {
@@ -158,6 +158,8 @@ static_library("ui") {
"webui/metrics_internals/metrics_internals_ui.h",
"webui/net_export_ui.cc",
"webui/net_export_ui.h",
@@ -675,7 +675,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
--- a/chrome/browser/ui/webui/chrome_web_ui_configs.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
@@ -60,6 +60,9 @@
@@ -64,6 +64,9 @@
#include "extensions/buildflags/buildflags.h"
#include "printing/buildflags/buildflags.h"
@@ -686,9 +686,9 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u
#include "chrome/browser/ui/webui/certificate_viewer/certificate_viewer_ui.h"
#endif
@@ -449,7 +452,7 @@ void RegisterChromeWebUIConfigs() {
#if BUILDFLAG(ENABLE_GLIC) && !BUILDFLAG(IS_ANDROID)
map.AddWebUIConfig(std::make_unique<glic::GlicFreUIConfig>());
#endif
map.AddWebUIConfig(std::make_unique<SigninErrorUIConfig>());
map.AddWebUIConfig(std::make_unique<SigninEmailConfirmationUIConfig>());
#endif // !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID)
-
+ map.AddWebUIConfig(std::make_unique<ProxyConfigUIConfig>());
#if BUILDFLAG(SAFE_BROWSING_AVAILABLE)
@@ -1137,15 +1137,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
@@ -53,6 +53,7 @@ bool IsSystemWebUIHost(std::string_view host) {
kChromeUILockScreenNetworkHost,
kChromeUILockScreenStartReauthHost,
kChromeUIMobileSetupHost,
+ kChromeUIProxyConfigHost,
kChromeUIMultiDeviceSetupHost,
kChromeUINetworkHost,
kChromeUINotificationTesterHost,
@@ -74,6 +75,7 @@ bool IsSystemWebUIHost(std::string_view host) {
@@ -120,6 +120,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>({
@@ -1156,7 +1148,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
--- a/chrome/common/webui_url_constants.h
+++ b/chrome/common/webui_url_constants.h
@@ -198,6 +198,8 @@ inline constexpr char kChromeUINetInternalsHost[] = "net-internals";
@@ -206,6 +206,8 @@ inline constexpr char kChromeUINetInternalsHost[] = "net-internals";
inline constexpr char kChromeUINetInternalsURL[] = "chrome://net-internals/";
inline constexpr char kChromeUINewTabHost[] = "newtab";
inline constexpr char kChromeUINewTabFooterHost[] = "newtab-footer";
@@ -48,7 +48,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../tabmodel/TabModelSelectorImpl.java | 3 +
.../tabmodel/TabPersistentStoreImpl.java | 7 +
.../browser/toolbar/ToolbarManager.java | 1 +
.../webapps/WebappIntentDataProvider.java | 15 ++
.../webapps/WebappIntentDataProvider.java | 16 ++
.../browser/android/historical_tab_saver.cc | 24 ++-
.../chrome_autocomplete_provider_client.cc | 9 +
.../chrome_autocomplete_provider_client.h | 1 +
@@ -89,7 +89,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../add-an-always-incognito-mode.inc | 1 +
.../add-an-always-incognito-mode.inc | 3 +
.../add-an-always-incognito-mode.inc | 1 +
70 files changed, 812 insertions(+), 119 deletions(-)
70 files changed, 812 insertions(+), 120 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
@@ -102,7 +102,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
@@ -653,6 +653,7 @@ chrome_java_resources = [
@@ -649,6 +649,7 @@ chrome_java_resources = [
"java/res/xml/main_preferences.xml",
"java/res/xml/manage_sync_preferences.xml",
"java/res/xml/personalize_google_services_preferences.xml",
@@ -121,14 +121,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",
@@ -969,6 +970,7 @@ chrome_java_sources = [
@@ -984,6 +985,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/privacy/settings/PasswordEchoSettingHandlerFactory.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/privacy_sandbox/CctHandler.java",
"java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandbox3pcdRollbackMessageController.java",
"java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSurveyController.java",
"java/src/org/chromium/chrome/browser/provider/BaseColumns.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
@@ -248,7 +248,7 @@ new file mode 100644
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
@@ -84,6 +84,10 @@ import org.chromium.build.annotations.Nullable;
@@ -85,6 +85,10 @@ import org.chromium.build.annotations.Nullable;
import org.chromium.build.annotations.UsedByReflection;
import org.chromium.cc.input.BrowserControlsState;
import org.chromium.chrome.R;
@@ -259,7 +259,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.IntentHandler.ExternalAppId;
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
import org.chromium.chrome.browser.accessibility.settings.CaretBrowsingDialog;
@@ -850,13 +854,18 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
@@ -860,13 +864,18 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
mMultiInstanceManager);
// For saving non-incognito tab closures for Recent Tabs.
@@ -283,7 +283,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
// Defer creation of this helper so it triggers after TabGroupModelFilter observers.
mUndoRefocusHelper =
new UndoRefocusHelper(
@@ -3426,7 +3435,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
@@ -3544,7 +3553,7 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
shouldPersistAcrossReboots()
&& persistentState != null
&& persistentState.getBoolean(IS_INCOGNITO_SELECTED, false);
@@ -303,7 +303,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.dom_distiller.DomDistillerUiUtils;
import org.chromium.chrome.browser.dom_distiller.ReaderModeManager;
import org.chromium.chrome.browser.download.DownloadManagerService;
@@ -2222,6 +2223,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -2279,6 +2280,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
throw new IllegalStateException(
"Attempting to access TabCreator before initialization");
}
@@ -316,16 +316,16 @@ 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
@@ -99,6 +99,8 @@ import java.util.Iterator;
@@ -98,6 +98,8 @@ import java.lang.annotation.RetentionPolicy;
import java.util.Iterator;
import java.util.List;
import java.util.function.Supplier;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+
/**
* Base implementation of {@link AppMenuPropertiesDelegate} that handles hiding and showing menu
* items based on activity state.
@@ -686,8 +688,9 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
@@ -685,8 +687,9 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
&& !isNativePage
&& !isFileScheme
&& !isContentScheme
@@ -348,7 +348,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuItem.Item;
import org.chromium.chrome.browser.contextmenu.ContextMenuCoordinator.ContextMenuItemType;
@@ -456,6 +457,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -466,6 +467,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
mShowEphemeralTabNewLabel = null;
mCustomActionMap.clear();
@@ -358,7 +358,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
List<ModelList> groupedItems = new ArrayList<>();
if (mParams.isPage() && shouldShowEmptySpaceContextMenu()) {
@@ -527,7 +531,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -537,7 +541,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
}
}
if (FirstRunStatus.getFirstRunFlowComplete()) {
@@ -411,7 +411,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabAppMenuPropertiesDelegate.java
@@ -21,6 +21,7 @@ import org.chromium.build.annotations.NullMarked;
@@ -22,6 +22,7 @@ import org.chromium.build.annotations.NullMarked;
import org.chromium.build.annotations.Nullable;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
@@ -419,7 +419,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
import org.chromium.chrome.browser.DefaultBrowserInfo;
import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl;
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
@@ -238,6 +239,10 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -239,6 +240,10 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
tryAddingReadAloud = false;
}
@@ -443,7 +443,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
@@ -1373,6 +1376,13 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@@ -1372,6 +1375,13 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
return getInitialActivityWidth() > 0;
}
@@ -645,7 +645,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsManager.java
@@ -43,6 +43,16 @@ import org.chromium.ui.base.WindowAndroid;
@@ -44,6 +44,16 @@ import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.url.GURL;
@@ -662,7 +662,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -114,7 +124,8 @@ public class RecentTabsManager
@@ -115,7 +125,8 @@ public class RecentTabsManager
SnackbarManager snackbarManager,
Runnable showHistoryManager,
RecentlyClosedEntriesManager recentlyClosedEntriesManager) {
@@ -672,7 +672,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsM
mActiveTab = tab;
mShowHistoryManager = showHistoryManager;
mForeignSessionHelper = new ForeignSessionHelper(profile);
@@ -285,6 +296,22 @@ public class RecentTabsManager
@@ -286,6 +297,22 @@ public class RecentTabsManager
*/
public void openRecentlyClosedTab(RecentlyClosedTab tab, int windowDisposition) {
if (mIsDestroyed) return;
@@ -880,7 +880,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
@@ -50,6 +50,7 @@ import org.chromium.chrome.browser.sync.settings.AccountManagementFragment;
@@ -54,6 +54,7 @@ import org.chromium.chrome.browser.sync.settings.AccountManagementFragment;
import org.chromium.chrome.browser.sync.settings.GoogleServicesSettings;
import org.chromium.chrome.browser.sync.settings.ManageSyncSettings;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
@@ -888,7 +888,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme
import org.chromium.components.browser_ui.accessibility.AccessibilitySettings;
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
import org.chromium.components.browser_ui.settings.FragmentSettingsNavigation;
@@ -225,6 +226,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
@@ -243,6 +244,9 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
SigninAndHistorySyncActivityLauncherImpl.get(),
new SettingsCustomTabLauncherImpl()));
}
@@ -1008,7 +1008,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/tab_restore
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
@@ -29,6 +29,7 @@ import org.chromium.build.annotations.Contract;
@@ -30,6 +30,7 @@ import org.chromium.build.annotations.Contract;
import org.chromium.build.annotations.NullMarked;
import org.chromium.build.annotations.Nullable;
import org.chromium.chrome.R;
@@ -1016,7 +1016,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
import org.chromium.chrome.browser.ActivityTabProvider;
import org.chromium.chrome.browser.ai.AiAssistantService;
import org.chromium.chrome.browser.app.appmenu.AppMenuPropertiesDelegateImpl;
@@ -256,7 +257,8 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
@@ -260,7 +261,8 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
// When the feature is enabled, show either "New Incognito tab" in incognito mode
// or "New tab" in normal mode. When the feature is disabled, show both.
@@ -1029,8 +1029,8 @@ 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/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
@@ -236,6 +236,8 @@ import org.chromium.content_public.common.ContentSwitches;
import org.chromium.ui.UiUtils;
@@ -244,6 +244,8 @@ import org.chromium.ui.UiUtils;
import org.chromium.ui.base.ActivityResultTracker;
import org.chromium.ui.base.ActivityWindowAndroid;
import org.chromium.ui.base.DeviceFormFactor;
+import org.chromium.base.ContextUtils;
@@ -1038,7 +1038,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.base.UiAndroidFeatureList;
import org.chromium.ui.display.DisplayUtil;
@@ -1401,7 +1403,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -1404,7 +1406,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
() -> {
mTabCreatorManagerSupplier
.get()
@@ -1078,9 +1078,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
import org.chromium.chrome.browser.app.tabwindow.TabWindowManagerSingleton;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.flags.ActivityType;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.CustomTabProfileType;
import org.chromium.chrome.browser.multiwindow.MultiInstanceManager;
@@ -142,6 +143,8 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod
@@ -143,6 +144,8 @@ public class TabModelSelectorImpl extends TabModelSelectorBase implements TabMod
ProfileProvider profileProvider = mProfileProviderSupplier.get();
assert profileProvider != null;
@@ -1100,7 +1100,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
import org.chromium.chrome.browser.app.tabmodel.AsyncTabParamsManagerSingleton;
import org.chromium.chrome.browser.crypto.CipherFactory;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -727,6 +728,12 @@ public class TabPersistentStoreImpl implements TabPersistentStore {
@@ -728,6 +729,12 @@ public class TabPersistentStoreImpl implements TabPersistentStore {
}
}
}
@@ -1127,16 +1127,17 @@ 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,8 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
@@ -33,6 +33,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
import org.chromium.device.mojom.ScreenOrientationLockType;
import org.chromium.ui.util.ColorUtils;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+import org.chromium.chrome.browser.flags.CustomTabProfileType;
+
/** Stores info about a web app. */
@NullMarked
public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider {
@@ -47,6 +49,8 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
@@ -47,6 +50,8 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
private final ColorProviderImpl mDarkColorProvider;
private @DisplayMode.EnumType int mResolvedDisplayMode = DisplayMode.UNDEFINED;
@@ -1145,7 +1146,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;
@@ -82,6 +86,10 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
@@ -82,6 +87,10 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
mWebappExtras = webappExtras;
mWebApkExtras = webApkExtras;
mActivityType = (webApkExtras != null) ? ActivityType.WEB_APK : ActivityType.WEBAPP;
@@ -1156,7 +1157,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappI
}
@Override
@@ -177,6 +185,13 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
@@ -177,6 +186,13 @@ public class WebappIntentDataProvider extends BrowserServicesIntentDataProvider
return mWebApkExtras;
}
@@ -1240,7 +1241,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
@@ -463,6 +463,15 @@ ChromeAutocompleteProviderClient::GetAimEligibilityService() const {
@@ -475,6 +475,15 @@ ChromeAutocompleteProviderClient::GetAimEligibilityService() const {
return AimEligibilityServiceFactory::GetForProfile(profile_);
}
@@ -1361,7 +1362,7 @@ diff --git a/chrome/browser/content_settings/host_content_settings_map_factory.c
+ if (always_incognito_enabled)
+ return settings_map;
+
#if BUILDFLAG(ENABLE_EXTENSIONS)
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
// These must be registered before before the HostSettings are passed over to
// the IOThread. Simplest to do this on construction.
diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
@@ -1380,7 +1381,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
static_assert(BUILDFLAG(ENABLE_EXTENSIONS_CORE));
using safe_browsing::SafeBrowsingNavigationObserverManager;
@@ -235,6 +241,16 @@ const int kExtensionReferrerUserGestureLimit = 2;
@@ -232,6 +238,16 @@ const int kExtensionReferrerUserGestureLimit = 2;
WebstorePrivateApi::Delegate* test_delegate = nullptr;
@@ -1397,7 +1398,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
// We allow the web store to set a string containing login information when a
// purchase is made, so that when a user logs into sync with a different
// account we can recognize the situation. The Get function returns the login if
@@ -456,7 +472,7 @@ WebstorePrivateBeginInstallWithManifest3Function::Run() {
@@ -453,7 +469,7 @@ WebstorePrivateBeginInstallWithManifest3Function::Run() {
params_ = Params::Create(args());
EXTENSION_FUNCTION_VALIDATE(params_);
@@ -1406,7 +1407,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
if (!crx_file::id_util::IdIsValid(details().id)) {
return RespondNow(BuildResponse(api::webstore_private::Result::kInvalidId,
@@ -987,7 +1003,7 @@ void WebstorePrivateBeginInstallWithManifest3Function::
@@ -1097,7 +1113,7 @@ void WebstorePrivateBeginInstallWithManifest3Function::
DCHECK(extension);
DCHECK(contents);
@@ -1415,7 +1416,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
std::string message_from_admin =
ExtensionManagementFactory::GetForBrowserContext(profile)
@@ -1023,7 +1039,7 @@ WebstorePrivateCompleteInstallFunction::Run() {
@@ -1133,7 +1149,7 @@ WebstorePrivateCompleteInstallFunction::Run() {
std::optional<CompleteInstall::Params> params =
CompleteInstall::Params::Create(args());
EXTENSION_FUNCTION_VALIDATE(params);
@@ -1424,7 +1425,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
if (profile->IsGuestSession() || profile->IsOffTheRecord()) {
return RespondNow(Error(kIncognitoError));
}
@@ -1332,7 +1348,7 @@ ExtensionFunction::ResponseValue
@@ -1442,7 +1458,7 @@ ExtensionFunction::ResponseValue
WebstorePrivateGetExtensionStatusFunction::BuildResponseWithoutManifest(
const ExtensionId& extension_id) {
ExtensionInstallStatus status = GetWebstoreExtensionInstallStatus(
@@ -1433,7 +1434,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
api::webstore_private::ExtensionInstallStatus api_status =
ConvertExtensionInstallStatusForAPI(status);
return ArgumentList(GetExtensionStatus::Results::Create(api_status));
@@ -1346,7 +1362,7 @@ void WebstorePrivateGetExtensionStatusFunction::OnManifestParsed(
@@ -1456,7 +1472,7 @@ void WebstorePrivateGetExtensionStatusFunction::OnManifestParsed(
return;
}
@@ -1445,7 +1446,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/history/history_tab_helper.cc
--- a/chrome/browser/history/history_tab_helper.cc
+++ b/chrome/browser/history/history_tab_helper.cc
@@ -48,6 +48,9 @@
@@ -46,6 +46,9 @@
#include "components/feed/core/v2/public/feed_api.h" // nogncheck
#include "components/feed/core/v2/public/feed_service.h" // nogncheck
#include "content/public/browser/web_contents.h"
@@ -1455,7 +1456,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
#else
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
@@ -636,6 +639,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
@@ -632,6 +635,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
history::HistoryService* HistoryTabHelper::GetHistoryService() {
Profile* profile =
Profile::FromBrowserContext(web_contents()->GetBrowserContext());
@@ -1469,7 +1470,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
if (profile->IsOffTheRecord()) {
return nullptr;
}
@@ -644,6 +654,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
@@ -640,6 +650,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
profile, ServiceAccessType::IMPLICIT_ACCESS);
}
@@ -1489,7 +1490,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/history/history_tab_helper.h
--- a/chrome/browser/history/history_tab_helper.h
+++ b/chrome/browser/history/history_tab_helper.h
@@ -18,6 +18,8 @@
@@ -20,6 +20,8 @@
#include "components/translate/core/browser/translate_driver.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/browser/web_contents_user_data.h"
@@ -1498,7 +1499,7 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor
namespace history {
struct HistoryAddPageArgs;
@@ -60,6 +62,11 @@ class HistoryTabHelper
@@ -71,6 +73,11 @@ class HistoryTabHelper
std::optional<std::string> GetAppId() { return app_id_; }
#endif
@@ -1510,7 +1511,7 @@ diff --git a/chrome/browser/history/history_tab_helper.h b/chrome/browser/histor
private:
explicit HistoryTabHelper(content::WebContents* web_contents);
friend class content::WebContentsUserData<HistoryTabHelper>;
@@ -101,9 +108,6 @@ class HistoryTabHelper
@@ -112,9 +119,6 @@ class HistoryTabHelper
void OnLanguageDetermined(
const translate::LanguageDetectionDetails& details) override;
@@ -1818,7 +1819,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
@@ -239,6 +239,7 @@
@@ -244,6 +244,7 @@
#if BUILDFLAG(IS_ANDROID)
#include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h"
@@ -1826,7 +1827,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#include "chrome/browser/android/ntp/recent_tabs_page_prefs.h"
#include "chrome/browser/android/oom_intervention/oom_intervention_decider.h"
#include "chrome/browser/android/preferences/browser_prefs_android.h"
@@ -1878,6 +1879,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -1918,6 +1919,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
variations::VariationsService::RegisterProfilePrefs(registry);
webapps::InstallPromptPrefs::RegisterProfilePrefs(registry);
@@ -1891,7 +1892,7 @@ diff --git a/chrome/browser/profiles/profile_selections.h b/chrome/browser/profi
diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/ProfileDataCache.java b/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/ProfileDataCache.java
--- a/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/ProfileDataCache.java
+++ b/chrome/browser/signin/services/android/java/src/org/chromium/chrome/browser/signin/services/ProfileDataCache.java
@@ -134,7 +134,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
@@ -75,7 +75,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
private final Context mContext;
private final AccountManagerFacade mAccountManagerFacade;
@@ -1899,7 +1900,7 @@ diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome
private final int mImageSize;
// The badge for a given account is selected as follows:
// * If there is a config for that specific account, use that
@@ -150,13 +149,11 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
@@ -91,13 +90,11 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
ProfileDataCache(
Context context,
AccountManagerFacade accountManagerFacade,
@@ -1914,7 +1915,16 @@ diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome
mImageSize = imageSize;
mDefaultBadgeConfig = badgeConfig;
mPlaceholderImage = getScaledPlaceholderImage(context, imageSize);
@@ -338,7 +335,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
@@ -255,8 +252,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
return;
}
mPerAccountBadgeConfig.put(accountId, badgeConfig);
- var accountInfo = mIdentityManager.findExtendedAccountInfoByAccountId(accountId);
- onExtendedAccountInfoUpdated(accountInfo);
}
/**
@@ -266,7 +261,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
ThreadUtils.assertOnUiThread();
if (mObservers.isEmpty()) {
mAccountManagerFacade.addObserver(this);
@@ -1922,7 +1932,7 @@ diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome
}
mObservers.addObserver(observer);
}
@@ -351,7 +347,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
@@ -279,7 +273,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
mObservers.removeObserver(observer);
if (mObservers.isEmpty()) {
mAccountManagerFacade.removeObserver(this);
@@ -1930,7 +1940,7 @@ diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome
}
}
@@ -382,6 +377,7 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
@@ -311,6 +304,7 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
}
private void updateCache() {
@@ -1938,30 +1948,21 @@ diff --git a/chrome/browser/signin/services/android/java/src/org/chromium/chrome
var accounts = mAccountManagerFacade.getAccounts();
if (!accounts.isFulfilled()) {
// When the list of accounts is ready - onCoreAccountInfosChanged will call
@@ -391,13 +387,7 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
@@ -320,14 +314,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
List<DisplayableProfileData> displayableAccounts = new ArrayList<>();
List<AccountsCache.AccountEntry> displayableAccounts = new ArrayList<>();
for (CoreAccountInfo account : accounts.getResult()) {
- var accountInfo = mIdentityManager.findExtendedAccountInfoByAccountId(account.getId());
- if (accountInfo != null
- && (accountInfo.hasDisplayableInfo()
- || getBadgeConfigForAccount(accountInfo.getEmail()) != null)) {
- displayableAccounts.add(toDisplayableProfileData(accountInfo));
- || getBadgeConfigForAccount(accountInfo.getId()) != null)) {
- displayableAccounts.add(
- new AccountsCache.AccountEntry(
- accountInfo.getId(), toDisplayableProfileData(accountInfo)));
- }
- }
+ }
}
mAccountsCache.setAccounts(displayableAccounts);
mAccountsCache
@@ -413,8 +403,6 @@ public class ProfileDataCache implements IdentityManager.Observer, AccountsChang
/** TODO(crbug.com/476990153): Replace with email parameter with {@link #CoreAccountId}. */
@Deprecated
private void populateCacheForAccount(String accountEmail) {
- var accountInfo = mIdentityManager.findExtendedAccountInfoByEmailAddress(accountEmail);
- onExtendedAccountInfoUpdated(accountInfo);
}
private DisplayableProfileData toDisplayableProfileData(AccountInfo accountInfo) {
diff --git a/chrome/browser/ui/android/native_page/BUILD.gn b/chrome/browser/ui/android/native_page/BUILD.gn
--- a/chrome/browser/ui/android/native_page/BUILD.gn
+++ b/chrome/browser/ui/android/native_page/BUILD.gn
@@ -2046,7 +2047,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
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
@@ -112,6 +112,11 @@ import org.chromium.ui.interpolators.Interpolators;
@@ -114,6 +114,11 @@ import org.chromium.ui.interpolators.Interpolators;
import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.url.GURL;
@@ -2058,7 +2059,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -532,6 +537,9 @@ class LocationBarMediator
@@ -522,6 +527,9 @@ class LocationBarMediator
if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(mContext)) return;
Tab tab = mLocationBarDataProvider.getTab();
if (tab == null) return;
@@ -2071,7 +2072,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
@@ -7057,6 +7057,31 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -7184,6 +7184,31 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
<message name="IDS_QUICK_DELETE_DIALOG_COOKIES_CACHE_AND_OTHER_SITE_DATA_TEXT" desc="Text indicating that browsing data like cookies, cache, and other site data would be deleted.">
Cookies, cache, and other site data
</message>
@@ -2173,7 +2174,7 @@ diff --git a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc 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
@@ -4125,6 +4125,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
@@ -3843,6 +3843,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
"net.out_of_process_system_dns_resolution_enabled";
#endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
@@ -2266,7 +2267,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
diff --git a/components/content_settings/core/browser/host_content_settings_map.h b/components/content_settings/core/browser/host_content_settings_map.h
--- a/components/content_settings/core/browser/host_content_settings_map.h
+++ b/components/content_settings/core/browser/host_content_settings_map.h
@@ -84,6 +84,7 @@ class HostContentSettingsMap : public content_settings::Observer,
@@ -83,6 +83,7 @@ class HostContentSettingsMap : public content_settings::Observer,
// profile or a guest session.
HostContentSettingsMap(PrefService* prefs,
bool is_off_the_record,
@@ -2274,7 +2275,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
bool store_last_modified,
bool restore_session,
bool should_record_metrics);
@@ -556,6 +557,8 @@ class HostContentSettingsMap : public content_settings::Observer,
@@ -562,6 +563,8 @@ class HostContentSettingsMap : public content_settings::Observer,
// Whether this settings map is for an incognito or guest session.
bool is_off_the_record_;
@@ -14,9 +14,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/android/java/AndroidManifest.xml | 1 -
.../menu/bookmark_toolbar_menu_improved.xml | 14 +
.../browser/TabbedModeTabDelegateFactory.java | 5 +-
.../app/bookmarks/BookmarkActivity.java | 21 ++
.../app/bookmarks/BookmarkActivity.java | 20 ++
.../native_page/NativePageFactory.java | 7 +-
chrome/browser/BUILD.gn | 11 +-
chrome/browser/BUILD.gn | 7 +
.../bookmarks/android/bookmark_bridge.cc | 193 ++++++++++++
.../bookmarks/android/bookmark_bridge.h | 30 +-
.../browser/bookmarks/BookmarkBridge.java | 39 +++
@@ -51,7 +51,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 +
40 files changed, 793 insertions(+), 23 deletions(-)
40 files changed, 790 insertions(+), 21 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
@@ -110,7 +110,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
+ private final ChromeActivity mActivity;
private final BrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate;
private final Supplier<@Nullable ShareDelegate> mShareDelegateSupplier;
private final Supplier<EphemeralTabCoordinator> mEphemeralTabCoordinatorSupplier;
private final Supplier<@Nullable EphemeralTabCoordinator> mEphemeralTabCoordinatorSupplier;
@@ -97,7 +98,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
private final RecentlyClosedEntriesManager mRecentlyClosedEntriesManager;
@@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
+ ChromeActivity activity,
BrowserControlsVisibilityDelegate appBrowserControlsVisibilityDelegate,
Supplier<@Nullable ShareDelegate> shareDelegateSupplier,
Supplier<EphemeralTabCoordinator> ephemeralTabCoordinatorSupplier,
Supplier<@Nullable EphemeralTabCoordinator> ephemeralTabCoordinatorSupplier,
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/BookmarkActivity.java
@@ -132,7 +132,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
import android.content.ComponentName;
import android.content.Intent;
import android.text.TextUtils;
@@ -131,6 +133,9 @@ public class BookmarkActivity extends SnackbarActivity {
@@ -133,6 +135,9 @@ public class BookmarkActivity extends SnackbarActivity {
mOnKeyDownHandler =
BackPressHelper.create(
this, getOnBackPressedDispatcher(), mBookmarkManagerCoordinator);
@@ -142,15 +142,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/bookmarks/B
}
@Override
@@ -163,6 +168,7 @@ public class BookmarkActivity extends SnackbarActivity {
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
+ mWindowAndroid.getIntentRequestTracker().onActivityResult(requestCode, resultCode, data);
if (requestCode == EDIT_BOOKMARK_REQUEST_CODE && resultCode == RESULT_OK) {
assumeNonNull(data);
BookmarkId bookmarkId =
@@ -172,6 +178,21 @@ public class BookmarkActivity extends SnackbarActivity {
@@ -179,6 +184,21 @@ public class BookmarkActivity extends SnackbarActivity {
}
}
@@ -213,17 +205,8 @@ 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
@@ -209,6 +209,8 @@ static_library("browser") {
"bad_message.h",
"bookmarks/bookmark_model_factory.cc",
"bookmarks/bookmark_model_factory.h",
+ "bookmarks/bookmark_html_writer.cc",
+ "bookmarks/bookmark_html_writer.h",
"bookmarks/chrome_bookmark_client.cc",
"bookmarks/chrome_bookmark_client.h",
"bookmarks/managed_bookmark_service_factory.cc",
@@ -1507,6 +1509,13 @@ static_library("browser") {
"webdata_services/web_data_service_factory.cc",
@@ -1327,6 +1327,13 @@ static_library("browser") {
"webauthn/webauthn_switches.cc",
]
+ if (is_android) {
@@ -236,15 +219,6 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
configs += [
"//build/config/compiler:wexit_time_destructors",
"//build/config:precompiled_headers",
@@ -3684,8 +3693,6 @@ static_library("browser") {
"bookmarks/bookmark_expanded_state_tracker.h",
"bookmarks/bookmark_expanded_state_tracker_factory.cc",
"bookmarks/bookmark_expanded_state_tracker_factory.h",
- "bookmarks/bookmark_html_writer.cc",
- "bookmarks/bookmark_html_writer.h",
"bookmarks/bookmark_merged_surface_ordering_storage.cc",
"bookmarks/bookmark_merged_surface_ordering_storage.h",
"bookmarks/bookmark_merged_surface_service.cc",
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
@@ -670,7 +644,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
--- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkManagerMediator.java
@@ -67,6 +67,8 @@ import org.chromium.components.commerce.core.ShoppingService;
@@ -68,6 +68,8 @@ import org.chromium.components.commerce.core.ShoppingService;
import org.chromium.components.commerce.core.SubscriptionsObserver;
import org.chromium.components.power_bookmarks.PowerBookmarkMeta;
import org.chromium.components.power_bookmarks.PowerBookmarkType;
@@ -679,7 +653,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
import org.chromium.ui.accessibility.AccessibilityState;
import org.chromium.ui.base.Clipboard;
import org.chromium.ui.base.DeviceFormFactor;
@@ -89,6 +91,47 @@ import java.util.function.BooleanSupplier;
@@ -91,6 +93,47 @@ import java.util.function.BooleanSupplier;
import java.util.function.Consumer;
import java.util.function.Predicate;
@@ -727,7 +701,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
/** Responsible for BookmarkManager business logic. */
// TODO(crbug.com/40256938): Remove BookmarkDelegate if possible.
@NullMarked
@@ -99,6 +142,9 @@ class BookmarkManagerMediator
@@ -101,6 +144,9 @@ class BookmarkManagerMediator
private static boolean sPreventLoadingForTesting;
@@ -737,7 +711,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
/** Keeps track of whether drag is enabled / active for bookmark lists. */
private class BookmarkDragStateDelegate implements DragStateDelegate {
private BookmarkDelegate mBookmarkDelegate;
@@ -641,6 +687,14 @@ class BookmarkManagerMediator
@@ -643,6 +689,14 @@ class BookmarkManagerMediator
mNativePage = nativePage;
}
@@ -752,7 +726,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
/** See BookmarkManager(Coordinator)#updateForUrl */
void updateForUrl(String url) {
// Bookmark model is null if the manager has been destroyed.
@@ -809,6 +863,235 @@ class BookmarkManagerMediator
@@ -811,6 +865,235 @@ class BookmarkManagerMediator
}
}
@@ -1212,10 +1186,10 @@ 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
@@ -264,6 +264,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kAvoidDoubleMultiwindowChanges,
@@ -265,6 +265,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kBlockIntentsWhileLocked,
&kBookmarkPaneAndroid,
&kBottomSheetAsBrowserControls,
+ &kBookmarksExportUseSaf,
&kBrowserControlsDebugging,
&kBrowserControlsEarlyResize,
@@ -1223,7 +1197,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
@@ -700,6 +700,7 @@ public abstract class ChromeFeatureList {
@@ -707,6 +707,7 @@ public abstract class ChromeFeatureList {
"UseLibunwindstackNativeUnwinderAndroid";
public static final String VERIFY_QWACS = "VerifyQWACs";
public static final String VISITED_URL_RANKING_SERVICE = "VisitedURLRankingService";
@@ -1286,7 +1260,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";
@@ -1191,6 +1193,7 @@ public final class ChromePreferenceKeys {
@@ -1208,6 +1210,7 @@ public final class ChromePreferenceKeys {
AUXILIARY_SEARCH_SCHEMA_VERSION,
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
@@ -1297,7 +1271,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
@@ -267,6 +267,24 @@ CHAR_LIMIT guidelines:
@@ -271,6 +271,24 @@ CHAR_LIMIT guidelines:
<message name="IDS_NOTIFICATION_CATEGORY_SITES" desc="Label for notifications from websites, within a list of notification categories. [CHAR_LIMIT=32]">
Sites
</message>
@@ -1427,7 +1401,7 @@ new file mode 100644
diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
--- a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
+++ b/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java
@@ -51,6 +51,7 @@ import org.chromium.build.annotations.Initializer;
@@ -52,6 +52,7 @@ import org.chromium.build.annotations.Initializer;
import org.chromium.build.annotations.NullMarked;
import org.chromium.build.annotations.Nullable;
import org.chromium.ui.R;
@@ -1435,7 +1409,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
import org.chromium.ui.UiUtils;
import java.io.File;
@@ -74,6 +75,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -75,6 +76,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
private static final String TAG = "SelectFileDialog";
private static final String IMAGE_TYPE = "image";
private static final String VIDEO_TYPE = "video";
@@ -1443,7 +1417,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
private static final String AUDIO_TYPE = "audio";
private static final String ALL_TYPES = "*/*";
private static final String GENERIC_TYPE = "application/octet-stream";
@@ -323,6 +325,17 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -324,6 +326,17 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
mMimeTypes = convertToSupportedMimeTypes(mFileTypes);
}
@@ -1461,7 +1435,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
/**
* Creates and starts an intent based on the passed fileTypes and capture value.
*
@@ -407,7 +420,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -408,7 +421,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
List<String> missingPermissions = new ArrayList<>();
String storagePermission = Manifest.permission.READ_EXTERNAL_STORAGE;
boolean shouldUsePhotoPicker = shouldUsePhotoPicker();
@@ -1470,7 +1444,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
// The permission scenario for accessing media has evolved a bit over the years:
// Early on, READ_EXTERNAL_STORAGE was required to access media, but that permission was
// later deprecated. In its place (starting with Android T) READ_MEDIA_IMAGES and
@@ -460,7 +473,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -461,7 +474,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
// TODO(finnur): Remove once we figure out the cause of
// crbug.com/950024.
@@ -1479,7 +1453,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
if (permissions.length != requestPermissions.length) {
throw new RuntimeException(
String.format(
@@ -477,7 +490,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -478,7 +491,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
}
}
@@ -1488,7 +1462,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
if (permissions[i].equals(storagePermission)
|| permissions[i].equals(
Manifest.permission.READ_MEDIA_IMAGES)
@@ -783,6 +796,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -789,6 +802,7 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
mimeTypes.add(mimeType);
}
}
@@ -1496,7 +1470,7 @@ diff --git a/ui/android/java/src/org/chromium/ui/base/SelectFileDialog.java b/ui
return mimeTypes;
}
@@ -1168,6 +1182,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
@@ -1174,6 +1188,10 @@ public class SelectFileDialog implements WindowAndroid.IntentCallback, PhotoPick
return countAcceptTypesFor(superType) == mMimeTypes.size();
}
@@ -1535,8 +1509,8 @@ 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
@@ -196,6 +196,12 @@ void SelectFileDialogImpl::SelectFileImpl(Type type,
suggested_name.value(), owning_window->GetJavaObject());
@@ -171,6 +171,12 @@ void SelectFileDialogImpl::SelectFileImpl(Type type,
owning_window->GetJavaObject());
}
+void SelectFileDialogImpl::ShowToast(const std::string& message) {
+89 -90
View File
@@ -43,7 +43,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../placeholder.txt | 1 +
chrome/browser/ui/ui_features.cc | 1 +
chrome/browser/unexpire_flags.cc | 15 +-
chrome/common/chrome_features.cc | 2 +-
chrome/common/chrome_features.cc | 1 +
.../browser_ui/accessibility/android/BUILD.gn | 1 +
.../res/xml/accessibility_preferences.xml | 3 +-
.../accessibility/AccessibilitySettings.java | 6 +-
@@ -108,7 +108,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 +
95 files changed, 885 insertions(+), 32 deletions(-)
95 files changed, 885 insertions(+), 31 deletions(-)
create mode 100644 base/android/java/src/org/chromium/base/ImmutableFlagWithDefault.java
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
@@ -146,7 +146,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
@@ -187,6 +187,8 @@ generate_allowlist_from_histograms_file("memory_dump_provider_name_variants") {
@@ -190,6 +190,8 @@ generate_allowlist_from_histograms_file("memory_dump_provider_name_variants") {
# 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") {
@@ -155,7 +155,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn
sources = [
"allocator/allocator_check.cc",
"allocator/allocator_check.h",
@@ -1066,7 +1068,7 @@ component("base") {
@@ -1069,7 +1071,7 @@ component("base") {
"//build/config/compiler:wglobal_constructors",
]
@@ -164,7 +164,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn
":check_version_internal",
":simdutf_shim",
"//base/allocator:buildflags",
@@ -4941,6 +4943,7 @@ if (is_android) {
@@ -4959,6 +4961,7 @@ if (is_android) {
"android/java/src/org/chromium/base/Flag.java",
"android/java/src/org/chromium/base/MutableBooleanParamWithSafeDefault.java",
"android/java/src/org/chromium/base/MutableFlagWithSafeDefault.java",
@@ -178,7 +178,7 @@ diff --git a/base/android/feature_map.cc b/base/android/feature_map.cc
@@ -46,6 +46,11 @@ const Feature* FeatureMap::FindFeatureExposedToJava(
static bool JNI_FeatureMap_IsEnabled(int64_t jfeature_map,
std::string& feature_name) {
const std::string& feature_name) {
+ if (base::FeatureList::IsCromiteFlag(feature_name)) {
+ const base::Feature* cromite_feature =
+ base::FeatureList::GetCromiteFlag(feature_name);
@@ -545,7 +545,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settin
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
@@ -132,7 +132,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -134,7 +134,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
}
@Override
@@ -557,7 +557,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
@@ -10,6 +10,7 @@ import android.os.Bundle;
@@ -13,6 +13,7 @@ import android.os.Bundle;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
@@ -565,27 +565,28 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme
import org.chromium.base.supplier.MonotonicObservableSupplier;
import org.chromium.base.supplier.OneshotSupplier;
import org.chromium.build.annotations.NullMarked;
@@ -71,6 +72,7 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
private final OneshotSupplier<BottomSheetController> mBottomSheetControllerSupplier;
@@ -82,6 +83,7 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
// TODO(crbug.com/469772349): Simplify to Supplier<@Nullable ModalDialogManagerSupplier>
private final MonotonicObservableSupplier<ModalDialogManager> mModalDialogManagerSupplier;
private final @Nullable SettingsSearchCoordinator mSearchCoordinator;
private final Supplier<@Nullable SettingsSearchCoordinator> mSearchCoordinatorSupplier;
+ private final Supplier<ChromeBaseSettingsFragment.RequireRestartDelegate> mRequireRestartDelegateSupplier;
public FragmentDependencyProvider(
Context context,
@@ -78,19 +80,25 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
Activity activity,
@@ -91,7 +93,8 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
OneshotSupplier<SnackbarManager> snackbarManagerSupplier,
OneshotSupplier<BottomSheetController> bottomSheetControllerSupplier,
MonotonicObservableSupplier<ModalDialogManager> modalDialogManagerSupplier,
- @Nullable SettingsSearchCoordinator searchCoordinator) {
+ @Nullable SettingsSearchCoordinator searchCoordinator,
- Supplier<@Nullable SettingsSearchCoordinator> searchCoordinatorSupplier) {
+ Supplier<@Nullable SettingsSearchCoordinator> searchCoordinatorSupplier,
+ Supplier<ChromeBaseSettingsFragment.RequireRestartDelegate> requireRestartDelegateSupplier) {
mContext = context;
mActivity = activity;
mProfile = profile;
mSnackbarManagerSupplier = snackbarManagerSupplier;
mWindowAndroidSupplier = windowAndroidSupplier;
@@ -100,12 +103,17 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
mBottomSheetControllerSupplier = bottomSheetControllerSupplier;
mModalDialogManagerSupplier = modalDialogManagerSupplier;
mSearchCoordinator = searchCoordinator;
mSearchCoordinatorSupplier = searchCoordinatorSupplier;
+ mRequireRestartDelegateSupplier = requireRestartDelegateSupplier;
}
@@ -617,9 +618,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import org.chromium.base.supplier.ObservableSuppliers;
+import org.chromium.base.supplier.OneshotSupplier;
import org.chromium.base.supplier.OneshotSupplierImpl;
import org.chromium.base.supplier.SettableMonotonicObservableSupplier;
import org.chromium.build.annotations.NullMarked;
import org.chromium.build.annotations.Nullable;
@@ -58,6 +60,7 @@ import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
@@ -59,12 +61,14 @@ import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.init.ActivityLifecycleDispatcherImpl;
import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
@@ -627,15 +628,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.profiles.ProfileManager;
import org.chromium.chrome.browser.profiles.ProfileManagerUtils;
@@ -66,6 +69,7 @@ import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderCoordinator;
import org.chromium.chrome.browser.settings.search.SettingsSearchCoordinator;
import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderCoordinator;
import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher;
+import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
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;
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory;
import org.chromium.components.browser_ui.bottomsheet.ManagedBottomSheetController;
@@ -126,6 +130,40 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
import org.chromium.chrome.browser.util.DefaultBrowserInfo;
@@ -131,6 +135,40 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
// Key used to store activity start time in the Bundle to have it survive activity re-creation.
private static final String KEY_START_TIME = "start_time";
@@ -676,12 +676,12 @@ 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";
@@ -229,7 +267,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -239,7 +277,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
mSnackbarManagerSupplier,
mBottomSheetControllerSupplier,
getModalDialogManagerSupplier(),
- mSearchCoordinator),
+ mSearchCoordinator,
- () -> mSearchCoordinator),
+ () -> mSearchCoordinator,
+ () -> new RequestRestartDelegate(mSnackbarManagerSupplier, this)),
/* recursive= */ true);
fragmentManager.registerFragmentLifecycleCallbacks(
@@ -711,7 +711,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting
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
@@ -399,6 +399,10 @@ using flags_ui::kOsLinux;
@@ -405,6 +405,10 @@ using flags_ui::kOsLinux;
using flags_ui::kOsMac;
using flags_ui::kOsWin;
@@ -722,9 +722,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
namespace about_flags {
namespace {
@@ -4645,6 +4649,10 @@ const FeatureEntry::FeatureVariation
{"Mute Both", kPermissionsGestureGatedPromptsMuteBoth, nullptr},
@@ -4800,6 +4804,10 @@ const FeatureEntry::FeatureVariation kSigninPromoOnAvatarPillVariation[] = {
};
#endif // BUILDFLAG(ENABLE_DICE_SUPPORT)
+#define FEATURE_PARAM_SECTION
+#include "cromite_flags/chrome_browser_about_flags_cc.inc"
@@ -733,7 +733,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.
@@ -4671,6 +4679,9 @@ const FeatureEntry::FeatureVariation
@@ -4826,6 +4834,9 @@ const FeatureEntry::FeatureVariation kSigninPromoOnAvatarPillVariation[] = {
const FeatureEntry kFeatureEntries[] = {
// Include generated flags for flag unexpiry; see //docs/flag_expiry.md and
// //tools/flags/generate_unexpire_flags.py.
@@ -742,7 +742,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+#undef FLAG_SECTION
#include "build/chromeos_buildflags.h"
#include "chrome/browser/unexpire_flags_gen.inc"
{variations::switches::kEnableBenchmarking,
{switches::kEnableBenchmarking, flag_descriptions::kEnableBenchmarkingName,
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
@@ -805,7 +805,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
@@ -820,6 +820,7 @@ BASE_FEATURE(kXplatSyncedSetup, base::FEATURE_DISABLED_BY_DEFAULT);
@@ -824,6 +824,7 @@ BASE_FEATURE(kYourSavedInfoSettingsPageAndroid, base::FEATURE_DISABLED_BY_DEFAUL
// clang-format on
@@ -816,7 +816,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse
diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h
--- a/chrome/browser/flags/android/chrome_feature_list.h
+++ b/chrome/browser/flags/android/chrome_feature_list.h
@@ -375,6 +375,7 @@ inline constexpr base::FeatureParam<bool>
@@ -380,6 +380,7 @@ inline constexpr base::FeatureParam<bool>
"snippet_as_subtitle",
/*default_value=*/false);
@@ -827,7 +827,7 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -21,6 +21,10 @@ import org.chromium.components.cached_flags.DoubleCachedFeatureParam;
@@ -20,6 +20,10 @@ import org.chromium.components.cached_flags.DoubleCachedFeatureParam;
import org.chromium.components.cached_flags.IntCachedFeatureParam;
import org.chromium.components.cached_flags.StringCachedFeatureParam;
@@ -838,7 +838,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
import java.util.List;
import java.util.Map;
@@ -1114,7 +1118,7 @@ public abstract class ChromeFeatureList {
@@ -1136,7 +1140,7 @@ public abstract class ChromeFeatureList {
newCachedFlag(WEB_APK_MIN_SHELL_APK_VERSION, true);
// keep-sorted end
@@ -847,7 +847,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
List.of(
// keep-sorted start
sAccountForSuppressedKeyboardInsets,
@@ -1272,6 +1276,13 @@ public abstract class ChromeFeatureList {
@@ -1302,6 +1306,13 @@ public abstract class ChromeFeatureList {
// keep-sorted end
);
@@ -1027,7 +1027,7 @@ 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
@@ -580,4 +580,5 @@ BASE_FEATURE_PARAM(bool,
@@ -534,4 +534,5 @@ BASE_FEATURE_PARAM(bool,
BASE_FEATURE(kUpdaterUI, base::FEATURE_DISABLED_BY_DEFAULT);
#endif
@@ -1068,11 +1068,10 @@ diff --git a/chrome/browser/unexpire_flags.cc b/chrome/browser/unexpire_flags.cc
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
@@ -1985,5 +1985,5 @@ BASE_FEATURE(kDisableShortcutsEnableDiy, base::FEATURE_ENABLED_BY_DEFAULT);
// happen silently without prompting an updating dialog.
BASE_FEATURE(kSilentPolicyAndDefaultAppUpdating,
base::FEATURE_ENABLED_BY_DEFAULT);
-
@@ -2028,4 +2028,5 @@ BASE_FEATURE(kUnicornChromeActivityReporting,
BASE_FEATURE(kSmartRestartMetrics, base::FEATURE_ENABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_ANDROID)
+#include "cromite_flags/chrome_common_chrome_features_cc.inc"
} // namespace features
diff --git a/components/browser_ui/accessibility/android/BUILD.gn b/components/browser_ui/accessibility/android/BUILD.gn
@@ -1141,7 +1140,7 @@ diff --git a/components/browser_ui/settings/android/java/res/values/attrs.xml b/
diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeSwitchPreference.java b/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeSwitchPreference.java
--- a/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeSwitchPreference.java
+++ b/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/ChromeSwitchPreference.java
@@ -15,6 +15,8 @@ import android.view.accessibility.AccessibilityEvent;
@@ -14,6 +14,8 @@ import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import android.widget.TextView;
@@ -1150,7 +1149,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
import androidx.annotation.ColorInt;
import androidx.annotation.VisibleForTesting;
import androidx.preference.PreferenceViewHolder;
@@ -42,6 +44,11 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat implements Co
@@ -38,6 +40,11 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat implements Co
/** Indicates if the preference uses a custom layout. */
private final boolean mHasCustomLayout;
@@ -1162,7 +1161,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
// TOOD(crbug.com/1451550): This is an interim solution. In the long-term, we should migrate
// away from a switch with dynamically changing summaries onto a radio group.
/**
@@ -66,6 +73,18 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat implements Co
@@ -62,6 +69,18 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat implements Co
mHasCustomLayout = ManagedPreferencesUtils.isCustomLayoutApplied(context, attrs);
mUseSummaryAsTitle = true;
@@ -1256,7 +1255,7 @@ 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
@@ -177,4 +177,5 @@ BASE_FEATURE(kWebAuthnUsePasskeyFromAnotherDeviceInContextMenu,
@@ -200,4 +200,5 @@ BASE_FEATURE(kWebAuthnUsePasskeyFromAnotherDeviceInContextMenu,
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
@@ -1265,7 +1264,7 @@ diff --git a/components/password_manager/core/browser/features/password_features
diff --git a/components/permissions/features.cc b/components/permissions/features.cc
--- a/components/permissions/features.cc
+++ b/components/permissions/features.cc
@@ -125,6 +125,7 @@ BASE_FEATURE(kPermissionPredictionsGeolocationAccuracy,
@@ -117,6 +117,7 @@ BASE_FEATURE(kPermissionPredictionsGeolocationAccuracy,
BASE_FEATURE(kPermissionsGestureGatedPrompts,
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -1527,7 +1526,19 @@ diff --git a/components/webui/flags/resources/app.ts b/components/webui/flags/re
private announceStatusDelayMs: number = 100;
private featuresResolver: PromiseResolver<void> = new PromiseResolver();
private flagSearch: FlagSearch|null = null;
@@ -186,10 +190,25 @@ export class FlagsAppElement extends CrLitElement {
@@ -180,6 +184,11 @@ export class FlagsAppElement extends CrLitElement {
override connectedCallback() {
super.connectedCallback();
+ if (location.pathname == '/cromite') {
+ this.onlyCromiteFlags = true;
+ this.getRequiredElement("#appcontainer").classList.add('cromite');
+ document.title = "Cromite Flags List";
+ }
// <if expr="not is_ios">
const pathname = new URL(window.location.href).pathname;
this.isFlagsDeprecatedUrl_ =
@@ -252,10 +261,25 @@ export class FlagsAppElement extends CrLitElement {
if (changedPrivateProperties.has('data')) {
const defaultFeatures: Feature[] = [];
const nonDefaultFeatures: Feature[] = [];
@@ -1553,18 +1564,6 @@ diff --git a/components/webui/flags/resources/app.ts b/components/webui/flags/re
this.defaultFeatures = defaultFeatures;
this.nonDefaultFeatures = nonDefaultFeatures;
@@ -233,6 +252,11 @@ export class FlagsAppElement extends CrLitElement {
override connectedCallback() {
super.connectedCallback();
+ if (location.pathname == '/cromite') {
+ this.onlyCromiteFlags = true;
+ this.getRequiredElement("#appcontainer").classList.add('cromite');
+ document.title = "Cromite Flags List";
+ }
// <if expr="not is_ios">
const pathname = new URL(window.location.href).pathname;
this.isFlagsDeprecatedUrl_ =
diff --git a/components/webui/flags/resources/experiment.css b/components/webui/flags/resources/experiment.css
--- a/components/webui/flags/resources/experiment.css
+++ b/components/webui/flags/resources/experiment.css
@@ -1581,7 +1580,7 @@ diff --git a/components/webui/flags/resources/experiment.css b/components/webui/
}
+.experiment-on select {
+ background: #dddddd;
+ background: #ddd;
+ color: var(--link-color);
+}
+
@@ -1705,7 +1704,7 @@ diff --git a/components/webui/version/version_handler_helper.cc b/components/web
diff --git a/content/common/features.cc b/content/common/features.cc
--- a/content/common/features.cc
+++ b/content/common/features.cc
@@ -758,4 +758,5 @@ bool IsEnforceSameDocumentOriginInvariantsEnabled() {
@@ -763,4 +763,5 @@ bool IsEnforceSameDocumentOriginInvariantsEnabled() {
blink::features::kTreatMhtmlInitialDocumentLoadsAsCrossDocument);
}
@@ -1714,18 +1713,18 @@ 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
@@ -1460,4 +1460,5 @@ bool IsPushSubscriptionChangeEventEnabled() {
features::kPushSubscriptionChangeEventOnResubscribe);
@@ -1494,4 +1494,5 @@ bool IsFluidResizeEnabled() {
}
#endif
+#include "cromite_flags/content_public_common_content_features_cc.inc"
} // namespace features
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
@@ -422,6 +422,7 @@ CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess();
CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess();
CONTENT_EXPORT bool IsPushSubscriptionChangeEventEnabled();
@@ -440,6 +440,7 @@ CONTENT_EXPORT bool IsPushSubscriptionChangeEventEnabled();
CONTENT_EXPORT bool IsFluidResizeEnabled();
#endif
+#include "cromite_flags/content_public_common_content_features_h.inc"
} // namespace features
@@ -2069,7 +2068,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
@@ -1831,5 +1831,5 @@ uint32_t GetPassthroughAudioFormats() {
@@ -1850,5 +1850,5 @@ uint32_t GetPassthroughAudioFormats() {
return 0;
#endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS)
}
@@ -2079,7 +2078,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
@@ -586,5 +586,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled();
@@ -590,5 +590,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled();
MEDIA_EXPORT uint32_t GetPassthroughAudioFormats();
} // namespace media
@@ -2089,18 +2088,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
@@ -728,4 +728,5 @@ BASE_FEATURE(kUseLockFreeX509Verification, base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kUseNSURLDataForGURLConversion, base::FEATURE_ENABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_APPLE)
@@ -777,4 +777,5 @@ BASE_FEATURE(kDrainSpdySessionSynchronouslyOnRemoteEndpointDisconnect,
BASE_FEATURE(kLogicalClearHttpCache, 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
@@ -764,6 +764,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kUseLockFreeX509Verification);
NET_EXPORT BASE_DECLARE_FEATURE(kUseNSURLDataForGURLConversion);
#endif // BUILDFLAG(IS_APPLE)
@@ -807,6 +807,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kLogicalClearHttpCache);
NET_EXPORT BASE_DECLARE_FEATURE(
kDrainSpdySessionSynchronouslyOnRemoteEndpointDisconnect);
+#include "cromite_flags/net_base_features_h.inc"
} // namespace net::features
@@ -2109,18 +2108,18 @@ 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
@@ -646,4 +646,5 @@ BASE_FEATURE_PARAM(bool,
/*name=*/"report_inconsistent_header",
/*default_value=*/false);
@@ -662,4 +662,5 @@ BASE_FEATURE_PARAM(int,
/*name=*/"max_global_buffer_size",
/*default_value=*/0);
+#include "cromite_flags/services_network_public_cpp_features_cc.inc"
} // namespace network::features
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
@@ -395,6 +395,7 @@ BASE_DECLARE_FEATURE_PARAM(
@@ -434,6 +434,7 @@ BASE_DECLARE_FEATURE_PARAM(int, kDurableMessagesGlobalBufferSize);
COMPONENT_EXPORT(NETWORK_CPP_FLAGS_AND_SWITCHES)
BASE_DECLARE_FEATURE(kUseUnexportableKeyServiceInBrowserProcess);
BASE_DECLARE_FEATURE(kBypassRequestForbiddenHeadersCheck);
+#include "cromite_flags/services_network_public_cpp_features_h.inc"
} // namespace network::features
@@ -2129,7 +2128,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
@@ -2703,4 +2703,5 @@ bool IsXrDevice() {
@@ -2771,4 +2771,5 @@ bool IsXrDevice() {
//
// DO NOT ADD NEW FEATURES HERE.
@@ -2138,7 +2137,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
@@ -1984,6 +1984,7 @@ BLINK_COMMON_EXPORT bool IsXrDevice();
@@ -2015,6 +2015,7 @@ BLINK_COMMON_EXPORT bool IsXrDevice();
//
// DO NOT ADD NEW FEATURES HERE.
@@ -2149,18 +2148,18 @@ 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
@@ -436,4 +436,5 @@ BASE_FEATURE(kStringWidthCache, base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kUseClipboardStrictVirtualFileCheck,
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -456,4 +456,5 @@ BASE_FEATURE_PARAM(int,
"acceptable_latency_ms",
50);
+#include "cromite_flags/ui_base_features_cc.inc"
} // namespace features
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
@@ -270,6 +270,7 @@ BASE_DECLARE_FEATURE(kStringWidthCache);
@@ -294,6 +294,7 @@ BASE_DECLARE_FEATURE_PARAM(int, kCompensationExpectedLatencyMs);
COMPONENT_EXPORT(UI_BASE_FEATURES)
BASE_DECLARE_FEATURE(kUseClipboardStrictVirtualFileCheck);
BASE_DECLARE_FEATURE_PARAM(int, kCompensationAcceptableLatencyMs);
+#include "cromite_flags/ui_base_features_h.inc"
} // namespace features
+11 -11
View File
@@ -73,7 +73,7 @@ diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/andr
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
@@ -142,6 +142,7 @@ import org.chromium.ui.base.SelectFileDialog;
@@ -146,6 +146,7 @@ import org.chromium.ui.base.SelectFileDialog;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.edge_to_edge.EdgeToEdgeStateProvider;
import org.chromium.url.GURL;
@@ -81,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni
import java.io.File;
import java.nio.charset.StandardCharsets;
@@ -686,7 +687,10 @@ public class ProcessInitializationHandler {
@@ -699,7 +700,10 @@ public class ProcessInitializationHandler {
tasks.add(
() -> {
@@ -108,7 +108,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -192,6 +192,11 @@ source_set("shell_integration") {
@@ -193,6 +193,11 @@ source_set("shell_integration") {
# require many files from it. This makes linking more efficient.
static_library("browser") {
sources = [
@@ -179,7 +179,7 @@ diff --git a/chrome/browser/chrome_content_browser_client_receiver_bindings.cc b
#include "chrome/browser/chrome_browser_interface_binders_webui.h"
#include "chrome/browser/chrome_content_browser_client.h"
#include "chrome/browser/chrome_content_browser_client_parts.h"
@@ -497,6 +498,15 @@ void ChromeContentBrowserClient::
@@ -488,6 +489,15 @@ void ChromeContentBrowserClient::
render_frame_host);
},
&render_frame_host));
@@ -412,7 +412,7 @@ new file mode 100644
diff --git a/chrome/browser/notifications/android/java/src/org/chromium/chrome/browser/notifications/permissions/NotificationPermissionController.java b/chrome/browser/notifications/android/java/src/org/chromium/chrome/browser/notifications/permissions/NotificationPermissionController.java
--- a/chrome/browser/notifications/android/java/src/org/chromium/chrome/browser/notifications/permissions/NotificationPermissionController.java
+++ b/chrome/browser/notifications/android/java/src/org/chromium/chrome/browser/notifications/permissions/NotificationPermissionController.java
@@ -181,6 +181,7 @@ public class NotificationPermissionController {
@@ -175,6 +175,7 @@ public class NotificationPermissionController {
* @return True if any UI was shown (either rationale dialog or OS prompt), false otherwise.
*/
public boolean requestPermissionIfNeeded(boolean contextual) {
@@ -423,7 +423,7 @@ diff --git a/chrome/browser/notifications/android/java/src/org/chromium/chrome/b
diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/startup/bad_flags_prompt.cc
--- a/chrome/browser/ui/startup/bad_flags_prompt.cc
+++ b/chrome/browser/ui/startup/bad_flags_prompt.cc
@@ -220,6 +220,7 @@ static const std::variant<const base::Feature*, const char*>
@@ -221,6 +221,7 @@ static const std::variant<const base::Feature*, const char*>
#if BUILDFLAG(IS_ANDROID)
&chrome::android::kCommandLineOnNonRooted,
@@ -434,7 +434,7 @@ diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/s
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
@@ -667,6 +667,7 @@ mojom("mojo_bindings") {
@@ -666,6 +666,7 @@ mojom("mojo_bindings") {
"actor.mojom",
"chrome_render_frame.mojom",
"google_accounts_private_api_extension.mojom",
@@ -477,7 +477,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
#include "chrome/renderer/google_accounts_private_api_extension.h"
#include "chrome/renderer/loadtimes_extension_bindings.h"
#include "chrome/renderer/media/flash_embed_rewrite.h"
@@ -656,6 +657,7 @@ void ChromeContentRendererClient::RenderFrameCreated(
@@ -662,6 +663,7 @@ void ChromeContentRendererClient::RenderFrameCreated(
TrustedVaultEncryptionKeysExtension::Create(render_frame);
GoogleAccountsPrivateApiExtension::Create(render_frame);
@@ -851,7 +851,7 @@ diff --git a/content/browser/log_console_message.h b/content/browser/log_console
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
@@ -323,6 +323,8 @@
@@ -327,6 +327,8 @@
#include "url/origin.h"
#include "url/url_constants.h"
@@ -860,7 +860,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
#if BUILDFLAG(IS_ANDROID)
#include "base/android/scoped_service_binding_batch.h"
#include "content/browser/accessibility/browser_accessibility_manager_android.h"
@@ -4959,7 +4961,8 @@ void RenderFrameHostImpl::DidAddMessageToConsole(
@@ -4985,7 +4987,8 @@ void RenderFrameHostImpl::DidAddMessageToConsole(
if (delegate_->DidAddMessageToConsole(this, log_level, message, line_no,
updated_source_id,
untrusted_stack_trace)) {
@@ -870,7 +870,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
}
// Pass through log severity only on builtin components pages to limit console
@@ -4976,8 +4979,14 @@ void RenderFrameHostImpl::DidAddMessageToConsole(
@@ -5002,8 +5005,14 @@ void RenderFrameHostImpl::DidAddMessageToConsole(
const bool is_off_the_record =
GetSiteInstance()->GetBrowserContext()->IsOffTheRecord();
@@ -57,15 +57,15 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDispatcher.java
@@ -22,6 +22,7 @@ import androidx.core.os.BuildCompat;
@@ -23,6 +23,7 @@ import androidx.core.os.BuildCompat;
import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.ApplicationStatus;
import org.chromium.base.CommandLine;
+import org.chromium.base.ContextUtils;
import org.chromium.base.IntentUtils;
import org.chromium.base.Log;
import org.chromium.base.metrics.RecordHistogram;
@@ -51,6 +52,9 @@ import java.lang.annotation.Retention;
@@ -53,6 +54,9 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Set;
@@ -75,7 +75,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
/**
* Dispatches incoming intents to the appropriate activity based on the current configuration and
* Intent fired.
@@ -137,6 +141,9 @@ public class LaunchIntentDispatcher {
@@ -139,6 +143,9 @@ public class LaunchIntentDispatcher {
*/
public static boolean isCustomTabIntent(Intent intent) {
if (intent == null) return false;
@@ -85,7 +85,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
Log.w(
TAG,
"CustomTabsIntent#shouldAlwaysUseBrowserUI() = "
@@ -163,6 +170,10 @@ public class LaunchIntentDispatcher {
@@ -165,6 +172,10 @@ public class LaunchIntentDispatcher {
// Make sure the result of the CustomTabActivity is forwarded to the client.
newIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
@@ -96,7 +96,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
// Since configureIntentForResizableCustomTab() might change the componenet/class
// associated with the passed intent, it needs to be called after #setClassName(context,
// CustomTabActivity.class.getName());
@@ -333,6 +344,17 @@ public class LaunchIntentDispatcher {
@@ -342,6 +353,17 @@ public class LaunchIntentDispatcher {
if (Intent.ACTION_VIEW.equals(newIntent.getAction())
&& !IntentHandler.wasIntentSenderChrome(newIntent)) {
@@ -140,7 +140,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
/**
* Extra that, if set, makes the Custom Tab Activity's height to be x pixels, the Custom Tab
@@ -697,7 +697,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@@ -696,7 +696,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
TrustedWebActivityIntentBuilder.EXTRA_SCREEN_ORIENTATION,
ScreenOrientation.DEFAULT));
@@ -149,7 +149,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
mBreakPointDp = getActivityBreakPointFromIntent(intent);
mInitialActivityHeight = getInitialActivityHeightFromIntent(intent);
@@ -710,8 +710,8 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@@ -709,8 +709,8 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
intent, EXTRA_ACTIVITY_HEIGHT_RESIZE_BEHAVIOR, ACTIVITY_HEIGHT_DEFAULT);
mIsPartialCustomTabFixedHeight = activityHeightResizeBehavior == ACTIVITY_HEIGHT_FIXED;
@@ -160,7 +160,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
@BackgroundInteractBehavior
int backgroundInteractBehavior =
IntentUtils.safeGetIntExtra(
@@ -1380,7 +1380,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@@ -1379,7 +1379,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
public @CustomTabProfileType int getCustomTabMode() {
return AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()
? CustomTabProfileType.INCOGNITO
@@ -194,7 +194,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/IncognitoCustomTabIntentDataProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/IncognitoCustomTabIntentDataProvider.java
@@ -44,6 +44,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
@@ -45,6 +45,9 @@ import org.chromium.components.browser_ui.widget.TintedDrawable;
import java.util.ArrayList;
import java.util.List;
@@ -204,7 +204,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
/**
* A model class that parses the incoming intent for incognito Custom Tabs specific customization
* data.
@@ -133,6 +136,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
@@ -134,6 +137,9 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
}
private static boolean isIntentFromThirdPartyAllowed() {
@@ -214,7 +214,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
return ChromeFeatureList.sCctIncognitoAvailableToThirdParty.isEnabled();
}
@@ -230,6 +236,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
@@ -231,6 +237,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
}
public static boolean isValidIncognitoIntent(Intent intent, boolean recordMetrics) {
@@ -225,7 +225,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
if (!isIncognitoRequested(intent)) return false;
var session = SessionHolder.getSessionHolderFromIntent(intent);
if (isIntentFromThirdPartyAllowed()
@@ -340,6 +350,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
@@ -341,6 +351,10 @@ public class IncognitoCustomTabIntentDataProvider extends BrowserServicesIntentD
@Override
public @CustomTabProfileType int getCustomTabMode() {
@@ -239,7 +239,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Inco
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java
@@ -11,6 +11,7 @@ import android.content.Context;
@@ -12,6 +12,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.drawable.Drawable;
@@ -247,7 +247,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import android.os.Bundle;
import android.text.SpannableString;
import android.text.style.ClickableSpan;
@@ -84,6 +85,15 @@ import org.chromium.ui.text.SpanApplier;
@@ -86,6 +87,15 @@ import org.chromium.ui.text.SpanApplier;
import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
@@ -263,7 +263,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import androidx.preference.PreferenceCategory;
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
import org.chromium.base.shared_preferences.SharedPreferencesManager;
@@ -153,6 +163,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -155,6 +165,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
startTag, endTag, new ChromeClickableSpan(context, onClickCallback));
}
@@ -273,7 +273,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public void onCreatePreferencesCromite(@Nullable Bundle savedInstanceState, @Nullable String rootKey) {
mPageTitle.set(getString(R.string.prefs_privacy_security));
@@ -403,6 +416,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -405,6 +418,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
new SpanApplier.SpanInfo("<link2>", "</link2>", servicesLink));
}
@@ -283,7 +283,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@@ -423,6 +439,31 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -425,6 +441,31 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
} else if (PREF_SEARCH_SUGGESTIONS.equals(key)) {
UserPrefs.get(getProfile())
.setBoolean(Pref.SEARCH_SUGGEST_ENABLED, (boolean) newValue);
@@ -315,7 +315,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
}
@@ -455,6 +496,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -457,6 +498,16 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
UserPrefs.get(getProfile()).getBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED));
}
@@ -335,7 +335,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
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
@@ -705,7 +705,9 @@ BASE_FEATURE(kMagicStackAndroid, base::FEATURE_ENABLED_BY_DEFAULT);
@@ -711,7 +711,9 @@ BASE_FEATURE(kMagicStackAndroid, base::FEATURE_ENABLED_BY_DEFAULT);
// Enables an experimental feature which forces mayLaunchUrl to use a different
// storage partition. This may reduce performance. This should not be enabled by
// default.
@@ -349,7 +349,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
@@ -977,6 +977,8 @@ public abstract class ChromeFeatureList {
@@ -995,6 +995,8 @@ public abstract class ChromeFeatureList {
MOST_VISITED_TILES_CUSTOMIZATION,
/* defaultValue= */ true,
/* defaultValueInTests= */ true);
@@ -358,18 +358,18 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final CachedFlag sMostVisitedTilesReselect =
newCachedFlag(MOST_VISITED_TILES_RESELECT, false);
public static final CachedFlag sMoveToFrontInLaunchIntentDispatcher =
@@ -1227,6 +1229,7 @@ public abstract class ChromeFeatureList {
@@ -1255,6 +1257,7 @@ public abstract class ChromeFeatureList {
sMaliciousApkDownloadCheck,
sMostVisitedTilesCustomization,
sMostVisitedTilesReselect,
+ sMayLaunchurlUsesSeparateStoragePartition,
sMoveToFrontInLaunchIntentDispatcher,
sMultiInstanceSharedPrefsMigration,
sMvcUpdateViewWhenModelChanged,
sNavBarColorAnimation,
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabAssociatedApp.java
@@ -88,7 +88,11 @@ public final class TabAssociatedApp extends TabWebContentsUserData implements Im
@@ -90,7 +90,11 @@ public final class TabAssociatedApp extends TabWebContentsUserData implements Im
public static boolean isOpenedFromExternalApp(Tab tab) {
TabAssociatedApp app = get(tab);
if (app == null) return false;
+8 -8
View File
@@ -28,7 +28,7 @@ diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/va
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
@@ -386,6 +386,8 @@ import java.util.Set;
@@ -395,6 +395,8 @@ import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.Supplier;
@@ -37,7 +37,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.
@@ -4002,6 +4004,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
@@ -4132,6 +4134,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
.closeTabs(
TabClosureParams.closeTab(currentTab).build(), /* allowDialog= */ true);
RecordUserAction.record("MobileTabClosed");
@@ -49,7 +49,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
@@ -70,6 +70,7 @@ import org.chromium.base.supplier.SettableNullableObservableSupplier;
@@ -69,6 +69,7 @@ import org.chromium.base.supplier.SettableNullableObservableSupplier;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
import org.chromium.chrome.browser.ActivityUtils;
@@ -57,7 +57,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;
@@ -2665,6 +2666,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -2724,6 +2725,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
return true;
}
@@ -91,7 +91,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeLife
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
@@ -444,6 +444,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
@@ -478,6 +478,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
modelList.add(buildContentFilterHelpCenterMenuItem(currentTab));
}
@@ -108,9 +108,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
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
@@ -4490,6 +4490,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
@@ -4563,6 +4563,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
<message name="IDS_MENU_MORE_TOOLS" desc="Menu item to more tools. [CHAR_LIMIT=27]">
More tools
</message>
+ <message name="IDS_MENU_EXIT" desc="Menu item for exit browser. [CHAR-LIMIT=27]">
+ Exit
@@ -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"
@@ -553,6 +554,15 @@ AutocompleteController::AutocompleteController(
@@ -547,6 +548,15 @@ AutocompleteController::AutocompleteController(
steady_state_omnibox_position_(
metrics::OmniboxEventProto::UNKNOWN_POSITION),
config_(config) {
@@ -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
@@ -1204,6 +1204,7 @@ component("net") {
@@ -1215,6 +1215,7 @@ component("net") {
":net_deps",
"//components/network_time/time_tracker",
"//components/unexportable_keys",
@@ -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"
@@ -1499,6 +1500,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck(
@@ -1506,6 +1507,13 @@ int HostResolverManager::StartIPv6ReachabilityCheck(
return OK;
}
@@ -57,7 +57,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
import org.chromium.chrome.browser.fullscreen.FullscreenManager;
import org.chromium.chrome.browser.init.ChromeActivityNativeDelegate;
@@ -168,6 +169,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory {
@@ -167,6 +168,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory {
@Override
public boolean shouldDisableAllExternalIntents() {
@@ -76,7 +76,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/Ext
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
import org.chromium.chrome.browser.document.ChromeLauncherActivity;
@@ -137,7 +138,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
@@ -139,7 +140,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
@Override
public boolean shouldDisableExternalIntentRequestsForUrl(
ExternalNavigationParams params, Intent intent) {
@@ -86,7 +86,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/Ext
}
@Override
@@ -318,7 +320,7 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
@@ -320,7 +322,7 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
&& params.isInitialNavigationInFrame()
// TODO(crbug.com/452537438): Figure out a better way to check whether we are in
// desktop windowing mode or if the device can enter desktop windowing mode.
@@ -195,7 +195,7 @@ diff --git a/components/external_intents/android/java/src/org/chromium/component
diff --git a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
--- a/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
+++ b/components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java
@@ -1745,6 +1745,12 @@ public class ExternalNavigationHandler {
@@ -1796,6 +1796,12 @@ public class ExternalNavigationHandler implements ExternalNavigationHelper {
return false;
}
@@ -208,7 +208,7 @@ diff --git a/components/external_intents/android/java/src/org/chromium/component
private OverrideUrlLoadingResult shouldOverrideUrlLoadingInternal(
ExternalNavigationParams params,
Intent targetIntent,
@@ -1832,6 +1838,21 @@ public class ExternalNavigationHandler {
@@ -1883,6 +1889,21 @@ public class ExternalNavigationHandler implements ExternalNavigationHelper {
return OverrideUrlLoadingResult.forNoOverride();
}
@@ -20,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.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
@@ -106,6 +106,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
@@ -81,6 +81,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
if (command_line.HasSwitch(switches::kDisableMediaSessionAPI)) {
WebRuntimeFeatures::EnableMediaSession(false);
}
@@ -59,10 +59,10 @@ new file mode 100644
diff --git a/third_party/blink/public/platform/web_runtime_features.h b/third_party/blink/public/platform/web_runtime_features.h
--- a/third_party/blink/public/platform/web_runtime_features.h
+++ b/third_party/blink/public/platform/web_runtime_features.h
@@ -69,6 +69,7 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFeatures : public WebRuntimeFeaturesBase {
static void EnableFingerprintingCanvasMeasureTextNoise(bool);
@@ -70,6 +70,7 @@ class BLINK_PLATFORM_EXPORT WebRuntimeFeatures : public WebRuntimeFeaturesBase {
static void EnableFingerprintingCanvasImageDataNoise(bool);
static void EnableFluentScrollbars(bool);
static void EnableDesktopAndroidScrollbars(bool);
+ static void EnableVibration(bool);
static void EnableLocalNetworkAccessWebRTC(bool);
@@ -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
@@ -1176,6 +1176,10 @@
@@ -1224,6 +1224,10 @@
{
name: "CompositingDecisionAtAnimationPhaseBoundaries"
},
@@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -737,7 +737,7 @@ config("compiler") {
@@ -669,7 +669,7 @@ config("compiler") {
# TODO(crbug.com/376278218): This causes segfault on Linux ARM builds.
# It also causes segfault on Linux s390x:
# https://github.com/llvm/llvm-project/issues/149511
@@ -23,7 +23,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
cflags += [ "-Wa,--crel,--allow-experimental-crel" ]
}
}
@@ -1836,7 +1836,7 @@ config("clang_revision") {
@@ -1861,7 +1861,7 @@ config("clang_revision") {
# e.g. by setting in the the project's .gn file.
config("clang_warning_suppression") {
# Some build configs use older versions of clang that don't support WSMs
@@ -32,7 +32,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
from_build_root =
rebase_path(clang_warning_suppression_file, root_build_dir)
inputs = [ clang_warning_suppression_file ]
@@ -2211,7 +2211,9 @@ config("default_warnings") {
@@ -2236,7 +2236,9 @@ config("default_warnings") {
# TODO(crbug.com/432275627): Fix and re-enable.
"-Wno-uninitialized-const-pointer",
]
@@ -43,7 +43,7 @@ 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",
@@ -2265,6 +2267,15 @@ config("default_warnings") {
@@ -2290,6 +2292,15 @@ config("default_warnings") {
ldflags += [ "-Wno-version-check" ]
}
@@ -233,7 +233,7 @@ diff --git a/chrome/browser/permissions/one_time_permissions_tracker_factory.cc
diff --git a/chrome/browser/ui/views/permissions/chip/chip_controller.cc b/chrome/browser/ui/views/permissions/chip/chip_controller.cc
--- a/chrome/browser/ui/views/permissions/chip/chip_controller.cc
+++ b/chrome/browser/ui/views/permissions/chip/chip_controller.cc
@@ -236,7 +236,7 @@ void ChipController::OnWidgetDestroyed(views::Widget* widget) {
@@ -235,7 +235,7 @@ void ChipController::OnWidgetDestroyed(views::Widget* widget) {
break;
case permissions::PermissionAction::GRANTED_ONCE:
active_chip_permission_request_manager_.value()->AcceptThisTime(
@@ -257,7 +257,7 @@ diff --git a/chrome/browser/ui/views/permissions/exclusive_access_permission_pro
diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
--- a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
+++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
@@ -302,7 +302,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) {
@@ -321,7 +321,7 @@ void PermissionPromptBubbleBaseView::RunButtonCallback(int button_id) {
delegate_->Accept(/*prompt_options=*/std::monostate());
return;
case PermissionDialogButton::kAcceptOnce:
@@ -295,7 +295,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/website_preference_bridge.cc b/components/browser_ui/site_settings/android/website_preference_bridge.cc
--- a/components/browser_ui/site_settings/android/website_preference_bridge.cc
+++ b/components/browser_ui/site_settings/android/website_preference_bridge.cc
@@ -240,7 +240,7 @@ void GetOrigins(JNIEnv* env,
@@ -230,7 +230,7 @@ void GetOrigins(JNIEnv* env,
seen_origins.push_back(origin);
insertionFunc(env, static_cast<int>(content_type), list,
ConvertOriginToJavaString(env, origin), jembedder,
@@ -373,10 +373,10 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
- ContentSettingsType::GEOLOCATION_WITH_OPTIONS,
- ContentSettingsType::MEDIASTREAM_MIC,
- ContentSettingsType::MEDIASTREAM_CAMERA,
ContentSettingsType::SENSORS,
ContentSettingsType::HAND_TRACKING,
ContentSettingsType::SMART_CARD_DATA,
ContentSettingsType::AR,
@@ -301,10 +333,6 @@ const std::vector<ContentSettingsType>& GetTypesWithTemporaryGrantsInHcsm() {
@@ -302,10 +334,6 @@ const std::vector<ContentSettingsType>& GetTypesWithTemporaryGrantsInHcsm() {
ContentSettingsType::CAPTURED_SURFACE_CONTROL,
#endif
ContentSettingsType::KEYBOARD_LOCK,
@@ -384,9 +384,9 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
- ContentSettingsType::GEOLOCATION_WITH_OPTIONS,
- ContentSettingsType::MEDIASTREAM_MIC,
- ContentSettingsType::MEDIASTREAM_CAMERA,
ContentSettingsType::SENSORS,
ContentSettingsType::HAND_TRACKING,
ContentSettingsType::AR,
ContentSettingsType::VR,
diff --git a/components/content_settings/core/browser/content_settings_utils.h b/components/content_settings/core/browser/content_settings_utils.h
--- a/components/content_settings/core/browser/content_settings_utils.h
+++ b/components/content_settings/core/browser/content_settings_utils.h
@@ -483,7 +483,7 @@ diff --git a/components/page_info/android/java/src/org/chromium/components/page_
diff --git a/components/page_info/android/page_info_controller_android.cc b/components/page_info/android/page_info_controller_android.cc
--- a/components/page_info/android/page_info_controller_android.cc
+++ b/components/page_info/android/page_info_controller_android.cc
@@ -218,6 +218,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -219,6 +219,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
// being requested. This is needed for the Clapper experiment
// (crbug.com/458351800) and (crbug.com/463333225).
bool requested_notifications = false;
@@ -492,7 +492,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
for (const auto& permission : permission_info_list) {
if (std::ranges::contains(permissions_to_display, permission.type)) {
@@ -230,6 +232,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -231,6 +233,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
user_specified_settings_to_display[permission.type] =
info->delegate().IsAnyPermissionAllowed(*setting_to_display);
@@ -501,7 +501,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
}
// Notifications permission can have the setting to display as DEFAULT
@@ -256,7 +260,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -257,7 +261,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
ConvertUTF16ToJavaString(env, setting_title_mid_sentence),
static_cast<int32_t>(permission),
user_specified_settings_to_display[permission],
@@ -511,7 +511,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
}
}
@@ -269,7 +274,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -270,7 +275,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
env, controller_jobject_, ConvertUTF16ToJavaString(env, object_title),
ConvertUTF16ToJavaString(env, object_title),
static_cast<int32_t>(chosen_object->ui_info->content_settings_type),
@@ -524,7 +524,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
@@ -1305,6 +1305,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
@@ -1314,6 +1314,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
permission_info.is_one_time =
(info.metadata.session_model() ==
content_settings::mojom::SessionModel::ONE_TIME);
@@ -1153,11 +1153,11 @@ diff --git a/components/permissions/permission_prompt.h b/components/permissions
+ virtual void DenyThisTime(const PromptOptions& prompt_options, content_settings::mojom::LifetimeMode lifetime_option) = 0;
virtual void Dismiss(const PromptOptions& prompt_options) = 0;
virtual void Ignore(const PromptOptions& prompt_options) = 0;
virtual void SwitchToLoudPrompt() = 0;
diff --git a/components/permissions/permission_request.cc b/components/permissions/permission_request.cc
--- a/components/permissions/permission_request.cc
+++ b/components/permissions/permission_request.cc
@@ -37,6 +37,16 @@ PermissionRequest::PermissionRequest(
@@ -47,6 +47,16 @@ PermissionRequest::PermissionRequest(
request_finished_callback_(std::move(request_finished_callback)),
uses_automatic_embargo_(uses_automatic_embargo) {}
@@ -1174,7 +1174,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
PermissionRequest::~PermissionRequest() {
std::move(request_finished_callback_).Run();
}
@@ -448,7 +458,19 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
@@ -485,7 +495,19 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
}
void PermissionRequest::PermissionGranted(const PromptOptions& prompt_options,
@@ -1195,7 +1195,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
std::move(permission_decided_callback_)
.Run(PermissionPromptDecision{.overall_decision =
is_one_time
@@ -459,7 +481,16 @@ void PermissionRequest::PermissionGranted(const PromptOptions& prompt_options,
@@ -496,7 +518,16 @@ void PermissionRequest::PermissionGranted(const PromptOptions& prompt_options,
/*request_data=*/*data_);
}
@@ -1213,7 +1213,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
std::move(permission_decided_callback_)
.Run(PermissionPromptDecision{.overall_decision =
PermissionDecision::kDeny,
@@ -469,6 +500,14 @@ void PermissionRequest::PermissionDenied() {
@@ -506,6 +537,14 @@ void PermissionRequest::PermissionDenied() {
}
void PermissionRequest::Cancelled(bool is_final_decision) {
@@ -1406,7 +1406,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
request);
}
@@ -1779,7 +1791,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() {
@@ -1787,7 +1799,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() {
}
switch (auto_response_for_test_) {
case ACCEPT_ONCE:
@@ -1418,7 +1418,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
@@ -185,8 +185,10 @@ class PermissionRequestManager
@@ -187,8 +187,10 @@ class PermissionRequestManager
GURL GetRequestingOrigin() const override;
GURL GetEmbeddingOrigin() const override;
void Accept(const PromptOptions& prompt_options) override;
@@ -1430,7 +1430,7 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe
void Dismiss(const PromptOptions& prompt_options) override;
void Ignore(const PromptOptions& prompt_options) override;
void FinalizeCurrentRequests() override;
@@ -447,9 +449,11 @@ class PermissionRequestManager
@@ -449,9 +451,11 @@ class PermissionRequestManager
// Calls PermissionGranted on a request and all its duplicates.
void PermissionGrantedIncludingDuplicates(PermissionRequest* request,
const PromptOptions& prompt_options,
@@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../bookmarks/bookmark_parent_folder.cc | 1 +
.../permanent_folder_ordering_tracker.cc | 2 +
.../dialogs/DownloadLocationCustomView.java | 4 +-
.../strings/android_chrome_strings.grd | 3 ++
.../strings/android_chrome_strings.grd | 6 +--
.../bookmark_ui_operations_helper.cc | 2 +
.../bookmark_bar_page_handler.cc | 2 +
components/bookmark_bar_strings.grdp | 6 +++
@@ -31,12 +31,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/bookmarks/browser/bookmark_uuids.h | 1 +
components/bookmarks/browser/model_loader.cc | 9 +++-
.../bookmark_specifics_conversions.cc | 1 +
27 files changed, 251 insertions(+), 11 deletions(-)
27 files changed, 251 insertions(+), 14 deletions(-)
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
@@ -200,6 +200,7 @@ found in the LICENSE file.
@@ -203,6 +203,7 @@ found in the LICENSE file.
<item type="id" name="duplicate_tab_menu_id" />
<item type="id" name="glic_menu_id" />
<item type="id" name="open_in_app_menu_id" />
@@ -47,7 +47,7 @@ diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/va
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
@@ -113,6 +113,7 @@ import org.chromium.chrome.browser.bookmarks.BookmarkPane;
@@ -114,6 +114,7 @@ import org.chromium.chrome.browser.bookmarks.BookmarkPane;
import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
import org.chromium.chrome.browser.browserservices.intents.WebappConstants;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
@@ -55,7 +55,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.compositor.layouts.Layout;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChrome;
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerChromePhone;
@@ -321,6 +322,9 @@ import org.chromium.chrome.browser.ui.default_browser_promo.DefaultBrowserPromoU
@@ -327,6 +328,9 @@ import org.chromium.chrome.browser.ui.default_browser_promo.DefaultBrowserPromoU
import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils;
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils;
import org.chromium.chrome.browser.ui.edge_to_edge.TransitiveTopInsetProvider;
@@ -65,8 +65,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityClient;
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityExtras.IntentOrigin;
import org.chromium.chrome.browser.ui.signin.BottomSheetSigninAndHistorySyncConfig;
@@ -336,6 +340,8 @@ import org.chromium.chrome.browser.usage_stats.UsageStatsService;
import org.chromium.chrome.browser.util.ChromeAccessibilityUtil;
@@ -344,6 +348,8 @@ import org.chromium.chrome.browser.util.ChromeAccessibilityUtil;
import org.chromium.chrome.browser.util.DefaultBrowserInfo;
import org.chromium.chrome.browser.xr.scenecore.XrModule;
import org.chromium.components.browser_ui.accessibility.AccessibilityFeatureMap;
+import org.chromium.components.bookmarks.BookmarkId;
@@ -74,7 +74,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
import org.chromium.components.browser_ui.share.ShareParams;
import org.chromium.components.browser_ui.util.BrowserControlsVisibilityDelegate;
@@ -4030,6 +4036,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
@@ -4160,6 +4166,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
CloseAllTabsDialog.show(
this, getModalDialogManagerSupplier(), tabModelSelector, closeAllTabsRunnable);
RecordUserAction.record("MobileMenuCloseAllTabs");
@@ -83,7 +83,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
} else if (id == R.id.close_all_incognito_tabs_menu_id) {
boolean allowUndo = TabClosureParamsUtils.shouldAllowUndo(triggeringMotion);
@@ -4164,6 +4172,41 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
@@ -4295,6 +4303,41 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
getTabModalLifetimeHandler().onOmniboxFocusChanged(hasFocus);
}
@@ -128,7 +128,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
@@ -303,6 +303,14 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
@@ -314,6 +314,14 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
// Bookmarks
modelList.add(buildBookmarksItem());
@@ -141,9 +141,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
+ shouldShowIconBeforeItem() ? R.drawable.ic_folder_blue_24dp : 0)));
+
// Recent Tabs
if (shouldShowRecentTabsItem()) modelList.add(buildRecentTabsItem());
@@ -503,6 +511,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
if (!ChromeFeatureList.isEnabled(ChromeFeatureList.SUBMENUS_IN_APP_MENU)
&& shouldShowRecentTabsItem()) {
@@ -537,6 +545,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
modelList.add(buildNewTabGroupItem());
modelList.add(buildCloseAllTabsItem());
if (shouldShowTinkerTank()) modelList.add(buildTinkerTankItem());
@@ -460,7 +460,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
@@ -4615,6 +4615,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -4694,6 +4694,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>
@@ -470,10 +470,20 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_MENU_GET_IMAGE_DESCRIPTIONS" desc="Menu item to start getting alt text accessibility image labels/descriptions [CHAR_LIMIT=27]">
Get image descriptions
</message>
@@ -4733,9 +4736,6 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
<message name="IDS_MENU_REOPEN_CLOSED_GROUP" desc="Menu item for reopening the last closed tab group.">
Reopen closed group
</message>
- <message name="IDS_MENU_BOOKMARK_ALL_TABS" desc="Menu item for bookmarking all tabs.">
- Bookmark all tabs
- </message>
<message name="IDS_MENU_UNPIN_GLIC_BUTTON" desc="Menu item for unpinning the tab strip Glic button.">
Unpin
</message>
diff --git a/chrome/browser/ui/bookmarks/bookmark_ui_operations_helper.cc b/chrome/browser/ui/bookmarks/bookmark_ui_operations_helper.cc
--- a/chrome/browser/ui/bookmarks/bookmark_ui_operations_helper.cc
+++ b/chrome/browser/ui/bookmarks/bookmark_ui_operations_helper.cc
@@ -105,6 +105,8 @@ ui::mojom::DragOperation BookmarkUIOperationsHelper::DropBookmarks(
@@ -113,6 +113,8 @@ ui::mojom::DragOperation BookmarkUIOperationsHelper::DropBookmarks(
if (is_reorder) {
base::UmaHistogramEnumeration("Bookmarks.ReorderDropTarget", target);
switch (target_parent()->GetType()) {
@@ -713,7 +723,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
@@ -907,7 +907,7 @@ bool BookmarkModel::HasUserCreatedBookmarksOrFolders() const {
@@ -957,7 +957,7 @@ bool BookmarkModel::HasUserCreatedBookmarksOrFolders() const {
(account_bookmark_bar_node_ &&
!account_bookmark_bar_node_->children().empty()) ||
(account_other_node_ && !account_other_node_->children().empty()) ||
@@ -722,7 +732,7 @@ diff --git a/components/bookmarks/browser/bookmark_model.cc b/components/bookmar
}
bool BookmarkModel::IsBookmarked(const GURL& url) const {
@@ -1239,6 +1239,7 @@ void BookmarkModel::DoneLoading(std::unique_ptr<BookmarkLoadDetails> details) {
@@ -1289,6 +1289,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();
@@ -746,7 +756,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_;
@@ -627,6 +633,7 @@ class BookmarkModel : public BookmarkUndoProvider,
@@ -638,6 +644,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;
@@ -808,7 +818,7 @@ diff --git a/components/bookmarks/browser/bookmark_node.h b/components/bookmarks
diff --git a/components/bookmarks/browser/bookmark_storage.cc b/components/bookmarks/browser/bookmark_storage.cc
--- a/components/bookmarks/browser/bookmark_storage.cc
+++ b/components/bookmarks/browser/bookmark_storage.cc
@@ -45,6 +45,7 @@ base::DictValue EncodeModelToDict(
@@ -57,6 +57,7 @@ base::DictValue EncodeModelToDict(
case BookmarkStorage::kSelectLocalOrSyncableNodes:
return codec.Encode(
model->bookmark_bar_node(), model->other_node(), model->mobile_node(),
@@ -816,7 +826,7 @@ diff --git a/components/bookmarks/browser/bookmark_storage.cc b/components/bookm
model->client()->EncodeLocalOrSyncableBookmarkSyncMetadata());
case BookmarkStorage::kSelectAccountNodes:
// Either all permanent folders or none should exist.
@@ -61,6 +62,7 @@ base::DictValue EncodeModelToDict(
@@ -73,6 +74,7 @@ base::DictValue EncodeModelToDict(
return codec.Encode(model->account_bookmark_bar_node(),
model->account_other_node(),
model->account_mobile_node(),
@@ -851,34 +861,34 @@ 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
@@ -73,6 +73,9 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
@@ -172,6 +172,9 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
std::unique_ptr<BookmarkPermanentNode> account_mobile_folder_node =
BookmarkPermanentNode::CreateMobileBookmarks(
0, /*is_account_node=*/true);
BookmarkPermanentNode::CreateMobileBookmarks(0,
/*is_account_node=*/true);
+ std::unique_ptr<BookmarkPermanentNode> tabs_collection_folder_node =
+ BookmarkPermanentNode::CreateTabsCollectionBookmarks(
+ 0, /*is_account_node=*/true);
std::optional<base::DictValue> root_dict =
LoadFileToDict(account_file_path);
@@ -80,7 +83,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(),
- account_mobile_folder_node.get(), &max_node_id,
+ account_mobile_folder_node.get(),
+ tabs_collection_folder_node.get(), &max_node_id,
&sync_metadata_str)) {
const base::expected<std::string, metrics::BookmarksFileLoadResult>
json_string = ReadFile(/*encryptor=*/nullptr, account_file_path,
@@ -186,7 +189,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
} else if (codec.Decode(*root_dict, /*already_assigned_ids=*/{},
account_bb_node.get(),
account_other_folder_node.get(),
- account_mobile_folder_node.get(), &max_node_id,
+ account_mobile_folder_node.get(),
+ tabs_collection_folder_node.get(), &max_node_id,
&sync_metadata_str)) {
ids_assigned_to_account_nodes = codec.release_assigned_ids();
@@ -122,7 +126,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(),
- details->mobile_folder_node(), &max_node_id,
+ details->mobile_folder_node(),
+ details->tabs_collection_folder_node(), &max_node_id,
&sync_metadata_str)) {
@@ -248,7 +252,8 @@ std::unique_ptr<BookmarkLoadDetails> LoadBookmarks(
} else if (codec.Decode(*root_dict,
std::move(ids_assigned_to_account_nodes),
details->bb_node(), details->other_folder_node(),
- details->mobile_folder_node(), &max_node_id,
+ details->mobile_folder_node(),
+ details->tabs_collection_folder_node(), &max_node_id,
&sync_metadata_str)) {
details->set_local_or_syncable_sync_metadata_str(
std::move(sync_metadata_str));
diff --git a/components/sync_bookmarks/bookmark_specifics_conversions.cc b/components/sync_bookmarks/bookmark_specifics_conversions.cc
@@ -27,7 +27,7 @@ diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/va
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
@@ -4066,6 +4066,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
@@ -4196,6 +4196,8 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
NewTabPageUma.recordAction(NewTabPageUma.ACTION_OPENED_DOWNLOADS_MANAGER);
}
RecordUserAction.record("MobileMenuDownloadManager");
@@ -39,7 +39,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
@@ -2829,6 +2829,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -2888,6 +2888,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
return AppInstallMenuHandler.doOpenWebApk(this, currentTab);
}
@@ -54,7 +54,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
@@ -1053,6 +1053,30 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
@@ -1057,6 +1057,30 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
return false;
}
@@ -88,7 +88,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
@@ -406,6 +406,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -407,6 +407,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
modelList.add(buildOpenInAppItem());
}
@@ -101,7 +101,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/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
@@ -391,6 +391,9 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
@@ -424,6 +424,9 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
modelList.add(buildOpenInAppItem());
}
@@ -114,7 +114,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
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
@@ -342,6 +342,10 @@ CHAR_LIMIT guidelines:
@@ -346,6 +346,10 @@ CHAR_LIMIT guidelines:
Chrome Tips
</message>
@@ -15,10 +15,10 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
@@ -512,7 +512,12 @@ class TabGridViewBinder {
if (result != null) {
@@ -536,7 +536,12 @@ class TabGridViewBinder {
TabUtils.setDrawableAndUpdateImageMatrix(thumbnail, result, thumbnailSize);
} else {
thumbnail.setThumbnailViewState(ThumbnailViewState.PLACEHOLDER_LOADED);
- thumbnail.setImageDrawable(null);
+ TabFavicon tabFavicon = model.get(TabProperties.FAVICON);
+ if (tabFavicon != null) {
@@ -29,7 +29,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
}
};
if (sThumbnailFetcherForTesting != null) {
@@ -550,6 +555,7 @@ class TabGridViewBinder {
@@ -574,6 +579,7 @@ class TabGridViewBinder {
*/
private static void setFavicon(
ImageView faviconView, PropertyModel model, @Nullable TabFavicon favicon) {
@@ -40,7 +40,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
@@ -130,6 +130,9 @@ public class TabProperties {
@@ -131,6 +131,9 @@ public class TabProperties {
public static final WritableBooleanPropertyKey FAVICON_FETCHED =
new WritableBooleanPropertyKey();
@@ -50,7 +50,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
/** Property for lazily fetching favicons when required by an item in a UI. */
public static final WritableObjectPropertyKey<TabListFaviconProvider.TabFaviconFetcher>
FAVICON_FETCHER = new WritableObjectPropertyKey<>();
@@ -224,6 +227,7 @@ public class TabProperties {
@@ -233,6 +236,7 @@ public class TabProperties {
CARD_TYPE,
CONTENT_DESCRIPTION_TEXT_RESOLVER,
ACTION_BUTTON_DESCRIPTION_TEXT_RESOLVER,
@@ -58,7 +58,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
QUICK_DELETE_ANIMATION_STATUS,
TAB_GROUP_COLOR_VIEW_PROVIDER,
TAB_GROUP_CARD_COLOR,
@@ -264,6 +268,7 @@ public class TabProperties {
@@ -274,6 +278,7 @@ public class TabProperties {
TAB_ACTION_BUTTON_DATA,
FAVICON_FETCHED,
FAVICON_FETCHER,
@@ -92,7 +92,7 @@ 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.ProfileManager;
import org.chromium.chrome.browser.profiles.ProfileManagerUtils;
@@ -690,7 +691,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -694,7 +695,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
new TabContentManager(
this,
mBrowserControlsManagerSupplier.get(),
@@ -105,7 +105,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/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
@@ -28,6 +28,7 @@ import org.chromium.base.ContextUtils;
@@ -30,6 +30,7 @@ import org.chromium.base.ContextUtils;
import org.chromium.base.IntentUtils;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction;
@@ -113,7 +113,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import org.chromium.base.supplier.MonotonicObservableSupplier;
import org.chromium.base.supplier.ObservableSuppliers;
import org.chromium.base.supplier.SettableMonotonicObservableSupplier;
@@ -103,13 +104,27 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
@@ -105,13 +106,27 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
import org.chromium.components.browser_ui.settings.ManagedPreferenceDelegate;
@@ -142,7 +142,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private static final String PREF_CAN_MAKE_PAYMENT = "can_make_payment";
private static final String PREF_PRELOAD_PAGES = "preload_pages";
private static final String PREF_HTTPS_FIRST_MODE = "https_first_mode";
@@ -196,6 +211,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -198,6 +213,21 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
if (shouldHideSandboxPref(privacySandboxBridge)) {
getPreferenceScreen().removePreference(sandboxPreference);
}
@@ -164,7 +164,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference privacyGuidePreference = findPreference(PREF_PRIVACY_GUIDE);
// Record the launch of PG from the S&P link-row entry point
privacyGuidePreference.setOnPreferenceClickListener(
@@ -460,6 +490,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -462,6 +492,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
public static final String PREF_ALLOW_CUSTOM_TAB_INTENTS = "allow_custom_tab_intents";
public static final String PREF_OPEN_EXTERNAL_LINKS_INCOGNITO = "open_external_links_incognito";
@@ -172,7 +172,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
@@ -506,6 +537,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -508,6 +539,13 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
SharedPreferences.Editor sharedPreferencesEditor = ContextUtils.getAppSharedPreferences().edit();
sharedPreferencesEditor.putBoolean(PREF_OPEN_EXTERNAL_LINKS_INCOGNITO, (boolean)newValue);
sharedPreferencesEditor.apply();
@@ -186,7 +186,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
}
return true;
}
@@ -556,6 +594,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -558,6 +596,10 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
: R.string.text_off);
}
@@ -200,7 +200,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
@@ -6573,6 +6573,14 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -6706,6 +6706,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,12 +7,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../layout/custom_tabs_control_container.xml | 2 +-
.../java/res/layout/recent_tabs_page.xml | 2 +-
.../java/res/values-sw600dp/dimens.xml | 3 ++-
chrome/android/java/res/values/dimens.xml | 6 +++++-
chrome/android/java/res/values/dimens.xml | 3 ++-
.../browser/ChromeBaseAppCompatActivity.java | 3 +++
.../chrome/browser/WarmupManager.java | 7 +++++--
.../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++++++++
.../chrome/browser/app/ChromeActivity.java | 5 ++++-
.../overlays/strip/StripLayoutHelper.java | 10 ++++++++--
.../overlays/strip/StripLayoutHelper.java | 1 +
.../strip/StripLayoutHelperManager.java | 6 +++++-
.../scene_layer/TabStripSceneLayer.java | 8 ++++++++
.../init/ChromeBrowserInitializer.java | 2 ++
@@ -29,7 +29,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../java/res/layout/toolbar_tablet.xml | 2 +-
.../java/res/values-sw600dp/dimens.xml | 5 +++--
.../toolbar/java/res/values/dimens.xml | 6 ++++--
.../toolbar/top/ToolbarControlContainer.java | 19 +++++++++++++++++++
.../toolbar/top/ToolbarControlContainer.java | 6 ++++++
.../browser/toolbar/top/ToolbarLayout.java | 5 ++++-
.../tab_strip/HeightTransitionHandler.java | 2 ++
.../TabStripTransitionCoordinator.java | 6 +++++-
@@ -37,7 +37,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../accessibility/AccessibilitySettings.java | 13 +++++++++++++
.../AccessibilitySettingsDelegate.java | 2 ++
.../chromium/ui/base/DeviceFormFactor.java | 14 ++++++++++++++
33 files changed, 172 insertions(+), 24 deletions(-)
33 files changed, 149 insertions(+), 22 deletions(-)
diff --git a/chrome/android/java/res/layout/custom_tabs_control_container.xml b/chrome/android/java/res/layout/custom_tabs_control_container.xml
--- a/chrome/android/java/res/layout/custom_tabs_control_container.xml
@@ -72,28 +72,23 @@ diff --git a/chrome/android/java/res/values-sw600dp/dimens.xml b/chrome/android/
<!-- Full Screen Dimensions -->
- <dimen name="control_container_height">96dp</dimen>
+ <dimen name="control_container_height_cromite">96dp</dimen>
+ <dimen name="control_container_height_tabletui">96dp</dimen>
+ <dimen name="control_container_height_tabletui">56dp</dimen>
<!-- NTP dimensions -->
<dimen name="ntp_search_box_transition_start_offset">60dp</dimen>
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
@@ -116,9 +116,13 @@ found in the LICENSE file.
@@ -116,7 +116,8 @@ found in the LICENSE file.
<dimen name="signin_screen_top_padding">50dp</dimen>
<!-- Should match toolbar_height_no_shadow -->
- <dimen name="control_container_height">@dimen/default_action_bar_height</dimen>
+ <dimen name="control_container_height_cromite">@dimen/default_action_bar_height</dimen>
+ <dimen name="control_container_height_tabletui">96dp</dimen>
+ <dimen name="control_container_height_tabletui">56dp</dimen>
<dimen name="custom_tabs_control_container_height">@dimen/default_action_bar_height</dimen>
+ <!-- The combined height of the tab strip and toolbar. -->
+ <dimen name="tab_strip_and_toolbar_height_cromite">56dp</dimen>
+
<!-- Find in Page dimensions -->
<dimen name="find_in_page_popup_width">375dp</dimen>
<dimen name="find_in_page_popup_height">64dp</dimen>
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
@@ -117,7 +112,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCo
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
@@ -63,6 +63,7 @@ import org.chromium.chrome.browser.toolbar.ControlContainer;
@@ -64,6 +64,7 @@ import org.chromium.chrome.browser.toolbar.ControlContainer;
import org.chromium.components.embedder_support.util.UrlConstants;
import org.chromium.content_public.browser.WebContents;
import org.chromium.ui.LayoutInflaterUtils;
@@ -125,7 +120,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.j
import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.display.DisplayUtil;
import org.chromium.url.GURL;
@@ -472,8 +473,10 @@ public class WarmupManager {
@@ -475,8 +476,10 @@ public class WarmupManager {
ControlContainer controlContainer = mainView.findViewById(R.id.control_container);
if (toolbarId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
@@ -170,7 +165,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
@@ -841,7 +841,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -845,7 +845,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
// Inflate the correct toolbar layout for the device.
int toolbarLayoutId = getToolbarLayoutId();
if (toolbarLayoutId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
@@ -185,7 +180,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/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
@@ -144,6 +144,7 @@ import org.chromium.components.tab_group_sync.TabGroupSyncService;
@@ -147,6 +147,7 @@ import org.chromium.components.tab_group_sync.TabGroupSyncService;
import org.chromium.components.tab_group_sync.TriggerSource;
import org.chromium.components.tab_groups.TabGroupColorId;
import org.chromium.ui.accessibility.AccessibilityState;
@@ -193,26 +188,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
import org.chromium.ui.base.LocalizationUtils;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.util.ColorUtils;
@@ -5335,8 +5336,13 @@ public class StripLayoutHelper
mCloseButtonMenu.setAnchorView(tabView);
// 3. Set the vertical offset to align the close button menu with bottom of the tab strip
int tabHeight = mManagerHost.getHeight();
- int verticalOffset =
- -(tabHeight - (int) mContext.getResources().getDimension(R.dimen.tab_strip_height));
+ int tab_strip_height =
+ (int) mContext.getResources().getDimension(R.dimen.tab_strip_height_cromite);
+ if (DeviceFormFactor.isForceTabletUI()) {
+ tab_strip_height =
+ (int) mContext.getResources().getDimension(R.dimen.tab_strip_height_tabletui);
+ }
+ int verticalOffset = -(tabHeight - tab_strip_height);
mCloseButtonMenu.setVerticalOffset(verticalOffset);
// 4. Set the horizontal offset to align the close button menu with the right side of the
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
@@ -109,6 +109,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa
@@ -116,6 +116,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
import org.chromium.components.browser_ui.widget.gesture.BackPressHandler;
import org.chromium.content_public.browser.LoadUrlParams;
@@ -220,7 +199,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;
@@ -548,7 +549,10 @@ public class StripLayoutHelperManager
@@ -576,7 +577,10 @@ public class StripLayoutHelperManager
mIsHeaderCustomizationSupported =
ToolbarFeatures.isAppHeaderCustomizationSupported(
/* isTablet= */ true, DisplayUtil.isContextInDefaultDisplay(mContext));
@@ -272,7 +251,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ChromeBrow
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
@@ -872,7 +872,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -893,7 +893,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@Override
public int getControlContainerHeightResource() {
@@ -295,7 +274,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.quick_delete.QuickDeleteController;
import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl;
@@ -2046,7 +2048,9 @@ public class RootUiCoordinator
@@ -2063,7 +2065,9 @@ public class RootUiCoordinator
protected int getFindToolbarStub() {
int stubId = R.id.find_toolbar_stub;
@@ -320,7 +299,7 @@ diff --git a/chrome/browser/preferences/BUILD.gn b/chrome/browser/preferences/BU
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -402,6 +402,7 @@ public final class ChromePreferenceKeys {
@@ -417,6 +417,7 @@ public final class ChromePreferenceKeys {
/** Whether the app-specific history info text was already seen by users. */
public static final String HISTORY_APP_SPECIFIC_INFO_SEEN =
"Chrome.History.AppSpecificInfoSeen";
@@ -390,7 +369,7 @@ diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/c
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
@@ -1024,7 +1024,7 @@ public class LocationBarCoordinator
@@ -1061,7 +1061,7 @@ public class LocationBarCoordinator
}
private boolean isTabletWindow() {
@@ -402,7 +381,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
@@ -1519,6 +1519,13 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1592,6 +1592,13 @@ Your Google account may have other forms of browsing history like searches and a
Privacy guide explanation closed
</message>
@@ -505,27 +484,14 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.PorterDuff;
@@ -174,6 +175,24 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
@@ -174,6 +175,11 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
@Initializer
public void initWithToolbar(int toolbarLayoutId, int toolbarLayoutHeightResId) {
try (TraceEvent te = TraceEvent.scoped("ToolbarControlContainer.initWithToolbar")) {
+ if (DeviceFormFactor.isForceTabletUI() && toolbarLayoutHeightResId != 0) {
+ toolbarLayoutHeightResId = R.dimen.tab_strip_height_tabletui;
+ toolbarLayoutHeightResId = R.dimen.control_container_height_tabletui;
+ Resources res = getContext().getResources();
+ setMinimumHeight((int) res.getDimension(toolbarLayoutHeightResId));
+ int tab_strip_height =
+ (int) res.getDimension(R.dimen.tab_strip_height_tabletui);
+
+ View view = findViewById(R.id.toolbar_stub);
+ if (view != null)
+ ((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
+
+ view = findViewById(R.id.toolbar_hairline);
+ if (view != null) view.setVisibility(View.GONE);
+
+ view = findViewById(R.id.find_toolbar_stub);
+ if (view != null)
+ ((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
+ }
mToolbarContainer = findViewById(R.id.toolbar_container);
mToolbarLayoutHeight = getResources().getDimensionPixelSize(toolbarLayoutHeightResId);
@@ -533,7 +499,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarLayout.java
@@ -65,6 +65,7 @@ import org.chromium.chrome.browser.util.BrowserUiUtils.ModuleTypeOnStartAndNtp;
@@ -66,6 +66,7 @@ import org.chromium.chrome.browser.util.BrowserUiUtils.ModuleTypeOnStartAndNtp;
import org.chromium.components.feature_engagement.Tracker;
import org.chromium.ui.base.ViewUtils;
import org.chromium.ui.util.MotionEventUtils;
@@ -541,7 +507,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;
@@ -600,7 +601,9 @@ public abstract class ToolbarLayout extends FrameLayout
@@ -591,7 +592,9 @@ public abstract class ToolbarLayout extends FrameLayout
* @see Toolbar#getTabStripHeight()
*/
public int getTabStripHeightFromResource() {
@@ -29,7 +29,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -57,6 +57,7 @@ import org.chromium.base.ApplicationStatus;
@@ -58,6 +58,7 @@ import org.chromium.base.ApplicationStatus;
import org.chromium.base.Callback;
import org.chromium.base.CallbackController;
import org.chromium.base.CallbackUtils;
@@ -37,7 +37,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.base.CommandLine;
import org.chromium.base.DeviceInfo;
import org.chromium.base.IntentUtils;
@@ -2272,8 +2273,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
@@ -2291,8 +2292,10 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
ActivityRestoreState.NUM_ENTRIES);
}
@@ -52,7 +52,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
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
@@ -9,6 +9,7 @@ import static org.chromium.components.content_settings.PrefNames.COOKIE_CONTROLS
@@ -10,6 +10,7 @@ import static org.chromium.ui.R.drawable.gshield_colorful;
import android.content.Context;
import android.content.Intent;
@@ -60,15 +60,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.SpannableString;
@@ -22,6 +23,7 @@ import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
@@ -24,6 +25,7 @@ import androidx.preference.Preference;
import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.Callback;
+import org.chromium.base.ContextUtils;
import org.chromium.base.IntentUtils;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.metrics.RecordUserAction;
@@ -117,6 +119,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -119,6 +121,8 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
private final SharedPreferencesManager mSharedPreferencesManager =
ChromeSharedPreferences.getInstance();
@@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
private ManagedPreferenceDelegate mManagedPreferenceDelegate;
@VisibleForTesting static final String PREF_THIRD_PARTY_COOKIES = "third_party_cookies";
private static final String PREF_ADVANCED_PROTECTION_INFO = "advanced_protection_info";
@@ -401,7 +405,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -403,7 +407,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
String key = preference.getKey();
@@ -90,7 +90,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
UserPrefs.get(getProfile())
.setBoolean(Pref.CAN_MAKE_PAYMENT_ENABLED, (boolean) newValue);
} else if (PREF_HTTPS_FIRST_MODE_LEGACY.equals(key)) {
@@ -461,6 +469,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -463,6 +471,11 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
getContext(), getProfile()));
}
@@ -128,7 +128,7 @@ diff --git a/chrome/browser/tab_group_sync/android/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
@@ -2905,6 +2905,12 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -2978,6 +2978,12 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
<message name="IDS_ACCESSIBILITY_TAB_SWITCHER_TITLE" desc="Accessibility label of the current window when Grid Tab Switcher is shown.">
All tabs
</message>
@@ -70,7 +70,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
import org.chromium.chrome.browser.layouts.LayoutStateProvider.LayoutStateObserver;
import org.chromium.chrome.browser.layouts.LayoutType;
import org.chromium.chrome.browser.profiles.Profile;
@@ -426,10 +427,15 @@ public class TabGroupUiMediator implements BackPressHandler {
@@ -428,10 +429,15 @@ public class TabGroupUiMediator implements BackPressHandler {
UrlConstantResolverFactory.getForProfile(currentTabProfile);
Tab parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1);
@@ -232,7 +232,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -415,6 +415,7 @@ public final class ChromePreferenceKeys {
@@ -430,6 +430,7 @@ public final class ChromePreferenceKeys {
public static final String HOMEPAGE_USE_CHROME_NTP = "Chrome.Homepage.UseNTP";
public static final String HOMEPAGE_USE_DEFAULT_URI = "homepage_partner_enabled";
@@ -254,7 +254,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
@@ -1360,6 +1360,9 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1422,6 +1422,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>
@@ -267,19 +267,19 @@ 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
@@ -123,6 +123,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -126,6 +126,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
pref_registration_flags);
registry->RegisterBooleanPref(prefs::kPinSplitTabButton, false,
pref_registration_flags);
+ registry->RegisterBooleanPref(prefs::kNewTabPageIsHomePage, false,
+ PrefRegistry::NO_REGISTRATION_FLAGS);
registry->RegisterInt64Pref(prefs::kDefaultBrowserLastDeclined, 0);
registry->RegisterInt64Pref(prefs::kDefaultBrowserInfobarLastDeclined, 0);
registry->RegisterBooleanPref(prefs::kWebAppCreateOnDesktop, true);
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
@@ -1344,6 +1344,10 @@ inline constexpr char kSplitViewDragAndDropNudgeUsedCount[] =
@@ -1265,6 +1265,10 @@ inline constexpr char kSplitViewDragAndDropNudgeUsedCount[] =
// by enterprise policy.
inline constexpr char kGeminiSettings[] = "browser.gemini_settings";
+7 -7
View File
@@ -55,7 +55,7 @@ HcmV?d00001
diff --git a/components/search_engines/BUILD.gn b/components/search_engines/BUILD.gn
--- a/components/search_engines/BUILD.gn
+++ b/components/search_engines/BUILD.gn
@@ -72,6 +72,7 @@ static_library("search_engines") {
@@ -74,6 +74,7 @@ static_library("search_engines") {
"//third_party/metrics_proto",
"//third_party/omnibox_proto",
"//third_party/search_engines_data:prepopulated_engines",
@@ -63,18 +63,18 @@ diff --git a/components/search_engines/BUILD.gn b/components/search_engines/BUIL
]
deps = [
@@ -161,6 +162,7 @@ source_set("search_engine_utils") {
":search_engine_type",
"//components/google/core/common",
@@ -165,6 +166,7 @@ source_set("search_engine_utils") {
"//components/regional_capabilities",
"//components/regional_capabilities:switches",
"//third_party/search_engines_data:prepopulated_engines",
+ "cromite:cromite_prepopulated_engines",
]
deps = [ "//url" ]
@@ -256,6 +258,7 @@ source_set("unit_tests") {
"//testing/gmock",
@@ -263,6 +265,7 @@ source_set("unit_tests") {
"//testing/gtest",
"//third_party/search_engines_data:prepopulated_engines",
"//third_party/search_engines_data:regional_settings",
+ "cromite:cromite_prepopulated_engines",
"//ui/base",
"//url",
@@ -402,7 +402,7 @@ diff --git a/tools/json_to_struct/struct_generator.py b/tools/json_to_struct/str
diff --git a/tools/variations/fieldtrial_to_struct.py b/tools/variations/fieldtrial_to_struct.py
--- a/tools/variations/fieldtrial_to_struct.py
+++ b/tools/variations/fieldtrial_to_struct.py
@@ -212,14 +212,14 @@ def main(arguments):
@@ -210,14 +210,14 @@ def main(arguments):
json_to_struct.GenerateStruct(
basepath, output_root, opts.namespace, schema, description,
os.path.split(description_filename)[1], os.path.split(opts.schema)[1],
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../browsing_data/BrowsingDataBridge.java | 12 +--
.../ClearBrowsingDataFragment.java | 37 +++++++--
.../ClearBrowsingDataFragmentAtStart.java | 79 +++++++++++++++++++
chrome/app/settings_strings.grdp | 10 +++
chrome/app/settings_strings.grdp | 8 ++
chrome/browser/about_flags.cc | 1 +
.../browsing_data/browsing_data_bridge.cc | 17 +++-
.../chrome_browsing_data_lifetime_manager.cc | 22 +++++-
@@ -20,18 +20,24 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../profiles/android/profile_manager_utils.cc | 5 ++
chrome/browser/profiles/profile_manager.cc | 17 +++-
chrome/browser/profiles/profile_manager.h | 2 +
.../clear_browsing_data_dialog.html | 44 +++++++++++
.../clear_browsing_data_dialog.ts | 2 +
.../clear_browsing_data_browser_proxy.ts | 1 +
.../clear_browsing_data_dialog_v2.html | 20 ++++-
.../clear_browsing_data_dialog_v2.ts | 62 ++++++++++++++-
.../clear_browsing_data_time_picker.ts | 6 +-
.../settings/privacy_page/privacy_page.html | 12 +++
.../settings/privacy_page/privacy_page.ts | 10 +++
.../privacy_page/privacy_page_index.ts | 2 +-
chrome/browser/resources/settings/route.ts | 2 +
chrome/browser/resources/settings/router.ts | 1 +
.../strings/android_chrome_strings.grd | 3 +
.../Add-setting-to-clear-data-on-exit.grdp | 9 +++
.../settings_localized_strings_provider.cc | 1 +
.../settings_localized_strings_provider.cc | 4 +
.../content/browsing_data_helper.cc | 9 ++-
components/browsing_data/core/BUILD.gn | 5 ++
.../core/browsing_data_policies_utils.cc | 20 ++---
.../core/browsing_data_policies_utils.h | 11 +++
.../browsing_data/core/browsing_data_utils.cc | 31 ++++++++
.../core/clear_browsing_data_tab.h | 3 +-
components/browsing_data/core/features.h | 1 +
components/browsing_data/core/pref_names.cc | 17 ++++
components/browsing_data/core/pref_names.h | 10 +++
components/favicon/core/favicon_database.cc | 9 +++
@@ -41,7 +47,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
content/browser/storage_partition_impl.cc | 2 +
.../public/browser/browsing_data_remover.h | 7 +-
.../Add-setting-to-clear-data-on-exit.inc | 8 ++
37 files changed, 415 insertions(+), 35 deletions(-)
43 files changed, 473 insertions(+), 47 deletions(-)
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragmentAtStart.java
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-setting-to-clear-data-on-exit.grdp
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Add-setting-to-clear-data-on-exit.inc
@@ -49,7 +55,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
@@ -274,6 +274,7 @@ chrome_java_sources = [
@@ -285,6 +285,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataCheckBoxPreference.java",
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFetcher.java",
"java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java",
@@ -75,7 +81,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -225,6 +225,7 @@ import org.chromium.chrome.browser.profiles.ProfileProvider;
@@ -228,6 +228,7 @@ import org.chromium.chrome.browser.profiles.ProfileProvider;
import org.chromium.chrome.browser.quick_delete.QuickDeleteController;
import org.chromium.chrome.browser.quick_delete.QuickDeleteDelegateImpl;
import org.chromium.chrome.browser.quick_delete.QuickDeleteMetricsDelegate;
@@ -83,7 +89,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
import org.chromium.chrome.browser.read_later.ReadingListBackPressHandler;
import org.chromium.chrome.browser.recent_tabs.CrossDevicePaneFactory;
import org.chromium.chrome.browser.reengagement.ReengagementNotificationController;
@@ -2256,7 +2257,11 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
@@ -2275,7 +2276,11 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
}
if (!hadCipherData) {
hadCipherData =
@@ -137,7 +143,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/B
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/ClearBrowsingDataFragment.java
@@ -168,6 +168,12 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
@@ -169,6 +169,12 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
assert mCheckbox == preference;
mParent.updateButtonState();
@@ -150,7 +156,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
return true;
}
@@ -249,7 +255,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
@@ -250,7 +256,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
private @TimePeriod int mLastSelectedTimePeriod;
private boolean mShouldShowPostDeleteFeedback;
@@ -159,7 +165,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
ObservableSuppliers.createMonotonic();
/**
@@ -356,7 +362,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
@@ -357,7 +363,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
}
/** Called when browsing data is about to be cleared. */
@@ -168,7 +174,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
RecordUserAction.record("ClearBrowsingData_AdvancedTab");
}
@@ -442,6 +448,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
@@ -443,6 +449,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
BrowsingDataBridge.getForProfile(getProfile())
.setBrowsingDataDeletionPreference(
ClearBrowsingDataFragment.getDataType(item.getOption()),
@@ -176,7 +182,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
item.isSelected());
}
@@ -449,8 +456,16 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
@@ -450,8 +457,16 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
.setBrowsingDataDeletionTimePeriod(mLastSelectedTimePeriod);
}
@@ -194,7 +200,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
String referrer =
fragmentArgs.getString(
ClearBrowsingDataFragment.CLEAR_BROWSING_DATA_REFERRER, null);
@@ -476,6 +491,10 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
@@ -477,6 +492,10 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
DialogOption.CLEAR_SITE_SETTINGS);
}
@@ -205,7 +211,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
/**
* Decides whether a given dialog option should be selected when the dialog is initialized.
*
@@ -484,7 +503,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
@@ -485,7 +504,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
*/
private boolean isOptionSelectedByDefault(@DialogOption int option) {
return BrowsingDataBridge.getForProfile(getProfile())
@@ -214,7 +220,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
}
/**
@@ -552,6 +571,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
@@ -553,6 +572,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
* options.
*/
private void onClearButtonClicked() {
@@ -222,7 +228,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
if (shouldShowImportantSitesDialog()) {
showImportantDialogThenClear();
return;
@@ -581,6 +601,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
@@ -582,6 +602,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
Button clearButton = (Button) assumeNonNull(getView()).findViewById(R.id.clear_button);
boolean isEnabled = !getSelectedOptions().isEmpty();
clearButton.setEnabled(isEnabled);
@@ -230,7 +236,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
}
private int getSpinnerIndex(
@@ -658,7 +679,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
@@ -659,7 +680,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
.getBoolean(Pref.ALLOW_DELETING_BROWSER_HISTORY)) {
enabled = false;
browsingDataBridge.setBrowsingDataDeletionPreference(
@@ -239,7 +245,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
}
// Disable tabs closure if the user is in multi-window mode.
@@ -688,8 +709,12 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
@@ -689,8 +710,12 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
mSigninManager.addSignInStateObserver(this);
setHasOptionsMenu(true);
@@ -252,7 +258,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
@Override
public MonotonicObservableSupplier<String> getPageTitle() {
return mPageTitle;
@@ -990,7 +1015,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
@@ -992,7 +1017,7 @@ public class ClearBrowsingDataFragment extends ChromeBaseSettingsFragment
public void updateDynamicPreferences(
Context context, SettingsIndexData indexData, Profile profile) {
Bundle args = createFragmentArgs(context.getClass().getName());
@@ -348,18 +354,16 @@ new file mode 100644
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
@@ -2197,6 +2197,16 @@
@@ -2222,6 +2222,14 @@
<message name="IDS_SETTINGS_CLEAR_BROWSING_DATA" desc="Text for delete browsing data button in Privacy options">
Delete browsing data
</message>
+ <if expr="is_win or is_linux">
+ <message name="IDS_CLEAR_BROWSING_DATA_ATSTART_TAB_TITLE" desc="The title of the tab showing the at start clear browsing data options.">
+ At Close
+ <message name="IDS_SETTINGS_CLEAR_BROWSING_DATA_AT_CLOSE" desc="The title of the tab showing the at close clear browsing data options.">
+ Clear browsing data when closing Cromite
+ </message>
+ </if>
+ <if expr="is_android">
+ <message name="IDS_CLEAR_BROWSING_DATA_ATSTART_TAB_TITLE" desc="The title of the tab showing the at start clear browsing data options.">
+ At Startup
+ <message name="IDS_SETTINGS_CLEAR_DATA_AT_CLOSE_DESCRIPTION" desc="Description for delete browsing data button at close in Privacy options. 'History' refers to browsing history. 'Cookies' refers to the technical meaning of a cookie, i.e. data saved by a website on the user's computer, as in when a website saves your preferences.">
+ Choose what to automatically delete when you close Cromite
+ </message>
+ </if>
<message name="IDS_SETTINGS_CLEAR_DATA_DESCRIPTION" desc="Description for delete browsing data button in Privacy options. 'History' refers to browsing history. 'Cookies' refers to the technical meaning of a cookie, i.e. data saved by a website on the user's computer, as in when a website saves your preferences.">
@@ -368,7 +372,7 @@ diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
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
@@ -107,6 +107,7 @@
@@ -108,6 +108,7 @@
#include "components/enterprise/client_certificates/core/features.h"
#include "components/enterprise/data_controls/core/browser/features.h"
#include "components/error_page/common/error_page_switches.h"
@@ -491,7 +495,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
if (ClipboardRecentContent::GetInstance())
ClipboardRecentContent::GetInstance()->SuppressClipboardContent();
@@ -532,6 +536,11 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -531,6 +535,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()) {
@@ -503,7 +507,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&)>()
@@ -560,9 +569,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -559,9 +568,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
}
device_event_log::Clear(delete_begin_, delete_end_);
@@ -517,7 +521,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
content::BackgroundTracingManager::GetInstance().DeleteTracesInDateRange(
delete_begin_, delete_end_);
@@ -1287,6 +1300,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -1285,6 +1298,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
if (should_clear_zero_suggest_and_session_token && template_url_service)
template_url_service->ClearSessionToken();
@@ -529,7 +533,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
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
@@ -577,6 +577,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
@@ -588,6 +588,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
(*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] =
settings_api::PrefType::kNumber;
@@ -556,7 +560,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
diff --git a/chrome/browser/profiles/android/java/src/org/chromium/chrome/browser/profiles/ProfileManagerUtils.java b/chrome/browser/profiles/android/java/src/org/chromium/chrome/browser/profiles/ProfileManagerUtils.java
--- a/chrome/browser/profiles/android/java/src/org/chromium/chrome/browser/profiles/ProfileManagerUtils.java
+++ b/chrome/browser/profiles/android/java/src/org/chromium/chrome/browser/profiles/ProfileManagerUtils.java
@@ -56,11 +56,16 @@ public class ProfileManagerUtils {
@@ -69,11 +69,16 @@ public class ProfileManagerUtils {
}
}
@@ -609,7 +613,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_ ||
@@ -2215,9 +2228,9 @@ void ProfileManager::OnBrowserClosed(Browser* browser) {
@@ -2229,9 +2242,9 @@ void ProfileManager::OnBrowserClosed(Browser* browser) {
// Do nothing if the closed window is not the last window of the same profile.
bool has_other_window = false;
ForEachCurrentBrowserWindowInterfaceOrderedByActivation(
@@ -633,83 +637,356 @@ diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles
// If a profile with the given path is currently managed by this object and
// fully initialized, return a pointer to the corresponding Profile object;
// otherwise return null.
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
--- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.html
@@ -297,6 +297,50 @@
disabled="[[clearingInProgress_]]" no-set-pref>
</settings-checkbox>
</div>
+ <div id="atstart-tab">
+ <settings-checkbox
+ pref="{{prefs.browser.clear_data.browsing_history_at_start}}"
+ label="$i18n{clearBrowsingHistory}"
+ sub-label="[[counters_.browsing_history]]">
+ </settings-checkbox>
+ <settings-checkbox
+ pref="{{prefs.browser.clear_data.download_history_at_start}}"
+ label="$i18n{clearDownloadHistory}"
+ sub-label="[[counters_.download_history]]">
+ </settings-checkbox>
+ <settings-checkbox
+ class="cookies-checkbox"
+ pref="{{prefs.browser.clear_data.cookies_at_start}}"
+ label="$i18n{clearCookies}"
+ sub-label="[[counters_.cookies]]">
+ </settings-checkbox>
+ <settings-checkbox
+ class="cache-checkbox"
+ pref="{{prefs.browser.clear_data.cache_at_start}}"
+ label="$i18n{clearCache}"
+ sub-label="[[counters_.cache]]">
+ </settings-checkbox>
+ <settings-checkbox
+ pref="{{prefs.browser.clear_data.passwords_at_start}}"
+ label="$i18n{clearPasswords}"
+ sub-label="[[counters_.passwords]]">
+ </settings-checkbox>
+ <settings-checkbox
+ pref="{{prefs.browser.clear_data.form_data_at_start}}"
+ label="$i18n{clearFormData}"
+ sub-label="[[counters_.form_data]]">
+ </settings-checkbox>
+ <settings-checkbox
+ pref="{{prefs.browser.clear_data.site_settings_at_start}}"
+ label="$i18nPolymer{siteSettings}"
+ sub-label="[[counters_.site_settings]]">
+ </settings-checkbox>
+ <settings-checkbox
+ pref="{{prefs.browser.clear_data.hosted_apps_data_at_start}}"
+ label="$i18n{clearHostedAppData}"
+ sub-label="[[counters_.hosted_apps_data]]">
+ </settings-checkbox>
+ </div>
</cr-page-selector>
</div>
<div slot="button-container">
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts
--- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog.ts
@@ -216,6 +216,7 @@ export class SettingsClearBrowsingDataDialogElement extends
value: () =>
[loadTimeData.getString('basicPageTitle'),
loadTimeData.getString('advancedPageTitle'),
+ loadTimeData.getString('atStartPageTitle'),
],
},
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_browser_proxy.ts b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_browser_proxy.ts
--- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_browser_proxy.ts
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_browser_proxy.ts
@@ -42,6 +42,7 @@ export enum BrowsingDataType {
SITE_SETTINGS = 5,
DOWNLOADS = 6,
HOSTED_APPS_DATA = 7,
+ PASSWORDS = 8,
// TABS = 8, Not used on Desktop.
}
// LINT.ThenChange(/components/browsing_data/core/browsing_data_utils.h:BrowsingDataType)
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.html b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.html
--- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.html
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.html
@@ -40,6 +40,8 @@
@@ -344,6 +345,7 @@ export class SettingsClearBrowsingDataDialogElement extends
}
this.clearButtonDisabled_ =
this.getSelectedDataTypes_(page as HTMLElement).length === 0;
+ if ((page as HTMLElement).id == "atstart-tab") this.clearButtonDisabled_ = true;
#deleteBrowsingDataDialog::part(dialog) {
max-height: var(--dbd-dialog-max-height);
+ top: 300px;
+ width: 590px;
}
/**
#deletingDataAlert {
@@ -99,18 +101,25 @@
<cr-dialog id="deleteBrowsingDataDialog" close-text="$i18n{close}"
show-on-attach ignore-popstate ignore-enter-key
hidden="[[showOtherGoogleDataDialog_]]">
+<template is="dom-if" if="[[!clearBrowsingDialogAtClose]]">
<div slot="title" class="dialog-title">$i18n{clearBrowsingData}</div>
+</template>
+<template is="dom-if" if="[[clearBrowsingDialogAtClose]]">
+ <div slot="title" class="dialog-title">$i18n{clearBrowsingDataAtClose}</div>
+</template>
<div slot="header">
+<template is="dom-if" if="[[!clearBrowsingDialogAtClose]]">
<settings-clear-browsing-data-time-picker id="timePicker" prefs="{{prefs}}"
on-selected-time-period-change="onTimePeriodChanged_">
</settings-clear-browsing-data-time-picker>
+</template>
</div>
<div slot="body">
<div id="checkboxContainer">
<template is="dom-repeat"
items="[[expandedBrowsingDataTypeOptionsList_]]">
- <settings-checkbox pref="{{item.pref}}" no-set-pref
- sub-label-html="[[item.subLabel]]"
+ <settings-checkbox pref="{{item.pref}}" no-set-pref="[[!clearBrowsingDialogAtClose]]"
+ sub-label-html="[[shouldShowSubLabel_(item.subLabel)]]"
disabled="[[isDeletionInProgress_]]"
on-sub-label-link-clicked="onCheckboxSubLabelLinkClick_">
<div class="checkbox-title">[[item.label]]</div>
@@ -137,12 +146,14 @@
<cr-icon icon="cr:expand-more" aria-hidden="true" role="presentation">
</cr-icon>
</cr-button>
+<template is="dom-if" if="[[!clearBrowsingDialogAtClose]]">
<cr-link-row id="manageOtherGoogleDataRow"
label="[[otherGoogleDataRowLabel_]]"
sub-label="[[otherGoogleDataRowSubLabel_]]"
on-click="onManageOtherGoogleDataRowClick_"
role-description="$i18n{subpageArrowRoleDescription}">
</cr-link-row>
+</template>
</div>
<div slot="button-container" class="row-aligned">
<if expr="not is_chromeos">
@@ -152,9 +163,10 @@
<div id="spinner" class="spinner" hidden="[[!isDeletionInProgress_]]"></div>
<cr-button id="cancelButton" class="cancel-button" on-click="onCancelClick_"
disabled="[[isDeletionInProgress_]]" autofocus>
- $i18n{cancel}
+ $i18n{close}
</cr-button>
<cr-button id="deleteButton" class="action-button"
+ hidden="[[clearBrowsingDialogAtClose]]"
on-click="onDeleteBrowsingDataClick_"
disabled="[[shouldDisableDeleteButton_(
isDeletionInProgress_, isNoDatatypeSelected_)]]">
@@ -177,4 +189,4 @@
<template is="dom-if" if="[[showOtherGoogleDataDialog_]]" restamp>
<settings-other-google-data-dialog on-cancel="onOtherGoogleDataDialogClose_">
</settings-other-google-data-dialog>
-</template>
\ No newline at end of file
+</template>
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.ts b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.ts
--- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.ts
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_dialog_v2.ts
@@ -91,6 +91,17 @@ const ALL_BROWSING_DATATYPES_LIST: BrowsingDataType[] = [
BrowsingDataType.HOSTED_APPS_DATA,
];
+const ALL_BROWSING_DATATYPES_LIST_AT_CLOSE: BrowsingDataType[] = [
+ BrowsingDataType.HISTORY,
+ BrowsingDataType.SITE_DATA,
+ BrowsingDataType.CACHE,
+ BrowsingDataType.DOWNLOADS,
+ BrowsingDataType.FORM_DATA,
+ BrowsingDataType.SITE_SETTINGS,
+ BrowsingDataType.PASSWORDS,
+ BrowsingDataType.HOSTED_APPS_DATA,
+];
+
/** The list of Browsing Data types that should be expanded by default. */
const DEFAULT_BROWSING_DATATYPES_LIST: BrowsingDataType[] = [
BrowsingDataType.HISTORY,
@@ -120,12 +131,36 @@ function getDataTypeLabel(datatypes: BrowsingDataType) {
return loadTimeData.getString('clearDownloadHistory');
case BrowsingDataType.HOSTED_APPS_DATA:
return loadTimeData.getString('clearHostedAppData');
+ case BrowsingDataType.PASSWORDS:
+ return loadTimeData.getString('clearPasswords');
default:
assertNotReachedCase(datatypes);
}
}
-export function getDataTypePrefName(datatypes: BrowsingDataType) {
+export function getDataTypePrefName(datatypes: BrowsingDataType, atclose: boolean) {
+ if (atclose) {
+ switch (datatypes) {
+ case BrowsingDataType.HISTORY:
+ return 'browser.clear_data.browsing_history_at_start';
+ case BrowsingDataType.CACHE:
+ return 'browser.clear_data.cache_at_start';
+ case BrowsingDataType.SITE_DATA:
+ return 'browser.clear_data.cookies_at_start';
+ case BrowsingDataType.FORM_DATA:
+ return 'browser.clear_data.form_data_at_start';
+ case BrowsingDataType.SITE_SETTINGS:
+ return 'browser.clear_data.site_settings_at_start';
+ case BrowsingDataType.DOWNLOADS:
+ return 'browser.clear_data.download_history_at_start';
+ case BrowsingDataType.HOSTED_APPS_DATA:
+ return 'browser.clear_data.hosted_apps_data_at_start';
+ case BrowsingDataType.PASSWORDS:
+ return 'browser.clear_data.passwords_at_start';
+ default:
+ assertNotReachedCase(datatypes);
+ }
+ }
switch (datatypes) {
case BrowsingDataType.HISTORY:
return 'browser.clear_data.browsing_history';
@@ -141,6 +176,8 @@ export function getDataTypePrefName(datatypes: BrowsingDataType) {
return 'browser.clear_data.download_history';
case BrowsingDataType.HOSTED_APPS_DATA:
return 'browser.clear_data.hosted_apps_data';
+ case BrowsingDataType.PASSWORDS:
+ return 'browser.clear_data.passwords';
default:
assertNotReachedCase(datatypes);
}
@@ -161,6 +198,12 @@ export class SettingsClearBrowsingDataDialogV2Element extends
static get properties() {
return {
+ clearBrowsingDialogAtClose: {
+ type: Boolean,
+ value: '',
+ reflectToAttribute: true,
+ },
+
dataTypesExpanded_: {
type: Boolean,
value: false,
@@ -224,6 +267,8 @@ export class SettingsClearBrowsingDataDialogV2Element extends
};
}
+ declare private clearBrowsingDialogAtClose: boolean;
+
declare private dataTypesExpanded_: boolean;
declare private deleteButtonLabel_: string;
declare private deletingDataAlertString_: string;
@@ -310,10 +355,14 @@ export class SettingsClearBrowsingDataDialogV2Element extends
const expandedOptionsList: BrowsingDataTypeOption[] = [];
const moreOptionsList: BrowsingDataTypeOption[] = [];
- ALL_BROWSING_DATATYPES_LIST.forEach((datatype) => {
+ var list = ALL_BROWSING_DATATYPES_LIST;
+ if (this.clearBrowsingDialogAtClose)
+ list = ALL_BROWSING_DATATYPES_LIST_AT_CLOSE;
+
+ list.forEach((datatype) => {
const datatypeOption = {
label: getDataTypeLabel(datatype),
- pref: this.getPref(getDataTypePrefName(datatype)),
+ pref: this.getPref(getDataTypePrefName(datatype, this.clearBrowsingDialogAtClose)),
};
if (this.shouldDataTypeBeExpanded_(datatype)) {
@@ -362,7 +411,12 @@ export class SettingsClearBrowsingDataDialogV2Element extends
private shouldDataTypeBeExpanded_(datatype: BrowsingDataType) {
return DEFAULT_BROWSING_DATATYPES_LIST.includes(datatype) ||
- this.getPref(getDataTypePrefName(datatype)).value;
+ this.getPref(getDataTypePrefName(datatype, this.clearBrowsingDialogAtClose)).value ||
+ this.clearBrowsingDialogAtClose;
+ }
+
+ private shouldShowSubLabel_(value: string) {
+ return this.clearBrowsingDialogAtClose ? '' : value;
}
private computeDeleteButtonLabel_() {
diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_time_picker.ts b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_time_picker.ts
--- a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_time_picker.ts
+++ b/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_browsing_data_time_picker.ts
@@ -80,7 +80,7 @@ export class SettingsClearBrowsingDataTimePicker extends
selectedTimePeriod_: {
type: Number,
observer: 'onTimePeriodSelectionChanged_',
- value: TimePeriod.LAST_HOUR,
+ value: TimePeriod.ALL_TIME,
},
/**
@@ -91,12 +91,12 @@ export class SettingsClearBrowsingDataTimePicker extends
readOnly: true,
type: Array,
value: [
+ TimePeriod.ALL_TIME,
TimePeriod.LAST_15_MINUTES,
TimePeriod.LAST_HOUR,
TimePeriod.LAST_DAY,
TimePeriod.LAST_WEEK,
TimePeriod.FOUR_WEEKS,
- TimePeriod.ALL_TIME,
],
},
@@ -125,7 +125,7 @@ export class SettingsClearBrowsingDataTimePicker extends
*/
maxChipsShown_: {
type: Number,
- value: 4,
+ value: 6,
},
};
}
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
@@ -6,6 +6,13 @@
on-browsing-data-deleted="onBrowsingDataDeleted_">
</settings-clear-browsing-data-dialog-v2>
</template>
+ <template is="dom-if" if="[[showClearBrowsingAtCloseDataDialog_]]" restamp>
+ <settings-clear-browsing-data-dialog-v2 prefs="{{prefs}}"
+ clear-browsing-dialog-at-close="true"
+ on-close="onCbdDialogClosed_"
+ on-browsing-data-deleted="onBrowsingDataDeleted_">
+ </settings-clear-browsing-data-dialog-v2>
+ </template>
<template is="dom-if" if="[[showPrivacyGuideDialog_]]" restamp>
<settings-privacy-guide-dialog id="privacyGuideDialog" prefs="{{prefs}}"
on-close="onPrivacyGuideDialogClosed_">
@@ -16,6 +23,11 @@
label="$i18n{clearBrowsingData}"
sub-label="$i18n{clearBrowsingDataDescription}"
on-click="onClearBrowsingDataClick_"></cr-link-row>
+ <cr-link-row id="clearBrowsingDataAtClose"
+ start-icon="cr:delete"
+ label="$i18n{clearBrowsingDataAtClose}"
+ sub-label="$i18n{clearBrowsingDataAtCloseDescription}"
+ on-click="onClearBrowsingDataAtCloseClick_"></cr-link-row>
<template is="dom-if" if="[[isPrivacyGuideAvailable]]">
<cr-link-row id="privacyGuideLinkRow" class="hr"
start-icon="privacy20:signpost"
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts
@@ -81,6 +81,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
},
showClearBrowsingDataDialog_: Boolean,
+ showClearBrowsingAtCloseDataDialog_: Boolean,
showPrivacyGuideDialog_: Boolean,
isPrivacySandboxRestricted_: {
@@ -121,6 +122,7 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
declare private historyExpireDaysThresholdOptions_: object[];
declare private showClearBrowsingDataDialog_: boolean;
+ declare private showClearBrowsingAtCloseDataDialog_: boolean;
declare private showPrivacyGuideDialog_: boolean;
declare private referersPolicyOptions_: object[];
declare private isPrivacySandboxRestricted_: boolean;
@@ -136,6 +138,8 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
this.showClearBrowsingDataDialog_ =
Router.getInstance().getCurrentRoute() === routes.CLEAR_BROWSER_DATA;
+ this.showClearBrowsingAtCloseDataDialog_ =
+ Router.getInstance().getCurrentRoute() === routes.CLEAR_BROWSER_DATA_AT_CLOSE;
this.showPrivacyGuideDialog_ =
Router.getInstance().getCurrentRoute() === routes.PRIVACY_GUIDE &&
this.isPrivacyGuideAvailable;
@@ -147,6 +151,12 @@ export class SettingsPrivacyPageElement extends SettingsPrivacyPageElementBase {
Router.getInstance().navigateTo(routes.CLEAR_BROWSER_DATA);
}
+ private onClearBrowsingDataAtCloseClick_() {
+ this.interactedWithPage_();
+
+ Router.getInstance().navigateTo(routes.CLEAR_BROWSER_DATA_AT_CLOSE);
+ }
+
private onCookiesClick_() {
this.interactedWithPage_();
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts b/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts
--- a/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts
@@ -253,7 +253,7 @@ export class SettingsPrivacyPageIndexElement extends
}
private isRouteHostedWithinPrivacyView_(route: Route): boolean {
- const nestedRoutes = [routes.CLEAR_BROWSER_DATA];
+ const nestedRoutes = [routes.CLEAR_BROWSER_DATA, routes.CLEAR_BROWSER_DATA_AT_CLOSE];
if (loadTimeData.getBoolean('showPrivacyGuide')) {
nestedRoutes.push(routes.PRIVACY_GUIDE);
}
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
--- a/chrome/browser/resources/settings/route.ts
+++ b/chrome/browser/resources/settings/route.ts
@@ -17,6 +17,8 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
assert(r.PRIVACY);
r.CLEAR_BROWSER_DATA = r.PRIVACY.createChild('/clearBrowserData');
r.CLEAR_BROWSER_DATA.isNavigableDialog = true;
+ r.CLEAR_BROWSER_DATA_AT_CLOSE = r.PRIVACY.createChild('/clearBrowserDataAtClose');
+ r.CLEAR_BROWSER_DATA_AT_CLOSE.isNavigableDialog = true;
const visibility = pageVisibility || {};
diff --git a/chrome/browser/resources/settings/router.ts b/chrome/browser/resources/settings/router.ts
--- a/chrome/browser/resources/settings/router.ts
+++ b/chrome/browser/resources/settings/router.ts
@@ -24,6 +24,7 @@ export interface SettingsRoutes {
BASIC: Route;
CAPTIONS: Route;
CLEAR_BROWSER_DATA: Route;
+ CLEAR_BROWSER_DATA_AT_CLOSE: Route;
COMPARE: Route;
COOKIES: Route;
DEFAULT_BROWSER: Route;
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
@@ -1455,6 +1455,9 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1517,6 +1517,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>
@@ -736,11 +1013,14 @@ new file mode 100644
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
@@ -2291,6 +2291,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
@@ -2303,6 +2303,10 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
{"clearedData", IDS_SETTINGS_CLEARED_DATA},
{"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA},
{"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION},
+ {"atStartPageTitle", IDS_CLEAR_BROWSING_DATA_ATSTART_TAB_TITLE},
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+ {"clearBrowsingDataAtClose", IDS_SETTINGS_CLEAR_BROWSING_DATA_AT_CLOSE},
+ {"clearBrowsingDataAtCloseDescription", IDS_SETTINGS_CLEAR_DATA_AT_CLOSE_DESCRIPTION},
+#endif
{"titleAndCount", IDS_SETTINGS_TITLE_AND_COUNT},
{"safeBrowsingEnableExtendedReportingDesc",
IDS_SETTINGS_SAFEBROWSING_ENABLE_REPORTING_DESC},
@@ -895,17 +1175,6 @@ diff --git a/components/browsing_data/core/clear_browsing_data_tab.h b/component
} // namespace browsing_data
diff --git a/components/browsing_data/core/features.h b/components/browsing_data/core/features.h
--- a/components/browsing_data/core/features.h
+++ b/components/browsing_data/core/features.h
@@ -19,6 +19,7 @@ BASE_DECLARE_FEATURE(kBrowsingDataModel);
// updates to history counter logic and removal of the bulk password deletion
// option from the dialog.
BASE_DECLARE_FEATURE(kDbdRevampDesktop);
+SET_CROMITE_FEATURE_DISABLED(kDbdRevampDesktop);
// When enabled, calls to browsingData.removePasswords extension API would
// result in an error response instead of a console warning.
diff --git a/components/browsing_data/core/pref_names.cc b/components/browsing_data/core/pref_names.cc
--- a/components/browsing_data/core/pref_names.cc
+++ b/components/browsing_data/core/pref_names.cc
@@ -967,7 +1236,7 @@ diff --git a/components/favicon/core/favicon_database.cc b/components/favicon/co
// Description of database tables:
//
// icon_mapping
@@ -505,6 +509,11 @@ bool FaviconDatabase::SetFaviconBitmapLastUpdateTime(FaviconBitmapID bitmap_id,
@@ -501,6 +505,11 @@ bool FaviconDatabase::SetFaviconBitmapLastUpdateTime(FaviconBitmapID bitmap_id,
bool FaviconDatabase::SetFaviconsOutOfDateBetween(base::Time begin,
base::Time end) {
@@ -1002,7 +1271,7 @@ diff --git a/components/favicon/core/favicon_database.h b/components/favicon/cor
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
@@ -923,6 +923,7 @@ void TemplateURLService::RemoveAutoGeneratedForUrlsBetween(
@@ -920,6 +920,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 &&
@@ -1033,7 +1302,7 @@ diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/functional/concurrent_closures.h"
@@ -1557,6 +1558,7 @@ void StoragePartitionImpl::Initialize(
@@ -1505,6 +1506,7 @@ void StoragePartitionImpl::Initialize(
.AppendASCII("Code Cache");
}
DCHECK_GE(settings.size_in_bytes(), 0);
@@ -129,8 +129,8 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
+import org.chromium.components.webauthn.cred_man.CredManSupportProvider;
import org.chromium.components.ukm.UkmRecorder;
import org.chromium.content_public.browser.RenderFrameHost;
import org.chromium.content_public.browser.WebContents;
@@ -166,8 +168,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
import org.chromium.content_public.browser.Visibility;
@@ -167,8 +169,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
mIsPaymentRequest = options.isPaymentCredentialCreation;
mRequestCallback = requestCallback;
mRequestCallback.setCompletionCallback(this::cleanupRequest);
@@ -140,7 +140,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
mRequestCallback.onComplete(
WebauthnRequestResponse.forFailedMakeCredential(
AuthenticatorStatus.NOT_IMPLEMENTED,
@@ -246,8 +247,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
@@ -254,8 +255,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
&& DeviceFeatureMap.isEnabled(
DeviceFeatureList
.WEBAUTHN_AUTHENTICATOR_PASSWORDS_ONLY_IMMEDIATE_REQUESTS);
@@ -150,7 +150,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
|| (options.publicKey == null && !isPasswordOnlyFlux)) {
RequestMetrics metrics =
new RequestMetrics.Builder()
@@ -287,12 +287,11 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
@@ -300,12 +300,11 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
}
private boolean couldSupportConditionalMediation() {
@@ -165,7 +165,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
}
@Override
@@ -366,22 +365,19 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
@@ -379,22 +378,19 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
capabilities.add(
createWebAuthnClientCapability(
AuthenticatorConstants.CAPABILITY_CONDITIONAL_GET,
@@ -189,9 +189,9 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
- .WEBAUTHN_IMMEDIATE_GET)
- && isUvpaa));
+ false));
boolean signalSupported =
isUvpaa
&& DeviceFeatureMap.isEnabled(
capabilities.add(
createWebAuthnClientCapability(
AuthenticatorConstants
diff --git a/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnFeatures.java b/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnFeatures.java
--- a/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnFeatures.java
+++ b/components/webauthn/android/java/src/org/chromium/components/webauthn/WebauthnFeatures.java
@@ -317,15 +317,15 @@ diff --git a/components/webauthn/features.h b/components/webauthn/features.h
diff --git a/device/fido/public/features.cc b/device/fido/public/features.cc
--- a/device/fido/public/features.cc
+++ b/device/fido/public/features.cc
@@ -136,6 +136,7 @@ BASE_FEATURE(kWebAuthnAndroidSignal,
"WebAuthenticationAndroidSignal",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -124,6 +124,7 @@ BASE_FEATURE(kWebAuthnPublishPrelinkingInfo,
"WebAuthenticationPublishPrelinkingInfo",
base::FEATURE_DISABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_ANDROID)
+SET_CROMITE_FEATURE_DISABLED(kWebAuthnImmediateGet);
// Disabled by default.
BASE_FEATURE(kDigitalCredentialsHybridLinking,
@@ -184,6 +185,7 @@ BASE_FEATURE_PARAM(int,
BASE_FEATURE(kWebAuthnHelloSignal,
@@ -177,6 +178,7 @@ BASE_FEATURE_PARAM(int,
BASE_FEATURE(kWebAuthnImmediateGetAutoselect,
"WebAuthenticationImmediateGetAutoselect",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -21,6 +21,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../accessibility/AccessibilitySettings.java | 12 +++++++
.../AccessibilitySettingsDelegate.java | 2 ++
.../contextmenu/ContextMenuItemDelegate.java | 3 ++
.../ThinWebViewContextMenuItemDelegate.java | 6 ++++
...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 +
@@ -30,7 +31,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 | 23 +++++++++---
.../core/page/context_menu_controller.h | 5 +--
22 files changed, 164 insertions(+), 16 deletions(-)
23 files changed, 170 insertions(+), 16 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
@@ -128,7 +129,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
@@ -478,6 +478,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -488,6 +488,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
}
if (mParams.isAnchor()) {
ModelList linkGroup = new ModelList();
@@ -138,19 +139,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
if (FirstRunStatus.getFirstRunFlowComplete()
&& !isEmptyUrl(mParams.getUrl())
&& UrlUtilities.isAcceptedScheme(mParams.getUrl())) {
@@ -1083,6 +1086,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
getProfile(),
false);
});
@@ -1132,6 +1135,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
title = mParams.getLinkText();
}
tabItemDelegate.onReadLater(mParams.getUrl(), title);
+ } else if (itemId == R.id.contextmenu_open_in_tab) {
+ mItemDelegate.onOpenUrl(mParams.getUrl(), mParams.getReferrer());
} else if (itemId == R.id.contextmenu_open_in_chrome) {
recordContextMenuSelection(ContextMenuUma.Action.OPEN_IN_CHROME);
mItemDelegate.onOpenInChrome(mParams.getUrl(), mParams.getPageUrl());
tabItemDelegate.onOpenInChrome(mParams.getUrl(), mParams.getPageUrl());
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
@@ -414,6 +414,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -417,6 +417,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
mTab.loadUrl(loadUrlParams);
}
@@ -168,8 +169,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
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
@@ -443,6 +443,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kTabFreezingUsesDiscard,
@@ -446,6 +446,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kTabClosureMethodRefactor,
&kTabModelInitFixes,
&kTabStorageSqlitePrototype,
+ &blink::features::kShowAlwaysContextMenuOnLinks,
@@ -179,16 +180,16 @@ 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
@@ -514,6 +514,8 @@ public abstract class ChromeFeatureList {
@@ -526,6 +526,8 @@ public abstract class ChromeFeatureList {
"DisableToolbarSwipeUp";
public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM =
"MoveTopToolbarToBottom";
+ public static final String SHOW_ALWAYS_CONTEXT_MENU_ON_LINKS =
+ "ShowAlwaysContextMenuOnLinks";
public static final String NEW_TAB_PAGE_CUSTOMIZATION_TOOLBAR_BUTTON =
"NewTabPageCustomizationToolbarButton";
public static final String NEW_TAB_PAGE_CUSTOMIZATION_THEME_SYNC =
"NewTabPageCustomizationThemeSync";
public static final String NEW_TAB_PAGE_CUSTOMIZATION_V2 = "NewTabPageCustomizationV2";
@@ -1024,6 +1026,8 @@ public abstract class ChromeFeatureList {
@@ -1049,6 +1051,8 @@ public abstract class ChromeFeatureList {
newCachedFlag(DISABLE_TOOLBAR_SWIPE_UP, false);
public static final CachedFlag sMoveTopToolbarToBottom =
newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
@@ -197,7 +198,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final CachedFlag sPaintPreviewDemo = newCachedFlag(PAINT_PREVIEW_DEMO, false);
public static final CachedFlag sPersistAcrossReboots =
newCachedFlag(PERSIST_ACROSS_REBOOTS, false);
@@ -1293,6 +1297,7 @@ public abstract class ChromeFeatureList {
@@ -1323,6 +1327,7 @@ public abstract class ChromeFeatureList {
sTopControlsRefactorV2,
sTouchToSearchCallout,
sUnparcelIntentFileDescriptors,
@@ -208,7 +209,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1584,6 +1584,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1657,6 +1657,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>
@@ -221,7 +222,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]">
@@ -3247,6 +3253,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -3320,6 +3326,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>
@@ -297,7 +298,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
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
@@ -10,6 +10,7 @@ import androidx.annotation.IntDef;
@@ -11,6 +11,7 @@ import androidx.annotation.IntDef;
import org.chromium.build.annotations.NullMarked;
import org.chromium.content_public.browser.WebContents;
@@ -305,7 +306,7 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component
import org.chromium.url.GURL;
import java.lang.annotation.Retention;
@@ -150,6 +151,8 @@ public interface ContextMenuItemDelegate {
@@ -175,6 +176,8 @@ public interface ContextMenuItemDelegate {
*/
GURL getPageUrl();
@@ -314,6 +315,29 @@ diff --git a/components/embedder_support/android/java/src/org/chromium/component
/**
* Called when the current embedder app is not the default to handle a View Intent.
*
diff --git a/components/thin_webview/internal/java/src/org/chromium/components/thinwebview/internal/ThinWebViewContextMenuItemDelegate.java b/components/thin_webview/internal/java/src/org/chromium/components/thinwebview/internal/ThinWebViewContextMenuItemDelegate.java
--- a/components/thin_webview/internal/java/src/org/chromium/components/thinwebview/internal/ThinWebViewContextMenuItemDelegate.java
+++ b/components/thin_webview/internal/java/src/org/chromium/components/thinwebview/internal/ThinWebViewContextMenuItemDelegate.java
@@ -6,6 +6,7 @@ package org.chromium.components.thinwebview.internal;
import org.chromium.build.annotations.NullMarked;
import org.chromium.components.embedder_support.contextmenu.ContextMenuItemDelegate;
+import org.chromium.content_public.common.Referrer;
import org.chromium.content_public.browser.WebContents;
import org.chromium.ui.base.Clipboard;
import org.chromium.url.GURL;
@@ -43,6 +44,11 @@ public class ThinWebViewContextMenuItemDelegate implements ContextMenuItemDelega
// Intentionally empty.
}
+ @Override
+ public void onOpenUrl(GURL url, Referrer referrer) {
+ // Intentionally empty. (Add setting to invert tap and long tap)
+ }
+
@Override
public GURL getPageUrl() {
return mWebContents.getVisibleUrl();
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
@@ -352,7 +376,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
#include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/core/scroll/scroll_into_view_util.h"
#include "third_party/blink/renderer/core/speculation_rules/document_speculation_rules.h"
@@ -422,6 +423,17 @@ void HTMLAnchorElementBase::NavigateToHyperlink(
@@ -429,6 +430,17 @@ void HTMLAnchorElementBase::NavigateToHyperlink(
bool is_trusted,
base::TimeTicks platform_time_stamp,
KURL completed_url) {
@@ -370,7 +394,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
LocalDOMWindow* window = GetDocument().domWindow();
if (!window) {
return;
@@ -502,6 +514,15 @@ void HTMLAnchorElementBase::NavigateToHyperlink(
@@ -509,6 +521,15 @@ void HTMLAnchorElementBase::NavigateToHyperlink(
frame_request.SetImpression(impression);
}
@@ -386,7 +410,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;
@@ -538,7 +559,7 @@ bool HTMLAnchorElementBase::IsValidInterestInvoker(Element& target) const {
@@ -545,7 +566,7 @@ bool HTMLAnchorElementBase::IsValidInterestInvoker(Element& target) const {
return IsLink();
}
@@ -395,7 +419,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
event.SetDefaultHandled();
LocalDOMWindow* window = GetDocument().domWindow();
@@ -596,13 +617,12 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) {
@@ -603,13 +624,12 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) {
return;
}
@@ -413,7 +437,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(
@@ -612,7 +632,9 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) {
@@ -619,7 +639,9 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) {
frame->GetEventHandler().SetDelayedNavigationTaskHandle(
std::move(task_handle));
} else {
@@ -488,7 +512,7 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.cc b/third_
+
bool HTMLImageElement::draggable() const {
// Image elements are draggable by default.
return !EqualIgnoringASCIICase(FastGetAttribute(html_names::kDraggableAttr),
return !EqualIgnoringAsciiCase(FastGetAttribute(html_names::kDraggableAttr),
diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_party/blink/renderer/core/html/html_image_element.h
--- a/third_party/blink/renderer/core/html/html_image_element.h
+++ b/third_party/blink/renderer/core/html/html_image_element.h
@@ -552,7 +576,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;
@@ -844,7 +857,7 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
@@ -843,7 +856,7 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
SetAutofillData(result.InnerNode(), data);
+2 -2
View File
@@ -26,10 +26,10 @@ 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
@@ -165,6 +165,7 @@
@@ -166,6 +166,7 @@
#include "components/sensitive_content/features.h"
#include "components/services/heap_profiling/public/cpp/switches.h"
#include "components/services/storage/public/cpp/buckets/bucket_info.h"
#include "components/services/storage/dom_storage/features.h"
+#include "components/site_engagement/core/features.h"
#include "components/shared_highlighting/core/common/shared_highlighting_features.h"
#include "components/sharing_message/features.h"
@@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
@@ -1018,8 +1018,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -1056,8 +1056,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
return true;
} else if (item.getItemId() == R.id.menu_id_general_help) {
RecordUserAction.record("Settings.MobileHelpAndFeedback");
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -139,6 +139,16 @@ static void JNI_ContentUriUtils_AddFileInfoToVector(JNIEnv* env,
@@ -140,6 +140,16 @@ static void JNI_ContentUriUtils_AddFileInfoToVector(
Time::FromMillisecondsSinceUnixEpoch(last_modified));
}
@@ -43,7 +43,7 @@ diff --git a/chrome/browser/net/chrome_report_sender.cc b/chrome/browser/net/chr
diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/browser/devtools/protocol/network_handler.cc
--- a/content/browser/devtools/protocol/network_handler.cc
+++ b/content/browser/devtools/protocol/network_handler.cc
@@ -1608,6 +1608,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) {
@@ -1628,6 +1628,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) {
}
}
@@ -51,7 +51,7 @@ diff --git a/content/browser/devtools/protocol/network_handler.cc b/content/brow
std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
std::vector<GURL> urls;
frame_host->ForEachRenderFrameHostImplWithAction(
@@ -1621,6 +1622,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
@@ -1641,6 +1642,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
});
return urls;
}
@@ -126,7 +126,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
@@ -16557,12 +16557,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
@@ -16685,12 +16685,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
}
}
}
@@ -340,7 +340,7 @@ diff --git a/services/network/public/cpp/parsed_headers.cc b/services/network/pu
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
@@ -1890,7 +1890,6 @@ mojom("mojom") {
@@ -1894,7 +1894,6 @@ mojom("mojom") {
export_define_blink = "BLINK_PLATFORM_IMPLEMENTATION=1"
export_header_blink = "third_party/blink/public/platform/web_common.h"
if (enable_reporting) {
@@ -351,7 +351,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
@@ -1229,6 +1229,7 @@ interface NetworkContext {
@@ -1247,6 +1247,7 @@ interface NetworkContext {
// provided `network_anonymization_key`.
//
// Spec: https://w3c.github.io/reporting/#concept-reports
@@ -359,7 +359,7 @@ 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 {
@@ -1254,6 +1255,7 @@ interface NetworkContext {
NetworkAnonymizationKey network_anonymization_key,
mojo_base.mojom.DictionaryValue body);
@@ -367,7 +367,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
QueueEnterpriseReport(string type,
string group,
url.mojom.Url url,
@@ -1246,6 +1248,7 @@ interface NetworkContext {
@@ -1264,6 +1266,7 @@ interface NetworkContext {
// Note that this queued report will never be delivered if no reporting
// endpoint matching is registered for with the provided
// `network_anonymization_key`.
@@ -436,7 +436,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b
#include "net/storage_access_api/status.h"
#include "services/metrics/public/cpp/ukm_source_id.h"
#include "services/network/public/mojom/fetch_api.mojom-blink-forward.h"
@@ -671,7 +672,9 @@ class CORE_EXPORT LocalFrame final
@@ -677,7 +678,9 @@ class CORE_EXPORT LocalFrame final
return client_hints_preferences_;
}
@@ -25,7 +25,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
@@ -823,7 +823,6 @@ if (_is_default_toolchain) {
@@ -833,7 +833,6 @@ if (_is_default_toolchain) {
"//components/offline_pages/core:offline_page_model_enums_java",
"//components/sharing_message:sharing_dialog_type_generated_enum",
"//components/sharing_message:sharing_send_message_result_generated_enum",
@@ -36,7 +36,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
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
@@ -95,7 +95,6 @@ public class ChromeFeedbackCollector extends FeedbackCollector<ChromeFeedbackCol
@@ -96,7 +96,6 @@ public class ChromeFeedbackCollector extends FeedbackCollector<ChromeFeedbackCol
// FamilyInfoFeedbackSource relies on IdentityManager which is not available for the
// incognito profile.
if (!initParams.profile.isOffTheRecord()) {
@@ -66,7 +66,7 @@ diff --git a/chrome/browser/feedback/android/BUILD.gn b/chrome/browser/feedback/
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
@@ -353,12 +353,6 @@ void PrepareFactory(
@@ -352,12 +352,6 @@ void PrepareFactory(
PrepareFactory(factory, pref_filename, policy_service,
std::move(user_pref_store), std::move(extension_prefs), async,
policy_connector);
@@ -82,7 +82,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
@@ -475,7 +475,7 @@ bool ProfileAttributesEntry::IsSigninRequired() const {
@@ -468,7 +468,7 @@ bool ProfileAttributesEntry::IsSigninRequired() const {
}
std::string ProfileAttributesEntry::GetSupervisedUserId() const {
@@ -105,7 +105,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
// Changes in the profile avatar.
pref_change_registrar_.Add(
@@ -1612,6 +1608,7 @@ GURL ProfileImpl::GetHomePage() {
@@ -1604,6 +1600,7 @@ GURL ProfileImpl::GetHomePage() {
}
void ProfileImpl::UpdateSupervisedUserIdInStorage() {
@@ -127,7 +127,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
}
void ProfileManager::RegisterTestingProfile(std::unique_ptr<Profile> profile,
@@ -2062,9 +2058,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) {
@@ -2077,9 +2073,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) {
init_params.icon_index =
profile->GetPrefs()->GetInteger(prefs::kProfileAvatarIndex);
@@ -165,7 +165,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
@@ -620,10 +620,6 @@ bool ManagementUIHandler::managed() const {
@@ -621,10 +621,6 @@ bool ManagementUIHandler::managed() const {
void ManagementUIHandler::RegisterPrefChange(
PrefChangeRegistrar& pref_registrar) {
@@ -23,7 +23,7 @@ diff --git a/content/public/renderer/render_frame_media_playback_options.cc b/co
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
@@ -1296,6 +1296,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
@@ -1342,6 +1342,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
return pipeline_metadata_.has_audio;
}
@@ -36,7 +36,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
void WebMediaPlayerImpl::EnabledAudioTracksChanged(
std::optional<WebMediaPlayer::TrackId> enabled_track_id) {
DCHECK(main_task_runner_->BelongsToCurrentThread());
@@ -3658,7 +3664,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
@@ -3740,7 +3746,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
const bool preserve_audio = HasUnmutedAudio() || audio_source_provider_->IsAudioBeingCaptured();
// Audio only stream is allowed to play when in background.
@@ -51,7 +51,7 @@ diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.cc
diff --git a/third_party/blink/renderer/platform/media/web_media_player_impl.h b/third_party/blink/renderer/platform/media/web_media_player_impl.h
--- a/third_party/blink/renderer/platform/media/web_media_player_impl.h
+++ b/third_party/blink/renderer/platform/media/web_media_player_impl.h
@@ -211,6 +211,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl
@@ -213,6 +213,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl
bool HasVideo() const override;
bool HasAudio() const override;
@@ -18,7 +18,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.BookmarkManagerOpenerImpl;
@@ -45,6 +46,7 @@ import org.chromium.chrome.browser.preferences.Pref;
@@ -46,6 +47,7 @@ import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.price_tracking.PriceDropNotificationManagerFactory;
import org.chromium.chrome.browser.printing.TabPrinter;
import org.chromium.chrome.browser.profiles.Profile;
@@ -26,7 +26,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.ui.messages.snackbar.SnackbarManager;
@@ -348,6 +350,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -351,6 +353,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@Nullable Referrer referrer,
boolean navigateToTab,
@Nullable AdditionalNavigationParams additionalNavigationParams) {
@@ -34,7 +34,7 @@ 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());
@@ -368,6 +371,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -371,6 +374,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
* @param url The URL to open.
*/
public void onOpenInNewTabInGroup(GURL url, @Nullable Referrer referrer) {
@@ -68,7 +68,7 @@ diff --git a/chrome/browser/partnercustomizations/java/src/org/chromium/chrome/b
diff --git a/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java b/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java
--- a/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java
+++ b/components/search_engines/android/java/src/org/chromium/components/search_engines/TemplateUrl.java
@@ -96,6 +96,7 @@ public class TemplateUrl {
@@ -109,6 +109,7 @@ public class TemplateUrl {
* prepopulated_engines.json.
*/
public String getNewTabURL() {
@@ -79,7 +79,7 @@ diff --git a/components/search_engines/android/java/src/org/chromium/components/
diff --git a/components/search_engines/android/template_url_service_android.cc b/components/search_engines/android/template_url_service_android.cc
--- a/components/search_engines/android/template_url_service_android.cc
+++ b/components/search_engines/android/template_url_service_android.cc
@@ -412,6 +412,7 @@ bool TemplateUrlServiceAndroid::SetPlayAPISearchEngine(
@@ -414,6 +414,7 @@ bool TemplateUrlServiceAndroid::SetPlayAPISearchEngine(
jimage_translate_source_language_param_key,
const base::android::JavaRef<jstring>&
jimage_translate_target_language_param_key) {
+112 -111
View File
@@ -42,7 +42,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../render_widget_host_input_event_router.cc | 5 +-
.../input/render_widget_host_view_input.cc | 3 ++
components/input/render_widget_targeter.cc | 4 +-
.../thin_webview/internal/thin_webview.cc | 2 +-
.../thin_webview/internal/thin_webview.cc | 3 +-
components/viz/service/input/input_manager.cc | 2 +-
.../render_input_router_support_android.cc | 2 +-
...render_input_router_support_child_frame.cc | 2 +-
@@ -107,7 +107,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
ui/display/mojom/screen_info_mojom_traits.h | 4 ++
ui/display/screen_info.h | 1 +
ui/events/blink/blink_event_util.cc | 2 +-
97 files changed, 530 insertions(+), 138 deletions(-)
97 files changed, 531 insertions(+), 138 deletions(-)
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sPixelPerfect.java
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Pixel-perfect-mode.grdp
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Pixel-perfect-mode.inc
@@ -117,7 +117,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw_contents.cc
--- a/android_webview/browser/aw_contents.cc
+++ b/android_webview/browser/aw_contents.cc
@@ -1004,7 +1004,7 @@ void AwContents::OnSizeChanged(JNIEnv* env, int w, int h, int ow, int oh) {
@@ -1008,7 +1008,7 @@ void AwContents::OnSizeChanged(JNIEnv* env, int w, int h, int ow, int oh) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
gfx::Size size(w, h);
web_contents_->GetNativeView()->OnPhysicalBackingSizeChanged(size);
@@ -129,7 +129,7 @@ diff --git a/android_webview/browser/aw_contents.cc b/android_webview/browser/aw
diff --git a/cc/input/input_handler.cc b/cc/input/input_handler.cc
--- a/cc/input/input_handler.cc
+++ b/cc/input/input_handler.cc
@@ -737,7 +737,7 @@ InputHandlerPointerResult InputHandler::MouseMoveAt(
@@ -747,7 +747,7 @@ InputHandlerPointerResult InputHandler::MouseMoveAt(
return result;
}
@@ -174,7 +174,7 @@ diff --git a/cc/layers/viewport.cc b/cc/layers/viewport.cc
diff --git a/cc/mojo_embedder/viz_layer_context.cc b/cc/mojo_embedder/viz_layer_context.cc
--- a/cc/mojo_embedder/viz_layer_context.cc
+++ b/cc/mojo_embedder/viz_layer_context.cc
@@ -1355,7 +1355,7 @@ void VizLayerContext::SetVisible(bool visible) {
@@ -1356,7 +1356,7 @@ void VizLayerContext::SetVisible(bool visible) {
service_->SetVisible(visible);
}
@@ -208,7 +208,7 @@ diff --git a/cc/trees/commit_state.h b/cc/trees/commit_state.h
diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc
--- a/cc/trees/layer_tree_host.cc
+++ b/cc/trees/layer_tree_host.cc
@@ -1416,7 +1416,7 @@ void LayerTreeHost::SetEventListenerProperties(
@@ -1429,7 +1429,7 @@ void LayerTreeHost::SetEventListenerProperties(
SetNeedsCommit();
}
@@ -217,7 +217,7 @@ diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc
const gfx::Rect& device_viewport_rect,
float device_scale_factor,
const viz::LocalSurfaceId& local_surface_id_from_parent) {
@@ -1527,9 +1527,11 @@ void LayerTreeHost::SetOverscrollBehavior(const OverscrollBehavior& behavior) {
@@ -1540,9 +1540,11 @@ void LayerTreeHost::SetOverscrollBehavior(const OverscrollBehavior& behavior) {
void LayerTreeHost::SetPageScaleFactorAndLimits(float page_scale_factor,
float min_page_scale_factor,
@@ -229,7 +229,7 @@ diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc
pending_commit_state()->max_page_scale_factor == max_page_scale_factor)
return;
DCHECK_GE(page_scale_factor, min_page_scale_factor);
@@ -1545,6 +1547,7 @@ void LayerTreeHost::SetPageScaleFactorAndLimits(float page_scale_factor,
@@ -1558,6 +1560,7 @@ void LayerTreeHost::SetPageScaleFactorAndLimits(float page_scale_factor,
pending_commit_state()->page_scale_factor = page_scale_factor;
pending_commit_state()->min_page_scale_factor = min_page_scale_factor;
@@ -261,7 +261,7 @@ diff --git a/cc/trees/layer_tree_host.h b/cc/trees/layer_tree_host.h
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -2877,7 +2877,7 @@ viz::RegionCaptureBounds LayerTreeHostImpl::CollectRegionCaptureBounds() {
@@ -2695,7 +2695,7 @@ viz::RegionCaptureBounds LayerTreeHostImpl::CollectRegionCaptureBounds() {
return bounds;
}
@@ -270,7 +270,7 @@ diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
viz::CompositorFrameMetadata metadata;
if (settings().trees_in_viz_in_viz_process) {
// In TreesInViz mode, this function is called in client process already,
@@ -3038,7 +3038,7 @@ viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() {
@@ -2856,7 +2856,7 @@ viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() {
return metadata;
}
@@ -454,7 +454,7 @@ diff --git a/cc/trees/layer_tree_impl.h b/cc/trees/layer_tree_impl.h
diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc
--- a/cc/trees/property_tree.cc
+++ b/cc/trees/property_tree.cc
@@ -1765,7 +1765,7 @@ void ScrollTree::clear() {
@@ -1773,7 +1773,7 @@ void ScrollTree::clear() {
#endif
}
@@ -463,7 +463,7 @@ diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc
const ScrollNode* scroll_node = Node(scroll_node_id);
gfx::SizeF scroll_bounds = this->scroll_bounds(scroll_node_id);
@@ -2318,7 +2318,7 @@ gfx::Vector2dF ScrollTree::ScrollBy(const ScrollNode& scroll_node,
@@ -2326,7 +2326,7 @@ gfx::Vector2dF ScrollTree::ScrollBy(const ScrollNode& scroll_node,
return old_offset + scroll - new_offset;
}
@@ -487,7 +487,7 @@ diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/andr
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
@@ -302,7 +302,7 @@ public class WarmupManager {
@@ -303,7 +303,7 @@ public class WarmupManager {
int height = bounds.bottom - bounds.top;
webContents = tab.getWebContents();
assumeNonNull(webContents);
@@ -499,7 +499,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WarmupManager.j
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
@@ -44,6 +44,9 @@ import androidx.annotation.NonNull;
@@ -43,6 +43,9 @@ import androidx.annotation.CallSuper;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
@@ -509,7 +509,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.base.ActivityState;
import org.chromium.base.ApplicationStatus;
import org.chromium.base.Callback;
@@ -553,7 +556,25 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -556,7 +559,25 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
// Ensure that mConfig is initialized before tablet mode changes.
mConfig = getResources().getConfiguration();
@@ -539,21 +539,21 @@ 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/CompositorViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
@@ -1005,7 +1005,7 @@ public class CompositorViewHolder extends FrameLayout
int viewportInsets = controlsInsets + keyboardInset;
@@ -1049,7 +1049,7 @@ public class CompositorViewHolder extends FrameLayout
int verticalViewportInsets = controlsInsets + keyboardInset;
if (isAttachedToWindow(view)) {
- webContents.setSize(width, height - viewportInsets);
+ webContents.setSize(width, height - viewportInsets, viewportInsets);
- webContents.setSize(width - horizontalViewportInsets, height - verticalViewportInsets);
+ webContents.setSize(width - horizontalViewportInsets, height - verticalViewportInsets, verticalViewportInsets);
// Dispatch the geometrychange JavaScript event to the page.
// TODO(bokan): This doesn't belong in updateWebContentsSize. Ideally the content/ layer
@@ -1025,7 +1025,7 @@ public class CompositorViewHolder extends FrameLayout
MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY));
@@ -1071,7 +1071,7 @@ public class CompositorViewHolder extends FrameLayout
view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
- webContents.setSize(view.getWidth(), view.getHeight() - viewportInsets);
+ webContents.setSize(view.getWidth(), view.getHeight() - viewportInsets, viewportInsets);
webContents.setSize(
view.getWidth() - horizontalViewportInsets,
- view.getHeight() - verticalViewportInsets);
+ view.getHeight() - verticalViewportInsets, verticalViewportInsets);
requestRender();
}
}
@@ -572,7 +572,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bott
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
@@ -2490,7 +2490,7 @@ class TabImpl implements Tab {
@@ -2429,7 +2429,7 @@ class TabImpl implements Tab {
View compositorView =
assumeNonNull(getActivity()).getCompositorViewHolderSupplier().get();
assumeNonNull(compositorView);
@@ -629,7 +629,7 @@ diff --git a/chrome/browser/android/bottombar/overlay_panel_content.cc b/chrome/
diff --git a/chrome/browser/android/compositor/tab_content_manager.cc b/chrome/browser/android/compositor/tab_content_manager.cc
--- a/chrome/browser/android/compositor/tab_content_manager.cc
+++ b/chrome/browser/android/compositor/tab_content_manager.cc
@@ -26,6 +26,7 @@
@@ -28,6 +28,7 @@
#include "chrome/browser/android/tab_android.h"
#include "chrome/browser/thumbnail/cc/thumbnail.h"
#include "components/viz/common/frame_sinks/copy_output_result.h"
@@ -637,8 +637,8 @@ diff --git a/chrome/browser/android/compositor/tab_content_manager.cc b/chrome/b
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_view_host.h"
@@ -74,7 +75,10 @@ class TabContentManager::TabReadbackRequest {
std::move(result_callback).Run(viz::CopyOutputBitmapWithMetadata());
@@ -129,7 +130,10 @@ class TabContentManager::TabReadbackRequest : public RetryableTask {
std::move(result_callback).Run(content::CopyFromSurfaceResult());
return;
}
- gfx::Rect source_rect = gfx::Rect(view_size_in_pixels);
@@ -648,7 +648,7 @@ diff --git a/chrome/browser/android/compositor/tab_content_manager.cc b/chrome/b
+ gfx::Rect source_rect = gfx::Rect(view_size_in_pixels.width() / scale, view_size_in_pixels.height() / scale);
gfx::Size thumbnail_size(
gfx::ScaleToCeiledSize(view_size_in_pixels, thumbnail_scale_));
rwhv->CopyFromSurface(source_rect, thumbnail_size, base::TimeDelta(),
rwhv->CopyFromSurface(source_rect, thumbnail_size, kTabReadbackTimeout,
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sPixelPerfect.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sPixelPerfect.java
new file mode 100644
--- /dev/null
@@ -836,15 +836,16 @@ diff --git a/components/input/render_widget_targeter.cc b/components/input/rende
diff --git a/components/thin_webview/internal/thin_webview.cc b/components/thin_webview/internal/thin_webview.cc
--- a/components/thin_webview/internal/thin_webview.cc
+++ b/components/thin_webview/internal/thin_webview.cc
@@ -104,7 +104,7 @@ void ThinWebView::ResizeWebContents(const gfx::Size& size) {
return;
@@ -131,7 +131,8 @@ void ThinWebView::ResizeWebContents(const gfx::Size& size) {
web_contents_->GetNativeView()->OnPhysicalBackingSizeChanged(size);
- web_contents_->GetNativeView()->OnSizeChanged(size.width(), size.height());
+ web_contents_->GetNativeView()->OnSizeChanged(size.width(), size.height(), size.width(), size.height());
}
web_contents_->GetNativeView()->OnPhysicalBackingSizeChanged(viewport_size);
web_contents_->GetNativeView()->OnSizeChanged(viewport_size.width(),
- viewport_size.height());
+ viewport_size.height(),
+ viewport_size.width(), viewport_size.height());
} // namespace android
// Position the WebContents layer to account for top/left insets.
// Content is drawn at (0,0) in its own layer space, so we move the layer.
diff --git a/components/viz/service/input/input_manager.cc b/components/viz/service/input/input_manager.cc
--- a/components/viz/service/input/input_manager.cc
+++ b/components/viz/service/input/input_manager.cc
@@ -884,7 +885,7 @@ diff --git a/components/viz/service/input/render_input_router_support_child_fram
diff --git a/components/viz/service/layers/layer_context_impl.cc b/components/viz/service/layers/layer_context_impl.cc
--- a/components/viz/service/layers/layer_context_impl.cc
+++ b/components/viz/service/layers/layer_context_impl.cc
@@ -1955,7 +1955,7 @@ base::expected<void, std::string> LayerContextImpl::DoUpdateDisplayTree(
@@ -1957,7 +1957,7 @@ base::expected<void, std::string> LayerContextImpl::DoUpdateDisplayTree(
return base::unexpected("Invalid page scale factors");
}
layers.SetPageScaleFactorAndLimitsForDisplayTree(
@@ -896,7 +897,7 @@ diff --git a/components/viz/service/layers/layer_context_impl.cc b/components/vi
diff --git a/content/browser/android/selection/selection_popup_controller.cc b/content/browser/android/selection/selection_popup_controller.cc
--- a/content/browser/android/selection/selection_popup_controller.cc
+++ b/content/browser/android/selection/selection_popup_controller.cc
@@ -189,7 +189,7 @@ void SelectionPopupController::MoveRangeSelectionExtent(
@@ -191,7 +191,7 @@ void SelectionPopupController::MoveRangeSelectionExtent(
web_contents_impl->MoveRangeSelectionExtent(gfx::ToRoundedPoint(extent));
}
@@ -905,7 +906,7 @@ diff --git a/content/browser/android/selection/selection_popup_controller.cc b/c
const gfx::PointF& base,
const gfx::PointF& extent) {
auto* web_contents_impl = static_cast<WebContentsImpl*>(web_contents());
@@ -321,7 +321,8 @@ bool SelectionPopupController::ShowSelectionMenu(
@@ -327,7 +327,8 @@ bool SelectionPopupController::ShowSelectionMenu(
can_select_all, can_edit_richly, should_suggest,
static_cast<int>(params.source_type),
render_frame_host->GetJavaRenderFrameHost(),
@@ -961,7 +962,7 @@ diff --git a/content/browser/renderer_host/cross_process_frame_connector.cc b/co
diff --git a/content/browser/renderer_host/delegated_frame_host.cc b/content/browser/renderer_host/delegated_frame_host.cc
--- a/content/browser/renderer_host/delegated_frame_host.cc
+++ b/content/browser/renderer_host/delegated_frame_host.cc
@@ -187,7 +187,7 @@ void DelegatedFrameHost::CopyFromCompositingSurfaceAsTexture(
@@ -194,7 +194,7 @@ void DelegatedFrameHost::CopyFromCompositingSurfaceAsTexture(
base::TimeDelta(), std::move(callback));
}
@@ -985,7 +986,7 @@ diff --git a/content/browser/renderer_host/input/touch_selection_controller_clie
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
@@ -9439,7 +9439,7 @@ void RenderFrameHostImpl::ShowPopupMenu(
@@ -9547,7 +9547,7 @@ void RenderFrameHostImpl::ShowPopupMenu(
#endif
}
@@ -1191,7 +1192,7 @@ diff --git a/content/browser/renderer_host/render_widget_host_view_child_frame.h
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
@@ -821,8 +821,11 @@ WebContentsAndroid::GetFullscreenVideoSize(JNIEnv* env) {
@@ -826,8 +826,11 @@ WebContentsAndroid::GetFullscreenVideoSize(JNIEnv* env) {
return Java_WebContentsImpl_createSize(env, size.width(), size.height());
}
@@ -1208,7 +1209,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
@@ -187,7 +187,7 @@ class CONTENT_EXPORT WebContentsAndroid {
@@ -188,7 +188,7 @@ class CONTENT_EXPORT WebContentsAndroid {
base::android::ScopedJavaLocalRef<jobject> GetFullscreenVideoSize(
JNIEnv* env);
@@ -1220,7 +1221,7 @@ diff --git a/content/browser/web_contents/web_contents_android.h b/content/brows
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
@@ -535,7 +535,11 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
@@ -507,7 +507,11 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
!command_line.HasSwitch(switches::kFingerprintingCanvasImageDataNoise));
// CAUTION: Only add custom enabling logic here if it cannot
// be covered by the other functions.
@@ -1236,7 +1237,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
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
@@ -531,7 +531,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
@@ -532,7 +532,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
boolean shouldSuggest,
int sourceType,
RenderFrameHost renderFrameHost,
@@ -1246,7 +1247,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
mMenuModelBridge = menuModelBridge;
RecordHistogram.recordEnumeratedHistogram(
"Android.ShowSelectionMenuSourceType", sourceType, MenuSourceType.MAX_VALUE);
@@ -541,6 +542,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
@@ -542,6 +543,8 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
mXDip = xDip;
mYDip = yDip;
mSelectionRect.set(left, top, right, offsetBottom);
@@ -1258,7 +1259,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
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
@@ -988,9 +988,9 @@ public class WebContentsImpl
@@ -1015,9 +1015,9 @@ public class WebContentsImpl
}
@Override
@@ -1270,7 +1271,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon
}
@Override
@@ -1477,7 +1477,7 @@ public class WebContentsImpl
@@ -1508,7 +1508,7 @@ public class WebContentsImpl
Rect getFullscreenVideoSize(long nativeWebContentsAndroid);
@@ -1294,7 +1295,7 @@ diff --git a/content/public/android/java/src/org/chromium/content_public/browser
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
@@ -18,6 +18,10 @@
@@ -22,6 +22,10 @@
namespace features {
@@ -1344,7 +1345,7 @@ new file mode 100644
diff --git a/services/viz/public/mojom/compositing/layer_context.mojom b/services/viz/public/mojom/compositing/layer_context.mojom
--- a/services/viz/public/mojom/compositing/layer_context.mojom
+++ b/services/viz/public/mojom/compositing/layer_context.mojom
@@ -82,6 +82,7 @@ struct LayerTreeUpdate {
@@ -83,6 +83,7 @@ struct LayerTreeUpdate {
// The page scale factors set by the tree's client. All must be positive,
// non-zero.
float page_scale_factor;
@@ -1470,7 +1471,7 @@ diff --git a/third_party/blink/renderer/core/css/media_values.cc b/third_party/b
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -1267,8 +1267,19 @@ void WebViewImpl::UpdateICBAndResizeViewport(
@@ -1256,8 +1256,19 @@ void WebViewImpl::UpdateICBAndResizeViewport(
if (GetBrowserControls().PermittedState() ==
cc::BrowserControlsState::kBoth &&
!GetBrowserControls().ShrinkViewport()) {
@@ -1492,7 +1493,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
}
GetPageScaleConstraintsSet().DidChangeInitialContainingBlockSize(icb_size);
@@ -1348,7 +1359,8 @@ void WebViewImpl::DidUpdateBrowserControls() {
@@ -1337,7 +1348,8 @@ void WebViewImpl::DidUpdateBrowserControls() {
ResizeViewportAnchor::ResizeScope resize_scope(*resize_viewport_anchor_);
visual_viewport.SetBrowserControlsAdjustment(
@@ -1502,7 +1503,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
}
}
@@ -1412,7 +1424,7 @@ void WebViewImpl::ResizeWithBrowserControls(
@@ -1401,7 +1413,7 @@ void WebViewImpl::ResizeWithBrowserControls(
float bottom_controls_height,
bool browser_controls_shrink_layout) {
ResizeWithBrowserControls(
@@ -1511,7 +1512,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
{top_controls_height, GetBrowserControls().TopMinHeight(),
bottom_controls_height, GetBrowserControls().BottomMinHeight(),
GetBrowserControls().AnimateHeightChanges(),
@@ -1422,6 +1434,8 @@ void WebViewImpl::ResizeWithBrowserControls(
@@ -1411,6 +1423,8 @@ void WebViewImpl::ResizeWithBrowserControls(
void WebViewImpl::ResizeWithBrowserControls(
const gfx::Size& main_frame_widget_size,
const gfx::Size& visible_viewport_size,
@@ -1520,7 +1521,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
cc::BrowserControlsParams browser_controls_params) {
if (should_auto_resize_) {
// When auto-resizing only the viewport size comes from the browser, while
@@ -1430,6 +1444,11 @@ void WebViewImpl::ResizeWithBrowserControls(
@@ -1419,6 +1433,11 @@ void WebViewImpl::ResizeWithBrowserControls(
return;
}
@@ -1532,7 +1533,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
if (size_ == main_frame_widget_size &&
GetPage()->GetVisualViewport().Size() == visible_viewport_size &&
GetBrowserControls().Params() == browser_controls_params)
@@ -2114,7 +2133,7 @@ void WebViewImpl::DidAttachLocalMainFrame() {
@@ -2107,7 +2126,7 @@ void WebViewImpl::DidAttachLocalMainFrame() {
web_preferences_.prefers_reduced_motion);
MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits(
viewport.Scale(), viewport.IsPinchGestureActive(),
@@ -1541,7 +1542,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
// Prevent main frame updates while the main frame is loading until enough
// progress is made and BeginMainFrames are explicitly asked for.
scoped_defer_main_frame_update_ =
@@ -2961,7 +2980,7 @@ void WebViewImpl::RefreshPageScaleFactor() {
@@ -2954,7 +2973,7 @@ void WebViewImpl::RefreshPageScaleFactor() {
auto& viewport = GetPage()->GetVisualViewport();
MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits(
viewport.Scale(), viewport.IsPinchGestureActive(),
@@ -1550,7 +1551,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
}
}
@@ -3040,7 +3059,7 @@ void WebViewImpl::UpdatePageDefinedViewportConstraints(
@@ -3034,7 +3053,7 @@ void WebViewImpl::UpdatePageDefinedViewportConstraints(
TextAutosizer::UpdatePageInfoInAllFrames(GetPage()->MainFrame());
}
@@ -1559,7 +1560,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
if (should_auto_resize_ || !MainFrameImpl())
return;
@@ -3368,6 +3387,10 @@ float WebViewImpl::MinimumPageScaleFactor() const {
@@ -3395,6 +3414,10 @@ float WebViewImpl::MinimumPageScaleFactor() const {
return GetPageScaleConstraintsSet().FinalConstraints().minimum_scale;
}
@@ -1570,7 +1571,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
float WebViewImpl::MaximumPageScaleFactor() const {
return GetPageScaleConstraintsSet().FinalConstraints().maximum_scale;
}
@@ -3418,7 +3441,7 @@ void WebViewImpl::SendResizeEventForMainFrame() {
@@ -3445,7 +3468,7 @@ void WebViewImpl::SendResizeEventForMainFrame() {
auto& viewport = GetPage()->GetVisualViewport();
MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits(
viewport.Scale(), viewport.IsPinchGestureActive(),
@@ -1579,7 +1580,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
}
}
@@ -3963,7 +3986,7 @@ void WebViewImpl::PageScaleFactorChanged() {
@@ -3996,7 +4019,7 @@ void WebViewImpl::PageScaleFactorChanged() {
DCHECK(viewport.IsActiveViewport());
MainFrameImpl()->FrameWidgetImpl()->SetPageScaleStateAndLimits(
viewport.Scale(), viewport.IsPinchGestureActive(),
@@ -1591,7 +1592,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h
--- a/third_party/blink/renderer/core/exported/web_view_impl.h
+++ b/third_party/blink/renderer/core/exported/web_view_impl.h
@@ -168,6 +168,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@@ -169,6 +169,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
void AdvanceFocus(bool reverse) override;
float PageScaleFactor() const override;
float MinimumPageScaleFactor() const override;
@@ -1599,7 +1600,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_pa
float MaximumPageScaleFactor() const override;
void SetDefaultPageScaleLimits(float min_scale, float max_scale) override;
void SetInitialPageScaleOverride(float) override;
@@ -281,6 +282,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@@ -282,6 +283,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
// includes all browser controls params such as the min heights.
void ResizeWithBrowserControls(const gfx::Size& main_frame_widget_size,
const gfx::Size& visible_viewport_size,
@@ -1608,7 +1609,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_pa
cc::BrowserControlsParams);
// Requests a page-scale animation based on the specified point/rect.
@@ -841,6 +844,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@@ -844,6 +847,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
// The upper bound on the size when auto-resizing.
gfx::Size max_auto_size_;
@@ -1620,7 +1621,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_pa
diff --git a/third_party/blink/renderer/core/frame/local_frame_view.cc b/third_party/blink/renderer/core/frame/local_frame_view.cc
--- a/third_party/blink/renderer/core/frame/local_frame_view.cc
+++ b/third_party/blink/renderer/core/frame/local_frame_view.cc
@@ -1805,8 +1805,11 @@ void LocalFrameView::PerformPostLayoutTasks(bool visual_viewport_size_changed) {
@@ -1871,8 +1871,11 @@ void LocalFrameView::PerformPostLayoutTasks(bool visual_viewport_size_changed) {
}
float LocalFrameView::InputEventsScaleFactor() const {
@@ -1698,7 +1699,7 @@ diff --git a/third_party/blink/renderer/core/frame/visual_viewport.cc b/third_pa
visible_size.Scale(1 / scale_);
return gfx::RectF(ScrollPosition(), visible_size);
@@ -869,10 +901,13 @@ gfx::Point VisualViewport::ClampDocumentOffsetAtScale(const gfx::Point& offset,
@@ -901,10 +933,13 @@ gfx::Point VisualViewport::ClampDocumentOffsetAtScale(const gfx::Point& offset,
return clamped;
}
@@ -1761,7 +1762,7 @@ diff --git a/third_party/blink/renderer/core/frame/visual_viewport.h b/third_par
diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
--- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
+++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
@@ -1886,6 +1886,9 @@ void WebFrameWidgetImpl::UpdateVisualProperties(
@@ -1885,6 +1885,9 @@ void WebFrameWidgetImpl::UpdateVisualProperties(
// All non-top-level Widgets (child local-root frames, GuestViews,
// etc.) propagate and consume the page scale factor as "external", meaning
// that it comes from the top level widget's page scale.
@@ -1771,7 +1772,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
if (!ForTopMostMainFrame()) {
// The main frame controls the page scale factor, from blink. For other
// frame widgets, the page scale from pinch zoom and compositing scale is
@@ -1893,7 +1896,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties(
@@ -1892,7 +1895,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties(
// blink doesn't need to know this page scale factor outside the main frame,
// the compositor does in order to produce its output at the correct scale.
float combined_scale_factor = visual_properties.page_scale_factor *
@@ -1780,7 +1781,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
widget_base_->LayerTreeHost()->SetExternalPageScaleFactor(
combined_scale_factor, visual_properties.is_pinch_gesture_active);
@@ -1906,7 +1909,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties(
@@ -1905,7 +1908,7 @@ void WebFrameWidgetImpl::UpdateVisualProperties(
// Ensure the external scale factor in top-level widgets is reset as it may
// be leftover from when a widget was nested and was promoted to top level.
widget_base_->LayerTreeHost()->SetExternalPageScaleFactor(
@@ -1789,7 +1790,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
/*is_pinch_gesture_active=*/false);
}
@@ -1950,6 +1953,18 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
@@ -1949,6 +1952,18 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
new_compositor_viewport_pixel_rect,
device_scale_factor_for_testing_ / non_testing_device_scale_factor_);
}
@@ -1808,7 +1809,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
if (ForMainFrame()) {
if (size_ != new_size) {
@@ -1967,6 +1982,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
@@ -1966,6 +1981,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
size_.value(),
widget_base_->DIPsToCeiledBlinkSpace(
widget_base_->VisibleViewportSize()),
@@ -1817,7 +1818,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
visual_properties.browser_controls_params);
return;
}
@@ -2000,6 +2017,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
@@ -1999,6 +2016,8 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
View()->ResizeWithBrowserControls(
size_.value(), widget_base_->VisibleViewportSize(),
@@ -1826,7 +1827,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
visual_properties.browser_controls_params);
}
@@ -2384,6 +2403,8 @@ void WebFrameWidgetImpl::SetZoomInternal(double zoom_level,
@@ -2383,6 +2402,8 @@ void WebFrameWidgetImpl::SetZoomInternal(double zoom_level,
View()->ZoomFactorForViewportLayout() *
static_cast<float>(View()->ZoomLevelToZoomFactor(zoom_level)) *
static_cast<float>(css_zoom_factor);
@@ -1835,7 +1836,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
if (zoom_changed) {
// Set the layout shift exclusion window for the zoom level change.
if (LocalFrameView* view = document->View()) {
@@ -3439,6 +3460,7 @@ void WebFrameWidgetImpl::SetRootLayer(scoped_refptr<cc::Layer> layer) {
@@ -3438,6 +3459,7 @@ void WebFrameWidgetImpl::SetRootLayer(scoped_refptr<cc::Layer> layer) {
// be needed in setting the raster scale.
SetPageScaleStateAndLimits(1.f, false /* is_pinch_gesture_active */,
View()->MinimumPageScaleFactor(),
@@ -1843,7 +1844,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
View()->MaximumPageScaleFactor());
}
@@ -4824,9 +4846,10 @@ void WebFrameWidgetImpl::SetPageScaleStateAndLimits(
@@ -4870,9 +4892,10 @@ void WebFrameWidgetImpl::SetPageScaleStateAndLimits(
float page_scale_factor,
bool is_pinch_gesture_active,
float minimum,
@@ -1855,7 +1856,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
// Only propagate page scale from the main frame.
if (ForMainFrame()) {
@@ -4950,7 +4973,10 @@ void WebFrameWidgetImpl::OrientationChanged() {
@@ -4996,7 +5019,10 @@ void WebFrameWidgetImpl::OrientationChanged() {
void WebFrameWidgetImpl::DidUpdateSurfaceAndScreen(
const display::ScreenInfos& previous_original_screen_infos) {
display::ScreenInfo screen_info = widget_base_->GetScreenInfo();
@@ -1867,7 +1868,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
if (ShouldAutoDetermineCompositingToLCDTextSetting()) {
// This causes compositing state to be modified which dirties the
@@ -5160,7 +5186,7 @@ void WebFrameWidgetImpl::SetDeviceScaleFactorForTesting(float factor) {
@@ -5206,7 +5232,7 @@ void WebFrameWidgetImpl::SetDeviceScaleFactorForTesting(float factor) {
if (!device_scale_factor_for_testing_) {
non_testing_device_scale_factor_ =
@@ -1879,7 +1880,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/th
diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.h b/third_party/blink/renderer/core/frame/web_frame_widget_impl.h
--- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.h
+++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.h
@@ -661,6 +661,7 @@ class CORE_EXPORT WebFrameWidgetImpl
@@ -662,6 +662,7 @@ class CORE_EXPORT WebFrameWidgetImpl
void SetPageScaleStateAndLimits(float page_scale_factor,
bool is_pinch_gesture_active,
float minimum,
@@ -1890,7 +1891,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.h b/thi
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
@@ -2564,7 +2564,7 @@ void WebLocalFrameImpl::PaintDevToolsOverlays(GraphicsContext& context) {
@@ -2577,7 +2577,7 @@ void WebLocalFrameImpl::PaintDevToolsOverlays(GraphicsContext& context) {
dev_tools_agent_->PaintOverlays(context);
}
@@ -1899,7 +1900,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/thi
TRACE_EVENT0("blink", "WebLocalFrameImpl::createFrameView");
DCHECK(GetFrame()); // If frame() doesn't exist, we probably didn't init
@@ -3046,7 +3046,7 @@ void WebLocalFrameImpl::ShowContextMenuFromExternal(
@@ -3068,7 +3068,7 @@ void WebLocalFrameImpl::ShowContextMenuFromExternal(
std::move(context_menu_client), params);
}
@@ -1911,7 +1912,7 @@ diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/thi
diff --git a/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc b/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc
--- a/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc
+++ b/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc
@@ -1523,6 +1523,7 @@ bool HTMLCanvasElement::PushFrame(scoped_refptr<CanvasResource>&& image,
@@ -1517,6 +1517,7 @@ bool HTMLCanvasElement::PushFrame(scoped_refptr<CanvasResource>&& image,
}
bool HTMLCanvasElement::ShouldAccelerate() const {
@@ -1922,7 +1923,7 @@ diff --git a/third_party/blink/renderer/core/html/canvas/html_canvas_element.cc
diff --git a/third_party/blink/renderer/core/input/event_handler.cc b/third_party/blink/renderer/core/input/event_handler.cc
--- a/third_party/blink/renderer/core/input/event_handler.cc
+++ b/third_party/blink/renderer/core/input/event_handler.cc
@@ -2138,7 +2138,7 @@ GestureEventWithHitTestResults EventHandler::HitTestResultForGestureEvent(
@@ -2149,7 +2149,7 @@ GestureEventWithHitTestResults EventHandler::HitTestResultForGestureEvent(
hit_test_result);
}
@@ -1934,7 +1935,7 @@ diff --git a/third_party/blink/renderer/core/input/event_handler.cc b/third_part
diff --git a/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc b/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc
--- a/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc
+++ b/third_party/blink/renderer/core/inspector/inspector_emulation_agent.cc
@@ -1075,7 +1075,8 @@ InspectorEmulationAgent::setSmallViewportHeightDifferenceOverride(
@@ -1090,7 +1090,8 @@ InspectorEmulationAgent::setSmallViewportHeightDifferenceOverride(
// Ensure the override is applied immediately without having to wait for
// `WebFrameWidgetImpl::UpdateVisualProperties()` to be called.
GetWebViewImpl()->ResizeWithBrowserControls(
@@ -1947,7 +1948,7 @@ diff --git a/third_party/blink/renderer/core/inspector/inspector_emulation_agent
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
@@ -1290,6 +1290,10 @@ void Page::CalculateEmulatedScreenSetting(LocalFrame* frame, bool force) {
@@ -1301,6 +1301,10 @@ void Page::CalculateEmulatedScreenSetting(LocalFrame* frame, bool force) {
|| disable_screen_emulated_) {
isEnabled = false;
}
@@ -1961,14 +1962,14 @@ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/re
diff --git a/third_party/blink/renderer/core/page/viewport_description.cc b/third_party/blink/renderer/core/page/viewport_description.cc
--- a/third_party/blink/renderer/core/page/viewport_description.cc
+++ b/third_party/blink/renderer/core/page/viewport_description.cc
@@ -87,7 +87,7 @@ float ViewportDescription::ResolveViewportLength(
@@ -80,7 +80,7 @@ float ViewportDescription::ResolveViewportLength(
NOTREACHED();
}
-PageScaleConstraints ViewportDescription::Resolve(
+PageScaleConstraints ViewportDescription::Resolve( // POI
const gfx::SizeF& initial_viewport_size,
const Length& legacy_fallback_width) const {
const ViewportLength& legacy_fallback_width) const {
float result_width = kValueAuto;
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
--- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
@@ -1996,7 +1997,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_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
@@ -6443,5 +6443,9 @@
@@ -6683,5 +6683,9 @@
// crbug.com/435623334.
name: "XSLTSpecialTrial",
},
@@ -2077,8 +2078,8 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox
}
@@ -933,7 +948,7 @@ InputHandlerProxy::RouteToTypeSpecificHandler(
// TODO(arakeri): Pass in the modifier instead of a bool once the
// refactor (crbug.com/1022097) is done. For details, see
// TODO(crbug.com/40106459): Pass in the modifier instead of a bool
// once the refactor is done. For details, see
// crbug.com/1016955.
- HandlePointerDown(event_with_callback, mouse_event.PositionInWidget());
+ HandlePointerDown(event_with_callback, ScalePoint(mouse_event.PositionInWidget()));
@@ -2126,7 +2127,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox
const cc::ElementId targeted_element =
input_handler_->FindFrameElementIdAtPoint(point);
@@ -1121,7 +1139,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleMouseWheel(
@@ -1124,7 +1142,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleMouseWheel(
}
}
@@ -2135,7 +2136,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox
if (input_handler_->HasBlockingWheelEventHandlerAt(
gfx::Point(position_in_widget.x(), position_in_widget.y()))) {
result = DID_NOT_HANDLE;
@@ -1318,7 +1336,7 @@ InputHandlerProxy::HandleGestureScrollUpdate(
@@ -1319,7 +1337,7 @@ InputHandlerProxy::HandleGestureScrollUpdate(
scroll_data->set_unused_delta_y(scroll_result.unused_scroll_delta.y());
});
@@ -2144,7 +2145,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox
gesture_event.SourceDevice());
if (elastic_overscroll_controller_) {
@@ -1411,8 +1429,8 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HitTestTouchEvent(
@@ -1412,8 +1430,8 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HitTestTouchEvent(
}
cc::TouchAction touch_action = cc::TouchAction::kAuto;
@@ -2155,7 +2156,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox
// TODO(crbug.com/355578906): This is just some rough math for now. The main
// thread counterpart is AdjustPointerEvent. The buffer math on the main and
// cc thread(s) need to match.
@@ -1527,7 +1545,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchStart(
@@ -1528,7 +1546,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchStart(
touch_event.touches_length == 1) {
DCHECK(touch_event.touches[0].state == WebTouchPoint::State::kStatePressed);
cc::InputHandlerPointerResult pointer_result = HandlePointerDown(
@@ -2164,7 +2165,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox
if (pointer_result.type == cc::PointerResultType::kScrollbarScroll) {
client_->SetAllowedTouchAction(allowed_touch_action);
return DID_HANDLE;
@@ -1590,7 +1608,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchMove(
@@ -1591,7 +1609,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchMove(
touch_event.touch_start_or_first_touch_move);
if (touch_event.touches_length == 1) {
cc::InputHandlerPointerResult pointer_result = HandlePointerMove(
@@ -2173,7 +2174,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox
false /* should_cancel_scrollbar_drag */);
if (pointer_result.type == cc::PointerResultType::kScrollbarScroll) {
return DID_HANDLE;
@@ -1633,7 +1651,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchEnd(
@@ -1634,7 +1652,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleTouchEnd(
touch_event.touches_length);
if (touch_event.touches_length == 1) {
cc::InputHandlerPointerResult pointer_result = HandlePointerUp(
@@ -2185,7 +2186,7 @@ diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_prox
diff --git a/third_party/blink/renderer/platform/widget/widget_base.cc b/third_party/blink/renderer/platform/widget/widget_base.cc
--- a/third_party/blink/renderer/platform/widget/widget_base.cc
+++ b/third_party/blink/renderer/platform/widget/widget_base.cc
@@ -1683,7 +1683,9 @@ void WidgetBase::RequestAnimationAfterDelayTimerFired(TimerBase*) {
@@ -1687,7 +1687,9 @@ void WidgetBase::RequestAnimationAfterDelayTimerFired(TimerBase*) {
client_->ScheduleAnimation(/*urgent=*/urgent_for_input);
}
@@ -2196,7 +2197,7 @@ diff --git a/third_party/blink/renderer/platform/widget/widget_base.cc b/third_p
return client_->GetOriginalScreenInfos().current().device_scale_factor;
}
@@ -1717,7 +1719,7 @@ void WidgetBase::UpdateSurfaceAndScreenInfo(
@@ -1721,7 +1723,7 @@ void WidgetBase::UpdateSurfaceAndScreenInfo(
// Note carefully that the DSF specified in |new_screen_info| is not the
// DSF used by the compositor during device emulation!
LayerTreeHost()->SetViewportRectAndScale(compositor_viewport_pixel_rect,
@@ -2205,7 +2206,7 @@ diff --git a/third_party/blink/renderer/platform/widget/widget_base.cc b/third_p
local_surface_id_from_parent_);
// The VisualDeviceViewportIntersectionRect derives from the LayerTreeView's
// viewport size, which is set above.
@@ -1847,56 +1849,56 @@ void WidgetBase::CountDroppedPointerDownForEventTiming(unsigned count) {
@@ -1851,56 +1853,56 @@ void WidgetBase::CountDroppedPointerDownForEventTiming(unsigned count) {
gfx::PointF WidgetBase::DIPsToBlinkSpace(const gfx::PointF& point) {
// TODO(danakj): Should this use non-original scale factor so it changes under
// emulation?
@@ -2275,7 +2276,7 @@ diff --git a/third_party/blink/renderer/platform/widget/widget_base.cc b/third_p
diff --git a/third_party/blink/renderer/platform/widget/widget_base.h b/third_party/blink/renderer/platform/widget/widget_base.h
--- a/third_party/blink/renderer/platform/widget/widget_base.h
+++ b/third_party/blink/renderer/platform/widget/widget_base.h
@@ -406,7 +406,7 @@ class PLATFORM_EXPORT WidgetBase : public mojom::blink::Widget,
@@ -407,7 +407,7 @@ class PLATFORM_EXPORT WidgetBase : public mojom::blink::Widget,
void OnDevToolsSessionConnectionChanged(bool attached);
// Helper to get the non-emulated device scale factor.
@@ -2299,7 +2300,7 @@ diff --git a/ui/android/delegated_frame_host_android.cc b/ui/android/delegated_f
diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc
--- a/ui/android/event_forwarder.cc
+++ b/ui/android/event_forwarder.cc
@@ -137,7 +137,7 @@ bool EventForwarder::OnTouchEvent(JNIEnv* env,
@@ -144,7 +144,7 @@ bool EventForwarder::OnTouchEvent(JNIEnv* env,
JNI_MotionEvent::Java_MotionEvent_getDownTime(env, motion_event));
auto event = ui::MotionEventAndroidFactory::CreateFromJava(
env, /*event=*/motion_event,
@@ -2308,7 +2309,7 @@ diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc
/*ticks_x=*/0.f,
/*ticks_y=*/0.f,
/*tick_multiplier=*/0.f,
@@ -191,7 +191,7 @@ void EventForwarder::OnMouseEvent(
@@ -198,7 +198,7 @@ void EventForwarder::OnMouseEvent(
/*tool_type=*/android_tool_type);
auto event = ui::MotionEventAndroidFactory::CreateFromJava(
env, /*event=*/motion_event,
@@ -2317,7 +2318,7 @@ diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc
/*ticks_x=*/0.f,
/*ticks_y=*/0.f,
/*tick_multiplier=*/0.f,
@@ -225,7 +225,7 @@ void EventForwarder::OnDragEvent(JNIEnv* env,
@@ -232,7 +232,7 @@ void EventForwarder::OnDragEvent(JNIEnv* env,
const JavaRef<jstring>& j_text,
const JavaRef<jstring>& j_html,
const JavaRef<jstring>& j_url) {
@@ -2326,7 +2327,7 @@ diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc
gfx::PointF location(x / dip_scale, y / dip_scale);
gfx::PointF root_location(screen_x / dip_scale, screen_y / dip_scale);
std::vector<std::u16string> mime_types;
@@ -240,7 +240,7 @@ bool EventForwarder::OnGestureEvent(JNIEnv* env,
@@ -247,7 +247,7 @@ bool EventForwarder::OnGestureEvent(JNIEnv* env,
int32_t type,
int64_t time_ms,
float scale) {
@@ -2335,7 +2336,7 @@ diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc
auto size = view_->GetSizeDIPs();
float x = size.width() / 2;
float y = size.height() / 2;
@@ -270,7 +270,7 @@ bool EventForwarder::OnGenericMotionEvent(JNIEnv* env,
@@ -277,7 +277,7 @@ bool EventForwarder::OnGenericMotionEvent(JNIEnv* env,
base::TimeTicks down_time = base::TimeTicks::FromUptimeMillis(down_time_ms);
auto event = ui::MotionEventAndroidFactory::CreateFromJava(
env, /*event=*/motion_event,
@@ -2344,7 +2345,7 @@ diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc
/*ticks_x=*/0.f,
/*ticks_y=*/0.f,
/*tick_multiplier=*/0.f,
@@ -353,7 +353,7 @@ void EventForwarder::DoubleTap(JNIEnv* env,
@@ -360,7 +360,7 @@ void EventForwarder::DoubleTap(JNIEnv* env,
int64_t time_ms,
int32_t x,
int32_t y) {
@@ -2353,7 +2354,7 @@ diff --git a/ui/android/event_forwarder.cc b/ui/android/event_forwarder.cc
view_->OnGestureEvent(GestureEventAndroid(
GESTURE_EVENT_TYPE_DOUBLE_TAP, gfx::PointF(x / dip_scale, y / dip_scale),
gfx::PointF(), time_ms, ui::GestureDeviceType::DEVICE_TOUCHSCREEN, 0, 0,
@@ -372,7 +372,7 @@ void EventForwarder::StartFling(JNIEnv* env,
@@ -379,7 +379,7 @@ void EventForwarder::StartFling(JNIEnv* env,
if (velocity_x == 0 && velocity_y == 0)
return;
@@ -2419,7 +2420,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc
ScopedJavaLocalRef<jobject> ViewAndroid::GetEventForwarder() {
if (!event_forwarder_) {
DCHECK(!RootPathHasEventForwarder(parent_))
@@ -152,7 +156,7 @@ void ViewAndroid::AddChild(ViewAndroid* child) {
@@ -153,7 +157,7 @@ void ViewAndroid::AddChild(ViewAndroid* child) {
// spurious events with empty size from being sent down.
if (child->match_parent() && !bounds_device_px_.IsEmpty() &&
child->GetSizeDevicePx() != bounds_device_px_.size()) {
@@ -2428,7 +2429,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc
child->DispatchOnSizeChanged();
}
@@ -501,7 +505,7 @@ void ViewAndroid::OnVerticalScrollDirectionChanged(bool direction_up,
@@ -502,7 +506,7 @@ void ViewAndroid::OnVerticalScrollDirectionChanged(bool direction_up,
env, delegate, direction_up, current_scroll_ratio);
}
@@ -2437,7 +2438,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc
// Match-parent view must not receive size events.
DCHECK(!match_parent());
@@ -511,13 +515,15 @@ void ViewAndroid::OnSizeChanged(int width, int height) {
@@ -512,13 +516,15 @@ void ViewAndroid::OnSizeChanged(int width, int height) {
return;
}
@@ -2455,7 +2456,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc
if (bounds_device_px_.size() == size_device_px) {
return;
}
@@ -525,12 +531,15 @@ void ViewAndroid::OnSizeChangedInternal(const gfx::Size& size_device_px) {
@@ -526,12 +532,15 @@ void ViewAndroid::OnSizeChangedInternal(const gfx::Size& size_device_px) {
bounds_device_px_.set_size(size_device_px);
float scale = GetDipScale();
@@ -2474,7 +2475,7 @@ diff --git a/ui/android/view_android.cc b/ui/android/view_android.cc
}
}
@@ -591,6 +600,10 @@ gfx::Size ViewAndroid::GetSizeDevicePx() const {
@@ -592,6 +601,10 @@ gfx::Size ViewAndroid::GetSizeDevicePx() const {
return bounds_device_px_.size();
}
@@ -43,12 +43,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../skia/src/ports/SkFontConfigInterface.cpp | 5 +
.../ports/SkFontConfigInterface_direct.cpp | 5 +
.../src/ports/SkFontConfigInterface_direct.h | 1 +
.../skia/src/ports/SkFontMgr_android.cpp | 282 ++-
.../skia/src/ports/SkFontMgr_android.cpp | 286 ++-
.../skia/src/ports/SkFontMgr_android_data.cpp | 1641 +++++++++++++++++
.../skia/src/ports/SkFontMgr_android_ndk.cpp | 2 +-
.../src/ports/SkFontMgr_android_parser.cpp | 66 +-
.../skia/src/ports/SkFontMgr_android_parser.h | 5 +-
42 files changed, 2447 insertions(+), 86 deletions(-)
42 files changed, 2449 insertions(+), 88 deletions(-)
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Android-fonts-fingerprinting-mitigation.grdp
create mode 100644 components/component_updater/installer_policies/fonts_pack_component_installer.cc
create mode 100644 components/component_updater/installer_policies/fonts_pack_component_installer.h
@@ -60,7 +60,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java
--- a/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java
+++ b/android_webview/java/src/org/chromium/android_webview/common/ProductionSupportedFlagList.java
@@ -970,6 +970,9 @@ public final class ProductionSupportedFlagList {
@@ -996,6 +996,9 @@ public final class ProductionSupportedFlagList {
"Hides user preference on the system keyboard by setting the standard "
+ "eng layout and removing the layout information from the "
+ "javascript keyboard events."),
@@ -122,7 +122,7 @@ diff --git a/chrome/android/java/res/xml/developer_preferences.xml b/chrome/andr
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -8000,6 +8000,13 @@ static_library("browser") {
@@ -7869,6 +7869,13 @@ static_library("browser") {
]
}
@@ -139,7 +139,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
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
@@ -101,6 +101,11 @@
@@ -100,6 +100,11 @@
#include "chrome/browser/component_updater/file_type_policies_component_installer.h"
#endif
@@ -151,7 +151,7 @@ diff --git a/chrome/browser/component_updater/registration.cc b/chrome/browser/c
namespace component_updater {
namespace {
@@ -134,6 +139,11 @@ void DeleteOldComponents(const base::FilePath& user_data_dir) {
@@ -133,6 +138,11 @@ void DeleteOldComponents(const base::FilePath& user_data_dir) {
void RegisterComponentsForUpdate() {
auto* const cus = g_browser_process->component_updater();
@@ -190,7 +190,7 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre
// If a font name in prefs default values starts with a comma, consider it's a
// comma-separated font list and resolve it to the first available font.
#define PREFS_FONT_LIST 1
@@ -442,9 +441,9 @@ void PrefsTabHelper::RegisterProfilePrefs(
@@ -447,9 +446,9 @@ void PrefsTabHelper::RegisterProfilePrefs(
value = gfx::FontList::FirstAvailableOrFirst(value);
}
#else // !PREFS_FONT_LIST
@@ -670,7 +670,7 @@ diff --git a/components/services/font/public/mojom/font_service.mojom b/componen
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -2611,6 +2611,17 @@ source_set("browser") {
@@ -2637,6 +2637,17 @@ source_set("browser") {
]
}
@@ -688,7 +688,7 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
if (is_linux || is_chromeos) {
sources -=
[ "file_system_access/file_path_watcher/file_path_watcher_stub.cc" ]
@@ -2657,6 +2668,13 @@ source_set("browser") {
@@ -2683,6 +2694,13 @@ source_set("browser") {
deps += [ "//components/services/font_data:lib" ]
}
@@ -705,9 +705,9 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
diff --git a/content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc b/content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc
--- a/content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc
+++ b/content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc
@@ -52,6 +52,11 @@
#include "third_party/blink/public/mojom/android_font_lookup/android_font_lookup.mojom.h"
#endif
@@ -56,6 +56,11 @@
#include "content/browser/renderer_host/p2p/socket_dispatcher_host.h"
#endif // BUILDFLAG(IS_P2P_ENABLED)
+#if BUILDFLAG(IS_ANDROID)
+#include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck
@@ -717,7 +717,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl_receiver_bin
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
#include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck
#include "content/browser/font_service.h" // nogncheck
@@ -352,6 +357,13 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHostReceiver(
@@ -356,6 +361,13 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHostReceiver(
}
#endif
@@ -734,7 +734,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl_receiver_bin
diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn
--- a/content/child/BUILD.gn
+++ b/content/child/BUILD.gn
@@ -139,6 +139,13 @@ target(link_target_type, "child") {
@@ -137,6 +137,13 @@ target(link_target_type, "child") {
]
}
@@ -850,11 +850,11 @@ diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer
+#endif
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git a/content/renderer/renderer_main.cc b/content/renderer/renderer_main.cc
--- a/content/renderer/renderer_main.cc
+++ b/content/renderer/renderer_main.cc
@@ -200,8 +200,6 @@ int RendererMain(MainFunctionParams parameters) {
@@ -184,8 +184,6 @@ int RendererMain(MainFunctionParams parameters) {
// On Linux, Windows, and ChromeOS, the font manager is overridden or
// specially handled in RendererBlinkPlatformImpl(). On other platforms,
// initialise the default one on a thread pool, to avoid blocking on it later.
@@ -905,7 +905,7 @@ new file mode 100644
diff --git a/skia/BUILD.gn b/skia/BUILD.gn
--- a/skia/BUILD.gn
+++ b/skia/BUILD.gn
@@ -446,6 +446,18 @@ component("skia") {
@@ -444,6 +444,18 @@ component("skia") {
sources += skia_ports_fci_sources
}
@@ -1374,28 +1374,26 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
}
this->buildNameToFamilyMap(families, custom ? custom->fIsolated : false);
this->findDefaultStyleSet();
@@ -309,12 +452,12 @@ protected:
@@ -309,33 +452,53 @@ protected:
}
enum class NameType { Self, Fallback };
using Matcher = bool (*)(const SkString& familyName, const NameToFamily&);
- static sk_sp<SkTypeface_AndroidSystem> find_family_style_character(
+ sk_sp<SkTypeface> find_family_style_character(
const SkString& familyName,
const TArray<NameToFamily, true>& nameToFamilyMap,
NameType nameType,
const SkFontStyle& style, bool elegant,
- const SkString& langTag, SkUnichar character)
+ const SkString& langTag, SkUnichar character) const
const SkString& langTag, SkUnichar character,
- Matcher matcher)
+ Matcher matcher) const
{
for (auto&& nameToFamily : nameToFamilyMap) {
SkFontStyleSet_Android* family = nameToFamily.styleSet;
@@ -325,22 +468,42 @@ protected:
continue;
}
if (!matcher(familyName, nameToFamily)) {
continue;
}
- sk_sp<SkTypeface_AndroidSystem> face(family->matchAStyle(style));
- sk_sp<SkTypeface_AndroidSystem> face(nameToFamily.styleSet->matchAStyle(style));
+ if (custom_) {
+ sk_sp<SkTypeface_AndroidSystemCustom> face(family->matchCromiteStyle(style));
+ sk_sp<SkTypeface_AndroidSystemCustom> face(nameToFamily.styleSet->matchCromiteStyle(style));
+
+ if (!langTag.isEmpty() &&
+ std::none_of(face->fLang.begin(), face->fLang.end(), [&](const SkLanguage& lang){
@@ -1423,7 +1421,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
+ return face;
+ }
+ } else {
+ sk_sp<SkTypeface_AndroidSystem> face(family->matchAndroidStyle(style));
+ sk_sp<SkTypeface_AndroidSystem> face(nameToFamily.styleSet->matchAndroidStyle(style));
+
+ if (!langTag.isEmpty() &&
+ std::none_of(face->fLang.begin(), face->fLang.end(), [&](const SkLanguage& lang){
@@ -1432,29 +1430,41 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
+ {
+ continue;
+ }
- if (face->unicharToGlyph(character) != 0) {
- return face;
+
+ if (SkToBool(face->fVariantStyle & kElegant_FontVariant) != elegant) {
+ continue;
+ }
+
- if (face->unicharToGlyph(character) != 0) {
- return face;
+ if (face->unicharToGlyph(character) != 0) {
+ return face;
+ }
}
}
return nullptr;
@@ -355,7 +518,7 @@ protected:
// The variant 'default' means 'compact and elegant'.
// As a result, it is not possible to know the variant context from the font alone.
// TODO: add 'is_elegant' and 'is_compact' bits to 'style' request.
@@ -360,9 +523,9 @@ protected:
auto find = [this, &style, &character](const SkString& familyName,
const SkString& lang,
- bool elegant) -> sk_sp<SkTypeface_AndroidSystem>
+ bool elegant) -> sk_sp<SkTypeface>
{
- sk_sp<SkTypeface_AndroidSystem> matchingTypeface;
+ sk_sp<SkTypeface> matchingTypeface;
if (!familyName.isEmpty()) {
matchingTypeface = find_family_style_character(
familyName, fNameToFamilyMap, style, elegant, lang, character,
@@ -410,7 +573,7 @@ protected:
};
- sk_sp<SkTypeface_AndroidSystem> matchingTypeface;
+ sk_sp<SkTypeface> matchingTypeface;
SkString familyNameString(familyName);
for (const SkString& currentFamilyName : { familyNameString, SkString() }) {
// The first time match anything elegant, second time anything not elegant.
@@ -435,6 +598,7 @@ protected:
// If familyName is empty, don't look through everything twice.
SkString familyNames[2] = { SkString(familyName), SkString() };
size_t familyNamesCount = familyNames[0].isEmpty() ? 1 : 2;
@@ -475,6 +638,7 @@ protected:
private:
std::unique_ptr<SkFontScanner> fScanner;
@@ -1462,7 +1472,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
TArray<sk_sp<SkFontStyleSet_Android>> fStyleSets;
sk_sp<SkFontStyleSet> fDefaultStyleSet;
@@ -456,7 +620,7 @@ private:
@@ -496,7 +660,7 @@ private:
}
sk_sp<SkFontStyleSet_Android> newSet =
@@ -1471,7 +1481,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
if (0 == newSet->count()) {
return;
}
@@ -502,7 +666,11 @@ static char const * const gSystemFontUseStrings[] = {
@@ -542,7 +706,11 @@ static char const * const gSystemFontUseStrings[] = {
} // namespace
@@ -1484,7 +1494,7 @@ diff --git a/third_party/skia/src/ports/SkFontMgr_android.cpp b/third_party/skia
std::unique_ptr<SkFontScanner> scanner) {
if (custom) {
SkASSERT(0 <= custom->fSystemFontUse);
@@ -515,5 +683,5 @@ sk_sp<SkFontMgr> SkFontMgr_New_Android(const SkFontMgr_Android_CustomFonts* cust
@@ -555,5 +723,5 @@ sk_sp<SkFontMgr> SkFontMgr_New_Android(const SkFontMgr_Android_CustomFonts* cust
custom->fFallbackFontsXml);
}
}
@@ -282,7 +282,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
@@ -1618,7 +1618,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -1628,7 +1628,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
mActivity,
mStatusIndicatorCoordinator,
isUrlBarFocusedSupplier,
@@ -405,7 +405,7 @@ diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java b/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java
--- a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java
+++ b/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java
@@ -144,6 +144,8 @@ public interface TabWindowManager {
@@ -148,6 +148,8 @@ public interface TabWindowManager {
/** Returns the total number of incognito tabs across all tab model selectors. */
int getIncognitoTabCount();
@@ -417,14 +417,14 @@ diff --git a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/brows
diff --git a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java b/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java
--- a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java
+++ b/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManagerImpl.java
@@ -556,6 +556,16 @@ public class TabWindowManagerImpl implements TabWindowManager {
@@ -534,6 +534,16 @@ public class TabWindowManagerImpl implements TabWindowManager {
return tabGroupModelFilter.getTabsInGroup(tabGroupId);
}
+ @Override
+ public void setPagesFrozen(boolean frozen) {
+ for (Map.Entry<@WindowId Integer, WindowDeps> entry : mWindowIdToDeps.entrySet()) {
+ TabModelSelector selector = entry.getValue().selector;
+ for (Map.Entry<@WindowId Integer, TabModelSelector> entry : mWindowIdToSelectors.entrySet()) {
+ TabModelSelector selector = entry.getValue();
+ if (selector != null) {
+ selector.setPagesFrozen(frozen);
+ }
@@ -433,7 +433,7 @@ diff --git a/chrome/browser/tabwindow/internal/android/java/src/org/chromium/chr
+
@Override
public @Nullable TabModelSelector getTabModelSelectorById(@WindowId int windowId) {
WindowDeps windowDeps = mWindowIdToDeps.get(windowId);
return mWindowIdToSelectors.get(windowId);
diff --git a/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Ask-for-restart-on-connection-change.grdp b/chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Ask-for-restart-on-connection-change.grdp
new file mode 100644
--- /dev/null
@@ -483,7 +483,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
+ private String mDismissActionText;
+ private Object mDismissActionData;
private int mBackgroundColor;
private int mTextApperanceResId;
private int mTextAppearanceResId;
private boolean mDefaultLines = true;
@@ -251,6 +253,20 @@ public class Snackbar {
return this;
@@ -509,7 +509,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
@@ -403,6 +403,12 @@ public class SnackbarManager
@@ -434,6 +434,12 @@ public class SnackbarManager
new SnackbarView(
mActivity,
this,
@@ -566,7 +566,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
@@ -898,6 +898,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, bool focused) {
@@ -903,6 +903,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, bool focused) {
view->SetFocus(focused);
}
@@ -592,7 +592,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
@@ -198,6 +198,7 @@ class CONTENT_EXPORT WebContentsAndroid {
@@ -199,6 +199,7 @@ class CONTENT_EXPORT WebContentsAndroid {
void OnScaleFactorChanged(JNIEnv* env);
void SetFocus(JNIEnv* env, bool focused);
@@ -603,7 +603,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
@@ -4092,8 +4092,10 @@ void WebContentsImpl::Stop() {
@@ -4106,8 +4106,10 @@ void WebContentsImpl::Stop() {
void WebContentsImpl::SetPageFrozen(bool frozen) {
TRACE_EVENT1("content", "WebContentsImpl::SetPageFrozen", "frozen", frozen);
@@ -617,7 +617,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
@@ -1144,6 +1144,12 @@ public class WebContentsImpl
@@ -1171,6 +1171,12 @@ public class WebContentsImpl
WebContentsImplJni.get().setFocus(mNativeWebContentsAndroid, hasFocus);
}
@@ -630,7 +630,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon
@Override
public void setDisplayCutoutSafeArea(Rect insets) {
if (mNativeWebContentsAndroid == 0) return;
@@ -1488,6 +1494,8 @@ public class WebContentsImpl
@@ -1519,6 +1525,8 @@ public class WebContentsImpl
void setFocus(long nativeWebContentsAndroid, boolean focused);
@@ -699,7 +699,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
@@ -4628,6 +4628,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) {
@@ -4620,6 +4620,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) {
}
void Document::DispatchFreezeEvent() {
@@ -729,7 +729,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc b/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc
--- a/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc
+++ b/third_party/blink/renderer/platform/scheduler/main_thread/frame_scheduler_impl.cc
@@ -1029,7 +1029,9 @@ SchedulingLifecycleState FrameSchedulerImpl::CalculateLifecycleState(
@@ -1022,7 +1022,9 @@ SchedulingLifecycleState FrameSchedulerImpl::CalculateLifecycleState(
if (!parent_page_scheduler_)
return SchedulingLifecycleState::kNotThrottled;
if (parent_page_scheduler_->IsFrozen()) {
@@ -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
@@ -200,6 +200,20 @@ AudioBuffer::AudioBuffer(AudioBus* bus)
@@ -197,6 +197,20 @@ AudioBuffer::AudioBuffer(AudioBus* bus)
}
}
@@ -96,7 +96,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_context.cc b/thir
#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"
@@ -1125,7 +1126,9 @@ double AudioContext::baseLatency() const {
@@ -1133,7 +1134,9 @@ double AudioContext::baseLatency() const {
DCHECK_CALLED_ON_VALID_SEQUENCE(main_thread_sequence_checker_);
DCHECK(destination());
@@ -139,7 +139,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc b
diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.h b/third_party/blink/renderer/modules/webaudio/base_audio_context.h
--- a/third_party/blink/renderer/modules/webaudio/base_audio_context.h
+++ b/third_party/blink/renderer/modules/webaudio/base_audio_context.h
@@ -328,6 +328,8 @@ class MODULES_EXPORT BaseAudioContext
@@ -331,6 +331,8 @@ class MODULES_EXPORT BaseAudioContext
// if the execution context does not exist.
bool CheckExecutionContextAndThrowIfNecessary(ExceptionState&);
@@ -151,7 +151,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.h b/
diff --git a/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc b/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc
--- a/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc
+++ b/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc
@@ -410,6 +410,7 @@ void OfflineAudioContext::FireCompletionEvent() {
@@ -418,6 +418,7 @@ void OfflineAudioContext::FireCompletionEvent() {
if (!rendered_buffer) {
return;
}
@@ -170,17 +170,17 @@ 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"
@@ -118,7 +119,8 @@ void RealtimeAnalyser::GetFloatFrequencyData(DOMFloat32Array* destination_array,
@@ -117,7 +118,8 @@ void RealtimeAnalyser::GetFloatFrequencyData(DOMFloat32Array* destination_array,
for (unsigned i = 0; i < len; ++i) {
const float linear_value = UNSAFE_TODO(source[i]);
const float linear_value = magnitude_buffer_[i];
const double db_mag = audio_utilities::LinearToDecibels(linear_value);
- UNSAFE_TODO(destination[i]) = static_cast<float>(db_mag);
- destination[i] = static_cast<float>(db_mag);
+ auto v = static_cast<float>(db_mag);
+ UNSAFE_TODO(destination[i]) = BaseAudioContext::ShuffleAudioData(v, i);
+ destination[i] = BaseAudioContext::ShuffleAudioData(v, i);
}
}
}
@@ -156,9 +158,11 @@ void RealtimeAnalyser::GetByteFrequencyData(DOMUint8Array* destination_array,
@@ -153,9 +155,11 @@ void RealtimeAnalyser::GetByteFrequencyData(DOMUint8Array* destination_array,
// The range m_minDecibels to m_maxDecibels will be scaled to byte values
// from 0 to UCHAR_MAX.
@@ -191,24 +191,24 @@ diff --git a/third_party/blink/renderer/modules/webaudio/realtime_analyser.cc b/
+ scaled_value = BaseAudioContext::ShuffleAudioData(scaled_value, i);
+
// Clip to valid range.
UNSAFE_TODO(destination[i]) =
destination[i] =
static_cast<unsigned char>(ClampTo(scaled_value, 0, UCHAR_MAX));
@@ -189,6 +193,7 @@ void RealtimeAnalyser::GetFloatTimeDomainData(
input_buffer[(i + write_index - fft_size + kInputBufferSize) %
kInputBufferSize]);
@@ -184,6 +188,7 @@ void RealtimeAnalyser::GetFloatTimeDomainData(
input_buffer_[(i + write_index - fft_size + kInputBufferSize) %
kInputBufferSize];
+ value = BaseAudioContext::ShuffleAudioData(value, i);
UNSAFE_TODO(destination[i]) = value;
destination[i] = value;
}
}
@@ -212,10 +217,12 @@ void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array) {
@@ -205,10 +210,12 @@ void RealtimeAnalyser::GetByteTimeDomainData(DOMUint8Array* destination_array) {
base::span<unsigned char> destination = destination_array->AsSpan();
for (unsigned i = 0; i < len; ++i) {
// Buffer access is protected due to modulo operation.
- const float value = UNSAFE_TODO(
+ float value = UNSAFE_TODO(
input_buffer[(i + write_index - fft_size + kInputBufferSize) %
kInputBufferSize]);
- const float value =
+ float value =
input_buffer_[(i + write_index - fft_size + kInputBufferSize) %
kInputBufferSize];
+ value = BaseAudioContext::ShuffleAudioData(value, i);
+
@@ -218,7 +218,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
@@ -669,9 +669,8 @@
@@ -688,9 +688,8 @@
{
// AudioContext.playoutStats interface.
// https://chromestatus.com/feature/5172818344148992
@@ -45,7 +45,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
@@ -1139,6 +1139,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
@@ -1138,6 +1138,26 @@ bool FrameFetchContext::ShouldBlockRequestByInspector(const KURL& url) const {
return should_block_request;
}
@@ -75,7 +75,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi
diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.h b/third_party/blink/renderer/core/loader/frame_fetch_context.h
--- a/third_party/blink/renderer/core/loader/frame_fetch_context.h
+++ b/third_party/blink/renderer/core/loader/frame_fetch_context.h
@@ -196,6 +196,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
@@ -197,6 +197,7 @@ class CORE_EXPORT FrameFetchContext final : public BaseFetchContext,
bool ShouldBlockWebSocketByMixedContentCheck(const KURL&) const override;
std::unique_ptr<WebSocketHandshakeThrottle> CreateWebSocketHandshakeThrottle()
override;
@@ -148,7 +148,7 @@ diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetc
--- a/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
+++ b/third_party/blink/renderer/modules/background_fetch/background_fetch_manager.cc
@@ -104,6 +104,30 @@ bool ShouldBlockDanglingMarkup(const KURL& request_url) {
request_url.ProtocolIsInHTTPFamily();
request_url.ProtocolIsInHttpFamily();
}
+bool ShouldBlockGateWayAttacks(ExecutionContext* execution_context,
@@ -25,7 +25,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
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
@@ -5328,7 +5328,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin(
@@ -5362,7 +5362,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin(
}
void RenderFrameHostImpl::SetInheritedBaseUrl(const GURL& inherited_base_url) {
@@ -106,7 +106,7 @@ diff --git a/third_party/blink/renderer/core/frame/location.cc b/third_party/bli
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
@@ -833,6 +833,11 @@ WebString DocumentLoader::HttpMethod() const {
@@ -850,6 +850,11 @@ WebString DocumentLoader::HttpMethod() const {
}
const AtomicString& DocumentLoader::GetReferrer() const {
@@ -118,7 +118,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
return referrer_;
}
@@ -2909,6 +2914,13 @@ void DocumentLoader::CommitNavigation() {
@@ -2965,6 +2970,13 @@ void DocumentLoader::CommitNavigation() {
response_.HttpHeaderField(http_names::kDocumentPolicyReportOnly));
}
@@ -135,7 +135,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h
--- a/third_party/blink/renderer/core/loader/document_loader.h
+++ b/third_party/blink/renderer/core/loader/document_loader.h
@@ -770,7 +770,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected<DocumentLoader>,
@@ -789,7 +789,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected<DocumentLoader>,
// |archive_|, but won't have |loading_main_document_from_mhtml_archive_| set.
bool loading_main_document_from_mhtml_archive_ = false;
const bool loading_srcdoc_ = false;
@@ -80,7 +80,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
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
@@ -267,6 +267,9 @@ CHAR_LIMIT guidelines:
@@ -271,6 +271,9 @@ CHAR_LIMIT guidelines:
<message name="IDS_NOTIFICATION_CATEGORY_SITES" desc="Label for notifications from websites, within a list of notification categories. [CHAR_LIMIT=32]">
Sites
</message>
+20 -46
View File
@@ -39,8 +39,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../strings/android_chrome_strings.grd | 23 +-
.../ui/lens/lens_overlay_query_controller.cc | 2 +-
components/commerce/core/account_checker.cc | 2 +-
.../core/compare/cluster_server_proxy.cc | 2 +-
.../product_specifications_server_proxy.cc | 2 +-
.../subscriptions_server_proxy.cc | 2 +-
.../internal/composebox_query_controller.cc | 2 +-
.../data_sharing_network_loader_impl.cc | 2 +-
@@ -50,7 +48,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/manta/base_provider.cc | 4 +-
.../Bromite-auto-updater.inc | 3 +
.../Bromite-auto-updater.inc | 1 +
42 files changed, 1156 insertions(+), 106 deletions(-)
40 files changed, 1154 insertions(+), 104 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
@@ -79,7 +77,7 @@ diff --git a/build/android/java/templates/BuildConfig.template b/build/android/j
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
--- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni
@@ -1963,6 +1963,9 @@ if (!is_robolectric && enable_java_templates) {
@@ -1979,6 +1979,9 @@ if (!is_robolectric && enable_java_templates) {
sources = [ "//build/android/java/templates/BuildConfig.template" ]
defines = []
@@ -92,7 +90,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
@@ -890,6 +890,8 @@ chrome_java_sources = [
@@ -906,6 +906,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",
@@ -690,7 +688,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
@@ -2595,6 +2595,12 @@ static_library("browser") {
@@ -2504,6 +2504,12 @@ static_library("browser") {
}
if (is_android) {
@@ -1010,18 +1008,18 @@ 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
@@ -393,6 +393,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -401,6 +401,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kProtectedTabsAndroid,
&kPwaRestoreUi,
&kPwaRestoreUiAtStartup,
+ &kInlineUpdateFlow,
&kReadAloud,
&kReadAloudAudioOverviews,
&kReadAloudAudioOverviewsFeedback,
&kReadAloudIPHMenuButtonHighlightCCT,
&kReadAloudPlayback,
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
@@ -473,6 +473,7 @@ public abstract class ChromeFeatureList {
@@ -484,6 +484,7 @@ public abstract class ChromeFeatureList {
public static final String INCOGNITO_NTP_SMALL_ICON = "IncognitoNtpSmallIcon";
public static final String INCOGNITO_SCREENSHOT = "IncognitoScreenshot";
public static final String INCOGNITO_THEME_OVERLAY_TESTING = "IncognitoThemeOverlayTesting";
@@ -1353,9 +1351,9 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o
- mMetrics.startUpdate();
-
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(mStatus.updateUrl));
if (newTask) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
@@ -201,9 +238,15 @@ public class UpdateStatusProvider {
// Ensure that the app vs browser disambiguation dialog is not shown.
intent.addFlags(Intent.FLAG_ACTIVITY_REQUIRE_NON_BROWSER);
@@ -203,9 +240,15 @@ public class UpdateStatusProvider {
return true;
}
@@ -1373,7 +1371,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o
}
@RequiresNonNull("mStatus")
@@ -212,35 +255,52 @@ public class UpdateStatusProvider {
@@ -214,35 +257,52 @@ public class UpdateStatusProvider {
}
private void resolveStatus() {
@@ -1435,7 +1433,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o
mCallback = resultReceiver;
}
@@ -252,7 +312,7 @@ public class UpdateStatusProvider {
@@ -254,7 +314,7 @@ public class UpdateStatusProvider {
protected UpdateStatus doInBackground() {
UpdateStatus testStatus = getTestStatus();
if (testStatus != null) return testStatus;
@@ -1444,7 +1442,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o
}
@Override
@@ -270,6 +330,8 @@ public class UpdateStatusProvider {
@@ -272,6 +332,8 @@ public class UpdateStatusProvider {
status.mIsSimulated = true;
status.updateState = forcedUpdateState;
@@ -1453,7 +1451,7 @@ diff --git a/chrome/browser/omaha/android/java/src/org/chromium/chrome/browser/o
// Push custom configurations for certain update states.
switch (forcedUpdateState) {
case UpdateState.UPDATE_AVAILABLE:
@@ -287,31 +349,33 @@ public class UpdateStatusProvider {
@@ -289,31 +351,33 @@ public class UpdateStatusProvider {
return status;
}
@@ -1623,7 +1621,7 @@ diff --git a/chrome/browser/save_to_drive/drive_uploader.cc b/chrome/browser/sav
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
@@ -2328,6 +2328,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -2401,6 +2401,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>
@@ -1636,7 +1634,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]">
@@ -4419,7 +4425,10 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -4486,7 +4492,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]">
@@ -1648,7 +1646,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
@@ -4430,6 +4439,18 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -4497,6 +4506,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>
@@ -1670,7 +1668,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/lens/lens_overlay_query_controller.cc b/chrome/browser/ui/lens/lens_overlay_query_controller.cc
--- a/chrome/browser/ui/lens/lens_overlay_query_controller.cc
+++ b/chrome/browser/ui/lens/lens_overlay_query_controller.cc
@@ -769,7 +769,7 @@ LensOverlayQueryController::CreateEndpointFetcher(
@@ -771,7 +771,7 @@ LensOverlayQueryController::CreateEndpointFetcher(
.SetTimeout(timeout)
.SetUrl(fetch_url)
.SetUploadProgressCallback(std::move(upload_progress_callback))
@@ -1691,30 +1689,6 @@ diff --git a/components/commerce/core/account_checker.cc b/components/commerce/c
}
} // namespace commerce
diff --git a/components/commerce/core/compare/cluster_server_proxy.cc b/components/commerce/core/compare/cluster_server_proxy.cc
--- a/components/commerce/core/compare/cluster_server_proxy.cc
+++ b/components/commerce/core/compare/cluster_server_proxy.cc
@@ -156,7 +156,7 @@ std::unique_ptr<EndpointFetcher> ClusterServerProxy::CreateEndpointFetcher(
.SetPostData(post_data);
commerce::MaybeUseAlternateShoppingServer(request_params);
return std::make_unique<EndpointFetcher>(
- url_loader_factory_, identity_manager_, request_params.Build());
+ url_loader_factory_, identity_manager_, request_params.Build(), kGetComparableProductsTrafficAnnotation);
}
void ClusterServerProxy::HandleCompareResponse(
diff --git a/components/commerce/core/compare/product_specifications_server_proxy.cc b/components/commerce/core/compare/product_specifications_server_proxy.cc
--- a/components/commerce/core/compare/product_specifications_server_proxy.cc
+++ b/components/commerce/core/compare/product_specifications_server_proxy.cc
@@ -296,7 +296,7 @@ ProductSpecificationsServerProxy::CreateEndpointFetcher(
.SetPostData(post_data);
MaybeUseAlternateShoppingServer(request_params);
return std::make_unique<EndpointFetcher>(
- url_loader_factory_, identity_manager_, request_params.Build());
+ url_loader_factory_, identity_manager_, request_params.Build(), kShoppingListTrafficAnnotation);
}
std::optional<ProductSpecifications>
diff --git a/components/commerce/core/subscriptions/subscriptions_server_proxy.cc b/components/commerce/core/subscriptions/subscriptions_server_proxy.cc
--- a/components/commerce/core/subscriptions/subscriptions_server_proxy.cc
+++ b/components/commerce/core/subscriptions/subscriptions_server_proxy.cc
@@ -1730,7 +1704,7 @@ diff --git a/components/commerce/core/subscriptions/subscriptions_server_proxy.c
diff --git a/components/contextual_search/internal/composebox_query_controller.cc b/components/contextual_search/internal/composebox_query_controller.cc
--- a/components/contextual_search/internal/composebox_query_controller.cc
+++ b/components/contextual_search/internal/composebox_query_controller.cc
@@ -916,7 +916,7 @@ ComposeboxQueryController::CreateEndpointFetcher(
@@ -1110,7 +1110,7 @@ ComposeboxQueryController::CreateEndpointFetcher(
.SetTimeout(timeout)
.SetUploadProgressCallback(std::move(upload_progress_callback))
.SetUrl(fetch_url)
@@ -24,9 +24,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/settings/AdBlockPreferences.java | 76 +++++
.../browser/settings/SettingsActivity.java | 3 +
chrome/app/generated_resources.grd | 10 +
chrome/browser/after_startup_task_utils.cc | 4 +
chrome/browser/browser_process.h | 6 +
chrome/browser/browser_process_impl.cc | 28 ++
chrome/browser/after_startup_task_utils.cc | 5 +
chrome/browser/browser_process.h | 5 +
chrome/browser/browser_process_impl.cc | 30 ++
chrome/browser/browser_process_impl.h | 2 +
chrome/browser/chrome_browser_main.cc | 3 +
chrome/browser/flags/BUILD.gn | 3 +
@@ -50,7 +50,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/subresource_filter_features.cc | 118 +-------
.../core/browser/verified_ruleset_dealer.cc | 4 +
.../core/common/indexed_ruleset.cc | 5 +-
38 files changed, 1286 insertions(+), 127 deletions(-)
38 files changed, 1288 insertions(+), 127 deletions(-)
create mode 100644 chrome/android/java/res/layout/adblock_editor.xml
create mode 100644 chrome/android/java/res/xml/adblock_preferences.xml
create mode 100644 chrome/android/java/src/org/chromium/chrome/browser/settings/AdBlockEditor.java
@@ -65,7 +65,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
@@ -313,6 +313,7 @@ if (_is_default_toolchain) {
@@ -318,6 +318,7 @@ if (_is_default_toolchain) {
"//chrome/android/features/tab_ui/public:ui_java_resources",
"//chrome/android/modules/stack_unwinder/provider:java",
"//chrome/android/webapk/libs/client:client_java",
@@ -76,7 +76,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
@@ -436,6 +436,7 @@ chrome_java_resources = [
@@ -432,6 +432,7 @@ chrome_java_resources = [
"java/res/layout/account_management_account_row.xml",
"java/res/layout/app_history_filter.xml",
"java/res/layout/auto_pip_permission_dialog.xml",
@@ -84,7 +84,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
"java/res/layout/auto_sign_in_first_run_dialog.xml",
"java/res/layout/autofill_billing_address_dropdown.xml",
"java/res/layout/autofill_card_name_and_number.xml",
@@ -642,6 +643,7 @@ chrome_java_resources = [
@@ -638,6 +639,7 @@ chrome_java_resources = [
"java/res/xml/account_management_preferences.xml",
"java/res/xml/ad_services_config.xml",
"java/res/xml/appearance_preferences.xml",
@@ -95,7 +95,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
@@ -962,6 +962,8 @@ chrome_java_sources = [
@@ -977,6 +977,8 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/permissions/PermissionBlockedDialog.java",
"java/src/org/chromium/chrome/browser/permissions/PermissionUpdateRequester.java",
"java/src/org/chromium/chrome/browser/photo_picker/DecoderServiceImpl.java",
@@ -251,7 +251,7 @@ new file mode 100644
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
--- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml
@@ -115,6 +115,11 @@ found in the LICENSE file.
@@ -113,6 +113,11 @@ found in the LICENSE file.
android:key="toolbar_shortcut"
android:order="21"
android:title="@string/toolbar_shortcut"/>
@@ -443,7 +443,7 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/SettingsActivity.java
@@ -101,6 +101,8 @@ import java.util.HashMap;
@@ -106,6 +106,8 @@ import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
@@ -452,7 +452,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
/**
* The Chrome settings activity.
*
@@ -1277,6 +1279,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -1325,6 +1327,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
&& !MAIN_FRAGMENT_TAG.equals(fragment.getTag())) {
return;
}
@@ -463,7 +463,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
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
@@ -17579,6 +17579,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
@@ -17715,6 +17715,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
Never show this again.
</message>
@@ -483,16 +483,17 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_startup_task_utils.cc
--- a/chrome/browser/after_startup_task_utils.cc
+++ b/chrome/browser/after_startup_task_utils.cc
@@ -24,6 +24,8 @@
@@ -24,6 +24,9 @@
#include "chrome/browser/ui/ash/login/login_display_host.h"
#endif
+#include "chrome/browser/browser_process.h"
+#include "components/component_updater/adblock_updater_service.h"
+
using content::BrowserThread;
namespace {
@@ -129,6 +131,8 @@ void SetBrowserStartupIsComplete() {
@@ -129,6 +132,8 @@ void SetBrowserStartupIsComplete() {
}
GetAfterStartupTasks().clear();
GetAfterStartupTasks().shrink_to_fit();
@@ -504,15 +505,7 @@ diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_s
diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
--- a/chrome/browser/browser_process.h
+++ b/chrome/browser/browser_process.h
@@ -31,6 +31,7 @@
#include "chrome/common/buildflags.h"
#include "components/safe_browsing/buildflags.h"
#include "media/media_buildflags.h"
+#include "components/component_updater/adblock_updater_service.h"
class BackgroundModeManager;
class BrowserProcessPlatformPart;
@@ -96,6 +97,10 @@ namespace component_updater {
@@ -96,6 +96,10 @@ namespace component_updater {
class ComponentUpdateService;
}
@@ -523,7 +516,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
namespace gcm {
class GCMDriver;
}
@@ -294,6 +299,7 @@ class BrowserProcess {
@@ -294,6 +298,7 @@ class BrowserProcess {
virtual activity_reporter::ActivityReporter* activity_reporter() = 0;
virtual component_updater::ComponentUpdateService* component_updater() = 0;
@@ -534,7 +527,16 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -1368,6 +1368,34 @@ BrowserProcessImpl::component_updater() {
@@ -184,6 +184,8 @@
#include "ui/message_center/message_center.h"
#endif
+#include "components/component_updater/adblock_updater_service.h"
+
#if BUILDFLAG(IS_ANDROID)
#include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h"
#include "chrome/browser/flags/android/chrome_feature_list.h"
@@ -1375,6 +1377,34 @@ BrowserProcessImpl::component_updater() {
return component_updater_.get();
}
@@ -591,7 +593,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
@@ -432,6 +432,9 @@ StartupProfileInfo CreateInitialProfile(
@@ -439,6 +439,9 @@ StartupProfileInfo CreateInitialProfile(
// missing code in the above test.
CHECK(profile_info.profile) << "Cannot get default profile.";
@@ -742,7 +744,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
@@ -2986,6 +2986,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
@@ -2778,6 +2778,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
inline constexpr char kAudioCaptureAllowedUrls[] =
"hardware.audio_capture_allowed_urls";
@@ -757,7 +759,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
@@ -427,6 +427,9 @@
@@ -421,6 +421,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>
@@ -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
@@ -1475,6 +1475,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -1481,6 +1481,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
// initialized.
void SaveWindowPlacementIfNeeded();
@@ -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.
@@ -1515,13 +1528,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -1521,13 +1534,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
void set_widget_closed() { widget_closed_ = true; }
private:
@@ -67,7 +67,7 @@ diff --git a/ui/views/widget/widget.h b/ui/views/widget/widget.h
class PaintAsActiveLockImpl;
friend class ButtonTest;
@@ -1532,11 +1538,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -1538,11 +1544,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
friend class ui_devtools::BubbleLocking;
friend void DisableActivationChangeHandlingForTests();
+14 -5
View File
@@ -8,15 +8,15 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../settings/site_settings/popups_page.html | 2 +
.../tab_under_navigation_throttle.cc | 11 +-
.../android/popup_blocked_message_delegate.cc | 20 +++-
.../android/popup_blocked_message_delegate.cc | 20 ++-
.../android/popup_blocked_message_delegate.h | 1 +
components/blocked_content/popup_blocker.cc | 3 +
components/blocked_content_strings.grdp | 3 +
.../impl/BromitePopupContentSetting.java | 106 ++++++++++++++++++
.../impl/BromitePopupContentSetting.java | 115 ++++++++++++++++++
.../bromite_content_settings/popups.grdp | 18 +++
.../bromite_content_settings/popups.inc | 13 +++
.../bromite_content_settings/popups.inc | 13 ++
.../core/browser/content_settings_registry.cc | 2 +-
10 files changed, 173 insertions(+), 6 deletions(-)
10 files changed, 182 insertions(+), 6 deletions(-)
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromitePopupContentSetting.java
create mode 100644 components/browser_ui/strings/bromite_content_settings/popups.grdp
create mode 100644 components/content_settings/core/browser/bromite_content_settings/popups.inc
@@ -146,7 +146,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
new file mode 100644
--- /dev/null
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromitePopupContentSetting.java
@@ -0,0 +1,106 @@
@@ -0,0 +1,115 @@
+/*
+ This file is part of Bromite.
+
@@ -239,6 +239,15 @@ new file mode 100644
+ }
+
+ @Override
+ public int[] getTriStateSettingIconIDs() {
+ return new int[] {
+ R.drawable.permission_popups,
+ R.drawable.permission_popups,
+ R.drawable.sensors_off_24px
+ };
+ }
+
+ @Override
+ public boolean showOnlyDescriptions() {
+ return true;
+ }
+22 -22
View File
@@ -84,7 +84,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a
namespace extensions {
namespace developer = api::developer_private;
@@ -69,6 +75,28 @@ DeveloperPrivateAPI::GetFactoryInstance() {
@@ -70,6 +76,28 @@ DeveloperPrivateAPI::GetFactoryInstance() {
return g_developer_private_api_factory.Pointer();
}
@@ -181,7 +181,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/profile_info_genera
diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
--- a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
+++ b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
@@ -257,6 +257,8 @@ Profile* GetProfileInIncognito(Profile* profile) {
@@ -254,6 +254,8 @@ Profile* GetProfileInIncognito(Profile* profile) {
// there was previously stored data, or an empty string otherwise. The Set will
// overwrite any previous login.
std::string GetWebstoreLogin(Profile* profile) {
@@ -190,7 +190,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
if (profile->GetPrefs()->HasPrefPath(kWebstoreLogin)) {
return profile->GetPrefs()->GetString(kWebstoreLogin);
}
@@ -264,11 +266,15 @@ std::string GetWebstoreLogin(Profile* profile) {
@@ -261,11 +263,15 @@ std::string GetWebstoreLogin(Profile* profile) {
}
void SetWebstoreLogin(Profile* profile, const std::string& login) {
@@ -206,7 +206,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
switch (status) {
case kCanRequest:
return api::webstore_private::ExtensionInstallStatus::kCanRequest;
@@ -1207,7 +1213,8 @@ ExtensionFunction::ResponseAction
@@ -1317,7 +1323,8 @@ ExtensionFunction::ResponseAction
WebstorePrivateIsInIncognitoModeFunction::Run() {
Profile* profile = Profile::FromBrowserContext(browser_context());
return RespondNow(ArgumentList(IsInIncognitoMode::Results::Create(
@@ -216,7 +216,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
}
WebstorePrivateIsPendingCustodianApprovalFunction::
@@ -1304,11 +1311,14 @@ WebstorePrivateGetReferrerChainFunction::Run() {
@@ -1414,11 +1421,14 @@ WebstorePrivateGetReferrerChainFunction::Run() {
request.mutable_referrer_chain_options()->set_recent_navigations_to_collect(
recent_navigations_to_collect);
@@ -259,7 +259,7 @@ diff --git a/chrome/browser/extensions/cws_info_service_factory.cc b/chrome/brow
diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc
--- a/chrome/browser/extensions/extension_management.cc
+++ b/chrome/browser/extensions/extension_management.cc
@@ -441,6 +441,7 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy(
@@ -435,6 +435,7 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy(
bool ExtensionManagement::IsAllowedByUnpublishedAvailabilityPolicy(
const Extension* extension) {
@@ -283,7 +283,7 @@ diff --git a/chrome/browser/extensions/extension_safety_check_utils.cc b/chrome/
diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc
--- a/chrome/browser/extensions/extension_service.cc
+++ b/chrome/browser/extensions/extension_service.cc
@@ -248,8 +248,6 @@ ExtensionService::ExtensionService(
@@ -249,8 +249,6 @@ ExtensionService::ExtensionService(
UpgradeDetector::GetInstance()->AddObserver(this);
#endif
@@ -292,7 +292,7 @@ diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/ext
ExtensionManagementFactory::GetForBrowserContext(profile_)->AddObserver(this);
if (auto* extension_install_policy_service =
@@ -772,7 +770,7 @@ void ExtensionService::OnExtensionManagementSettingsChanged() {
@@ -773,7 +771,7 @@ void ExtensionService::OnExtensionManagementSettingsChanged() {
// unpublished extensions should not be enabled. This update allows
// unpublished extensions to be disabled sooner rather than waiting till the
// next regularly scheduled fetch.
@@ -496,10 +496,10 @@ diff --git a/chrome/browser/extensions/webstore_install_helper.cc b/chrome/brows
diff --git a/chrome/browser/extensions/webstore_installer.cc b/chrome/browser/extensions/webstore_installer.cc
--- a/chrome/browser/extensions/webstore_installer.cc
+++ b/chrome/browser/extensions/webstore_installer.cc
@@ -595,7 +595,7 @@ void WebstoreInstaller::StartDownload(
traffic_annotation));
@@ -589,7 +589,7 @@ void WebstoreInstaller::StartDownload(
render_frame_host->CreateDownloadUrlParameters(download_url_,
traffic_annotation);
params->set_file_path(file);
params->set_initiator(render_frame_host->GetLastCommittedOrigin());
- if (controller.GetVisibleEntry()) {
+ if ((false) && controller.GetVisibleEntry()) {
content::Referrer referrer = content::Referrer::SanitizeForRequest(
@@ -537,7 +537,7 @@ diff --git a/chrome/browser/resources/extensions/manager.ts b/chrome/browser/res
accessor showActivityLog: boolean =
loadTimeData.getBoolean('showActivityLog');
accessor enableEnhancedSiteControls: boolean =
@@ -228,6 +232,7 @@ export class ExtensionsManagerElement extends ExtensionsManagerElementBase {
@@ -247,6 +251,7 @@ export class ExtensionsManagerElement extends ExtensionsManagerElementBase {
this.canLoadUnpacked = profileInfo.canLoadUnpacked;
this.isMv2DeprecationNoticeDismissed =
profileInfo.isMv2DeprecationNoticeDismissed;
@@ -569,7 +569,7 @@ diff --git a/chrome/browser/resources/extensions/toolbar.css b/chrome/browser/re
+#need-update {
+ color: red;
+ margin-inline: 0px;
+ margin-inline: 0;
+}
+
cr-toolbar {
@@ -586,7 +586,7 @@ diff --git a/chrome/browser/resources/extensions/toolbar.html.ts b/chrome/browse
+ <span>$i18n{toolbarExtensionUpdateEnabled}
+ <span id="need-update" ?hidden="${!this.shouldShowRelaunchDialog}">$i18n{toolbarExtensionUpdateEnabledNeedRestart}</span>
+ </span>
+ <cr-toggle @change="${this.onExtUpdateEnabledChanged_}" ?checked="${this.isExtUpdateEnabled}">
+ <cr-toggle @change="${this.onExtUpdateEnabledChange_}" ?checked="${this.isExtUpdateEnabled}">
+ </cr-toggle>
+ </div>
</cr-toolbar>
@@ -645,7 +645,7 @@ diff --git a/chrome/browser/resources/extensions/toolbar.ts b/chrome/browser/res
'Options_ToggleDeveloperMode_' + (e.detail ? 'Enabled' : 'Disabled'));
}
+ protected onExtUpdateEnabledChanged_(e: CustomEvent<boolean>) {
+ protected onExtUpdateEnabledChange_(e: CustomEvent<boolean>) {
+ this.delegate.setExtUpdateEnabled(e.detail);
+ this.shouldShowRelaunchDialog = true;
+ this.isExtUpdateEnabled = e.detail;
@@ -681,7 +681,7 @@ diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browse
#include "chrome/browser/extensions/manifest_v2_experiment_manager.h"
#include "chrome/browser/extensions/mv2_experiment_stage.h"
#include "chrome/browser/extensions/permissions_url_constants.h"
@@ -385,6 +386,8 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile,
@@ -387,6 +388,8 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile,
{"itemSuspiciousInstallLearnMore",
IDS_EXTENSIONS_ADDED_WITHOUT_KNOWLEDGE_LEARN_MORE},
{"toolbarDevMode", IDS_EXTENSIONS_DEVELOPER_MODE},
@@ -690,7 +690,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},
@@ -470,6 +473,10 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile,
@@ -472,6 +475,10 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile,
"hostPermissionsLearnMoreLink",
extension_permissions_constants::kRuntimeHostPermissionsHelpURL);
source->AddBoolean(kInDevModeKey, in_dev_mode);
@@ -1194,8 +1194,8 @@ 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
@@ -218,4 +218,11 @@ BASE_FEATURE(kWebRequestPersistFilteredEvents,
BASE_FEATURE(kWebRequestAlternativeAddListener,
@@ -218,4 +218,11 @@ BASE_FEATURE(kSearchEngineUnconditionalDialog,
BASE_FEATURE(kWebRequestPersistFilteredEventsViaEventRouter,
base::FEATURE_ENABLED_BY_DEFAULT);
+CROMITE_FEATURE(kEnableExtensionAutoupdate,
@@ -1209,9 +1209,9 @@ 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
@@ -333,6 +333,16 @@ BASE_DECLARE_FEATURE(kWebRequestPersistFilteredEvents);
// WebRequestInternal's custom API.
BASE_DECLARE_FEATURE(kWebRequestAlternativeAddListener);
@@ -323,6 +323,16 @@ BASE_DECLARE_FEATURE(kWebRequestSecurityInfo);
// in WebRequestEventRouter.
BASE_DECLARE_FEATURE(kWebRequestPersistFilteredEventsViaEventRouter);
+// Activates the auto update of extensions.
+// the only data provided by default is the list of extensions.
@@ -79,12 +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
@@ -1372,6 +1372,7 @@ void NetworkContext::ClearHttpCache(base::Time start_time,
@@ -1379,6 +1379,7 @@ void NetworkContext::ClearHttpCache(base::Time start_time,
base::Time end_time,
mojom::ClearDataFilterPtr filter,
ClearHttpCacheCallback callback) {
+ cors_preflight_controller_.ClearCache();
// 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(
if (base::FeatureList::IsEnabled(net::features::kLogicalClearHttpCache)) {
net::HttpCache* cache =
url_request_context_->http_transaction_factory()->GetCache();
--
+6 -6
View File
@@ -31,7 +31,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java
--- a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java
+++ b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java
@@ -95,7 +95,7 @@ public class SupportLibWebViewChromiumFactory implements WebViewProviderFactoryB
@@ -99,7 +99,7 @@ public class SupportLibWebViewChromiumFactory implements WebViewProviderFactoryB
Features.GET_COOKIE_INFO,
Features.WEB_MESSAGE_ARRAY_BUFFER,
Features.IMAGE_DRAG_DROP,
@@ -156,7 +156,7 @@ new file mode 100644
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc
--- a/net/http/http_network_transaction.cc
+++ b/net/http/http_network_transaction.cc
@@ -114,6 +114,7 @@ const size_t kMaxRestarts = 32;
@@ -119,6 +119,7 @@ const size_t kMaxRestarts = 32;
// Returns true when Early Hints are allowed on the given protocol.
bool EarlyHintsAreAllowedOn(HttpConnectionInfo connection_info) {
@@ -262,7 +262,7 @@ diff --git a/third_party/blink/renderer/core/frame/navigator_ua_data.idl 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
@@ -232,6 +232,8 @@ bool ShouldSendClientHint(const network::PermissionsPolicy& policy,
@@ -233,6 +233,8 @@ bool ShouldSendClientHint(const network::PermissionsPolicy& policy,
bool is_1p_origin,
network::mojom::blink::WebClientHintsType type,
const ClientHintsPreferences& hints_preferences) {
@@ -271,7 +271,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi
// For subresource requests, sending the hint in the fetch request based on
// the permissions policy.
if (!policy.IsFeatureEnabledForOrigin(
@@ -732,7 +734,7 @@ void FrameFetchContext::AddClientHintsIfNecessary(
@@ -731,7 +733,7 @@ void FrameFetchContext::AddClientHintsIfNecessary(
}
// Only send User Agent hints if the info is available
@@ -283,7 +283,7 @@ diff --git a/third_party/blink/renderer/core/loader/frame_fetch_context.cc b/thi
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
@@ -628,6 +628,11 @@
@@ -647,6 +647,11 @@
name: "AriaNotifyV2",
status: {"Android": "test", "Win": "test", "Mac": "test", "Linux": "test"},
},
@@ -295,7 +295,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
{
name: "AriaRowColIndexText",
status: "stable",
@@ -1045,8 +1050,7 @@
@@ -1093,8 +1098,7 @@
// Allows top-level sites to restrict collection of high-entropy UA client
// hints (from 3Ps, or itself) via the getHighEntropyValues API.
// crbug.com/385161047
@@ -88,7 +88,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
@@ -289,7 +289,7 @@ BASE_FEATURE(kRelatedWebsitePartitionAPI, base::FEATURE_DISABLED_BY_DEFAULT);
@@ -294,7 +294,7 @@ BASE_FEATURE(kRelatedWebsitePartitionAPI, base::FEATURE_DISABLED_BY_DEFAULT);
// NetworkChangeNotifier::AreNetworkHandlesSupported).
#if BUILDFLAG(IS_ANDROID)
inline constexpr auto kMigrateSessionsOnNetworkChangeV2Default =
@@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/chrome_public_apk_tmpl.gni b/chrome/android/chrome_public_apk_tmpl.gni
--- a/chrome/android/chrome_public_apk_tmpl.gni
+++ b/chrome/android/chrome_public_apk_tmpl.gni
@@ -579,6 +579,7 @@ template("chrome_common_apk_or_module_tmpl") {
@@ -600,6 +600,7 @@ template("chrome_common_apk_or_module_tmpl") {
[ "//components/crash/core/app:chrome_crashpad_handler_named_as_so" ]
loadable_modules += [ "$root_out_dir/libchrome_crashpad_handler.so" ]
library_always_compress += [ "libchrome_crashpad_handler.so" ]
@@ -17,7 +17,6 @@ Require: bromite-build-utils.patch
.../privacy_page/privacy_page_index.ts | 83 +++-
chrome/browser/resources/settings/route.ts | 2 +
...settings_category_default_radio_group.html | 12 +
.../settings_category_default_radio_group.ts | 23 +-
.../settings/site_settings/site_details.html | 1 +
.../settings/site_settings/site_details.ts | 33 +-
.../site_details_permission.html | 8 +-
@@ -41,10 +40,10 @@ Require: bromite-build-utils.patch
.../browser_ui/site_settings/android/BUILD.gn | 18 +
.../res/xml/site_settings_preferences.xml | 7 +
.../site_settings/AllSiteSettings.java | 5 +-
.../BromiteCustomContentSetting.java | 155 +++++++
.../BromiteCustomContentSettingImpl.java | 416 ++++++++++++++++++
.../BromiteCustomContentSetting.java | 159 +++++++
.../BromiteCustomContentSettingImpl.java | 422 ++++++++++++++++++
...tomTriStateSiteSettingsPreferenceImpl.java | 24 +
.../ContentSettingsResources.java | 32 +-
.../ContentSettingsResources.java | 34 +-
.../site_settings/SingleCategorySettings.java | 57 ++-
.../site_settings/SingleWebsiteSettings.java | 48 +-
.../site_settings/SiteSettings.java | 35 +-
@@ -74,7 +73,7 @@ Require: bromite-build-utils.patch
.../common/content_settings_mojom_traits.cc | 12 +-
.../common/content_settings_mojom_traits.h | 24 +
.../core/common/content_settings_types.mojom | 2 +
.../renderer/content_settings_agent_impl.cc | 74 ++++
.../renderer/content_settings_agent_impl.cc | 74 +++
.../renderer/content_settings_agent_impl.h | 9 +
.../PageInfoPermissionsController.java | 9 +
.../android/page_info_controller_android.cc | 18 +
@@ -84,7 +83,7 @@ Require: bromite-build-utils.patch
.../platform/web_content_settings_client.h | 13 +
.../execution_context/execution_context.cc | 16 +
.../execution_context/execution_context.h | 5 +
73 files changed, 1964 insertions(+), 106 deletions(-)
72 files changed, 1954 insertions(+), 105 deletions(-)
create mode 100644 components/browser_ui/settings/android/java/res/layout/preference_spinner_single_widget.xml
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
@@ -109,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. */
@NullMarked
public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@@ -251,7 +255,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@@ -246,7 +250,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@Override
public boolean isHelpAndFeedbackEnabled() {
@@ -118,7 +117,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
}
@Override
@@ -378,6 +382,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@@ -373,6 +377,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
return mPrivacySandboxBridge.getRelatedWebsiteSetOwner(memberOrigin);
}
@@ -276,7 +275,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,
@@ -155,6 +156,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
@@ -157,6 +158,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
r.SITE_SETTINGS_LOOPBACK_NETWORK =
r.SITE_SETTINGS.createChild('loopbackNetwork');
}
@@ -287,8 +286,8 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc
diff --git a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.html b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.html
--- a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.html
+++ b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.html
@@ -54,5 +54,17 @@
icon="[[blockOptionIcon]]"
@@ -68,5 +68,17 @@
hidden="[[!blockOptionLabel]]"
no-collapse>
</settings-collapse-radio-button>
+ <settings-collapse-radio-button
@@ -305,85 +304,10 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d
+ </settings-collapse-radio-button>
</settings-radio-group>
</div>
diff --git a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
--- a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
+++ b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
@@ -32,6 +32,7 @@ import {isSettingEnabled} from './site_settings_util.js';
export enum SiteContentRadioSetting {
DISABLED = 0,
ENABLED = 1,
+ ASK = 2,
}
export interface SettingsCategoryDefaultRadioGroupElement {
@@ -80,6 +81,10 @@ export class SettingsCategoryDefaultRadioGroupElement extends
blockOptionSubLabel: String,
blockOptionIcon: String,
+ askOptionLabel: String,
+ askOptionSubLabel: String,
+ askOptionIcon: String,
+
siteContentRadioSettingEnum_: {
type: Object,
value: SiteContentRadioSetting,
@@ -115,6 +120,9 @@ export class SettingsCategoryDefaultRadioGroupElement extends
declare blockOptionLabel: string;
declare blockOptionSubLabel: string;
declare blockOptionIcon: string;
+ declare askOptionLabel: string;
+ declare askOptionSubLabel: string;
+ declare askOptionIcon: string;
declare private pref_: chrome.settingsPrivate.PrefObject<number>;
selected: boolean;
@@ -126,6 +134,13 @@ export class SettingsCategoryDefaultRadioGroupElement extends
(category: ContentSettingsTypes) => this.onCategoryChanged_(category));
}
+ private showAskSetting_(
+ category: ContentSettingsTypes): boolean {
+ let obj = this.getSettingData(category);
+ if (obj) return obj["allowed_ask"] === "1";
+ return false;
+ }
+
private getAllowOptionForCategory_(): ContentSetting {
// Keep elements in alphabetical order within their groups.
switch (this.category) {
@@ -178,6 +193,8 @@ export class SettingsCategoryDefaultRadioGroupElement extends
// "Ask" vs "Blocked".
return ContentSetting.ASK;
default:
+ let obj = this.getSettingData(this.category);
+ if (obj) return ContentSetting.ALLOW;
assertNotReached('Invalid category: ' + this.category);
}
}
@@ -202,6 +219,7 @@ export class SettingsCategoryDefaultRadioGroupElement extends
/** @type {!ContentSetting} */ (this.getAllowOptionForCategory_());
this.browserProxy.setDefaultValueForContentType(
this.category,
+ this.pref_.value === SiteContentRadioSetting.ASK ? "ask" :
this.categoryEnabled_ ? allowOption : ContentSetting.BLOCK);
if (this.selected !== this.categoryEnabled_) {
this.selected = this.categoryEnabled_;
@@ -240,7 +258,10 @@ export class SettingsCategoryDefaultRadioGroupElement extends
}
const enabled = isSettingEnabled(update.setting);
- const prefValue = enabled ? SiteContentRadioSetting.ENABLED :
+ const ask = this.computeIsSettingAsk(update.setting)
+ && this.showAskSetting_(this.category);
+ const prefValue = ask ? SiteContentRadioSetting.ASK :
+ enabled ? SiteContentRadioSetting.ENABLED :
SiteContentRadioSetting.DISABLED;
this.selected = enabled;
this.set('pref_.value', prefValue);
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
@@ -344,5 +344,6 @@
@@ -345,5 +345,6 @@
label="$i18n{siteSettingsLoopbackNetwork}">
</site-details-permission>
</template>
@@ -727,7 +651,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_settings_util.
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
@@ -1624,6 +1624,7 @@ static_library("ui") {
@@ -1680,6 +1680,7 @@ static_library("ui") {
"//components/commerce/core/webui",
"//components/contextual_search:public",
"//components/endpoint_fetcher",
@@ -735,7 +659,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
"//components/enterprise/common:files_scan_data",
"//components/feedback/proto",
"//components/headless/console_message_logger",
@@ -4824,6 +4825,7 @@ static_library("ui") {
@@ -4879,6 +4880,7 @@ static_library("ui") {
"//components/payments/core:currency_formatter",
"//components/power_bookmarks/core",
"//components/prefs",
@@ -775,15 +699,15 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_bubble_view.cc b/chrome
diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/browser/ui/views/page_info/page_info_main_view.cc
--- a/chrome/browser/ui/views/page_info/page_info_main_view.cc
+++ b/chrome/browser/ui/views/page_info/page_info_main_view.cc
@@ -55,6 +55,7 @@
@@ -57,6 +57,7 @@
#include "ui/views/layout/flex_layout.h"
#include "ui/views/metadata/view_factory.h"
#include "ui/views/vector_icons.h"
+#include "ui/views/layout/table_layout.h"
#include "ui/views/view_class_properties.h"
#include "ui/views/widget/widget.h"
#if BUILDFLAG(FULL_SAFE_BROWSING)
@@ -259,8 +260,20 @@ void PageInfoMainView::SetPermissionInfo(
@@ -265,8 +266,20 @@ void PageInfoMainView::SetPermissionInfo(
scroll_view->SetDrawOverflowIndicator(false);
auto* content_view =
scroll_view->SetContents(std::make_unique<views::View>());
@@ -806,7 +730,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
content_view->SetID(PageInfoViewFactory::VIEW_ID_PAGE_INFO_PERMISSION_VIEW);
content_view->SetProperty(views::kElementIdentifierKey,
kPermissionsElementId);
@@ -275,11 +288,16 @@ void PageInfoMainView::SetPermissionInfo(
@@ -306,11 +319,16 @@ void PageInfoMainView::SetPermissionInfo(
}
}
@@ -823,7 +747,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
toggle_row->SetProperty(views::kCrossAxisAlignmentKey,
views::LayoutAlignment::kStretch);
syncable_permission_rows_.emplace(permission.type, toggle_row);
@@ -287,6 +305,8 @@ void PageInfoMainView::SetPermissionInfo(
@@ -318,6 +336,8 @@ void PageInfoMainView::SetPermissionInfo(
}
for (auto& object : chosen_object_info_list) {
@@ -832,7 +756,7 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
// The view takes ownership of the object info.
auto object_view = std::make_unique<ChosenObjectView>(
std::move(object),
@@ -297,6 +317,10 @@ void PageInfoMainView::SetPermissionInfo(
@@ -328,6 +348,10 @@ void PageInfoMainView::SetPermissionInfo(
content_view->AddChildView(std::move(object_view)));
}
@@ -840,9 +764,9 @@ diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/b
+ if (++count % 2 == 0)
+ content_view->AddChildView(std::make_unique<views::View>());
+
const int controls_spacing = ChromeLayoutProvider::Get()->GetDistanceMetric(
views::DISTANCE_RELATED_CONTROL_VERTICAL);
reset_button_ = content_view->AddChildView(
std::make_unique<views::MdTextButton>(base::BindRepeating(
[=](PageInfoMainView* view) {
diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
--- a/chrome/browser/ui/views/page_info/page_info_view_factory.cc
+++ b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
@@ -1214,7 +1138,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
#include "build/branding_buildflags.h"
#include "build/build_config.h"
#include "build/buildflag.h"
@@ -74,6 +75,9 @@
@@ -82,6 +83,9 @@
#include "components/dom_distiller/core/dom_distiller_features.h"
#include "components/google/core/common/google_util.h"
#include "components/history/core/common/pref_names.h"
@@ -1224,7 +1148,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"
@@ -4235,6 +4239,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
@@ -4271,6 +4275,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
policy_indicator::AddLocalizedStrings(html_source);
AddSecurityKeysStrings(html_source);
@@ -1379,14 +1303,14 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
diff --git a/components/browser_ui/settings/android/BUILD.gn b/components/browser_ui/settings/android/BUILD.gn
--- a/components/browser_ui/settings/android/BUILD.gn
+++ b/components/browser_ui/settings/android/BUILD.gn
@@ -97,6 +97,7 @@ android_resources("java_resources") {
@@ -100,6 +100,7 @@ android_resources("java_resources") {
"java/res/layout/preference_chrome_button.xml",
"java/res/layout/preference_chrome_image_view.xml",
"java/res/layout/preference_spinner.xml",
+ "java/res/layout/preference_spinner_single_widget.xml",
"java/res/layout/preference_spinner_single_line.xml",
"java/res/layout/preference_spinner_single_line_item.xml",
"java/res/layout/settings_action_bar_shadow.xml",
"java/res/layout/preference_widget_open_in_new.xml",
diff --git a/components/browser_ui/settings/android/java/res/layout/preference_spinner_single_widget.xml b/components/browser_ui/settings/android/java/res/layout/preference_spinner_single_widget.xml
new file mode 100644
--- /dev/null
@@ -1543,7 +1467,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
--- a/components/browser_ui/site_settings/android/BUILD.gn
+++ b/components/browser_ui/site_settings/android/BUILD.gn
@@ -156,6 +156,23 @@ android_library("java") {
@@ -157,6 +157,23 @@ android_library("java") {
":site_settings_jni_headers",
"//components/content_settings/android:java_pref_names_srcjar",
]
@@ -1567,7 +1491,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
}
android_library("javatests") {
@@ -211,6 +228,7 @@ robolectric_library("junit") {
@@ -214,6 +231,7 @@ robolectric_library("junit") {
}
android_resources("java_resources") {
@@ -1616,7 +1540,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
new file mode 100644
--- /dev/null
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSetting.java
@@ -0,0 +1,155 @@
@@ -0,0 +1,159 @@
+/*
+ This file is part of Bromite.
+
@@ -1764,6 +1688,10 @@ new file mode 100644
+ return null;
+ }
+
+ public int[] getTriStateSettingIconIDs() {
+ return null;
+ }
+
+ public boolean showOnlyDescriptions() {
+ return false;
+ }
@@ -1776,7 +1704,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
new file mode 100644
--- /dev/null
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/BromiteCustomContentSettingImpl.java
@@ -0,0 +1,416 @@
@@ -0,0 +1,422 @@
+/*
+ This file is part of Bromite.
+
@@ -2004,6 +1932,12 @@ new file mode 100644
+ return null;
+ }
+
+ public static int[] getTriStateSettingIconIDs(@ContentSettingsType.EnumType int type) {
+ BromiteCustomContentSetting cs = getContentSetting(type);
+ if (cs != null) return cs.getTriStateSettingIconIDs();
+ return null;
+ }
+
+ public static int getCategoryDescription(SiteSettingsCategory category) {
+ for (BromiteCustomContentSetting cs : mItemList) {
+ if (category.getType() == cs.getSiteSettingsCategory()) {
@@ -2225,7 +2159,7 @@ new file mode 100644
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ContentSettingsResources.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ContentSettingsResources.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ContentSettingsResources.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/ContentSettingsResources.java
@@ -40,7 +40,7 @@ import org.chromium.device.DeviceFeatureMap;
@@ -39,7 +39,7 @@ import org.chromium.device.DeviceFeatureMap;
@NullMarked
public class ContentSettingsResources {
/** An inner class contains all the resources for a ContentSettingsType */
@@ -2234,7 +2168,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
private final int mIcon;
private final int mIconBlocked;
private final int mTitle;
@@ -53,7 +53,28 @@ public class ContentSettingsResources {
@@ -52,7 +52,28 @@ public class ContentSettingsResources {
private final int mDisabledPrimaryText;
private int mDisabledDescriptionText;
@@ -2264,7 +2198,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
int icon,
int title,
@ContentSetting @Nullable Integer defaultEnabledValue,
@@ -689,6 +710,8 @@ public class ContentSettingsResources {
@@ -687,6 +708,8 @@ public class ContentSettingsResources {
R.string.website_settings_window_management_ask,
R.string.website_settings_window_management_block);
}
@@ -2273,7 +2207,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
assert false; // NOTREACHED
return assumeNonNull(null);
}
@@ -869,6 +892,9 @@ public class ContentSettingsResources {
@@ -867,6 +890,9 @@ public class ContentSettingsResources {
@ContentSetting int value,
boolean isOneTime,
boolean isApproximateGeolocation) {
@@ -2283,15 +2217,24 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
return getCategorySummary(
type,
value,
@@ -1069,6 +1095,8 @@ public class ContentSettingsResources {
@@ -1066,6 +1092,8 @@ public class ContentSettingsResources {
* that order.
*/
public static int @Nullable [] getTriStateSettingDescriptionIDs(
int contentType, boolean isPermissionSiteSettingsRadioButtonFeatureEnabled) {
public static int @Nullable [] getTriStateSettingDescriptionIDs(int contentType) {
+ int[] value = BromiteCustomContentSettingImpl.getTriStateSettingDescriptionIDs(contentType);
+ if (value != null) return value;
if (contentType == ContentSettingsType.PROTECTED_MEDIA_IDENTIFIER) {
if (isPermissionSiteSettingsRadioButtonFeatureEnabled) {
int[] descriptionIDs = {
return new int[] {
R.string.website_settings_protected_content_allow,
@@ -1101,6 +1129,8 @@ public class ContentSettingsResources {
* order.
*/
public static int @Nullable [] getTriStateSettingIconIDs(int contentType) {
+ int[] value = BromiteCustomContentSettingImpl.getTriStateSettingIconIDs(contentType);
+ if (value != null) return value;
if (contentType == ContentSettingsType.PROTECTED_MEDIA_IDENTIFIER) {
return new int[] {
R.drawable.live_tv_24px, R.drawable.tv_24px, R.drawable.tv_off_24px,
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
@@ -2306,7 +2249,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (contentSetting != null) {
return ContentSetting.BLOCK == contentSetting;
}
@@ -563,6 +567,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -523,6 +527,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS))
: null;
@@ -2314,7 +2257,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");
@@ -610,7 +615,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -570,7 +575,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
}
});
@@ -2324,7 +2267,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
MenuItem help =
menu.add(
Menu.NONE,
@@ -620,12 +626,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -580,12 +586,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
help.setIcon(
TraceEventVectorDrawableCompat.create(
getResources(), R.drawable.ic_help_24dp, getContext().getTheme()));
@@ -2345,7 +2288,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());
@@ -703,6 +717,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -660,6 +674,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
public boolean onPreferenceChange(Preference preference, Object newValue) {
BrowserContextHandle browserContextHandle = getBrowserContextHandle();
PrefService prefService = UserPrefs.get(browserContextHandle);
@@ -2357,7 +2300,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (BINARY_RADIO_BUTTON_KEY.equals(preference.getKey())
|| BINARY_TOGGLE_KEY.equals(preference.getKey())) {
assert !mCategory.isManaged();
@@ -877,7 +896,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -834,7 +853,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
? R.string.website_settings_add_site_description_javascript_optimizer_block
: R.string.website_settings_add_site_description_javascript_optimizer_allow;
}
@@ -2366,7 +2309,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
// OnPreferenceClickListener:
@@ -995,17 +1014,15 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -952,17 +971,15 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
break;
}
@@ -2387,7 +2330,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
String exceptionDialogMessage =
exceptionDialogMessageResourceId != 0
? getString(exceptionDialogMessageResourceId)
@@ -1016,7 +1033,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -973,7 +990,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
getStyledContext(),
ADD_EXCEPTION_KEY,
exceptionDialogMessage,
@@ -2396,7 +2339,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
mCategory,
this));
@@ -1200,8 +1217,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1149,8 +1166,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
private boolean isBlocked() {
switch (mGlobalToggleLayout) {
case GlobalToggleLayout.TRI_STATE_TOGGLE:
@@ -2413,7 +2356,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
return (triStateToggle.getCheckedSetting() == ContentSetting.BLOCK);
case GlobalToggleLayout.COOKIE_TOGGLE:
CookieSettingsPreference cookieToggle =
@@ -1357,7 +1382,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1310,7 +1335,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
} else if (res_id != -1) {
infoText.setSummary(res_id);
} else {
@@ -2426,7 +2369,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
// Hide the anti-abuse text preferences, as needed.
@@ -1396,6 +1425,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1346,6 +1375,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
} else {
screen.removePreference(mLocationTriStatePref);
}
@@ -2434,15 +2377,15 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
maybeShowReasonToggleDisabled(screen);
@@ -1602,6 +1632,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
iconIds = ContentSettingsResources.getTriStateSettingIconIDs(contentType);
}
@@ -1512,6 +1542,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
ContentSettingsResources.getTriStateSettingDescriptionIDs(contentType);
int[] iconIds = ContentSettingsResources.getTriStateSettingIconIDs(contentType);
triStateToggle.initialize(
+ contentType,
setting,
descriptionIds,
iconIds,
@@ -1913,6 +1944,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1822,6 +1853,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
setLocationAccessEnabled.accept(allowButton.isChecked());
}
@@ -2706,7 +2649,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/SiteSettingsDelegate.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettingsDelegate.java
@@ -188,6 +188,8 @@ public interface SiteSettingsDelegate {
@@ -183,6 +183,8 @@ public interface SiteSettingsDelegate {
*/
String getRelatedWebsiteSetOwner(String memberOrigin);
@@ -2726,15 +2669,15 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
/** A 3-state Allowed/Ask/Blocked radio group Preference used for SiteSettings. */
@NullMarked
@@ -30,6 +31,7 @@ public class TriStateSiteSettingsPreference extends Preference
@@ -29,6 +30,7 @@ public class TriStateSiteSettingsPreference extends Preference
private RadioButtonWithDescription mBlocked;
private RadioGroup mRadioGroup;
private boolean mIsPermissionSiteSettingsRadioButtonFeatureEnabled;
private int mIconMarginEnd;
+ private @ContentSettingsType.EnumType int mContentType;
public TriStateSiteSettingsPreference(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -50,11 +52,13 @@ public class TriStateSiteSettingsPreference extends Preference
@@ -49,10 +51,12 @@ public class TriStateSiteSettingsPreference extends Preference
* Blocked states, in that order.
*/
public void initialize(
@@ -2742,13 +2685,12 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
@ContentSetting int setting,
int @Nullable [] descriptionIds,
int @Nullable [] iconIds,
boolean isPermissionSiteSettingsRadioButtonFeatureEnabled,
int iconMarginEnd) {
+ mContentType = contentType;
mSetting = setting;
mDescriptionIds = descriptionIds;
mIconIds = iconIds;
@@ -94,6 +98,13 @@ public class TriStateSiteSettingsPreference extends Preference
@@ -90,6 +94,13 @@ public class TriStateSiteSettingsPreference extends Preference
mRadioGroup = (RadioGroup) holder.findViewById(R.id.radio_button_layout);
mRadioGroup.setOnCheckedChangeListener(this);
@@ -2760,8 +2702,8 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
+ mBlocked.setPrimaryText(getContext().getText(mDescriptionIds[2]));
+ } else
if (mDescriptionIds != null) {
if (mIsPermissionSiteSettingsRadioButtonFeatureEnabled) {
mAllowed.setPrimaryText(getContext().getText(mDescriptionIds[0]));
mAllowed.setPrimaryText(getContext().getText(mDescriptionIds[0]));
mAsk.setPrimaryText(getContext().getText(mDescriptionIds[1]));
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/Website.java
@@ -2793,16 +2735,16 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
@@ -318,7 +318,7 @@ public class WebsitePreferenceBridge {
case ContentSettingsType.PROTECTED_MEDIA_IDENTIFIER:
return true;
@@ -327,7 +327,7 @@ public class WebsitePreferenceBridge {
return DeviceFeatureMap.isEnabled(
DeviceFeatureList.SENSORS_ALLOW_ASK_BLOCK_PERMISSION_MODEL);
default:
- return false;
+ return BromiteCustomContentSettingImpl.requiresTriStateContentSetting(contentSettingsType);
}
}
@@ -334,7 +334,6 @@ public class WebsitePreferenceBridge {
@@ -343,7 +343,6 @@ public class WebsitePreferenceBridge {
public static boolean isCategoryEnabled(
BrowserContextHandle browserContextHandle,
@ContentSettingsType.EnumType int contentSettingsType) {
@@ -2889,7 +2831,7 @@ diff --git a/components/content_settings/android/BUILD.gn b/components/content_s
diff --git a/components/content_settings/core/browser/BUILD.gn b/components/content_settings/core/browser/BUILD.gn
--- a/components/content_settings/core/browser/BUILD.gn
+++ b/components/content_settings/core/browser/BUILD.gn
@@ -81,6 +81,8 @@ static_library("browser") {
@@ -85,6 +85,8 @@ static_library("browser") {
configs += [ "//build/config/compiler:wexit_time_destructors" ]
@@ -2898,7 +2840,7 @@ diff --git a/components/content_settings/core/browser/BUILD.gn b/components/cont
# TODO(crbug.com/40145057): remove deprecated RWS and this include.
# Allow access to /components/privacy_sandbox/privacy_sandbox_prefs.h
# from /chrome/browser/ui/page_info/page_info_unittest.cc
@@ -89,6 +91,11 @@ static_library("browser") {
@@ -93,6 +95,11 @@ static_library("browser") {
public_deps += [ "//components/privacy_sandbox:privacy_sandbox_prefs" ]
}
@@ -2927,7 +2869,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
namespace content_settings {
@@ -841,6 +842,7 @@ void ContentSettingsRegistry::Init() {
@@ -842,6 +843,7 @@ void ContentSettingsRegistry::Init() {
WebsiteSettingsRegistry::PLATFORM_CHROMEOS,
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
@@ -3422,9 +3364,9 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
#include "components/content_settings/core/common/content_settings.h"
#include "components/content_settings/core/common/content_settings_types.h"
#include "components/content_settings/core/common/content_settings_utils.h"
@@ -210,6 +211,15 @@ void PageInfoControllerAndroid::SetPermissionInfo(
}
@@ -211,6 +212,15 @@ void PageInfoControllerAndroid::SetPermissionInfo(
}
permissions_to_display.push_back(ContentSettingsType::SENSORS);
+ content_settings::WebsiteSettingsRegistry* website_settings =
+ content_settings::WebsiteSettingsRegistry::GetInstance();
@@ -3438,7 +3380,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
std::map<ContentSettingsType, /*allowed*/ bool>
user_specified_settings_to_display;
@@ -288,6 +298,14 @@ std::optional<PermissionSetting> PageInfoControllerAndroid::GetSettingToDisplay(
@@ -289,6 +299,14 @@ std::optional<PermissionSetting> PageInfoControllerAndroid::GetSettingToDisplay(
return permission.setting;
}
@@ -3464,7 +3406,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"
@@ -1404,6 +1405,14 @@ bool PageInfo::ShouldShowPermission(
@@ -1411,6 +1412,14 @@ bool PageInfo::ShouldShowPermission(
}
#endif // BUILDFLAG(IS_ANDROID)
@@ -3479,7 +3421,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) {
@@ -1527,7 +1536,19 @@ void PageInfo::PresentSitePermissions() {
@@ -1559,7 +1568,19 @@ void PageInfo::PresentSitePermissions() {
HostContentSettingsMap* content_settings = GetContentSettings();
DCHECK(web_contents_);
@@ -3511,7 +3453,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.h"
@@ -256,6 +257,13 @@ void CreateOppositeToDefaultSiteException(
@@ -258,6 +259,13 @@ void CreateOppositeToDefaultSiteException(
std::u16string GetPermissionAskStateString(ContentSettingsType type) {
int message_id = kInvalidResourceID;
@@ -3525,7 +3467,7 @@ diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_in
switch (type) {
case ContentSettingsType::GEOLOCATION:
message_id = IDS_PAGE_INFO_STATE_TEXT_LOCATION_ASK;
@@ -560,6 +568,12 @@ PageInfoUI::~PageInfoUI() = default;
@@ -568,6 +576,12 @@ PageInfoUI::~PageInfoUI() = default;
// static
std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
@@ -3538,7 +3480,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);
@@ -570,6 +584,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
@@ -578,6 +592,12 @@ std::u16string PageInfoUI::PermissionTypeToUIString(ContentSettingsType type) {
// static
std::u16string PageInfoUI::PermissionTypeToUIStringMidSentence(
ContentSettingsType type) {
@@ -3551,7 +3493,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);
@@ -963,6 +983,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
@@ -971,6 +991,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
if (info.type == type)
return true;
}
@@ -18,7 +18,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
@@ -667,7 +667,7 @@ chrome_java_resources = [
@@ -663,7 +663,7 @@ chrome_java_resources = [
"java/res/xml/manage_sync_preferences.xml",
"java/res/xml/personalize_google_services_preferences.xml",
"java/res/xml/incognito_preferences.xml",
@@ -247,7 +247,7 @@ new file mode 100644
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
@@ -194,7 +194,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -196,7 +196,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
public void onCreatePreferencesCromite(@Nullable Bundle savedInstanceState, @Nullable String rootKey) {
mPageTitle.set(getString(R.string.prefs_privacy_security));
@@ -256,7 +256,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
Preference sandboxPreference = findPreference(PREF_PRIVACY_SANDBOX);
// Overwrite the click listener to pass a correct referrer to the fragment.
@@ -281,7 +281,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
@@ -283,7 +283,9 @@ public class PrivacySettings extends ChromeBaseSettingsFragment
ChromeSwitchPreference passwordLeakTogglePref =
(ChromeSwitchPreference) findPreference(PREF_PASSWORD_LEAK_DETECTION);
+28 -29
View File
@@ -67,9 +67,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../webui/version/resources/about_version.ts | 4 +-
.../resources/about_version_mobile.css | 10 ++
content/child/runtime_features.cc | 44 ++++-----
.../Cromite-Branding.inc | 2 +
.../Cromite-Branding.inc | 1 +
tools/grit/grit/grd_reader.py | 35 +++++++
65 files changed, 268 insertions(+), 175 deletions(-)
65 files changed, 267 insertions(+), 175 deletions(-)
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc
diff --git a/build/BUILD.gn b/build/BUILD.gn
@@ -107,7 +107,7 @@ diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -203,7 +203,7 @@ by a child template that "extends" this file.
@@ -206,7 +206,7 @@ by a child template that "extends" this file.
<application android:name="{% block application_name %}org.chromium.chrome.browser.base.SplitChromeApplication{% endblock %}"
android:icon="@drawable/ic_launcher"
android:roundIcon="@drawable/ic_launcher_round"
@@ -9147,7 +9147,7 @@ diff --git a/chrome/android/java/res_chromium_base/values/channel_constants.xml
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
@@ -485,8 +485,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -495,8 +495,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
&& !isEmptyUrl(mParams.getUrl())
&& UrlUtilities.isAcceptedScheme(mParams.getUrl())) {
if (mMode == ContextMenuMode.NORMAL) {
@@ -9215,7 +9215,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/omaha/inline/Br
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
@@ -982,12 +982,12 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -1014,12 +1014,12 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
if (tab.canGoBack()) {
return ActionType.NAVIGATE_BACK;
}
@@ -13208,7 +13208,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
@@ -1760,6 +1760,7 @@ static_library("browser") {
@@ -1623,6 +1623,7 @@ static_library("browser") {
"//build/config/chromebox_for_meetings:buildflags",
"//build/config/compiler:compiler_buildflags",
"//build/config/linux/dbus:buildflags",
@@ -13365,7 +13365,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"
@@ -294,10 +295,7 @@ std::unique_ptr<ProfilePrefStoreManager> CreateProfilePrefStoreManager(
@@ -293,10 +294,7 @@ std::unique_ptr<ProfilePrefStoreManager> CreateProfilePrefStoreManager(
const base::FilePath& profile_path) {
std::string seed;
CHECK(ui::ResourceBundle::HasSharedInstance());
@@ -13446,7 +13446,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
import org.chromium.build.annotations.NullMarked;
import org.chromium.chrome.browser.omnibox.OmniboxMetrics;
import org.chromium.chrome.browser.omnibox.R;
@@ -110,8 +111,11 @@ public class OmniboxSuggestionsContainer extends FrameLayout {
@@ -109,8 +110,11 @@ public class OmniboxSuggestionsContainer extends FrameLayout {
// Omnibox.
// Making the container `clickable=true` achieves similar goal, but this consumes all
// activators, including keyboard <Enter> key.
@@ -13463,7 +13463,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
@@ -2393,7 +2393,7 @@ Your Google account may have other forms of browsing history like searches and a
@@ -2466,7 +2466,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">
@@ -13472,7 +13472,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
</message>
<message name="IDS_APPLICATION_VERSION_TITLE" desc="Title for application version">
Application version
@@ -5912,7 +5912,7 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -6039,7 +6039,7 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
<!-- Storage Preference UI strings for clearing storage. -->
<message name="IDS_STORAGE_MANAGEMENT_ACTIVITY_LABEL" desc="Title for Chrome's Manage Space Activity.">
@@ -13495,7 +13495,7 @@ diff --git a/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc b/chrome
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
@@ -135,7 +135,7 @@ inline constexpr char kChromeHelpViaMenuURL[] =
@@ -117,7 +117,7 @@ inline constexpr char kChromeHelpViaMenuURL[] =
#endif // BUILDFLAG(IS_CHROMEOS)
inline constexpr char kChromeHelpViaWebUIURL[] =
@@ -13504,15 +13504,15 @@ diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h
#if BUILDFLAG(IS_CHROMEOS)
inline constexpr char kChromeOsHelpViaWebUIURL[] =
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
@@ -193,7 +193,7 @@ inline constexpr char kChromeUIUntrustedNewTabPageUrl[] =
@@ -175,7 +175,7 @@ inline constexpr char kChromeUIUntrustedNewTabPageUrl[] =
"chrome-untrusted://new-tab-page/";
// The URL for the Chromium project used in the About dialog.
-inline constexpr char16_t kChromiumProjectURL[] = u"https://www.chromium.org/";
+inline constexpr char16_t kChromiumProjectURL[] = u"https://www.cromite.org/";
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
// The URL for the "Clear browsing data in Chrome" help center article.
#if BUILDFLAG(IS_CHROMEOS)
static_assert(std::u16string_view(kChromiumProjectURL) ==
ash::chrome_external_urls::kChromiumProjectURL);
diff --git a/chrome/install_static/chromium_install_modes.h b/chrome/install_static/chromium_install_modes.h
--- a/chrome/install_static/chromium_install_modes.h
+++ b/chrome/install_static/chromium_install_modes.h
@@ -18436,7 +18436,7 @@ i?Ib$(ofrX17!1R|`h|N%TnD<%35@j2bgPM^i2nno*_EOI
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
@@ -1123,6 +1123,7 @@ bool AutocompleteController::ShouldRunProvider(
@@ -1117,6 +1117,7 @@ bool AutocompleteController::ShouldRunProvider(
#if BUILDFLAG(IS_ANDROID)
if (omnibox::IsAndroidHub(input_.current_page_classification())) {
@@ -19198,7 +19198,7 @@ diff --git a/components/webui/version/resources/about_version_mobile.css b/compo
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
@@ -575,19 +575,22 @@ void ResolveInvalidConfigurations() {
@@ -549,19 +549,22 @@ void ResolveInvalidConfigurations() {
base::FeatureList::IsEnabled(
features::kPrivacySandboxAdsAPIsM1Override)) &&
!base::FeatureList::IsEnabled(blink::features::kFencedFrames)) {
@@ -19225,7 +19225,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 << "="
@@ -595,12 +598,14 @@ void ResolveInvalidConfigurations() {
@@ -569,12 +572,14 @@ void ResolveInvalidConfigurations() {
WebRuntimeFeatures::EnableFeatureFromString(
"FencedFramesLocalUnpartitionedDataAccess", false);
}
@@ -19241,7 +19241,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
<< "Topics cannot be enabled in this configuration. Use --"
<< switches::kEnableFeatures << "="
<< network::features::kBrowsingTopics.name << " in addition.";
@@ -608,30 +613,23 @@ void ResolveInvalidConfigurations() {
@@ -582,30 +587,23 @@ void ResolveInvalidConfigurations() {
WebRuntimeFeatures::EnableTopicsDocumentAPI(false);
WebRuntimeFeatures::EnableTopicsImgAPI(false);
} else {
@@ -19278,7 +19278,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
<< "AttributionReporting cannot be enabled in this "
"configuration. Use --"
<< switches::kEnableFeatures << "="
@@ -639,23 +637,25 @@ void ResolveInvalidConfigurations() {
@@ -613,23 +611,25 @@ void ResolveInvalidConfigurations() {
<< " in addition.";
WebRuntimeFeatures::EnableAttributionReporting(false);
}
@@ -19299,22 +19299,21 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
+ CHECK(false) << "kInterestGroupStorage is enabled!";
}
// PermissionElement cannot be enabled without the support of the
// UserMediaElement cannot be enabled without the support of the
// browser process.
if (!base::FeatureList::IsEnabled(blink::features::kPermissionElement)) {
if (!base::FeatureList::IsEnabled(blink::features::kUserMediaElement)) {
- LOG_IF(WARNING,
- WebRuntimeFeatures::IsPermissionElementEnabledByRuntimeFlag())
+ CHECK(!WebRuntimeFeatures::IsPermissionElementEnabledByRuntimeFlag())
<< "PermissionElement cannot be enabled in this configuration. Use --"
- WebRuntimeFeatures::IsUserMediaElementEnabledByRuntimeFlag())
+ CHECK(!WebRuntimeFeatures::IsUserMediaElementEnabledByRuntimeFlag())
<< "UserMediaElement cannot be enabled in this configuration. Use --"
<< switches::kEnableFeatures << "="
<< blink::features::kPermissionElement.name << " instead.";
<< blink::features::kUserMediaElement.name << " instead.";
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Cromite-Branding.inc
@@ -0,0 +1,2 @@
+SET_CROMITE_FEATURE_ENABLED(kGridTabSwitcherUpdate);
+SET_CROMITE_FEATURE_DISABLED(kShowNewTabAnimations);
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kShowTabListAnimations);
diff --git a/tools/grit/grit/grd_reader.py b/tools/grit/grit/grd_reader.py
--- a/tools/grit/grit/grd_reader.py
+++ b/tools/grit/grit/grd_reader.py
+33 -28
View File
@@ -11,7 +11,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../browser/ChromeActionModeHandler.java | 4 +-
.../chrome/browser/ChromeTabbedActivity.java | 15 +++-
...ActivityTabWebContentsDelegateAndroid.java | 10 ++-
.../compositor/layouts/LayoutManagerImpl.java | 8 ++
.../compositor/layouts/LayoutManagerImpl.java | 9 ++-
.../tab/TabContextMenuItemDelegate.java | 7 +-
.../chrome/browser/ui/RootUiCoordinator.java | 8 +-
.../Customize-selection-popup.grdp | 34 +++++++++
@@ -23,7 +23,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../browser/PendingSelectionMenu.java | 8 +-
.../browser/SelectionMenuItem.java | 73 ++++++++++++-------
.../SelectionActionMenuDelegate.java | 32 +++++---
16 files changed, 194 insertions(+), 66 deletions(-)
16 files changed, 194 insertions(+), 67 deletions(-)
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Customize-selection-popup.grdp
diff --git a/android_webview/java/src/org/chromium/android_webview/selection/SamsungSelectionActionMenuDelegate.java b/android_webview/java/src/org/chromium/android_webview/selection/SamsungSelectionActionMenuDelegate.java
@@ -81,7 +81,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
@@ -926,10 +926,17 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
@@ -936,10 +936,17 @@ public class ChromeTabbedActivity extends ChromeActivity implements PreAttachInt
@TabLaunchType int type,
@TabCreationState int creationState,
boolean markedForSelection) {
@@ -106,7 +106,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/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java b/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activity_glue/ActivityTabWebContentsDelegateAndroid.java
@@ -250,6 +250,14 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat
@@ -253,6 +253,14 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat
// Skip opening a new Tab if it doesn't make sense.
if (mTab.isClosing()) return false;
@@ -121,7 +121,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activit
if (ChromeFeatureList.isEnabled(ChromeFeatureList.DOCUMENT_PICTURE_IN_PICTURE_API)
&& disposition == WindowOpenDisposition.NEW_PICTURE_IN_PICTURE) {
assertNonNull(pictureInPictureWindowOptions);
@@ -263,7 +271,7 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat
@@ -270,7 +278,7 @@ public class ActivityTabWebContentsDelegateAndroid extends TabWebContentsDelegat
mTab,
/* shouldPin= */ false,
webContents,
@@ -133,7 +133,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/tab_activit
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerImpl.java
@@ -19,6 +19,7 @@ import android.view.ViewGroup;
@@ -20,6 +20,7 @@ import androidx.annotation.Px;
import androidx.annotation.VisibleForTesting;
import org.chromium.base.Callback;
@@ -141,24 +141,29 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
import org.chromium.base.ObserverList;
import org.chromium.base.TraceEvent;
import org.chromium.base.supplier.MonotonicObservableSupplier;
@@ -250,6 +251,13 @@ public class LayoutManagerImpl
!= TabLaunchType
.FROM_COLLABORATION_BACKGROUND_IN_GROUP)
|| (!getTabModelSelector().isIncognitoSelected() && incognito);
+ boolean selectionPopupTabsForeground =
+ ContextUtils.getAppSharedPreferences().getBoolean(
+ "selection_popup_tabs_foreground", false);
+ if (selectionPopupTabsForeground) {
+ willBeSelected = launchType != TabLaunchType.FROM_RESTORE_TABS_UI
+ || (!getTabModelSelector().isIncognitoSelected() && incognito);
+ }
float lastTapX = LocalizationUtils.isLayoutRtl() ? mHost.getWidth() * mPxToDp : 0.f;
float lastTapY = 0.f;
if (launchType != TabLaunchType.FROM_CHROME_UI) {
@@ -243,11 +244,17 @@ public class LayoutManagerImpl
boolean willBeSelected = willAddedTabBeSelected(launchType, incognito);
float lastTapX = LocalizationUtils.isLayoutRtl() ? mHost.getWidth() * mPxToDp : 0.f;
float lastTapY = 0.f;
+ boolean selectionPopupTabsForeground =
+ ContextUtils.getAppSharedPreferences().getBoolean(
+ "selection_popup_tabs_foreground", false);
+ if (selectionPopupTabsForeground) {
+ willBeSelected = launchType != TabLaunchType.FROM_RESTORE_TABS_UI
+ || (!getTabModelSelector().isIncognitoSelected() && incognito);
+ }
if (launchType != TabLaunchType.FROM_CHROME_UI) {
lastTapX = mPxToDp * mLastTapX;
lastTapY = mPxToDp * mLastTapY;
}
-
tabCreated(
tabId,
getTabModelSelector().getCurrentTabId(),
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
@@ -430,8 +430,13 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -433,8 +433,13 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
public void onOpenImageInNewTab(GURL url, @Nullable Referrer referrer) {
LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec());
loadUrlParams.setReferrer(referrer);
@@ -176,15 +181,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
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
@@ -35,6 +35,7 @@ import androidx.core.view.WindowInsetsCompat;
@@ -34,6 +34,7 @@ import androidx.core.view.WindowInsetsCompat;
import org.chromium.base.Callback;
import org.chromium.base.CallbackController;
+import org.chromium.base.ContextUtils;
import org.chromium.base.DeviceInfo;
import org.chromium.base.Log;
import org.chromium.base.TraceEvent;
@@ -1050,11 +1051,16 @@ public class RootUiCoordinator
import org.chromium.base.lifetime.Destroyable;
@@ -1065,11 +1066,16 @@ public class RootUiCoordinator
TrackerFactory.getTrackerForProfile(tab.getProfile())
.notifyEvent(EventConstants.WEB_SEARCH_PERFORMED);
@@ -390,7 +395,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
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
@@ -1127,7 +1127,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
@@ -1133,7 +1133,7 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
private boolean handleAssistMenuItemClick(int order) {
// Primary assist action is always the first action in the list so offset by 1.
@@ -402,15 +407,15 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java b/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java
@@ -18,6 +18,7 @@ import org.jni_zero.CalledByNative;
import org.jni_zero.JNINamespace;
@@ -19,6 +19,7 @@ import org.jni_zero.JNINamespace;
import org.jni_zero.JniType;
import org.jni_zero.NativeMethods;
+import org.chromium.base.ContextUtils;
import org.chromium.base.ObserverList;
import org.chromium.base.UserData;
import org.chromium.build.annotations.Initializer;
@@ -84,6 +85,9 @@ public class SmartSelectionClient implements SelectionClient, UserData {
@@ -81,6 +82,9 @@ public class SmartSelectionClient implements SelectionClient, UserData {
return null;
}
@@ -10,10 +10,10 @@ Original License: BSD-3-Clause - https://spdx.org/licenses/BSD-3-Clause.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/java/res/layout/url_bar.xml | 1 +
.../browser/omnibox/LocationBarMediator.java | 11 ++++++++-
.../chrome/browser/omnibox/UrlBar.java | 24 +++++++++++++++++++
.../browser/omnibox/UrlBarViewBinder.java | 2 ++
4 files changed, 37 insertions(+), 1 deletion(-)
.../browser/omnibox/LocationBarMediator.java | 25 +++++++++++++-----
.../chrome/browser/omnibox/UrlBar.java | 26 +++++++++++++++++++
.../browser/omnibox/UrlBarViewBinder.java | 1 +
4 files changed, 47 insertions(+), 6 deletions(-)
diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/res/layout/url_bar.xml
--- a/chrome/android/java/res/layout/url_bar.xml
@@ -29,24 +29,80 @@ 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
@@ -415,7 +415,16 @@ class LocationBarMediator
if (!mUrlFocusedWithPastedText
&& !shouldRetainOmniboxOnFocus
&& mLocationBarLayout.shouldClearTextOnFocus()) {
- setUrlBarText(UrlBarData.EMPTY, UrlBar.ScrollType.NO_SCROLL, UrlBarData.SELECT_END);
+ UrlBarData data = mLocationBarDataProvider.getUrlBarData();
+ GURL url = mLocationBarDataProvider.getUrlBarData().url;
+ if (url != null && mTemplateUrlServiceSupplier.get() != null) {
+ String searchParams =
+ mTemplateUrlServiceSupplier.get().getSearchQueryForUrl(url);
+ if (searchParams != null && !searchParams.isEmpty()) {
+ data = UrlBarData.forUrlAndText(data.url, data.displayText, searchParams);
+ }
+ }
+ setUrlBarText(data, UrlBar.ScrollType.NO_SCROLL, UrlBarData.SELECT_ALL);
} else if (shouldRetainOmniboxOnFocus) {
mUrlCoordinator.setSelectAllOnFocus(true);
@@ -591,7 +591,7 @@ class LocationBarMediator
if (NativePage.isChromePageUrl(currentUrl, mLocationBarDataProvider.isOffTheRecord())
&& mCurrentInput != null) {
mCurrentInput.setUserText(null);
- beginOrResumeInput(/* activateNewSession= */ false);
+ beginOrResumeInput(/* activateNewSession= */ false, /* wasFocus */ false);
} else {
setUrlBarText(
mLocationBarDataProvider.getUrlBarData(),
@@ -842,7 +842,7 @@ class LocationBarMediator
if (mCurrentInput == null) return; // session not started yet.
mCurrentInput.setUserText(null);
- beginOrResumeInput(/* activateNewSession= */ false);
+ beginOrResumeInput(/* activateNewSession= */ false, /* wasFocus */ false);
updateButtonVisibility();
mUrlCoordinator.requestAccessibilityFocus();
}
@@ -923,7 +923,7 @@ class LocationBarMediator
// Existing text (e.g. if the user pasted via the fakebox) from the fake box
// should be restored after toggling the focus.
if (mCurrentInput != null && !mCurrentInput.getUserText().isEmpty()) {
- beginOrResumeInput(/* activateNewSession= */ false);
+ beginOrResumeInput(/* activateNewSession= */ false, /* wasFocus */ false);
}
}
@@ -968,7 +968,7 @@ class LocationBarMediator
*/
@EnsuresNonNullIf("mCurrentInput")
@VisibleForTesting
- void beginOrResumeInput(boolean activateNewSession) {
+ void beginOrResumeInput(boolean activateNewSession, boolean wasFocus) {
// Do not instantiate a new ephemeral session unless we're activating it as well.
var session = FuseboxSessionState.from(mLocationBarDataProvider);
@@ -1002,6 +1002,19 @@ class LocationBarMediator
.addSyncObserverAndCallIfNonNull(mAutocompleteRequestTypeObserver);
UrlBarData data = UrlBarData.forNonUrlText(mCurrentInput.getUserText());
+ if (wasFocus) {
+ data = mLocationBarDataProvider.getUrlBarData();
+ GURL url = mLocationBarDataProvider.getUrlBarData().url;
+ if (url != null && mTemplateUrlServiceSupplier.get() != null) {
+ String searchParams =
+ mTemplateUrlServiceSupplier.get().getSearchQueryForUrl(url);
+ if (searchParams != null && !searchParams.isEmpty()) {
+ mCurrentInput.setUserText(searchParams);
+ data = UrlBarData.forUrlAndText(data.url, data.displayText, searchParams);
+ }
+ }
+ mCurrentInput.setSelection(0, Integer.MAX_VALUE);
+ }
mUrlCoordinator.setUrlBarData(
data, UrlBar.ScrollType.NO_SCROLL, mCurrentInput.getSelection());
@@ -1076,7 +1089,7 @@ class LocationBarMediator
// This call is permitted to happen before anyone else is activated, and
// must be called before everyone else cleans up.
if (hasFocus) {
- beginOrResumeInput(/* activateNewSession= */ true);
+ beginOrResumeInput(/* activateNewSession= */ true, /* wasFocus */ true);
} else {
endInputInternal();
}
@@ -1953,7 +1966,7 @@ class LocationBarMediator
}
// Wait for the Url focus change before refreshing autocomplete.
- beginOrResumeInput(/* activateNewSession= */ true);
+ beginOrResumeInput(/* activateNewSession= */ true, /* wasFocus */ false);
}
/**
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBar.java
@@ -58,18 +114,26 @@ 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;
@@ -112,6 +113,7 @@ public class UrlBar extends AutocompleteEditText {
@@ -57,6 +58,7 @@ import org.chromium.components.browser_ui.util.FirstDrawDetector;
import org.chromium.components.omnibox.OmniboxFeatures;
import org.chromium.ui.KeyboardVisibilityDelegate;
import org.chromium.ui.base.KeyNavigationUtil;
+import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.display.DisplayAndroid;
import org.chromium.ui.display.DisplayUtil;
@@ -109,6 +111,7 @@ public class UrlBar extends AutocompleteEditText {
private boolean mFocusEventEmitted;
private boolean mAllowFocus = true;
private boolean mShouldSendTypingStartedEvent;
private boolean mAllowMultilineInput;
+ private boolean mPendingSelectAll;
private boolean mCurrentInputCanBeWrapped;
private boolean mPendingScroll;
private boolean mIsInCct;
@@ -369,6 +371,28 @@ public class UrlBar extends AutocompleteEditText {
@@ -332,6 +335,29 @@ public class UrlBar extends AutocompleteEditText {
mPendingScroll = false;
}
fixupTextDirection();
mShouldSendTypingStartedEvent = focused;
+
+ if (mPendingSelectAll) {
+ UrlBar sender = this;
@@ -85,7 +149,8 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
+
+ @Override
+ public void selectAll() {
+ mPendingSelectAll = true;
+ if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(getContext()))
+ mPendingSelectAll = true;
+ super.selectAll();
+ }
+
@@ -98,13 +163,12 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarViewBinder.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarViewBinder.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarViewBinder.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarViewBinder.java
@@ -84,6 +84,8 @@ class UrlBarViewBinder {
@@ -100,6 +100,7 @@ class UrlBarViewBinder {
selectionRange = Range.create(textLength, textLength);
}
view.setSelection(selectionRange.getLower(), selectionRange.getUpper());
+ if (state.selection == UrlBarData.SELECT_ALL)
+ view.selectAll();
// Move the accessibility focus to the Omnibox.
// This ensures the updated field is announced to the user, especially when the user
// recently interacted with Refine button.
+ view.selectAll();
view.requestAccessibilityFocus();
}
} else if (UrlBarProperties.TEXT_COLOR.equals(propertyKey)) {
--
@@ -42,7 +42,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/accessibility/WebContentsAccessibilityImpl.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
--- a/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/WebContentsAccessibilityImpl.java
@@ -1226,6 +1226,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
@@ -1325,6 +1325,11 @@ public class WebContentsAccessibilityImpl extends AccessibilityNodeProviderCompa
structure.setChildCount(0);
return;
}
@@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
--- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml
@@ -100,7 +100,8 @@ found in the LICENSE file.
@@ -98,7 +98,8 @@ found in the LICENSE file.
android:fragment="org.chromium.chrome.browser.tasks.tab_management.TabsSettings"
android:key="tabs"
android:order="18"
@@ -15,7 +15,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
@@ -1460,7 +1460,7 @@
@@ -1515,7 +1515,7 @@
},
{
name: "CSSDynamicRangeLimit",
+6 -8
View File
@@ -4,26 +4,24 @@ Subject: Disable Compose feature
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/browser/ui/webui/settings/settings_ui.cc | 6 ++++--
chrome/browser/ui/webui/settings/settings_ui.cc | 4 ++--
components/compose/core/browser/compose_features.cc | 2 ++
components/compose/features.gni | 2 +-
3 files changed, 7 insertions(+), 3 deletions(-)
3 files changed, 5 insertions(+), 3 deletions(-)
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
@@ -21,7 +21,9 @@
@@ -21,7 +21,7 @@
#include "chrome/browser/browser_features.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/commerce/shopping_service_factory.h"
-#include "chrome/browser/compose/compose_enabling.h"
+// #if BUILDFLAG(ENABLE_COMPOSE)
+// #include "chrome/browser/compose/compose_enabling.h"
+// #endif
#include "chrome/browser/glic/public/glic_enabling.h"
#include "chrome/browser/glic/public/glic_keyed_service.h"
#include "chrome/browser/history_embeddings/history_embeddings_utils.h"
#include "chrome/browser/optimization_guide/optimization_guide_keyed_service.h"
#include "chrome/browser/optimization_guide/optimization_guide_keyed_service_factory.h"
@@ -366,7 +368,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
@@ -369,7 +369,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
base::FeatureList::IsEnabled(permissions::features::kKeyboardLockPrompt));
#if BUILDFLAG(ENABLE_COMPOSE)
@@ -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/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
@@ -1477,8 +1477,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
@@ -1527,8 +1527,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
registry->RegisterBooleanPref(prefs::kSandboxExternalProtocolBlocked, true);
registry->RegisterBooleanPref(prefs::kSSLErrorOverrideAllowed, true);
registry->RegisterListPref(prefs::kSSLErrorOverrideAllowedForOrigins);
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/device_api/device_service_impl.cc b/chrome/browser/device_api/device_service_impl.cc
--- a/chrome/browser/device_api/device_service_impl.cc
+++ b/chrome/browser/device_api/device_service_impl.cc
@@ -146,6 +146,7 @@ bool IsAffiliatedUser() {
@@ -147,6 +147,7 @@ bool IsAffiliatedUser() {
bool IsTrustedContext(content::RenderFrameHost& host,
const url::Origin& origin) {
@@ -18,7 +18,7 @@ diff --git a/chrome/browser/device_api/device_service_impl.cc b/chrome/browser/d
// Do not create the service for the incognito mode.
if (GetProfile(host)->IsIncognitoProfile()) {
return false;
@@ -322,6 +323,10 @@ void DeviceServiceImpl::GetAnnotatedLocation(
@@ -323,6 +324,10 @@ void DeviceServiceImpl::GetAnnotatedLocation(
void DeviceServiceImpl::GetDeviceAttribute(
void (DeviceAttributeApi::*method)(DeviceAttributeCallback callback),
DeviceAttributeCallback callback) {
+2 -2
View File
@@ -17,7 +17,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -639,7 +639,7 @@ void ContentSettingsRegistry::Init() {
@@ -640,7 +640,7 @@ void ContentSettingsRegistry::Init() {
PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
Register(ContentSettingsType::FEDERATED_IDENTITY_AUTO_REAUTHN_PERMISSION,
@@ -47,7 +47,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
@@ -2379,7 +2379,7 @@
@@ -2470,7 +2470,7 @@
{
name: "FedCm",
public: true,
+5 -13
View File
@@ -5,13 +5,13 @@ Subject: Disable GSA by default
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../src/org/chromium/base/PackageUtils.java | 1 +
.../chrome/browser/IntentHandler.java | 7 ----
.../chrome/browser/IntentHandler.java | 6 ----
.../chrome/browser/share/LensUtils.java | 14 ++------
.../chromium/chrome/browser/gsa/GSAUtils.java | 34 +++----------------
.../GoogleBottomBarActionsHandler.java | 19 ++---------
.../chrome/browser/pdf/PdfCoordinator.java | 2 +-
.../Disable-GSA-by-default.inc | 1 +
7 files changed, 12 insertions(+), 66 deletions(-)
7 files changed, 12 insertions(+), 65 deletions(-)
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-GSA-by-default.inc
diff --git a/base/android/java/src/org/chromium/base/PackageUtils.java b/base/android/java/src/org/chromium/base/PackageUtils.java
@@ -36,7 +36,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator;
import org.chromium.chrome.browser.pdf.PdfUtils;
import org.chromium.chrome.browser.profiles.Profile;
@@ -306,9 +305,6 @@ public class IntentHandler {
@@ -310,9 +309,6 @@ public class IntentHandler {
public static final String EXTRA_TIPS_NOTIFICATION_FEATURE_TYPE =
"org.chromium.chrome.browser.tips_notification_feature_type";
@@ -46,15 +46,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
/** Action to launch the Chrome Item Picker UI, e.g.: tabs. */
public static final String EXTRA_OPEN_CHROME_ITEM_PICKER =
"org.chromium.chrome.browser.actions.open_chrome_item_picker";
@@ -316,7 +312,6 @@ public class IntentHandler {
/** Optional extra for the maximum number of items the user can select. */
public static final String EXTRA_ITEM_PICKER_MAX_SELECTABLE_ITEMS =
"org.chromium.chrome.browser.extras.item_picker_max_selectable_items";
-
public static final String EXTRA_ITEM_PICKER_ERROR =
"org.chromium.chrome.browser.chrome_item_picker.EXTRA_ITEM_PICKER_ERROR";
@@ -572,8 +567,6 @@ public class IntentHandler {
@@ -573,8 +569,6 @@ public class IntentHandler {
return ExternalAppId.LINE;
} else if (PACKAGE_WHATSAPP.equals(packageName)) {
return ExternalAppId.WHATSAPP;
@@ -240,7 +232,7 @@ diff --git a/chrome/browser/ui/android/google_bottom_bar/java/src/org/chromium/c
diff --git a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java
--- a/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java
+++ b/chrome/browser/ui/android/pdf/java/src/org/chromium/chrome/browser/pdf/PdfCoordinator.java
@@ -276,7 +276,7 @@ public class PdfCoordinator {
@@ -351,7 +351,7 @@ public class PdfCoordinator implements PdfActionsDelegate {
}
@Nullable String requestAssistContent(String filename, boolean isWorkProfile) {
@@ -16,7 +16,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java b/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java
--- a/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java
+++ b/components/installedapp/android/java/src/org/chromium/components/installedapp/InstalledAppProviderImpl.java
@@ -162,6 +162,7 @@ public class InstalledAppProviderImpl implements InstalledAppProvider {
@@ -137,6 +137,7 @@ public class InstalledAppProviderImpl implements InstalledAppProvider {
final Url manifestUrl,
final boolean addSavedRelatedApplications,
final FilterInstalledApps_Response callback) {
@@ -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
@@ -3167,9 +3167,8 @@
@@ -3274,9 +3274,8 @@
status: "stable",
},
{
+15 -2
View File
@@ -5,8 +5,9 @@ Subject: Disable PrivacyGuide
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/java/res/xml/privacy_preferences.xml | 1 +
chrome/browser/prefs/browser_prefs.cc | 2 +-
chrome/browser/ui/webui/settings/settings_ui.cc | 3 +--
2 files changed, 2 insertions(+), 2 deletions(-)
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/android/java/res/xml/privacy_preferences.xml
--- a/chrome/android/java/res/xml/privacy_preferences.xml
@@ -19,10 +20,22 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
android:title="@string/privacy_guide_pref_title"
android:summary="@string/privacy_guide_pref_summary"
android:fragment="org.chromium.chrome.browser.privacy_guide.PrivacyGuideFragment" />
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
@@ -2158,7 +2158,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
registry->RegisterBooleanPref(webauthn::pref_names::kAllowWithBrokenCerts,
false);
- registry->RegisterBooleanPref(prefs::kPrivacyGuideViewed, false);
+ registry->RegisterBooleanPref(prefs::kPrivacyGuideViewed, true);
RegisterProfilePrefsForMigration(registry);
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
@@ -343,8 +343,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
@@ -342,8 +342,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
#endif // BUILDFLAG(IS_CHROMEOS)
bool show_privacy_guide =
@@ -3,15 +3,27 @@ Date: Wed, 24 Jan 2024 12:19:44 +0000
Subject: Disable Read Aloud by default
---
.../flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc | 2 ++
1 file changed, 2 insertions(+)
chrome/browser/prefs/browser_prefs.cc | 2 +-
.../flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc
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
@@ -1505,7 +1505,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
#if BUILDFLAG(IS_ANDROID)
registry->RegisterBooleanPref(policy::policy_prefs::kBackForwardCacheEnabled,
true);
- registry->RegisterBooleanPref(policy::policy_prefs::kReadAloudEnabled, true);
+ registry->RegisterBooleanPref(policy::policy_prefs::kReadAloudEnabled, false);
#endif // BUILDFLAG(IS_ANDROID)
// Below this point is for platform-specific and compile-time conditional
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-Read-Aloud.inc
@@ -0,0 +1,2 @@
+SET_CROMITE_FEATURE_DISABLED(kReadAloud);
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kReadAloudPlayback);
--
+18 -17
View File
@@ -4,16 +4,16 @@ Subject: Disable Real Box
Real-box is search box in ntp
---
chrome/browser/prefs/browser_prefs.cc | 2 +-
chrome/browser/resources/new_tab_page/app.html | 18 ------------------
.../searchbox/searchbox_handler.cc | 1 +
components/search/ntp_features.cc | 4 ++--
4 files changed, 4 insertions(+), 21 deletions(-)
chrome/browser/prefs/browser_prefs.cc | 2 +-
.../browser/resources/new_tab_page/app.html | 19 +------------------
.../searchbox/searchbox_handler.cc | 1 +
components/search/ntp_features.cc | 4 ++--
4 files changed, 5 insertions(+), 21 deletions(-)
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -2091,7 +2091,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -2130,7 +2130,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
registry->RegisterBooleanPref(
prefs::kLensRegionSearchEnabled, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
@@ -25,14 +25,14 @@ 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
@@ -43,24 +43,6 @@ import {nothing} from '//resources/lit/v3_0/lit.rollup.js';
@@ -43,24 +43,7 @@ import {nothing} from '//resources/lit/v3_0/lit.rollup.js';
<div id="searchboxContainer"
@focusin="${this.onSearchboxContainerFocusIn_}"
@focusout="${this.onSearchboxContainerFocusOut_}">
- <cr-searchbox id="searchbox" ?is-dark="${this.isThemeDark_()}"
@focusin="${this.onSearchboxContainerFocusin_}"
@focusout="${this.onSearchboxContainerFocusout_}">
- <ntp-searchbox id="searchbox" ?is-dark="${this.isThemeDark_()}"
- placeholder-text="$i18n{searchBoxPlaceholder}"
- ?color-source-is-baseline="${this.colorSourceIsBaseline}"
- @open-composebox="${this.openComposebox_}"
- @open-composebox="${this.onOpenComposebox_}"
- @open-lens-search="${this.onOpenLensSearch_}"
- @open-voice-search="${this.onOpenVoiceSearch_}" ?shown="${this.realboxShown_}"
- ?had-secondary-side="${this.realboxHadSecondarySide}"
@@ -46,17 +46,18 @@ diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/res
- ?cycling-placeholders="${this.searchboxCyclingPlaceholders_}"
- context-menu-glif-animation-state="${this.contextMenuGlifAnimationState_}"
- ?multi-line-enabled="${this.multiLineEnabled_}">
- </cr-searchbox>
- </ntp-searchbox>
+ <div id="searchbox"></div>
${this.showComposebox_ ? html`
<div id="dialogAnchor"></div>
<dialog id="composeboxDialog">
diff --git a/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc b/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc
--- a/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc
+++ b/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc
@@ -306,6 +306,7 @@ void SearchboxHandler::SetupWebUIDataSource(content::WebUIDataSource* source,
Profile* profile,
@@ -307,6 +307,7 @@ void SearchboxHandler::SetupWebUIDataSource(content::WebUIDataSource* source,
bool enable_voice_search,
bool enable_lens_search) {
bool enable_lens_search,
bool session_allows_drag_and_drop) {
+ enable_lens_search = false;
// The WebUI Omnibox code will override this to `true` to adjust various
// color and layout options.
@@ -64,7 +65,7 @@ diff --git a/chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.c
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
@@ -97,7 +97,7 @@ BASE_FEATURE(kNtpDriveModuleSegmentation, base::FEATURE_DISABLED_BY_DEFAULT);
@@ -91,7 +91,7 @@ BASE_FEATURE(kNtpDriveModuleSegmentation, base::FEATURE_DISABLED_BY_DEFAULT);
// If enabled, logo will be shown.
// This is a kill switch. Keep indefinitely.
@@ -73,7 +74,7 @@ diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.
// If enabled, middle slot promo will be shown.
// This is a kill switch. Keep indefinitely.
@@ -139,7 +139,7 @@ BASE_FEATURE(kNtpModuleSignInRequirement, base::FEATURE_ENABLED_BY_DEFAULT);
@@ -133,7 +133,7 @@ BASE_FEATURE(kNtpModuleSignInRequirement, base::FEATURE_ENABLED_BY_DEFAULT);
// If enabled, OneGoogleBar will be shown.
// This is a kill switch. Keep indefinitely.
@@ -14,7 +14,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
@@ -5206,8 +5206,8 @@
@@ -5387,8 +5387,8 @@
{
// Preserves the sticky user activation state after a page navigates to
// another same-origin page. https://crbug.com/433729626
+7 -6
View File
@@ -29,10 +29,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../features_cc/Disable-TLS-resumption.inc | 7 +++
.../features_h/Disable-TLS-resumption.inc | 5 ++
net/http/http_network_session.cc | 1 +
net/quic/quic_session_pool.cc | 34 ++++++++++-
net/quic/quic_session_pool.cc | 35 ++++++++++-
net/socket/ssl_client_socket_impl.cc | 59 +++++++++++++++++++
net/socket/ssl_client_socket_impl.h | 2 +
7 files changed, 119 insertions(+), 1 deletion(-)
7 files changed, 119 insertions(+), 2 deletions(-)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Disable-TLS-resumption.inc
create mode 100644 cromite_flags/net/base/features_cc/Disable-TLS-resumption.inc
create mode 100644 cromite_flags/net/base/features_h/Disable-TLS-resumption.inc
@@ -129,15 +129,16 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
QuicSessionRequest::QuicSessionRequest(QuicSessionPool* pool) : pool_(pool) {}
QuicSessionRequest::~QuicSessionRequest() {
@@ -2422,7 +2454,7 @@ QuicSessionPool::CreateCryptoConfigHandle(QuicCryptoClientConfigKey key) {
@@ -2429,8 +2461,7 @@ QuicSessionPool::CreateCryptoConfigHandle(QuicCryptoClientConfigKey key) {
cert_verifier_, transport_security_state_, sct_auditing_delegate_,
std::move(hostnames_to_allow_unknown_roots),
key.network_anonymization_key),
- std::make_unique<quic::QuicClientSessionCache>(), this);
+ std::make_unique<BromiteSessionCache>(), this);
- std::make_unique<quic::QuicClientSessionCache>(
- kDefaultQuicSessionCacheSize),
+ std::make_unique<BromiteSessionCache>(),
kDefaultQuicSessionCacheSize, this);
quic::QuicCryptoClientConfig* crypto_config = crypto_config_owner->config();
crypto_config->AddCanonicalSuffix(".c.youtube.com");
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
@@ -21,7 +21,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
@@ -5833,8 +5833,7 @@
@@ -6057,8 +6057,7 @@
status: "stable",
},
{
+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
@@ -554,6 +554,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
@@ -528,6 +528,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
WebRuntimeFeatures::EnableRemotePlayback(false);
@@ -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
@@ -201,7 +201,7 @@ BASE_FEATURE(kEnableDrDc,
@@ -205,7 +205,7 @@ BASE_FEATURE(kEnableDrDc,
// enabled by default on supported platforms.
#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \
BUILDFLAG(IS_ANDROID) || BUILDFLAG(USE_WEBGPU_ON_VULKAN_VIA_GL_INTEROP)
+168 -111
View File
@@ -5,7 +5,7 @@ Subject: Disable all predictors code
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/BUILD.gn | 3 --
chrome/browser/BUILD.gn | 1 -
.../background_download_service_factory.cc | 2 +-
.../preloading_model_keyed_service.cc | 3 ++
.../preloading_model_keyed_service_factory.cc | 4 +--
@@ -57,12 +57,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../core/hints/hints_manager.cc | 2 ++
.../core/optimization_guide_features.cc | 11 ++++---
components/optimization_guide/features.gni | 3 +-
.../core/page_content_annotations_features.cc | 7 +++++
.../page_category_classifier_bridge_impl.cc | 4 +++
.../page_category_classifier_bridge_impl.h | 3 ++
.../core/page_content_annotations_features.cc | 8 +++++
.../page_content_annotations_model_manager.cc | 1 +
.../core/page_content_annotations_service.h | 7 +++--
.../browser/client_side_phishing_model.cc | 4 +--
.../notification_content_detection/BUILD.gn | 4 ---
components/viz/service/BUILD.gn | 4 +--
components/viz/service/gl/gpu_service_impl.cc | 18 -----------
components/viz/service/gl/gpu_service_impl.cc | 19 ------------
content/browser/BUILD.gn | 6 ++--
content/browser/gpu/gpu_process_host.cc | 6 ++--
.../service_worker_main_resource_loader.cc | 1 +
@@ -74,9 +77,10 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../Disable-all-predictors-code.inc | 1 +
.../Disable-all-predictors-code.inc | 1 +
.../Disable-all-predictors-code.inc | 2 ++
media/webrtc/BUILD.gn | 5 ++++
media/webrtc/helpers.cc | 3 +-
media/webrtc/BUILD.gn | 1 +
media/webrtc/helpers.cc | 1 +
services/on_device_model/ml/ts_model.cc | 4 +--
services/on_device_model/on_device_model.gni | 2 +-
services/on_device_model/safety/BUILD.gn | 2 +-
services/webnn/BUILD.gn | 2 +-
services/webnn/features.gni | 2 +-
@@ -84,7 +88,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../core/html/parser/html_document_parser.cc | 1 +
.../document_speculation_rules.cc | 1 +
.../platform/runtime_enabled_features.json5 | 2 +-
79 files changed, 199 insertions(+), 141 deletions(-)
83 files changed, 209 insertions(+), 141 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
@@ -97,16 +101,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -698,8 +698,6 @@ static_library("browser") {
"navigation_predictor/navigation_predictor_keyed_service_factory.h",
"navigation_predictor/navigation_predictor_metrics_document_data.cc",
"navigation_predictor/navigation_predictor_metrics_document_data.h",
- "navigation_predictor/navigation_predictor_preconnect_client.cc",
- "navigation_predictor/navigation_predictor_preconnect_client.h",
"navigation_predictor/preloading_model_keyed_service.cc",
"navigation_predictor/preloading_model_keyed_service.h",
"navigation_predictor/preloading_model_keyed_service_factory.cc",
@@ -2311,7 +2309,6 @@ static_library("browser") {
@@ -2230,7 +2230,6 @@ static_library("browser") {
"//components/resources",
"//components/safe_browsing/content/browser",
"//components/safe_browsing/content/browser:safe_browsing_service",
@@ -229,7 +224,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
@@ -438,7 +438,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
@@ -465,7 +465,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
void OptimizationGuideKeyedService::RegisterOptimizationTypes(
const std::vector<optimization_guide::proto::OptimizationType>&
optimization_types) {
@@ -258,7 +253,7 @@ diff --git a/chrome/browser/password_manager/password_change_delegate_impl.cc b/
diff --git a/chrome/browser/permissions/BUILD.gn b/chrome/browser/permissions/BUILD.gn
--- a/chrome/browser/permissions/BUILD.gn
+++ b/chrome/browser/permissions/BUILD.gn
@@ -42,8 +42,6 @@ source_set("permissions") {
@@ -43,8 +43,6 @@ source_set("permissions") {
"prediction_service/language_detection_observer.h",
"prediction_service/passage_embedder_delegate.cc",
"prediction_service/passage_embedder_delegate.h",
@@ -270,7 +265,7 @@ diff --git a/chrome/browser/permissions/BUILD.gn b/chrome/browser/permissions/BU
diff --git a/chrome/browser/permissions/chrome_permissions_client.cc b/chrome/browser/permissions/chrome_permissions_client.cc
--- a/chrome/browser/permissions/chrome_permissions_client.cc
+++ b/chrome/browser/permissions/chrome_permissions_client.cc
@@ -477,8 +477,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors(
@@ -474,8 +474,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors(
#endif
selectors.emplace_back(std::make_unique<PrefBasedQuietPermissionUiSelector>(
Profile::FromBrowserContext(browser_context)));
@@ -282,15 +277,15 @@ diff --git a/chrome/browser/permissions/chrome_permissions_client.cc b/chrome/br
diff --git a/chrome/browser/permissions/prediction_service/passage_embedder_delegate.cc b/chrome/browser/permissions/prediction_service/passage_embedder_delegate.cc
--- a/chrome/browser/permissions/prediction_service/passage_embedder_delegate.cc
+++ b/chrome/browser/permissions/prediction_service/passage_embedder_delegate.cc
@@ -17,6 +17,7 @@ PassageEmbedderDelegate::PassageEmbedderDelegate(Profile* profile)
@@ -25,6 +25,7 @@ PassageEmbedderDelegate::PassageEmbedderDelegate(Profile* profile)
: profile_(profile) {}
Embedder* PassageEmbedderDelegate::get_passage_embedder() {
Embedder* PassageEmbedderDelegate::GetPassageEmbedder() {
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
if (auto* prediction_model_handler_provider =
PredictionModelHandlerProviderFactory::GetForBrowserContext(
profile_)) {
@@ -30,6 +31,7 @@ Embedder* PassageEmbedderDelegate::get_passage_embedder() {
@@ -38,6 +39,7 @@ Embedder* PassageEmbedderDelegate::GetPassageEmbedder() {
return prediction_model_handler_provider->GetPassageEmbedder();
}
PermissionUmaUtil::RecordPassageEmbedderMetadataValid(false);
@@ -301,7 +296,7 @@ diff --git a/chrome/browser/permissions/prediction_service/passage_embedder_dele
diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc
--- a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc
+++ b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc
@@ -434,6 +434,7 @@ void PermissionsAiUiSelector::SelectUiToUse(
@@ -414,6 +414,7 @@ void PermissionsAiUiSelector::SelectUiToUse(
}
}
@@ -309,7 +304,7 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel
void PermissionsAiUiSelector::OnGetInnerTextForOnDeviceModel(
ModelExecutionData model_data,
ModelExecutionCallback model_execution_callback,
@@ -481,6 +482,7 @@ void PermissionsAiUiSelector::OnGetInnerTextForOnDeviceModel(
@@ -468,6 +469,7 @@ void PermissionsAiUiSelector::OnGetInnerTextForOnDeviceModel(
InquireServerModel(model_data.features,
std::move(model_data.request_metadata));
}
@@ -317,7 +312,7 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel
void PermissionsAiUiSelector::OnTimeout() {
VLOG(1) << "[CPSS] Overall timeout for prediction reached.";
@@ -697,6 +699,7 @@ bool PermissionsAiUiSelector::ShouldHoldBack(
@@ -677,6 +679,7 @@ bool PermissionsAiUiSelector::ShouldHoldBack(
PredictionSource PermissionsAiUiSelector::GetPredictionTypeToUse(
permissions::RequestType request_type) {
@@ -325,7 +320,7 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel
const bool is_msbb_enabled = profile_->GetPrefs()->GetBoolean(
unified_consent::prefs::kUrlKeyedAnonymizedDataCollectionEnabled);
@@ -773,6 +776,7 @@ PredictionSource PermissionsAiUiSelector::GetPredictionTypeToUse(
@@ -749,6 +752,7 @@ PredictionSource PermissionsAiUiSelector::GetPredictionTypeToUse(
return PredictionSource::kNoCpssModel;
}
@@ -333,7 +328,7 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel
void PermissionsAiUiSelector::set_language_detection_observer_for_testing(
std::unique_ptr<permissions::LanguageDetectionObserver>
language_detection_observer) {
@@ -785,6 +789,7 @@ void PermissionsAiUiSelector::set_inner_text_for_testing(
@@ -761,6 +765,7 @@ void PermissionsAiUiSelector::set_inner_text_for_testing(
CHECK_IS_TEST();
inner_text_for_testing_ = std::move(inner_text_);
}
@@ -376,26 +371,20 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel
diff --git a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc
--- a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc
+++ b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc
@@ -13,15 +13,16 @@
@@ -13,8 +13,11 @@
#include "chrome/browser/optimization_guide/optimization_guide_keyed_service.h"
#include "components/optimization_guide/core/delivery/optimization_guide_model_provider.h"
#include "components/permissions/features.h"
+#include "components/permissions/request_type.h"
+
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
#include "components/permissions/prediction_service/permissions_aiv3_handler.h"
+#include "components/permissions/prediction_service/permissions_aiv3_handler.h"
#include "components/permissions/prediction_service/permissions_aiv4_handler.h"
-#include "components/permissions/request_type.h"
+#endif
#if BUILDFLAG(IS_ANDROID)
#include "components/download/public/background_service/download_params.h"
#endif
-#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
#include "components/permissions/prediction_service/prediction_model_handler.h"
#endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB)
@@ -31,6 +32,7 @@ using optimization_guide::proto::OptimizationTarget;
@@ -30,6 +33,7 @@ using optimization_guide::proto::OptimizationTarget;
namespace {
@@ -403,7 +392,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand
inline OptimizationTarget getGeolocationAiv4OptTarget() {
#if BUILDFLAG(IS_ANDROID)
return OptimizationTarget::
@@ -49,6 +51,7 @@ inline OptimizationTarget getNotificationsAiv4OptTarget() {
@@ -48,6 +52,7 @@ inline OptimizationTarget getNotificationsAiv4OptTarget() {
OPTIMIZATION_TARGET_PERMISSIONS_AIV4_NOTIFICATIONS_DESKTOP;
#endif
}
@@ -411,7 +400,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand
} // namespace
@@ -56,7 +59,10 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider(
@@ -55,7 +60,10 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider(
OptimizationGuideKeyedService* optimization_guide,
passage_embeddings::EmbedderMetadataProvider* embedder_metadata_provider,
passage_embeddings::Embedder* passage_embedder)
@@ -426,7 +415,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand
diff --git a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.h b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.h
--- a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.h
+++ b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.h
@@ -61,9 +61,11 @@ class PredictionModelHandlerProvider
@@ -56,9 +56,11 @@ class PredictionModelHandlerProvider
#endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB)
private:
@@ -441,7 +430,7 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand
diff --git a/chrome/browser/permissions/quiet_notification_permission_ui_state.cc b/chrome/browser/permissions/quiet_notification_permission_ui_state.cc
--- a/chrome/browser/permissions/quiet_notification_permission_ui_state.cc
+++ b/chrome/browser/permissions/quiet_notification_permission_ui_state.cc
@@ -25,9 +25,9 @@ void QuietNotificationPermissionUiState::RegisterProfilePrefs(
@@ -24,9 +24,9 @@ void QuietNotificationPermissionUiState::RegisterProfilePrefs(
registry->RegisterTimePref(prefs::kQuietNotificationPermissionUiDisabledTime,
base::Time());
registry->RegisterBooleanPref(prefs::kEnableNotificationCPSS,
@@ -495,10 +484,10 @@ diff --git a/chrome/browser/predictors/predictors_features.cc b/chrome/browser/p
diff --git a/chrome/browser/preloading/prefetch/search_prefetch/field_trial_settings.cc b/chrome/browser/preloading/prefetch/search_prefetch/field_trial_settings.cc
--- a/chrome/browser/preloading/prefetch/search_prefetch/field_trial_settings.cc
+++ b/chrome/browser/preloading/prefetch/search_prefetch/field_trial_settings.cc
@@ -202,3 +202,7 @@ const base::FeatureParam<base::TimeDelta>
kSuppressesSearchPrefetchOnSlowNetworkThreshold{
&kSuppressesSearchPrefetchOnSlowNetwork,
"slow_network_threshold_for_search_prefetch", base::Milliseconds(208)};
@@ -255,3 +255,7 @@ bool ShouldSuppressPrefetchForUnsupportedMode(const AutocompleteMatch& match) {
}
return ShouldSuppressPrefetchForUnsupportedMode(match.destination_url);
}
+
+SET_CROMITE_FEATURE_DISABLED(kSearchPrefetchServicePrefetching);
+SET_CROMITE_FEATURE_DISABLED(kSearchPrefetchWithNoVarySearchDiskCache);
@@ -517,7 +506,7 @@ diff --git a/chrome/browser/preloading/prefetch/search_prefetch/search_prefetch_
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -1221,7 +1221,6 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -1240,7 +1240,6 @@ void ChromeBrowserMainExtraPartsProfiles::
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
policy::UserPolicyOidcSigninServiceFactory::GetInstance();
#endif
@@ -528,7 +517,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn
--- a/chrome/browser/safe_browsing/BUILD.gn
+++ b/chrome/browser/safe_browsing/BUILD.gn
@@ -57,7 +57,6 @@ static_library("safe_browsing") {
@@ -60,7 +60,6 @@ static_library("safe_browsing") {
"//components/resources:components_resources_grit",
"//components/safe_browsing:buildflags",
"//components/safe_browsing/content/browser",
@@ -587,7 +576,7 @@ diff --git a/chrome/browser/ui/android/preloading/java/src/org/chromium/chrome/b
diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/browser/ui/autofill/chrome_autofill_client.cc
--- a/chrome/browser/ui/autofill/chrome_autofill_client.cc
+++ b/chrome/browser/ui/autofill/chrome_autofill_client.cc
@@ -572,7 +572,7 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) {
@@ -585,7 +585,7 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) {
}
AutofillAiManager* ChromeAutofillClient::GetAutofillAiManager() {
@@ -596,7 +585,7 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/brows
}
AutofillAiModelCache* ChromeAutofillClient::GetAutofillAiModelCache() {
@@ -1404,18 +1404,7 @@ void ChromeAutofillClient::TriggerPlusAddressUserPerceptionSurvey(
@@ -1417,18 +1417,7 @@ void ChromeAutofillClient::TriggerPlusAddressUserPerceptionSurvey(
optimization_guide::ModelQualityLogsUploaderService*
ChromeAutofillClient::GetMqlsUploadService() {
@@ -618,7 +607,7 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/brows
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
@@ -459,7 +459,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -477,7 +477,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
}
MixedContentSettingsTabHelper::CreateForWebContents(web_contents);
NavigationMetricsRecorder::CreateForWebContents(web_contents);
@@ -812,8 +801,8 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.h
diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc b/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc
--- a/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc
+++ b/chrome/renderer/accessibility/read_anything/read_anything_app_controller.cc
@@ -27,7 +27,9 @@
#include "build/build_config.h"
@@ -28,7 +28,9 @@
#include "chrome/common/read_anything/read_anything.mojom-shared.h"
#include "chrome/common/read_anything/read_anything_util.h"
#include "chrome/renderer/accessibility/ax_tree_distiller.h"
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
@@ -822,7 +811,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
#include "chrome/renderer/accessibility/read_anything/read_aloud_traversal_utils.h"
#include "chrome/renderer/accessibility/read_anything/read_anything_app_model.h"
#include "chrome/renderer/accessibility/read_anything/read_anything_node_utils.h"
@@ -2129,6 +2131,7 @@ void ReadAnythingAppController::OnConnected() {
@@ -2135,6 +2137,7 @@ void ReadAnythingAppController::OnConnected() {
render_frame()->GetBrowserInterfaceBroker().GetInterface(
std::move(page_handler_factory_receiver));
@@ -830,7 +819,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
// Get the dependency parser model used by phrase-based highlighting.
if (read_aloud_model_.GetDependencyParserModel().IsAvailable()) {
return;
@@ -2137,6 +2140,7 @@ void ReadAnythingAppController::OnConnected() {
@@ -2143,6 +2146,7 @@ void ReadAnythingAppController::OnConnected() {
page_handler_->GetDependencyParserModel(
base::BindOnce(&ReadAnythingAppController::UpdateDependencyParserModel,
weak_ptr_factory_.GetWeakPtr()));
@@ -838,7 +827,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
SetDistillationState(
read_anything::mojom::ReadAnythingDistillationState::kNotAttempted);
}
@@ -2398,8 +2402,10 @@ std::u16string ReadAnythingAppController::GetCurrentTextContent() {
@@ -2415,8 +2419,10 @@ std::u16string ReadAnythingAppController::GetCurrentTextContent() {
}
void ReadAnythingAppController::PreprocessTextForSpeech() {
@@ -849,7 +838,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
}
void ReadAnythingAppController::MovePositionToNextGranularity() {
@@ -2755,14 +2761,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const {
@@ -2768,14 +2774,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const {
void ReadAnythingAppController::UpdateDependencyParserModel(
base::File model_file) {
@@ -881,7 +870,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
class ReadAnythingAppControllerTest;
class ReadAnythingAppControllerScreen2xDataCollectionModeTest;
class ReadAnythingAppControllerReadabilityTest;
@@ -383,7 +385,9 @@ class ReadAnythingAppController
@@ -381,7 +383,9 @@ class ReadAnythingAppController
// available.
void UpdateDependencyParserModel(base::File model_file);
@@ -894,7 +883,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -5902,8 +5902,6 @@ if (!is_android) {
@@ -6005,8 +6005,6 @@ if (!is_android) {
"//chrome/browser/ui/exclusive_access:test_support",
"//chrome/browser/ui/hats",
"//components/safe_browsing/content/browser:safe_browsing_blocking_page",
@@ -943,7 +932,7 @@ diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc
diff --git a/components/BUILD.gn b/components/BUILD.gn
--- a/components/BUILD.gn
+++ b/components/BUILD.gn
@@ -627,7 +627,7 @@ test("components_unittests") {
@@ -629,7 +629,7 @@ test("components_unittests") {
"//components/media_router/common/providers/cast/channel:unit_tests",
"//components/one_time_tokens/core/browser:unit_tests",
"//components/page_info:unit_tests",
@@ -966,7 +955,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/
GeoIpCountryCode country_code;
LanguageCode current_page_language;
std::unique_ptr<BufferingLogManager> log_manager;
@@ -1027,12 +1029,14 @@ void AutofillManager::UpdateFormCache(
@@ -1034,12 +1036,14 @@ void AutofillManager::UpdateFormCache(
auto apply_predictions = [](FormStructure& form_structure,
const AsyncContext& context, size_t i) {
@@ -981,7 +970,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/
if (!context.regex_predictions.empty()) {
context.regex_predictions[i].ApplyTo(form_structure.fields());
}
@@ -1148,6 +1152,7 @@ void AutofillManager::LogCurrentFieldTypes(
@@ -1155,6 +1159,7 @@ void AutofillManager::LogCurrentFieldTypes(
}
}
@@ -989,7 +978,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/
void AutofillManager::SubscribeToMlModelChanges(
FieldClassificationModelHandler& handler) {
switch (handler.optimization_target()) {
@@ -1171,5 +1176,6 @@ void AutofillManager::SubscribeToMlModelChanges(
@@ -1178,5 +1183,6 @@ void AutofillManager::SubscribeToMlModelChanges(
NOTREACHED();
}
}
@@ -999,7 +988,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/
diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/components/autofill/core/browser/foundations/autofill_manager.h
--- a/components/autofill/core/browser/foundations/autofill_manager.h
+++ b/components/autofill/core/browser/foundations/autofill_manager.h
@@ -39,6 +39,7 @@
@@ -40,6 +40,7 @@
#include "components/autofill/core/common/mojom/autofill_types.mojom.h"
#include "components/autofill/core/common/signatures.h"
#include "components/autofill/core/common/unique_ids.h"
@@ -1007,7 +996,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/c
#include "components/translate/core/browser/translate_driver.h"
namespace autofill {
@@ -375,10 +376,12 @@ class AutofillManager
@@ -392,10 +393,12 @@ class AutofillManager
// Reparses all known forms.
void ReparseKnownForms();
@@ -1223,7 +1212,7 @@ diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omn
diff --git a/components/optimization_guide/core/delivery/prediction_model_download_manager.cc b/components/optimization_guide/core/delivery/prediction_model_download_manager.cc
--- a/components/optimization_guide/core/delivery/prediction_model_download_manager.cc
+++ b/components/optimization_guide/core/delivery/prediction_model_download_manager.cc
@@ -53,7 +53,7 @@ const char kDisableModelDownloadsForBenchmarking[] =
@@ -55,7 +55,7 @@ const char kDisableModelDownloadsForBenchmarking[] =
// we require models to come from.
constexpr std::array<uint8_t, crypto::hash::kSha256Size> kPublisherKeyHash = {
0x66, 0xa1, 0xd9, 0x3e, 0x4e, 0x5a, 0x66, 0x8a, 0x0f, 0xd3, 0xfa,
@@ -1232,7 +1221,7 @@ diff --git a/components/optimization_guide/core/delivery/prediction_model_downlo
0x5c, 0x7f, 0xd0, 0x0c, 0xa1, 0x6e, 0xef, 0xdd, 0x63, 0x7a};
const net::NetworkTrafficAnnotationTag
kOptimizationGuidePredictionModelsTrafficAnnotation =
@@ -123,7 +123,7 @@ PredictionModelDownloadManager::PredictionModelDownloadManager(
@@ -125,7 +125,7 @@ PredictionModelDownloadManager::PredictionModelDownloadManager(
unzip::UnzipperFactory unzipper_factory,
scoped_refptr<base::SequencedTaskRunner> background_task_runner)
: download_service_tracker_(download_service_tracker),
@@ -1241,7 +1230,7 @@ diff --git a/components/optimization_guide/core/delivery/prediction_model_downlo
api_key_(features::GetOptimizationGuideServiceAPIKey()),
get_base_model_dir_for_download_callback_(
get_base_model_dir_for_download_callback),
@@ -137,6 +137,7 @@ void PredictionModelDownloadManager::StartDownload(
@@ -139,6 +139,7 @@ void PredictionModelDownloadManager::StartDownload(
const GURL& download_url,
proto::OptimizationTarget optimization_target,
const std::optional<download::SchedulingParams>& scheduling_params) {
@@ -1249,7 +1238,7 @@ diff --git a/components/optimization_guide/core/delivery/prediction_model_downlo
download::DownloadParams download_params;
download_params.client =
download::DownloadClient::OPTIMIZATION_GUIDE_PREDICTION_MODELS;
@@ -299,6 +300,7 @@ bool PredictionModelDownloadManager::VerifyDownload(
@@ -303,6 +304,7 @@ bool PredictionModelDownloadManager::VerifyDownload(
const base::FilePath& download_file_path,
const base::FilePath& base_model_dir,
bool delete_file_on_error) {
@@ -1311,7 +1300,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
} // namespace
@@ -279,8 +275,7 @@ size_t MaxHostKeyedHintCacheSize() {
@@ -275,8 +271,7 @@ size_t MaxHostKeyedHintCacheSize() {
}
bool ShouldPersistHintsToDisk() {
@@ -1321,7 +1310,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
}
RequestContextSet GetAllowedContextsForPersonalizedMetadata() {
@@ -641,5 +636,9 @@ std::optional<base::TimeDelta> GetMainFrameGetAIPageContentTimeout() {
@@ -637,5 +632,9 @@ std::optional<base::TimeDelta> GetMainFrameGetAIPageContentTimeout() {
return kGetAIPageContentMainFrameTimeoutParam.Get();
}
@@ -1344,10 +1333,62 @@ diff --git a/components/optimization_guide/features.gni b/components/optimizatio
}
if (is_ios) {
diff --git a/components/page_content_annotations/content/page_category_classifier_bridge_impl.cc b/components/page_content_annotations/content/page_category_classifier_bridge_impl.cc
--- a/components/page_content_annotations/content/page_category_classifier_bridge_impl.cc
+++ b/components/page_content_annotations/content/page_category_classifier_bridge_impl.cc
@@ -22,7 +22,9 @@ PageCategoryClassifierBridgeImpl::PageCategoryClassifierBridgeImpl(
: page_embeddings_service_(page_embeddings_service),
category_classifier_(category_classifier) {
scoped_observation_.Observe(&*page_embeddings_service_);
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
category_classifier_observation_.Observe(&*category_classifier_);
+#endif
}
PageCategoryClassifierBridgeImpl::~PageCategoryClassifierBridgeImpl() = default;
@@ -34,6 +36,7 @@ PageCategoryClassifierBridgeImpl::GetUsageMode() const {
void PageCategoryClassifierBridgeImpl::OnPageEmbeddingsAvailable(
content::Page& page) {
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
std::vector<PassageEmbedding> embeddings =
page_embeddings_service_->GetEmbeddings(page);
@@ -45,6 +48,7 @@ void PageCategoryClassifierBridgeImpl::OnPageEmbeddingsAvailable(
return;
}
}
+#endif
}
// TODO - crbug.com/434047312: Move the metrics recording to the actual user of
diff --git a/components/page_content_annotations/content/page_category_classifier_bridge_impl.h b/components/page_content_annotations/content/page_category_classifier_bridge_impl.h
--- a/components/page_content_annotations/content/page_category_classifier_bridge_impl.h
+++ b/components/page_content_annotations/content/page_category_classifier_bridge_impl.h
@@ -9,6 +9,7 @@
#include "base/memory/raw_ref.h"
#include "base/scoped_observation.h"
+#include "components/optimization_guide/machine_learning_tflite_buildflags.h"
#include "components/page_content_annotations/content/page_embeddings_service.h"
#include "components/page_content_annotations/core/on_device_category_classifier.h"
#include "components/page_content_annotations/core/page_category_classifier_bridge.h"
@@ -50,9 +51,11 @@ class PageCategoryClassifierBridgeImpl
PageEmbeddingsService::Observer>
scoped_observation_{this};
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
base::ScopedObservation<OnDeviceCategoryClassifier,
OnDeviceCategoryClassifier::Observer>
category_classifier_observation_{this};
+#endif
};
} // namespace page_content_annotations
diff --git a/components/page_content_annotations/core/page_content_annotations_features.cc b/components/page_content_annotations/core/page_content_annotations_features.cc
--- a/components/page_content_annotations/core/page_content_annotations_features.cc
+++ b/components/page_content_annotations/core/page_content_annotations_features.cc
@@ -56,6 +56,7 @@ const base::FeatureParam<std::string> kPageContentExtractionTriggeringMode{
@@ -63,6 +63,7 @@ const base::FeatureParam<std::string> kPageContentExtractionTriggeringMode{
bool IsSupportedLocale(const std::string& locale,
const std::string& supported_locales) {
@@ -1355,7 +1396,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f
if (supported_locales == "*") {
return true;
}
@@ -75,6 +76,7 @@ bool IsSupportedLocale(const std::string& locale,
@@ -82,6 +83,7 @@ bool IsSupportedLocale(const std::string& locale,
bool IsSupportedCountry(const std::string& country_code,
const std::string& supported_countries) {
@@ -1363,7 +1404,15 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f
if (supported_countries == "*") {
return true;
}
@@ -274,6 +276,7 @@ bool IsSupportedLocaleForFeature(
@@ -149,6 +151,7 @@ base::TimeDelta PCAServiceWaitForTitleDelayDuration() {
}
bool ShouldEnablePageContentAnnotations() {
+ if ((true)) return false;
// Allow for the validation experiment or remote page metadata to enable the
// PCAService without need to enable both features.
return base::FeatureList::IsEnabled(kPageContentAnnotations) ||
@@ -281,6 +284,7 @@ bool IsSupportedLocaleForFeature(
const std::string& locale,
const base::Feature& feature,
const std::string& default_value = "de,en,es,fr,it,nl,pt,tr") {
@@ -1371,7 +1420,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f
if (!base::FeatureList::IsEnabled(feature)) {
return false;
}
@@ -291,6 +294,7 @@ bool IsSupportedLocaleForFeature(
@@ -298,6 +302,7 @@ bool IsSupportedLocaleForFeature(
bool IsSupportedCountryForFeature(const std::string& country_code,
const base::Feature& feature,
const std::string& default_value) {
@@ -1379,7 +1428,7 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_f
if (!base::FeatureList::IsEnabled(feature)) {
return false;
}
@@ -305,4 +309,7 @@ bool IsSupportedCountryForFeature(const std::string& country_code,
@@ -312,4 +317,7 @@ bool IsSupportedCountryForFeature(const std::string& country_code,
return IsSupportedCountry(country_code, value);
}
@@ -1398,6 +1447,23 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_m
if (page_visibility_model_handler_)
return;
diff --git a/components/page_content_annotations/core/page_content_annotations_service.h b/components/page_content_annotations/core/page_content_annotations_service.h
--- a/components/page_content_annotations/core/page_content_annotations_service.h
+++ b/components/page_content_annotations/core/page_content_annotations_service.h
@@ -127,8 +127,11 @@ enum class PageContentAnnotationsType {
class PageContentAnnotationsService
: public KeyedService,
public history::HistoryServiceObserver,
- public ZeroSuggestCacheServiceInterface::Observer,
- public OnDeviceCategoryClassifier::Observer {
+ public ZeroSuggestCacheServiceInterface::Observer
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
+ , public OnDeviceCategoryClassifier::Observer
+#endif
+ {
public:
// Observer interface to listen for PageContentAnnotations for page loads.
// Annotations will be sent for each page load for the registered annotation
diff --git a/components/safe_browsing/content/browser/client_side_phishing_model.cc b/components/safe_browsing/content/browser/client_side_phishing_model.cc
--- a/components/safe_browsing/content/browser/client_side_phishing_model.cc
+++ b/components/safe_browsing/content/browser/client_side_phishing_model.cc
@@ -1452,8 +1518,8 @@ diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
diff --git a/components/viz/service/gl/gpu_service_impl.cc b/components/viz/service/gl/gpu_service_impl.cc
--- a/components/viz/service/gl/gpu_service_impl.cc
+++ b/components/viz/service/gl/gpu_service_impl.cc
@@ -652,24 +652,6 @@ void GpuServiceImpl::BindWebNNContextProvider(
std::move(pending_receiver), client_id, is_incognito));
@@ -641,25 +641,6 @@ void GpuServiceImpl::BindWebNNContextProvider(
client_id, client_tracing_id, is_incognito));
return;
}
-
@@ -1467,20 +1533,21 @@ diff --git a/components/viz/service/gl/gpu_service_impl.cc b/components/viz/serv
- // `client_id` in order to support memory metrics.
- webnn_context_provider_ = webnn::WebNNContextProviderImpl::Create(
- std::move(shared_context_state), gpu_feature_info_, gpu_info_,
- shared_image_manager(),
- shared_image_manager(), gpu_channel_manager_->peak_memory_monitor(),
- base::BindOnce(&GpuServiceImpl::LoseAllContexts, weak_ptr_),
- main_runner(), GetGpuScheduler(), gpu_host_);
- }
-
- webnn_context_provider_->BindWebNNContextProvider(std::move(pending_receiver),
- {is_incognito, client_id});
- webnn_context_provider_->BindWebNNContextProvider(
- std::move(pending_receiver),
- {is_incognito, client_id, client_tracing_id});
}
void GpuServiceImpl::GetVideoMemoryUsageStats(
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -272,9 +272,9 @@ source_set("browser") {
@@ -290,9 +290,9 @@ source_set("browser") {
"//services/viz/public/cpp/gpu",
"//services/viz/public/mojom",
"//services/webnn:buildflags",
@@ -1496,7 +1563,7 @@ diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc
--- a/content/browser/gpu/gpu_process_host.cc
+++ b/content/browser/gpu/gpu_process_host.cc
@@ -1338,9 +1338,9 @@ bool GpuProcessHost::LaunchGpuProcess() {
@@ -1341,9 +1341,9 @@ bool GpuProcessHost::LaunchGpuProcess() {
cmd_line->CopySwitchesFrom(browser_command_line, kSwitchNames);
cmd_line->CopySwitchesFrom(browser_command_line,
switches::kGLSwitchesCopiedFromGpuProcessHost);
@@ -1512,7 +1579,7 @@ diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_p
diff --git a/content/browser/service_worker/service_worker_main_resource_loader.cc b/content/browser/service_worker/service_worker_main_resource_loader.cc
--- a/content/browser/service_worker/service_worker_main_resource_loader.cc
+++ b/content/browser/service_worker/service_worker_main_resource_loader.cc
@@ -537,6 +537,7 @@ bool ServiceWorkerMainResourceLoader::StartRaceNetworkRequest(
@@ -543,6 +543,7 @@ bool ServiceWorkerMainResourceLoader::StartRaceNetworkRequest(
scoped_refptr<ServiceWorkerContextWrapper> context,
scoped_refptr<ServiceWorkerVersion> version,
base::OnceCallback<void()> clone_completed_for_fetch_handler_callback) {
@@ -1577,45 +1644,25 @@ new file mode 100644
diff --git a/media/webrtc/BUILD.gn b/media/webrtc/BUILD.gn
--- a/media/webrtc/BUILD.gn
+++ b/media/webrtc/BUILD.gn
@@ -4,6 +4,7 @@
@@ -5,6 +5,7 @@
import("//components/optimization_guide/features.gni")
import("//media/media_options.gni")
import("//third_party/webrtc/webrtc.gni")
+import("//components/optimization_guide/features.gni")
component("webrtc") {
output_name = "media_webrtc"
@@ -31,6 +32,10 @@ component("webrtc") {
"//third_party/webrtc_overrides:webrtc_component",
]
+ if (!build_with_tflite_lib) {
+ deps -= [ "//components/optimization_guide/core/inference:op_resolver" ]
+ }
+
public_deps = [ "//third_party/tflite" ]
}
diff --git a/media/webrtc/helpers.cc b/media/webrtc/helpers.cc
--- a/media/webrtc/helpers.cc
+++ b/media/webrtc/helpers.cc
@@ -14,6 +14,7 @@
#include "build/build_config.h"
#include "build/chromecast_buildflags.h"
#include "components/optimization_guide/core/tflite_op_resolver.h"
#include "components/optimization_guide/machine_learning_tflite_buildflags.h"
+#include "components/optimization_guide/machine_learning_tflite_buildflags.h"
#include "media/base/media_switches.h"
#include "media/webrtc/webrtc_features.h"
#include "third_party/webrtc/api/audio/audio_processing.h"
@@ -161,7 +162,7 @@ CreateWebRtcAudioProcessingModule(
// Fuchsia does not use the optimization guide.
// Avoid linking the op resolver to keep Fuchsia binary size down.
// TODO(crbug.com/450466837): Investigate if this build guard can be avoided.
-#if !BUILDFLAG(IS_FUCHSIA)
+#if !BUILDFLAG(IS_FUCHSIA) && BUILDFLAG(BUILD_WITH_TFLITE_LIB)
if (residual_echo_estimator_model) {
optimization_guide::TFLiteOpResolver op_resolver;
echo_estimator = webrtc::CreateNeuralResidualEchoEstimator(
diff --git a/services/on_device_model/ml/ts_model.cc b/services/on_device_model/ml/ts_model.cc
--- a/services/on_device_model/ml/ts_model.cc
+++ b/services/on_device_model/ml/ts_model.cc
@@ -1637,6 +1684,16 @@ diff --git a/services/on_device_model/ml/ts_model.cc b/services/on_device_model/
if (!params->safety_assets || params->safety_assets->which() ==
mojom::SafetyModelAssets::Tag::kTsAssets) {
auto impl = TsModel::Create(*chrome_ml_, std::move(params));
diff --git a/services/on_device_model/on_device_model.gni b/services/on_device_model/on_device_model.gni
--- a/services/on_device_model/on_device_model.gni
+++ b/services/on_device_model/on_device_model.gni
@@ -29,5 +29,5 @@ declare_args() {
# MLKit is the developer-facing APIs and AICore is the system-level AI runtime
# to host on-device model services. Chrome-branded builds use internal/private
# APIs to access AICore directly.
- use_mlkit_for_aicore = !is_chrome_branded
+ use_mlkit_for_aicore = false
}
diff --git a/services/on_device_model/safety/BUILD.gn b/services/on_device_model/safety/BUILD.gn
--- a/services/on_device_model/safety/BUILD.gn
+++ b/services/on_device_model/safety/BUILD.gn
@@ -1676,7 +1733,7 @@ diff --git a/services/webnn/features.gni b/services/webnn/features.gni
diff --git a/services/webnn/webnn_context_provider_impl.cc b/services/webnn/webnn_context_provider_impl.cc
--- a/services/webnn/webnn_context_provider_impl.cc
+++ b/services/webnn/webnn_context_provider_impl.cc
@@ -258,35 +258,7 @@ void WebNNContextProviderImpl::CreateWebNNContext(
@@ -263,35 +263,7 @@ void WebNNContextProviderImpl::CreateWebNNContext(
}
#if BUILDFLAG(IS_WIN)
@@ -1694,7 +1751,7 @@ diff --git a/services/webnn/webnn_context_provider_impl.cc b/services/webnn/webn
- std::move(read_tensor_producer), std::move(read_tensor_consumer),
- command_buffer_id, std::move(gpu_sequence),
- std::move(owning_task_runner), std::move(receiver), std::move(remote),
- std::move(callback), params.is_incognito,
- std::move(callback), params.is_incognito, std::move(memory_tracker),
- /*ep_package_info=*/{});
- return;
- }
@@ -1706,7 +1763,7 @@ diff --git a/services/webnn/webnn_context_provider_impl.cc b/services/webnn/webn
- std::move(read_tensor_producer), std::move(read_tensor_consumer),
- command_buffer_id, std::move(gpu_sequence),
- std::move(owning_task_runner), std::move(receiver), std::move(remote),
- std::move(callback), params.is_incognito));
- std::move(callback), params.is_incognito, std::move(memory_tracker)));
- return;
- } else if (dml::ShouldCreateDmlContext(*options)) {
+ if (dml::ShouldCreateDmlContext(*options)) {
@@ -1716,7 +1773,7 @@ diff --git a/services/webnn/webnn_context_provider_impl.cc b/services/webnn/webn
diff --git a/third_party/blink/renderer/core/html/parser/html_document_parser.cc b/third_party/blink/renderer/core/html/parser/html_document_parser.cc
--- a/third_party/blink/renderer/core/html/parser/html_document_parser.cc
+++ b/third_party/blink/renderer/core/html/parser/html_document_parser.cc
@@ -1797,6 +1797,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget(
@@ -1782,6 +1782,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget(
}
bool HTMLDocumentParser::ShouldSkipPreloadScan() {
@@ -1738,7 +1795,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
@@ -4213,7 +4213,7 @@
@@ -4327,7 +4327,7 @@
//
// It also has some feature params defined throughout the codebase.
name: "Prerender2",
+19 -64
View File
@@ -4,21 +4,18 @@ Subject: Disable all promo dialogs
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java | 1 +
chrome/browser/ui/browser_ui_prefs.cc | 2 +-
.../views/profiles/profile_picker_feature_promo_controller.cc | 1 +
.../user_education/impl/browser_feature_promo_controller_20.cc | 1 +
.../chrome/browser/user_education/UserEducationHelper.java | 1 +
.../browser/user_education/user_education_service_factory.cc | 1 +
.../common/feature_promo/feature_promo_registry.cc | 2 ++
.../common/feature_promo/impl/feature_promo_controller_20.cc | 1 +
.../common/feature_promo/impl/feature_promo_controller_25.cc | 3 ++-
9 files changed, 11 insertions(+), 2 deletions(-)
.../chrome/browser/tabbed_mode/TabbedRootUiCoordinator.java | 1 +
chrome/browser/ui/browser_ui_prefs.cc | 2 +-
.../chrome/browser/user_education/UserEducationHelper.java | 1 +
chrome/browser/user_education/user_education_service_factory.cc | 1 +
.../common/feature_promo/feature_promo_registry.cc | 2 ++
.../common/feature_promo/impl/feature_promo_queue.cc | 1 +
6 files changed, 7 insertions(+), 1 deletion(-)
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
@@ -1976,6 +1976,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -2065,6 +2065,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
}
private boolean maybeShowPromo(Profile profile) {
@@ -29,7 +26,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
@@ -188,7 +188,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -191,7 +191,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kEnterpriseHardwarePlatformAPIEnabled,
false);
@@ -38,28 +35,6 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
registry->RegisterBooleanPref(
prefs::kExternalProtocolDialogShowAlwaysOpenCheckbox, true);
registry->RegisterBooleanPref(prefs::kScreenCaptureAllowed, true);
diff --git a/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc b/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc
--- a/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc
+++ b/chrome/browser/ui/views/profiles/profile_picker_feature_promo_controller.cc
@@ -36,6 +36,7 @@ user_education::FeaturePromoResult
ProfilePickerFeaturePromoController::CanShowPromoForElement(
ui::TrackedElement* anchor_element,
const user_education::UserEducationContextPtr&) const {
+ if ((true)) return user_education::FeaturePromoResult::kBlockedByUi;
return ProfilePicker::IsOpen()
? user_education::FeaturePromoResult::Success()
: user_education::FeaturePromoResult::kBlockedByUi;
diff --git a/chrome/browser/ui/views/user_education/impl/browser_feature_promo_controller_20.cc b/chrome/browser/ui/views/user_education/impl/browser_feature_promo_controller_20.cc
--- a/chrome/browser/ui/views/user_education/impl/browser_feature_promo_controller_20.cc
+++ b/chrome/browser/ui/views/user_education/impl/browser_feature_promo_controller_20.cc
@@ -47,6 +47,7 @@ user_education::FeaturePromoResult
BrowserFeaturePromoController20::CanShowPromoForElement(
ui::TrackedElement* anchor_element,
const user_education::UserEducationContextPtr& context) const {
+ if ((true)) return user_education::FeaturePromoResult::kBlockedByUi;
auto* const browser_context = context->AsA<BrowserUserEducationContext>();
CHECK(browser_context && browser_context->IsValid());
auto* const browser_view = &browser_context->GetBrowserView();
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
@@ -101,35 +76,15 @@ diff --git a/components/user_education/common/feature_promo/feature_promo_regist
const base::Feature* const iph_feature = spec.feature;
CHECK(iph_feature);
FeatureRegistry<NewBadgeSpecification>::RegisterFeature(*iph_feature,
diff --git a/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc b/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc
--- a/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc
+++ b/components/user_education/common/feature_promo/impl/feature_promo_controller_20.cc
@@ -109,6 +109,7 @@ FeaturePromoResult FeaturePromoController20::CanShowPromoCommon(
const UserEducationContextPtr& context,
ShowSource source,
CanShowPromoOutputs* outputs) const {
+ if ((true)) return FeaturePromoResult::kBlockedByContext;
const bool for_demo = source == ShowSource::kDemo;
// Ensure that this promo isn't already queued for startup.
diff --git a/components/user_education/common/feature_promo/impl/feature_promo_controller_25.cc b/components/user_education/common/feature_promo/impl/feature_promo_controller_25.cc
--- a/components/user_education/common/feature_promo/impl/feature_promo_controller_25.cc
+++ b/components/user_education/common/feature_promo/impl/feature_promo_controller_25.cc
@@ -189,6 +189,7 @@ FeaturePromoController25::~FeaturePromoController25() {
FeaturePromoResult FeaturePromoController25::CanShowPromo(
const FeaturePromoParams& params,
diff --git a/components/user_education/common/feature_promo/impl/feature_promo_queue.cc b/components/user_education/common/feature_promo/impl/feature_promo_queue.cc
--- a/components/user_education/common/feature_promo/impl/feature_promo_queue.cc
+++ b/components/user_education/common/feature_promo/impl/feature_promo_queue.cc
@@ -76,6 +76,7 @@ FeaturePromoResult FeaturePromoQueue::CanShow(
const FeaturePromoSpecification& spec,
const FeaturePromoParams& promo_params,
const UserEducationContextPtr& context) const {
+ if ((true)) return FeaturePromoResult::kBlockedByContext;
auto* const spec = registry()->GetParamsForFeature(*params.feature);
if (!spec) {
return FeaturePromoResult::kError;
@@ -211,7 +212,7 @@ void FeaturePromoController25::MaybeShowStartupPromo(
void FeaturePromoController25::MaybeShowPromo(FeaturePromoParams params,
UserEducationContextPtr context) {
auto* const spec = registry()->GetParamsForFeature(*params.feature);
- if (!spec) {
+ if (((true)) || !spec) {
PostShowPromoResult(*params.feature,
std::move(params.show_promo_result_callback),
FeaturePromoResult::kError);
+ if ((true)) return user_education::FeaturePromoResult::kBlockedByUi;
auto required = required_preconditions_provider_->GetPreconditions(
spec, promo_params, context);
UnownedTypedDataCollection data;
--
@@ -53,7 +53,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -1350,6 +1350,7 @@ network::mojom::AttributionSupport
@@ -1371,6 +1371,7 @@ network::mojom::AttributionSupport
AwContentBrowserClient::GetAttributionSupport(
AttributionReportingOsApiState state,
bool client_os_disabled) {
@@ -61,7 +61,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:
@@ -1368,6 +1369,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed(
@@ -1389,6 +1390,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* destination_origin,
const url::Origin* reporting_origin,
bool* can_bypass) {
@@ -82,7 +82,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.ja
@SpeculativeLoadingAllowedFlags
private int mSpeculativeLoadingAllowedFlags =
@@ -1813,7 +1813,7 @@ public class AwSettings {
@@ -1820,7 +1820,7 @@ public class AwSettings {
public void setAttributionBehavior(@AttributionBehavior int behavior) {
synchronized (mAwSettingsLock) {
if (mAttributionBehavior != behavior) {
@@ -94,7 +94,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/AwSettings.ja
diff --git a/android_webview/tools/system_webview_shell/apk/AndroidManifest.xml b/android_webview/tools/system_webview_shell/apk/AndroidManifest.xml
--- a/android_webview/tools/system_webview_shell/apk/AndroidManifest.xml
+++ b/android_webview/tools/system_webview_shell/apk/AndroidManifest.xml
@@ -190,9 +190,6 @@
@@ -191,9 +191,6 @@
android:exported="true">
</activity>
@@ -115,7 +115,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30"/>
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_CONNECT"/>
<!--
@@ -1224,9 +1223,6 @@ by a child template that "extends" this file.
@@ -1240,9 +1239,6 @@ by a child template that "extends" this file.
android:name="com.google.android.gms.cast.framework.ReconnectionService"
tools:node="remove" />
@@ -159,8 +159,8 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page_index.h
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
--- a/chrome/browser/resources/settings/route.ts
+++ b/chrome/browser/resources/settings/route.ts
@@ -79,7 +79,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
r.SITE_SETTINGS.createChild('smartCardReaders');
@@ -82,7 +82,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
r.SITE_SETTINGS_WEB_PRINTING = r.SITE_SETTINGS.createChild('webPrinting');
}
// </if>
- r.SITE_SETTINGS_AUTO_VERIFY = r.SITE_SETTINGS.createChild('autoVerify');
@@ -203,7 +203,7 @@ diff --git a/components/attribution_reporting/features.cc b/components/attributi
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
@@ -648,7 +648,7 @@ void ContentSettingsRegistry::Init() {
@@ -649,7 +649,7 @@ void ContentSettingsRegistry::Init() {
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
@@ -401,7 +401,7 @@ diff --git a/content/browser/attribution_reporting/attribution_storage_sql.cc b/
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
@@ -10632,6 +10632,7 @@ bool RenderFrameHostImpl::IsFencedFrameReportingFromRendererAllowed(
@@ -10782,6 +10782,7 @@ bool RenderFrameHostImpl::IsFencedFrameReportingFromRendererAllowed(
return false;
}
@@ -409,7 +409,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
if (!IsActive()) {
// reportEvent is not allowed when this RenderFrameHost or one of its
// ancestors is not active.
@@ -14811,6 +14812,16 @@ void RenderFrameHostImpl::BindTrustTokenQueryAnswerer(
@@ -14939,6 +14940,16 @@ void RenderFrameHostImpl::BindTrustTokenQueryAnswerer(
return;
}
@@ -429,7 +429,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/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
@@ -1512,15 +1512,6 @@ void StoragePartitionImpl::Initialize(
@@ -1460,15 +1460,6 @@ void StoragePartitionImpl::Initialize(
bucket_manager_ = std::make_unique<BucketManager>(this);
@@ -445,7 +445,7 @@ diff --git a/content/browser/storage_partition_impl.cc b/content/browser/storage
if (base::FeatureList::IsEnabled(network::features::kInterestGroupStorage)) {
// Auction worklets on non-Android use dedicated processes; on Android due
// to high cost of process launch they try to reuse renderers.
@@ -1572,9 +1563,6 @@ void StoragePartitionImpl::Initialize(
@@ -1520,9 +1511,6 @@ void StoragePartitionImpl::Initialize(
font_access_manager_ = FontAccessManager::Create();
@@ -458,7 +458,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
@@ -209,8 +209,6 @@ android_library("content_full_java") {
@@ -204,8 +204,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",
@@ -932,7 +932,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
@@ -644,6 +644,7 @@ void ContentBrowserClient::OnAuctionComplete(
@@ -653,6 +653,7 @@ void ContentBrowserClient::OnAuctionComplete(
network::mojom::AttributionSupport ContentBrowserClient::GetAttributionSupport(
AttributionReportingOsApiState state,
bool client_os_disabled) {
@@ -940,7 +940,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;
@@ -661,13 +662,13 @@ bool ContentBrowserClient::IsAttributionReportingOperationAllowed(
@@ -670,13 +671,13 @@ bool ContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* destination_origin,
const url::Origin* reporting_origin,
bool* can_bypass) {
@@ -956,7 +956,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
}
bool ContentBrowserClient::IsAttributionReportingAllowedForContext(
@@ -675,7 +676,7 @@ bool ContentBrowserClient::IsAttributionReportingAllowedForContext(
@@ -684,7 +685,7 @@ bool ContentBrowserClient::IsAttributionReportingAllowedForContext(
content::RenderFrameHost* rfh,
const url::Origin& context_origin,
const url::Origin& reporting_origin) {
@@ -1010,7 +1010,7 @@ diff --git a/services/network/attribution/request_headers_internal.cc b/services
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
@@ -1316,6 +1316,10 @@ void NetworkContext::ClearTrustTokenData(mojom::ClearDataFilterPtr filter,
@@ -1323,6 +1323,10 @@ void NetworkContext::ClearTrustTokenData(mojom::ClearDataFilterPtr filter,
void NetworkContext::ClearTrustTokenSessionOnlyData(
ClearTrustTokenSessionOnlyDataCallback callback) {
@@ -1021,7 +1021,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
// Only called when Private State Tokens is enabled, i.e.,
// `trust_token_store_` is non-null.
DCHECK(trust_token_store_);
@@ -2723,26 +2727,6 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
@@ -2766,26 +2770,6 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
builder.set_network_quality_estimator(
network_service_->network_quality_estimator());
}
@@ -1082,7 +1082,7 @@ diff --git a/third_party/blink/renderer/core/frame/attribution_src_loader.cc b/t
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
@@ -1579,7 +1579,7 @@ void Page::UpdateBrowsingContextGroup(
@@ -1590,7 +1590,7 @@ void Page::UpdateBrowsingContextGroup(
void Page::SetAttributionSupport(
network::mojom::AttributionSupport attribution_support) {
@@ -1105,7 +1105,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
origin_trial_feature_name: "AdInterestGroupAPI",
implied_by: ["Fledge", "Parakeet"],
public: true,
@@ -644,8 +644,8 @@
@@ -663,8 +663,8 @@
status: "stable",
},
{
@@ -1116,7 +1116,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
base_feature: "none",
public: true,
},
@@ -4272,8 +4272,8 @@
@@ -4386,8 +4386,8 @@
base_feature: "none",
},
{
@@ -1127,7 +1127,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
base_feature: "none",
public: true,
},
@@ -5506,16 +5506,16 @@
@@ -5717,16 +5717,16 @@
status: "experimental",
},
{
+3 -3
View File
@@ -12,7 +12,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
@@ -2718,15 +2718,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
@@ -2788,15 +2788,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
base::NumberToString(pid));
}
#endif
@@ -31,7 +31,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
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
@@ -16486,6 +16486,7 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed(
@@ -16614,6 +16614,7 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed(
void RenderFrameHostImpl::MaybeGenerateCrashReport(
base::TerminationStatus status,
int exit_code) {
@@ -42,7 +42,7 @@ diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/b
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
@@ -10382,7 +10382,7 @@ void WebContentsImpl::RendererUnresponsive(
@@ -10449,7 +10449,7 @@ void WebContentsImpl::RendererUnresponsive(
base::UmaHistogramEnumeration(
"ReportingAndNEL.UnresponsiveRenderer.CrashReportOutcome", outcome);
+3 -3
View File
@@ -23,10 +23,10 @@ diff --git a/third_party/blink/renderer/core/loader/ping_loader.cc b/third_party
const KURL& ping_url,
const KURL& destination_url) {
+ if ((true)) return;
if (!ping_url.ProtocolIsInHTTPFamily())
if (!ping_url.ProtocolIsInHttpFamily()) {
return;
@@ -148,6 +150,7 @@ void PingLoader::SendViolationReport(ExecutionContext* execution_context,
}
@@ -149,6 +151,7 @@ void PingLoader::SendViolationReport(ExecutionContext* execution_context,
const KURL& report_url,
scoped_refptr<EncodedFormData> report,
bool is_frame_ancestors_violation) {
@@ -30,7 +30,7 @@ diff --git a/third_party/blink/renderer/core/css/document_style_environment_vari
+ if (!RuntimeEnabledFeatures::CSSPreferredTextScaleEnabled()) return;
double scale_factor;
// For compat, we don't expose env(preferred-text-scale)'s true value to pages
Settings* settings = document_->GetSettings();
diff --git a/third_party/blink/renderer/core/css/style_environment_variables.cc b/third_party/blink/renderer/core/css/style_environment_variables.cc
--- a/third_party/blink/renderer/core/css/style_environment_variables.cc
+++ b/third_party/blink/renderer/core/css/style_environment_variables.cc
@@ -48,7 +48,7 @@ diff --git a/third_party/blink/renderer/core/css/style_environment_variables.cc
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
@@ -1055,7 +1055,9 @@ void Page::SettingsChanged(ChangeType change_type) {
@@ -1063,7 +1063,9 @@ void Page::SettingsChanged(ChangeType change_type) {
}
break;
case ChangeType::kFontScaleFactor:
@@ -62,7 +62,7 @@ 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
@@ -1606,6 +1606,9 @@
@@ -1672,6 +1672,9 @@
name: "CSSPositionStickyStaticScrollPosition",
status: "test",
},
@@ -7,14 +7,16 @@ see https://w3c.github.io/webappsec-dbsc/#privacy-considerations
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
.../metrics/chrome_browser_main_extra_parts_metrics.cc | 6 ++++++
net/features.gni | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
.../metrics/chrome_browser_main_extra_parts_metrics.cc | 6 ++++++
net/BUILD.gn | 7 +++++++
net/base/features.cc | 10 ++++++----
net/features.gni | 2 +-
4 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
--- a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
+++ b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
@@ -124,6 +124,10 @@
@@ -127,6 +127,10 @@
#include "chrome/browser/signin/bound_session_credentials/unexportable_key_service_factory.h"
#endif // BUILDFLAG(IS_MAC)
@@ -25,7 +27,7 @@ diff --git a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc b
namespace {
// The number of restarts to wait until removing the enable-benchmarking flag.
@@ -899,7 +903,9 @@ void RecordStartupMetrics() {
@@ -931,7 +935,9 @@ void RecordStartupMetrics() {
#endif // BUILDFLAG(IS_WIN)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
@@ -35,6 +37,45 @@ diff --git a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc b
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
// Record whether Chrome is the default browser or not.
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1287,6 +1287,13 @@ component("net") {
]
}
+ if (!enable_device_bound_sessions) {
+ sources += [
+ "device_bound_sessions/session_error.cc",
+ "device_bound_sessions/session_error.h",
+ ]
+ }
+
if (enable_device_bound_sessions) {
sources += [
"device_bound_sessions/cookie_craving.cc",
diff --git a/net/base/features.cc b/net/base/features.cc
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -356,12 +356,14 @@ BASE_FEATURE(kUseNetworkPathMonitorForNetworkChangeNotifier,
);
#endif // BUILDFLAG(IS_APPLE)
-#if BUILDFLAG(IS_WIN)
-BASE_FEATURE(kDeviceBoundSessions, base::FEATURE_ENABLED_BY_DEFAULT);
-#else
BASE_FEATURE(kDeviceBoundSessions, base::FEATURE_DISABLED_BY_DEFAULT);
+BASE_FEATURE(kPersistDeviceBoundSessions,
+#if BUILDFLAG(IS_WIN) && BUILDFLAG(ENABLE_DEVICE_BOUND_SESSIONS)
+ base::FEATURE_ENABLED_BY_DEFAULT
+#else
+ base::FEATURE_DISABLED_BY_DEFAULT
+);
#endif
-BASE_FEATURE(kPersistDeviceBoundSessions, base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE_PARAM(bool,
kDeviceBoundSessionsRequireOriginTrialTokens,
&kDeviceBoundSessions,
diff --git a/net/features.gni b/net/features.gni
--- a/net/features.gni
+++ b/net/features.gni
@@ -22,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../firstrun/VariationsSeedFetcher.java | 36 +++----------------
components/variations/net/BUILD.gn | 2 --
.../omnibox_autofocus_url_loader_throttle.cc | 1 +
.../variations/net/variations_http_headers.cc | 2 ++
.../variations/net/variations_http_headers.cc | 2 +-
.../net/variations_url_loader_throttle.cc | 1 +
.../service/variations_field_trial_creator.cc | 6 ++--
.../variations/service/variations_service.cc | 19 ++--------
@@ -34,14 +34,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../Disable-fetching-of-all-field-trials.inc | 1 +
.../renderer/core/loader/document_loader.cc | 7 ----
.../platform/loader/fetch/resource_request.h | 1 -
27 files changed, 31 insertions(+), 90 deletions(-)
27 files changed, 30 insertions(+), 91 deletions(-)
create mode 100644 cromite_flags/net/base/features_cc/Disable-fetching-of-all-field-trials.inc
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Disable-fetching-of-all-field-trials.inc
diff --git a/android_webview/browser/aw_browser_context.cc b/android_webview/browser/aw_browser_context.cc
--- a/android_webview/browser/aw_browser_context.cc
+++ b/android_webview/browser/aw_browser_context.cc
@@ -496,6 +496,7 @@ AwBrowserContext::RetrieveInProgressDownloadManager() {
@@ -497,6 +497,7 @@ AwBrowserContext::RetrieveInProgressDownloadManager() {
content::OriginTrialsControllerDelegate*
AwBrowserContext::GetOriginTrialsControllerDelegate() {
@@ -285,15 +285,15 @@ diff --git a/components/variations/net/omnibox_autofocus_url_loader_throttle.cc
diff --git a/components/variations/net/variations_http_headers.cc b/components/variations/net/variations_http_headers.cc
--- a/components/variations/net/variations_http_headers.cc
+++ b/components/variations/net/variations_http_headers.cc
@@ -252,6 +252,8 @@ class VariationsHeaderHelper {
VariationsHeaderHelper& operator=(const VariationsHeaderHelper&) = delete;
@@ -140,7 +140,7 @@ bool ShouldAppendVariationsHeader(const GURL& url, InIncognito incognito) {
std::optional<std::string> GetHeaderValue(
variations::mojom::VariationsHeadersPtr variations_headers,
bool is_first_party_context) {
- if (!variations_headers) {
+ if (((true))) {
return std::nullopt;
}
bool AppendHeaderIfNeeded(const GURL& url, InIncognito incognito) {
+ if((true)) return false;
+
// Note the criteria for attaching client experiment headers:
// 1. We only transmit to Google owned domains which can evaluate
// experiments.
diff --git a/components/variations/net/variations_url_loader_throttle.cc b/components/variations/net/variations_url_loader_throttle.cc
--- a/components/variations/net/variations_url_loader_throttle.cc
+++ b/components/variations/net/variations_url_loader_throttle.cc
@@ -308,7 +308,7 @@ diff --git a/components/variations/net/variations_url_loader_throttle.cc b/compo
diff --git a/components/variations/service/variations_field_trial_creator.cc b/components/variations/service/variations_field_trial_creator.cc
--- a/components/variations/service/variations_field_trial_creator.cc
+++ b/components/variations/service/variations_field_trial_creator.cc
@@ -129,6 +129,7 @@ Study::CpuArchitecture GetCurrentCpuArchitecture() {
@@ -122,6 +122,7 @@ Study::CpuArchitecture GetCurrentCpuArchitecture() {
}
#if BUILDFLAG(FIELDTRIAL_TESTING_ENABLED)
@@ -316,7 +316,7 @@ diff --git a/components/variations/service/variations_field_trial_creator.cc b/c
// Determines whether the field trial testing config defined in
// testing/variations/fieldtrial_testing_config.json should be applied. If the
// "disable_fieldtrial_testing_config" GN flag is set to true, then the testing
@@ -370,9 +371,6 @@ bool VariationsFieldTrialCreator::SetUpFieldTrials(
@@ -332,9 +333,6 @@ bool VariationsFieldTrialCreator::SetUpFieldTrials(
metrics_state_manager->GetLowEntropySource());
}
@@ -326,7 +326,7 @@ diff --git a/components/variations/service/variations_field_trial_creator.cc b/c
platform_field_trials->RegisterFeatureOverrides(feature_list.get());
base::FeatureList::SetInstance(std::move(feature_list));
@@ -678,6 +676,7 @@ CreateTrialsResult VariationsFieldTrialCreator::CreateTrialsFromSeed(
@@ -639,6 +637,7 @@ CreateTrialsResult VariationsFieldTrialCreator::CreateTrialsFromSeed(
base::FeatureList* feature_list,
SafeSeedManager* safe_seed_manager,
std::unique_ptr<ClientFilterableState> client_state) {
@@ -334,7 +334,7 @@ diff --git a/components/variations/service/variations_field_trial_creator.cc b/c
TRACE_EVENT0("startup", "VariationsFieldTrialCreator::CreateTrialsFromSeed");
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
CHECK(!create_trials_from_seed_called_);
@@ -796,6 +795,7 @@ CreateTrialsResult VariationsFieldTrialCreator::CreateTrialsFromSeed(
@@ -757,6 +756,7 @@ CreateTrialsResult VariationsFieldTrialCreator::CreateTrialsFromSeed(
void VariationsFieldTrialCreator::LoadSeedFromJsonFile(
const base::FilePath& json_seed_path) {
@@ -417,7 +417,7 @@ diff --git a/content/browser/origin_trials/origin_trials_utils.cc b/content/brow
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
@@ -838,6 +838,7 @@ void PersistOriginTrialsFromHeaders(
@@ -839,6 +839,7 @@ void PersistOriginTrialsFromHeaders(
const network::mojom::URLResponseHead* response,
BrowserContext* browser_context,
ukm::SourceId source_id) {
@@ -458,7 +458,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
@@ -212,13 +212,6 @@ std::vector<int> CopyInitiatorOriginTrials(
@@ -214,13 +214,6 @@ std::vector<int> CopyInitiatorOriginTrials(
const Vector<mojom::blink::OriginTrialFeature>&
initiator_origin_trial_features) {
std::vector<int> result;
@@ -475,7 +475,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_request.h b/third_party/blink/renderer/platform/loader/fetch/resource_request.h
--- a/third_party/blink/renderer/platform/loader/fetch/resource_request.h
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_request.h
@@ -568,7 +568,6 @@ class PLATFORM_EXPORT ResourceRequestHead {
@@ -581,7 +581,6 @@ class PLATFORM_EXPORT ResourceRequestHead {
}
void SetTrustTokenParams(
std::optional<network::mojom::blink::TrustTokenParams> params) {
@@ -7,43 +7,44 @@ This patch fixes build errors.
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/android/BUILD.gn | 1 -
.../android/java/res/xml/main_preferences.xml | 5 -----
.../AppMenuPropertiesDelegateImpl.java | 11 ----------
chrome/android/BUILD.gn | 2 -
.../android/java/res/xml/main_preferences.xml | 5 ---
.../AppMenuPropertiesDelegateImpl.java | 11 -----
.../search/SearchIndexProviderRegistry.java | 1 -
.../TabbedAppMenuPropertiesDelegate.java | 13 ++---------
.../chrome/browser/ui/RootUiCoordinator.java | 21 ------------------
chrome/browser/BUILD.gn | 2 --
chrome/browser/actor/BUILD.gn | 2 --
chrome/browser/android/tab_features.cc | 4 ++++
chrome/browser/android/tab_features.h | 4 ++++
.../contextual_cueing_helper.cc | 2 ++
.../contextual_cueing_page_data.cc | 3 +++
.../api/pdf_viewer_private/BUILD.gn | 3 ---
.../pdf_viewer_private_api.cc | 22 +------------------
.../TabbedAdaptiveToolbarBehavior.java | 8 ----
.../TabbedAppMenuPropertiesDelegate.java | 13 +-----
.../tabbed_mode/TabbedRootUiCoordinator.java | 3 +-
chrome/browser/BUILD.gn | 2 -
chrome/browser/actor/BUILD.gn | 3 --
chrome/browser/android/tab_features.cc | 4 ++
chrome/browser/android/tab_features.h | 4 ++
.../contextual_cueing_helper.cc | 2 +
.../contextual_cueing_page_data.cc | 3 ++
.../api/pdf_viewer_private/BUILD.gn | 3 --
.../pdf_viewer_private_api.cc | 43 +------------------
chrome/browser/glic/BUILD.gn | 2 +-
chrome/browser/glic/android/BUILD.gn | 2 +-
chrome/browser/pdf/BUILD.gn | 1 -
chrome/browser/sync/BUILD.gn | 4 ++--
chrome/browser/sync/BUILD.gn | 4 +-
chrome/browser/sync/test/integration/BUILD.gn | 2 +-
.../ui/browser_window/internal/BUILD.gn | 2 +-
chrome/browser/ui/pdf/BUILD.gn | 1 -
.../pdf/chrome_pdf_document_helper_client.cc | 2 ++
.../ui/tabs/alert/tab_alert_controller.cc | 2 +-
chrome/browser/ui/toasts/BUILD.gn | 2 +-
chrome/common/chrome_features.cc | 4 ++++
chrome/common/chrome_features.h | 2 +-
chrome/common/features.gni | 2 +-
.../pdf/chrome_pdf_document_helper_client.cc | 2 +
.../ui/tabs/alert/tab_alert_controller.cc | 2 +
chrome/common/BUILD.gn | 1 +
chrome/common/chrome_features.cc | 1 +
chrome/common/features.gni | 2 +
chrome/test/BUILD.gn | 2 +-
components/browser_sync/BUILD.gn | 2 +-
28 files changed, 33 insertions(+), 91 deletions(-)
28 files changed, 32 insertions(+), 99 deletions(-)
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -368,7 +368,6 @@ if (_is_default_toolchain) {
@@ -374,8 +374,6 @@ if (_is_default_toolchain) {
"//chrome/browser/creator/android:java",
"//chrome/browser/data_sharing:factory_java",
"//chrome/browser/data_sharing:instant_message_delegate_factory_java",
- "//chrome/browser/glic:public_java",
- "//chrome/browser/glic/android:java",
"//chrome/browser/page_content_annotations:factory_java",
"//chrome/browser/prefs/android:java",
@@ -51,7 +52,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/java/res/xml/main_preferences.xml
--- a/chrome/android/java/res/xml/main_preferences.xml
+++ b/chrome/android/java/res/xml/main_preferences.xml
@@ -102,11 +102,6 @@ found in the LICENSE file.
@@ -100,11 +100,6 @@ found in the LICENSE file.
android:order="18"
android:title="@string/tabs_settings_title"
app:isPreferenceVisible="false"/>
@@ -66,7 +67,7 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
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
@@ -740,17 +740,6 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
@@ -739,17 +739,6 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
return downloadButton;
}
@@ -95,14 +96,39 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/search
org.chromium.chrome.browser.privacy.settings.DoNotTrackSettings
.SEARCH_INDEX_DATA_PROVIDER,
org.chromium.chrome.browser.homepage.settings.HomepageSettings
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAdaptiveToolbarBehavior.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAdaptiveToolbarBehavior.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAdaptiveToolbarBehavior.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAdaptiveToolbarBehavior.java
@@ -19,7 +19,6 @@ import org.chromium.chrome.browser.ai.PageSummaryButtonController;
import org.chromium.chrome.browser.bookmarks.AddToBookmarksToolbarButtonController;
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
import org.chromium.chrome.browser.bookmarks.TabBookmarker;
-import org.chromium.chrome.browser.glic.GlicToolbarButtonController;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.tab_group_suggestion.toolbar.GroupSuggestionsButtonController;
import org.chromium.chrome.browser.tab_group_suggestion.toolbar.GroupSuggestionsButtonDataProvider;
@@ -125,13 +124,6 @@ public class TabbedAdaptiveToolbarBehavior implements AdaptiveToolbarBehavior {
controller.addButtonVariant(AdaptiveToolbarButtonVariant.TAB_GROUPING, tabGrouping);
}
- if (AdaptiveToolbarFeatures.isGlicActionEnabled()) {
- controller.addButtonVariant(
- AdaptiveToolbarButtonVariant.GLIC,
- new GlicToolbarButtonController(
- mContext, mActivityTabProvider, mToggleGlicCallback));
- }
-
mRegisterVoiceSearchRunnable.run();
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
@@ -233,11 +233,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
@@ -237,11 +237,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
iconModels.add(buildForwardActionModel(currentTab));
iconModels.add(buildBookmarkActionModel(currentTab));
iconModels.add(buildDownloadActionModel(currentTab));
- if (ChromeFeatureList.isEnabled(ChromeFeatureList.GLIC)) {
- if (ChromeFeatureList.sGlic.isEnabled()) {
- iconModels.add(buildGlicActionModel(currentTab));
- } else {
- iconModels.add(buildPageInfoModel(currentTab));
@@ -111,8 +137,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
iconModels.add(buildReloadModel(currentTab));
@@ -1165,12 +1161,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|| !ChromeFeatureList.isEnabled(ChromeFeatureList.GLIC)) {
@@ -1399,12 +1395,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
|| !ChromeFeatureList.sGlic.isEnabled()) {
return null;
}
- return new MVCListAdapter.ListItem(
@@ -125,51 +151,33 @@ 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/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
@@ -96,7 +96,6 @@ import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
import org.chromium.chrome.browser.fullscreen.FullscreenBackPressHandler;
import org.chromium.chrome.browser.fullscreen.FullscreenManager;
import org.chromium.chrome.browser.fullscreen.FullscreenOptions;
-import org.chromium.chrome.browser.glic.GlicKeyedService;
import org.chromium.chrome.browser.host_zoom.HostZoomListenerFactory;
import org.chromium.chrome.browser.image_descriptions.ImageDescriptionsController;
import org.chromium.chrome.browser.incognito.reauth.IncognitoReauthController;
@@ -1619,26 +1618,6 @@ public class RootUiCoordinator
return result != null && result;
}
}
- } else if (id == R.id.glic_menu_id) {
- var task = mChromeAndroidTaskSupplier.get();
- if (task == null) {
- Log.w(TAG, "Failed to trigger GLIC: ChromeAndroidTask is null.");
- return false;
- }
- Profile profile = mTabModelSelectorSupplier.get().getCurrentModel().getProfile();
- assert profile != null;
- long browserWindowPtr = task.getOrCreateNativeBrowserWindowPtr(profile);
- GlicKeyedService service = new GlicKeyedService();
- if (service == null) {
- return false;
- }
-
- // TODO(crbug.com/479863299): Create and pass in enum for invocationSource.
- service.toggleUI(
- browserWindowPtr,
- assumeNonNull(mProfileSupplier.get()),
- /* invocationSource= */ 7);
- return true;
}
return false;
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
@@ -107,7 +107,6 @@ import org.chromium.chrome.browser.gesturenav.BackActionDelegate;
import org.chromium.chrome.browser.gesturenav.HistoryNavigationCoordinator;
import org.chromium.chrome.browser.gesturenav.NavigationSheet;
import org.chromium.chrome.browser.gesturenav.TabbedSheetDelegate;
-import org.chromium.chrome.browser.glic.GlicKeyedServiceHandler;
import org.chromium.chrome.browser.history.HistoryManagerUtils;
import org.chromium.chrome.browser.hub.HubManager;
import org.chromium.chrome.browser.incognito.reauth.IncognitoReauthCoordinatorFactory;
@@ -2255,7 +2254,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
Profile profile = mTabModelSelectorSupplier.get().getCurrentModel().getProfile();
assert profile != null;
- return GlicKeyedServiceHandler.toggleGlic(profile, mChromeAndroidTaskSupplier.get());
+ return false;
}
/* package */ KeyboardFocusRowManager getKeyboardFocusRowManagerForTesting() {
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3376,8 +3376,6 @@ static_library("browser") {
"//chrome/browser/flags:flags_android",
@@ -3274,8 +3274,6 @@ static_library("browser") {
"//chrome/browser/flags:flags_android_impl",
"//chrome/browser/gesturenav/android:jni_headers",
"//chrome/browser/gesturenav/android:gesturenav",
"//chrome/browser/gesturenav/android:impl",
- "//chrome/browser/glic/android",
- "//chrome/browser/glic/android:jni_headers",
"//chrome/browser/keyboard_accessory/android",
@@ -178,30 +186,31 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/actor/BUILD.gn b/chrome/browser/actor/BUILD.gn
--- a/chrome/browser/actor/BUILD.gn
+++ b/chrome/browser/actor/BUILD.gn
@@ -394,8 +394,6 @@ source_set("browser_tests") {
@@ -399,9 +399,6 @@ source_set("browser_tests") {
":tools_test_support",
"ui:event_dispatcher",
"//chrome/browser/affiliations",
- "//chrome/browser/glic",
- "//chrome/browser/glic/actor:browser_tests",
- "//chrome/browser/glic/test_support",
"//chrome/browser/lookalikes:test_support",
"//chrome/browser/optimization_guide",
"//chrome/browser/optimization_guide:test_support",
"//chrome/browser/safe_browsing",
diff --git a/chrome/browser/android/tab_features.cc b/chrome/browser/android/tab_features.cc
--- a/chrome/browser/android/tab_features.cc
+++ b/chrome/browser/android/tab_features.cc
@@ -6,8 +6,10 @@
#include "chrome/browser/actor/actor_features.h"
@@ -9,8 +9,10 @@
#include "chrome/browser/actor/actor_tab_data.h"
#include "chrome/browser/actor/android/ui/actor_ui_tab_controller_android.h"
#include "chrome/browser/glic/public/glic_enabling.h"
+#if BUILDFLAG(ENABLE_GLIC)
#include "chrome/browser/glic/public/widget/glic_side_panel_coordinator_android.h"
#include "chrome/browser/glic/service/glic_instance_helper.h"
+#endif
#include "chrome/browser/net/qwac_web_contents_observer.h"
#include "chrome/browser/preloading/new_tab_page_preload/new_tab_page_preload_pipeline_manager.h"
#include "chrome/browser/sync/sessions/sync_sessions_router_tab_helper.h"
@@ -49,11 +51,13 @@ TabFeatures::TabFeatures(content::WebContents* web_contents, Profile* profile) {
#include "chrome/browser/profiles/profile.h"
@@ -62,11 +64,13 @@ TabFeatures::TabFeatures(content::WebContents* web_contents, Profile* profile) {
GetUserDataFactory().CreateInstance<lens::TabContextualizationController>(
*tab, tab);
@@ -218,7 +227,7 @@ diff --git a/chrome/browser/android/tab_features.cc b/chrome/browser/android/tab
diff --git a/chrome/browser/android/tab_features.h b/chrome/browser/android/tab_features.h
--- a/chrome/browser/android/tab_features.h
+++ b/chrome/browser/android/tab_features.h
@@ -22,10 +22,12 @@ namespace content {
@@ -26,10 +26,12 @@ namespace content {
class WebContents;
} // namespace content
@@ -231,7 +240,7 @@ diff --git a/chrome/browser/android/tab_features.h b/chrome/browser/android/tab_
namespace sync_sessions {
class SyncSessionsRouterTabHelper;
@@ -68,8 +70,10 @@ class TabFeatures {
@@ -72,8 +74,10 @@ class TabFeatures {
std::unique_ptr<lens::TabContextualizationController>
tab_contextualization_controller_;
@@ -239,21 +248,21 @@ diff --git a/chrome/browser/android/tab_features.h b/chrome/browser/android/tab_
std::unique_ptr<glic::GlicInstanceHelper> glic_instance_helper_;
std::unique_ptr<glic::GlicSidePanelCoordinator> glic_side_panel_coordinator_;
+#endif
std::unique_ptr<actor::ui::ActorUiTabControllerInterface>
actor_ui_tab_controller_;
};
} // namespace tabs
diff --git a/chrome/browser/contextual_cueing/contextual_cueing_helper.cc b/chrome/browser/contextual_cueing/contextual_cueing_helper.cc
--- a/chrome/browser/contextual_cueing/contextual_cueing_helper.cc
+++ b/chrome/browser/contextual_cueing/contextual_cueing_helper.cc
@@ -403,6 +403,7 @@ void ContextualCueingHelper::OnCueingDecision(
@@ -419,6 +419,7 @@ void ContextualCueingHelper::OnCueingDecision(
return;
}
+#if BUILDFLAG(ENABLE_GLIC)
// Handle side panel auto-open case: bypass nudge and open panel directly.
// If auto-open fails or is disabled, falls through to standard nudge.
const bool should_open_side_panel =
@@ -449,6 +450,7 @@ void ContextualCueingHelper::OnCueingDecision(
if (should_open_side_panel) {
@@ -452,6 +453,7 @@ void ContextualCueingHelper::OnCueingDecision(
contextual_cueing_service_->GetWeakPtr(),
web_contents(), document_available_time,
decision_result->is_dynamic));
@@ -272,7 +281,7 @@ diff --git a/chrome/browser/contextual_cueing/contextual_cueing_page_data.cc b/c
#include "chrome/browser/contextual_cueing/contextual_cueing_features.h"
#include "chrome/grit/generated_resources.h"
#include "content/public/browser/web_contents.h"
@@ -87,6 +88,7 @@ PAGE_USER_DATA_KEY_IMPL(ContextualCueingPageData);
@@ -94,6 +95,7 @@ PAGE_USER_DATA_KEY_IMPL(ContextualCueingPageData);
// Attempts to find the matching cueing configuration.
void ContextualCueingPageData::FindMatchingConfig() {
@@ -280,7 +289,7 @@ diff --git a/chrome/browser/contextual_cueing/contextual_cueing_page_data.cc b/c
CHECK(cueing_decision_callback_);
bool needs_pdf_page_count = false;
bool needs_page_content = false;
@@ -145,6 +147,7 @@ void ContextualCueingPageData::FindMatchingConfig() {
@@ -153,6 +155,7 @@ void ContextualCueingPageData::FindMatchingConfig() {
// Wait till the page content is returned.
return;
}
@@ -321,7 +330,16 @@ diff --git a/chrome/browser/extensions/api/pdf_viewer_private/pdf_viewer_private
#include "chrome/browser/pdf/pdf_pref_names.h"
#include "chrome/browser/pdf/pdf_viewer_stream_manager.h"
#include "chrome/browser/profiles/profile.h"
@@ -305,24 +302,7 @@ ExtensionFunction::ResponseAction PdfViewerPrivateGlicSummarizeFunction::Run() {
@@ -52,8 +49,6 @@ namespace SetPdfPluginAttributes =
namespace SetPdfDocumentTitle = api::pdf_viewer_private::SetPdfDocumentTitle;
-constexpr char kSummarizePrompt[] = "Summarize this document";
-
// Check if the current URL is allowed based on a list of allowlisted domains.
bool IsUrlAllowedToEmbedLocalFiles(const GURL& current_url,
const base::ListValue& allowlisted_domains) {
@@ -308,43 +303,7 @@ ExtensionFunction::ResponseAction PdfViewerPrivateGlicSummarizeFunction::Run() {
return RespondNow(Error("No tab."));
}
@@ -335,11 +353,30 @@ diff --git a/chrome/browser/extensions/api/pdf_viewer_private/pdf_viewer_private
- contents->GetBrowserContext());
- CHECK(glic_service);
-
- glic_service->ToggleUI(tab_interface->GetBrowserWindowInterface(),
- /*prevent_close=*/true,
- glic::mojom::InvocationSource::kPdfSummarizeButton,
- /*prompt_suggestion=*/"summarize the pdf",
- /*auto_send=*/true);
- int arm = features::kPdfGlicSummarizeArm.Get();
- bool has_consented = glic::GlicEnabling::HasConsentedForProfile(
- Profile::FromBrowserContext(contents->GetBrowserContext()));
-
- glic::GlicInvokeOptions options{
- glic::mojom::InvocationSource::kPdfSummarizeButton};
- options.prompts.push_back(kSummarizePrompt);
- options.conversation = glic::NewConversation();
-
- if (has_consented) {
- glic_service->InvokeWithAutoSubmit(
- glic::InvokeWithAutoSubmitPasskeyProvider::GetPassKey(), tab_interface,
- std::move(options));
- } else {
- if (arm == 3) {
- options.fre_override = glic::mojom::FreOverride::kTrustFirstInline;
- glic_service->InvokeWithAutoSubmit(
- glic::InvokeWithAutoSubmitPasskeyProvider::GetPassKey(),
- tab_interface, std::move(options));
- } else {
- options.fre_override = glic::mojom::FreOverride::kTrustFirstText;
- glic_service->Invoke(tab_interface, std::move(options));
- }
- }
-
- success = true;
- return RespondNow(NoArguments());
@@ -347,18 +384,30 @@ diff --git a/chrome/browser/extensions/api/pdf_viewer_private/pdf_viewer_private
}
} // namespace extensions
diff --git a/chrome/browser/glic/BUILD.gn b/chrome/browser/glic/BUILD.gn
--- a/chrome/browser/glic/BUILD.gn
+++ b/chrome/browser/glic/BUILD.gn
@@ -440,7 +440,7 @@ source_set("impl") {
deps += [
":actor_types_for_migration",
"//chrome/browser/context_sharing/tab_bottom_sheet/android:jni_headers",
- "//chrome/browser/glic/android",
+ #"//chrome/browser/glic/android",
"//ui/android",
]
}
diff --git a/chrome/browser/glic/android/BUILD.gn b/chrome/browser/glic/android/BUILD.gn
--- a/chrome/browser/glic/android/BUILD.gn
+++ b/chrome/browser/glic/android/BUILD.gn
@@ -36,7 +36,7 @@ android_library("java") {
@@ -62,7 +62,7 @@ android_library("java") {
]
}
-source_set("android") {
+source_set("android_notused") {
sources = [ "glic_keyed_service_android.cc" ]
public_deps = [ ":jni_headers" ]
deps = [
sources = [
"glic_keyed_service_android.cc",
"glic_keyed_service_android.h",
diff --git a/chrome/browser/pdf/BUILD.gn b/chrome/browser/pdf/BUILD.gn
--- a/chrome/browser/pdf/BUILD.gn
+++ b/chrome/browser/pdf/BUILD.gn
@@ -373,7 +422,16 @@ diff --git a/chrome/browser/pdf/BUILD.gn b/chrome/browser/pdf/BUILD.gn
diff --git a/chrome/browser/sync/BUILD.gn b/chrome/browser/sync/BUILD.gn
--- a/chrome/browser/sync/BUILD.gn
+++ b/chrome/browser/sync/BUILD.gn
@@ -135,7 +135,7 @@ source_set("sync") {
@@ -103,7 +103,7 @@ source_set("sync") {
"//chrome/browser/password_manager/factories",
"//chrome/browser/plus_addresses",
"//chrome/browser/signin",
- "//chrome/browser/skills",
+ #"//chrome/browser/skills",
"//chrome/browser/subscription_eligibility",
"//chrome/browser/ui/sync",
"//chrome/browser/ui/toolbar",
@@ -146,7 +146,7 @@ source_set("sync") {
"//components/saved_tab_groups/public",
"//components/send_tab_to_self",
"//components/sharing_message",
@@ -382,19 +440,10 @@ diff --git a/chrome/browser/sync/BUILD.gn b/chrome/browser/sync/BUILD.gn
"//components/spellcheck:buildflags",
"//components/spellcheck/browser",
"//components/strings:components_strings_grit",
@@ -194,7 +194,7 @@ source_set("sync") {
]
deps += [
"//chrome/browser/accessibility/tree_fixing:prefs",
- "//chrome/browser/skills",
+ #"//chrome/browser/skills",
"//chrome/browser/ui/tabs:tab_strip",
"//chrome/browser/ui/tabs/saved_tab_groups",
]
diff --git a/chrome/browser/sync/test/integration/BUILD.gn b/chrome/browser/sync/test/integration/BUILD.gn
--- a/chrome/browser/sync/test/integration/BUILD.gn
+++ b/chrome/browser/sync/test/integration/BUILD.gn
@@ -246,7 +246,7 @@ source_set("sync_integration_tests_impl") {
@@ -254,7 +254,7 @@ source_set("sync_integration_tests_impl") {
"//chrome/browser/search_engines",
"//chrome/browser/send_tab_to_self",
"//chrome/browser/sharing",
@@ -403,18 +452,6 @@ diff --git a/chrome/browser/sync/test/integration/BUILD.gn b/chrome/browser/sync
"//chrome/browser/themes",
"//chrome/browser/ui:ui_features",
"//chrome/browser/ui/tabs/saved_tab_groups",
diff --git a/chrome/browser/ui/browser_window/internal/BUILD.gn b/chrome/browser/ui/browser_window/internal/BUILD.gn
--- a/chrome/browser/ui/browser_window/internal/BUILD.gn
+++ b/chrome/browser/ui/browser_window/internal/BUILD.gn
@@ -65,7 +65,7 @@ source_set("internal") {
"//chrome/browser/lens/region_search",
"//chrome/browser/media/router:media_router_feature",
"//chrome/browser/prefs",
- "//chrome/browser/skills:ui",
+ #"//chrome/browser/skills:ui",
"//chrome/browser/tab_group_sync:factories",
"//chrome/browser/ui:tab_search_feature",
"//chrome/browser/ui:ui_features",
diff --git a/chrome/browser/ui/pdf/BUILD.gn b/chrome/browser/ui/pdf/BUILD.gn
--- a/chrome/browser/ui/pdf/BUILD.gn
+++ b/chrome/browser/ui/pdf/BUILD.gn
@@ -429,7 +466,7 @@ diff --git a/chrome/browser/ui/pdf/BUILD.gn b/chrome/browser/ui/pdf/BUILD.gn
diff --git a/chrome/browser/ui/pdf/chrome_pdf_document_helper_client.cc b/chrome/browser/ui/pdf/chrome_pdf_document_helper_client.cc
--- a/chrome/browser/ui/pdf/chrome_pdf_document_helper_client.cc
+++ b/chrome/browser/ui/pdf/chrome_pdf_document_helper_client.cc
@@ -65,6 +65,7 @@ void LogGlicSummarizeMetrics(content::RenderFrameHost* render_frame_host) {
@@ -66,6 +66,7 @@ void LogGlicSummarizeMetrics(content::RenderFrameHost* render_frame_host) {
return;
}
@@ -437,7 +474,7 @@ diff --git a/chrome/browser/ui/pdf/chrome_pdf_document_helper_client.cc b/chrome
bool glic_enabled = glic::GlicEnabling::IsEnabledForProfile(
Profile::FromBrowserContext(web_contents_to_use->GetBrowserContext()));
base::UmaHistogramBoolean("PDF.GlicEnabled", glic_enabled);
@@ -73,6 +74,7 @@ void LogGlicSummarizeMetrics(content::RenderFrameHost* render_frame_host) {
@@ -74,6 +75,7 @@ void LogGlicSummarizeMetrics(content::RenderFrameHost* render_frame_host) {
web_contents_to_use->GetBrowserContext());
base::UmaHistogramBoolean("PDF.GlicSummarizeButtonEnabled",
glic_summarize_button_enabled);
@@ -448,82 +485,59 @@ diff --git a/chrome/browser/ui/pdf/chrome_pdf_document_helper_client.cc b/chrome
diff --git a/chrome/browser/ui/tabs/alert/tab_alert_controller.cc b/chrome/browser/ui/tabs/alert/tab_alert_controller.cc
--- a/chrome/browser/ui/tabs/alert/tab_alert_controller.cc
+++ b/chrome/browser/ui/tabs/alert/tab_alert_controller.cc
@@ -178,8 +178,8 @@ std::u16string TabAlertController::GetTabAlertStateText(
@@ -173,12 +173,14 @@ std::u16string TabAlertController::GetTabAlertStateText(
case TabAlert::kActorWaitingOnUser:
return l10n_util::GetStringUTF16(
IDS_TOOLTIP_TAB_ALERT_STATE_ACTOR_ACCESSING);
- case TabAlert::kGlicAccessing:
#if BUILDFLAG(ENABLE_GLIC)
+ case TabAlert::kGlicAccessing:
+#if BUILDFLAG(ENABLE_GLIC)
case TabAlert::kGlicAccessing:
return l10n_util::GetStringUTF16(
IDS_TOOLTIP_TAB_ALERT_STATE_GLIC_ACCESSING);
case TabAlert::kGlicSharing:
diff --git a/chrome/browser/ui/toasts/BUILD.gn b/chrome/browser/ui/toasts/BUILD.gn
--- a/chrome/browser/ui/toasts/BUILD.gn
+++ b/chrome/browser/ui/toasts/BUILD.gn
@@ -52,7 +52,7 @@ source_set("impl") {
"//chrome/browser/actor/resources:common_resources",
"//chrome/browser/actor/resources:grit",
"//chrome/browser/profiles:profile",
- "//chrome/browser/skills:ui",
+ #"//chrome/browser/skills:ui",
"//chrome/browser/ui:browser_element_identifiers",
"//chrome/browser/ui/tabs/saved_tab_groups",
"//chrome/browser/ui/views/interaction",
return l10n_util::GetStringUTF16(
IDS_TOOLTIP_TAB_ALERT_STATE_GLIC_SHARING);
+#endif
}
NOTREACHED();
}
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
@@ -55,6 +55,7 @@ buildflag_header("buildflags") {
"ENABLE_BACKGROUND_CONTENTS=$enable_background_contents",
"ENABLE_CHROME_NOTIFICATIONS=$enable_chrome_notifications",
"ENABLE_DOWNGRADE_PROCESSING=$enable_downgrade_processing",
+ "ENABLE_GLIC=$enable_glic",
"ENABLE_HANGOUT_SERVICES_EXTENSION=$enable_hangout_services_extension",
"ENABLE_PDF_SAVE_TO_DRIVE=$enable_pdf_save_to_drive",
"ENABLE_SERVICE_DISCOVERY=$enable_service_discovery",
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
@@ -507,12 +507,16 @@ BASE_FEATURE(kGlicTrustFirstOnboarding, base::FEATURE_DISABLED_BY_DEFAULT);
const base::FeatureParam<int> kGlicTrustFirstOnboardingArmParam{
&kGlicTrustFirstOnboarding, "arm", 1 /* kStartChat */};
+#if !BUILDFLAG(ENABLE_GLIC)
+BASE_FEATURE(kGlic, base::FEATURE_DISABLED_BY_DEFAULT);
+#endif
#if BUILDFLAG(ENABLE_GLIC)
// Controls whether the Glic feature is enabled.
// IMPORTANT: this feature should never be expired! It is used as the main
// kill-switch for Glic and can be used in the future to handle unsupported
// Chrome versions.
BASE_FEATURE(kGlic, base::FEATURE_DISABLED_BY_DEFAULT);
@@ -525,6 +525,7 @@ BASE_FEATURE(kGlic,
base::FEATURE_DISABLED_BY_DEFAULT
#endif
);
+SET_CROMITE_FEATURE_DISABLED(kGlic);
// Controls whether the Glic feature is always detached.
BASE_FEATURE(kGlicDetached, base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/chrome/common/chrome_features.h b/chrome/common/chrome_features.h
--- a/chrome/common/chrome_features.h
+++ b/chrome/common/chrome_features.h
@@ -371,13 +371,13 @@ BASE_DECLARE_FEATURE(kGlicTrustFirstOnboarding);
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::FeatureParam<int> kGlicTrustFirstOnboardingArmParam;
-#if BUILDFLAG(ENABLE_GLIC)
// Controls whether the Glic feature is enabled.
// IMPORTANT: this feature should never be expired! It is used as the main
// kill-switch for Glic and can be used in the future to handle unsupported
// Chrome versions.
COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kGlic);
+#if BUILDFLAG(ENABLE_GLIC)
COMPONENT_EXPORT(CHROME_FEATURES)
BASE_DECLARE_FEATURE(kGlicDevelopmentSyncGoogleCookies);
COMPONENT_EXPORT(CHROME_FEATURES)
diff --git a/chrome/common/features.gni b/chrome/common/features.gni
--- a/chrome/common/features.gni
+++ b/chrome/common/features.gni
@@ -46,7 +46,7 @@ declare_args() {
@@ -45,6 +45,8 @@ declare_args() {
# Enables usage of notifications via Chrome's MessageCenter.
enable_chrome_notifications = is_mac || is_win || is_linux
# Enables inclusion of glic in the build.
- enable_glic = is_mac || is_win || is_linux || is_chromeos || is_android
+ enable_glic = is_mac || is_win || is_linux || is_chromeos
+
# Skips unmigrated actor files in the build on Android. This is temporary, and
# will eventually be removed once migration is done. Adding this flag likely
# means the code needs to be adapted for Android. Once adapted, the final code
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -1976,7 +1976,7 @@ if (is_android) {
@@ -2028,7 +2028,7 @@ if (is_android) {
"//chrome/browser/content_settings:content_settings_factory",
"//chrome/browser/enterprise/data_controls",
"//chrome/browser/flags:flags_android",
@@ -535,7 +549,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
diff --git a/components/browser_sync/BUILD.gn b/components/browser_sync/BUILD.gn
--- a/components/browser_sync/BUILD.gn
+++ b/components/browser_sync/BUILD.gn
@@ -49,7 +49,7 @@ static_library("browser_sync") {
@@ -50,7 +50,7 @@ static_library("browser_sync") {
"//components/send_tab_to_self",
"//components/sharing_message",
"//components/skills:features",
@@ -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
@@ -547,6 +547,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
@@ -521,6 +521,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
WebRuntimeFeatures::EnableV8IdleTasks(true);
}
@@ -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
@@ -4420,14 +4420,10 @@
@@ -4556,14 +4556,10 @@
base_feature: "none",
},
{
@@ -32,7 +32,7 @@ diff --git a/chrome/browser/share/android/java/src/org/chromium/chrome/browser/s
diff --git a/chrome/browser/ui/android/ephemeraltab/java/src/org/chromium/chrome/browser/ephemeraltab/EphemeralTabSheetContent.java b/chrome/browser/ui/android/ephemeraltab/java/src/org/chromium/chrome/browser/ephemeraltab/EphemeralTabSheetContent.java
--- a/chrome/browser/ui/android/ephemeraltab/java/src/org/chromium/chrome/browser/ephemeraltab/EphemeralTabSheetContent.java
+++ b/chrome/browser/ui/android/ephemeraltab/java/src/org/chromium/chrome/browser/ephemeraltab/EphemeralTabSheetContent.java
@@ -239,9 +239,7 @@ public class EphemeralTabSheetContent implements BottomSheetContent {
@@ -256,9 +256,7 @@ public class EphemeralTabSheetContent implements BottomSheetContent {
if (url == null) {
originView.setText("");
} else {
@@ -56,7 +56,7 @@ diff --git a/chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.cc b/c
diff --git a/chrome/browser/ui/views/page_info/page_info_main_view.cc b/chrome/browser/ui/views/page_info/page_info_main_view.cc
--- a/chrome/browser/ui/views/page_info/page_info_main_view.cc
+++ b/chrome/browser/ui/views/page_info/page_info_main_view.cc
@@ -600,39 +600,42 @@ void PageInfoMainView::ChildPreferredSizeChanged(views::View* child) {
@@ -625,39 +625,42 @@ void PageInfoMainView::ChildPreferredSizeChanged(views::View* child) {
}
std::unique_ptr<views::View> PageInfoMainView::CreateBubbleHeaderView() {
@@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/ui/accessibility/android/java/src/org/chromium/ui/accessibility/AccessibilityState.java b/ui/accessibility/android/java/src/org/chromium/ui/accessibility/AccessibilityState.java
--- a/ui/accessibility/android/java/src/org/chromium/ui/accessibility/AccessibilityState.java
+++ b/ui/accessibility/android/java/src/org/chromium/ui/accessibility/AccessibilityState.java
@@ -520,7 +520,7 @@ public class AccessibilityState {
@@ -545,7 +545,7 @@ public class AccessibilityState {
/** Returns whether the user settings specify preferred reduced motion. */
@CalledByNative
public static boolean prefersReducedMotion() {
@@ -50,7 +50,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
@@ -4203,6 +4203,10 @@
@@ -4317,6 +4317,10 @@
name: "PrefersReducedData",
status: "experimental",
},
@@ -24,7 +24,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -505,15 +505,6 @@ by a child template that "extends" this file.
@@ -507,15 +507,6 @@ by a child template that "extends" this file.
android:excludeFromRecents="true"
android:exported="false" />
+9 -9
View File
@@ -45,7 +45,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
@@ -1736,7 +1736,6 @@ if (_is_default_toolchain) {
@@ -1754,7 +1754,6 @@ if (_is_default_toolchain) {
java_group("chrome_public_non_pak_assets") {
deps = [
"//chrome/android/webapk/libs/runtime_library:runtime_library_assets",
@@ -56,7 +56,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
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
@@ -3495,6 +3495,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed(
@@ -3567,6 +3567,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* destination_origin,
const url::Origin* reporting_origin,
bool* can_bypass) {
@@ -66,7 +66,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
Profile* profile = Profile::FromBrowserContext(browser_context);
auto* privacy_sandbox_settings =
@@ -8162,7 +8165,7 @@ bool ChromeContentBrowserClient::ShouldDisableOriginAgentClusterDefault(
@@ -8268,7 +8271,7 @@ bool ChromeContentBrowserClient::ShouldDisableOriginAgentClusterDefault(
}
bool ChromeContentBrowserClient::WillProvidePublicFirstPartySets() {
@@ -110,7 +110,7 @@ diff --git a/chrome/browser/first_party_sets/first_party_sets_policy_service.cc
diff --git a/chrome/browser/privacy_sandbox/BUILD.gn b/chrome/browser/privacy_sandbox/BUILD.gn
--- a/chrome/browser/privacy_sandbox/BUILD.gn
+++ b/chrome/browser/privacy_sandbox/BUILD.gn
@@ -161,7 +161,6 @@ if (!is_android) {
@@ -162,7 +162,6 @@ if (!is_android) {
"//components/privacy_sandbox:test_support",
"//components/privacy_sandbox/privacy_sandbox_attestations",
"//components/privacy_sandbox/privacy_sandbox_attestations:metrics",
@@ -164,7 +164,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/cookies_page.ts b/ch
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -2078,8 +2078,6 @@ if (is_android) {
@@ -2129,8 +2129,6 @@ if (is_android) {
"//components/privacy_sandbox/privacy_sandbox_attestations",
"//components/privacy_sandbox/privacy_sandbox_attestations:metrics",
"//components/privacy_sandbox/privacy_sandbox_attestations:test_support",
@@ -287,7 +287,7 @@ diff --git a/components/privacy_sandbox/privacy_sandbox_attestations/privacy_san
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
@@ -142,4 +142,7 @@ BASE_FEATURE(kPrivacySandboxAdsApiUxEnhancements,
@@ -120,4 +120,7 @@ BASE_FEATURE(kPrivacySandboxAdsApiUxEnhancements,
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kPrivacySandboxNoticeFramework, base::FEATURE_DISABLED_BY_DEFAULT);
@@ -422,7 +422,7 @@ diff --git a/components/signin/public/android/java/src/org/chromium/components/s
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
@@ -114,7 +114,7 @@ AccountCapabilities::can_make_chrome_search_engine_choice_screen_choice()
@@ -113,7 +113,7 @@ AccountCapabilities::can_make_chrome_search_engine_choice_screen_choice()
#if !BUILDFLAG(IS_IOS)
signin::Tribool AccountCapabilities::can_run_chrome_privacy_sandbox_trials()
const {
@@ -453,7 +453,7 @@ diff --git a/content/browser/shared_storage/shared_storage_document_service_impl
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
@@ -1717,7 +1717,7 @@ bool ContentBrowserClient::ShouldPreconnectNavigation(
@@ -1746,7 +1746,7 @@ bool ContentBrowserClient::ShouldPreconnectNavigation(
}
bool ContentBrowserClient::IsFirstPartySetsEnabled() {
@@ -489,7 +489,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
@@ -2641,6 +2641,7 @@ BASE_FEATURE(kUnframedIwa, base::FEATURE_DISABLED_BY_DEFAULT);
@@ -2709,6 +2709,7 @@ BASE_FEATURE(kUnframedIwa, base::FEATURE_DISABLED_BY_DEFAULT);
// constants for features in the section above.
bool IsAllowURNsInIframeEnabled() {
@@ -120,7 +120,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fonts/FontPrelo
diff --git a/chrome/browser/resources/side_panel/read_anything/app/read_anything_toolbar.ts b/chrome/browser/resources/side_panel/read_anything/app/read_anything_toolbar.ts
--- a/chrome/browser/resources/side_panel/read_anything/app/read_anything_toolbar.ts
+++ b/chrome/browser/resources/side_panel/read_anything/app/read_anything_toolbar.ts
@@ -429,9 +429,7 @@ export class ReadAnythingToolbarElement extends ReadAnythingToolbarElementBase {
@@ -461,9 +461,7 @@ export class ReadAnythingToolbarElement extends ReadAnythingToolbarElementBase {
const link = document.createElement('link');
link.rel = 'preload';
link.as = 'style';
@@ -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
@@ -1347,11 +1347,7 @@ HttpStreamFactory::JobController::GetAdvertisedAltSvcInternal(
@@ -1430,11 +1430,7 @@ HttpStreamFactory::JobController::GetAdvertisedAltSvcInternal(
// 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;
}
@@ -1395,8 +1391,7 @@ HttpStreamFactory::JobController::GetAdvertisedAltSvcInternal(
@@ -1478,8 +1474,7 @@ HttpStreamFactory::JobController::GetAdvertisedAltSvcInternal(
GURL destination = CreateAltSvcUrl(
request_info.url, alternative_service_info.GetHostPortPair());
+35 -16
View File
@@ -4,26 +4,27 @@ Subject: Disable safety check
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/android/BUILD.gn | 5 ----
chrome/android/BUILD.gn | 5 ---
chrome/android/chrome_java_sources.gni | 1 -
.../android/java/res/xml/main_preferences.xml | 2 +-
.../PasswordCheckupLauncher.java | 25 ----------------
.../settings/FragmentDependencyProvider.java | 29 -------------------
.../PasswordCheckupLauncher.java | 25 -------------
.../settings/FragmentDependencyProvider.java | 35 -------------------
.../chrome/browser/settings/MainSettings.java | 2 +-
.../settings/SettingsNavigationImpl.java | 3 +-
.../search/SearchIndexProviderRegistry.java | 2 --
chrome/browser/BUILD.gn | 1 -
.../privacy_page/privacy_page_index.ts | 2 +-
chrome/browser/safety_check/android/BUILD.gn | 2 --
.../safety_check/SafetyCheckBridge.java | 4 +--
.../suggestions/action/OmniboxPedal.java | 3 --
.../Disable-safety-check.inc | 1 +
13 files changed, 6 insertions(+), 74 deletions(-)
14 files changed, 7 insertions(+), 81 deletions(-)
create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-safety-check.inc
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -458,7 +458,6 @@ if (_is_default_toolchain) {
@@ -467,7 +467,6 @@ if (_is_default_toolchain) {
"//chrome/browser/recent_tabs:java",
"//chrome/browser/regional_capabilities/android:java",
"//chrome/browser/safe_browsing/android:java",
@@ -31,7 +32,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",
@@ -1147,8 +1146,6 @@ if (_is_default_toolchain) {
@@ -1161,8 +1160,6 @@ if (_is_default_toolchain) {
"//chrome/browser/recent_tabs:junit",
"//chrome/browser/recent_tabs/internal:junit",
"//chrome/browser/safe_browsing/android:junit",
@@ -40,7 +41,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//chrome/browser/search_engines/android:junit",
"//chrome/browser/search_resumption:junit",
"//chrome/browser/serial/android:junit",
@@ -1460,8 +1457,6 @@ if (_is_default_toolchain) {
@@ -1478,8 +1475,6 @@ if (_is_default_toolchain) {
"//chrome/browser/quick_delete:javatests",
"//chrome/browser/renderer_host/android:javatests",
"//chrome/browser/safe_browsing/android:javatests",
@@ -52,7 +53,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
@@ -1001,7 +1001,6 @@ chrome_java_sources = [
@@ -1015,7 +1015,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/SafeBrowsingSettingsNavigation.java",
@@ -124,7 +125,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/FragmentDependencyProvider.java
@@ -34,13 +34,6 @@ import org.chromium.chrome.browser.privacy_guide.PrivacyGuideFragment;
@@ -38,13 +38,6 @@ import org.chromium.chrome.browser.privacy_guide.PrivacyGuideFragment;
import org.chromium.chrome.browser.privacy_sandbox.PrivacySandboxSettingsBaseFragment;
import org.chromium.chrome.browser.privacy_sandbox.TopicsManageFragment;
import org.chromium.chrome.browser.profiles.Profile;
@@ -138,7 +139,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme
import org.chromium.chrome.browser.search_engines.settings.SearchEngineSettings;
import org.chromium.chrome.browser.settings.search.SettingsSearchCoordinator;
import org.chromium.chrome.browser.signin.SigninAndHistorySyncActivityLauncherImpl;
@@ -137,17 +130,6 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
@@ -152,17 +145,6 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
delegate.setSnackbarManagerSupplier(mSnackbarManagerSupplier);
baseSiteSettingsFragment.setSiteSettingsDelegate(delegate);
}
@@ -156,14 +157,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme
if (fragment instanceof CredentialEntryFragmentViewBase) {
CredentialEditUiFactory.create((CredentialEntryFragmentViewBase) fragment, mProfile);
}
@@ -218,14 +200,6 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
.setModalDialogManagerSupplier(
(Supplier<@Nullable ModalDialogManager>) mModalDialogManagerSupplier);
@@ -230,20 +212,6 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
((AutofillLocalIbanEditor) fragment)
.setModalDialogManagerSupplier(mModalDialogManagerSupplier);
}
- if (fragment instanceof SafetyHubFragment safetyHubFragment) {
- safetyHubFragment.setDelegate(
- new SafetyHubModuleDelegateImpl(
- assumeNonNull(mWindowAndroidSupplier.get()),
- mActivity,
- mActivityResultTracker,
- DeviceLockActivityLauncherImpl.get(),
- mProfile,
- assumeNonNull(mSnackbarManagerSupplier.get()),
- mBottomSheetControllerSupplier,
- mModalDialogManagerSupplier.asNonNull(),
- SigninAndHistorySyncActivityLauncherImpl.get(),
- new SettingsCustomTabLauncherImpl()));
@@ -171,7 +178,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme
if (fragment instanceof INeedSnackbarManager) {
((INeedSnackbarManager)fragment).setSnackbarManagerSupplier(mSnackbarManagerSupplier);
}
@@ -240,8 +214,5 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
@@ -258,8 +226,5 @@ public class FragmentDependencyProvider extends FragmentManager.FragmentLifecycl
if (fragment instanceof ManageSyncSettings) {
((ManageSyncSettings) fragment).setSnackbarManagerSupplier(mSnackbarManagerSupplier);
}
@@ -183,7 +190,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Fragme
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
@@ -385,7 +385,7 @@ public class MainSettings extends ChromeBaseSettingsFragment
@@ -386,7 +386,7 @@ public class MainSettings extends ChromeBaseSettingsFragment
}
private static boolean shouldShowSafetyHubPref() {
@@ -227,7 +234,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/search
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3395,7 +3395,6 @@ static_library("browser") {
@@ -3291,7 +3291,6 @@ static_library("browser") {
"//chrome/browser/recent_tabs:jni_headers",
"//chrome/browser/regional_capabilities",
"//chrome/browser/safe_browsing/android:safe_browsing_enums",
@@ -235,6 +242,18 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"//chrome/browser/safety_hub/android",
"//chrome/browser/search_resumption:jni_headers",
"//chrome/browser/serial/android:jni_headers",
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts b/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts
--- a/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts
@@ -246,7 +246,7 @@ export class SettingsPrivacyPageIndexElement extends
}
if (this.showPage_(this.pageVisibility_.safetyHub)) {
- defaultViews.push('safetyHubEntryPoint');
+ // defaultViews.push('safetyHubEntryPoint');
}
return defaultViews;
diff --git a/chrome/browser/safety_check/android/BUILD.gn b/chrome/browser/safety_check/android/BUILD.gn
--- a/chrome/browser/safety_check/android/BUILD.gn
+++ b/chrome/browser/safety_check/android/BUILD.gn
@@ -45,7 +45,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
@@ -283,6 +283,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -285,6 +285,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCCTFreInSameTask,
&kCCTGoogleBottomBar,
&kCCTGoogleBottomBarVariantLayouts,
@@ -56,7 +56,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
@@ -613,6 +613,7 @@ public abstract class ChromeFeatureList {
@@ -618,6 +618,7 @@ public abstract class ChromeFeatureList {
public static final String SEARCH_IN_SETTINGS = "SearchInSettings";
public static final String SEARCH_RESUMPTION_MODULE_ANDROID = "SearchResumptionModuleAndroid";
public static final String SEED_ACCOUNTS_REVAMP = "SeedAccountsRevamp";
@@ -67,7 +67,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
@@ -996,7 +996,6 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
@@ -1002,7 +1002,6 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
public boolean canWebSearch() {
return hasSelection()
&& !isFocusedNodeEditable()
@@ -11,15 +11,15 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
@@ -1460,7 +1460,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
@@ -1510,7 +1510,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
site_isolation::prefs::kWebTriggeredIsolatedOrigins);
registry->RegisterDictionaryPref(
prefs::kDevToolsBackgroundServicesExpirationDict);
- registry->RegisterBooleanPref(prefs::kSignedHTTPExchangeEnabled, true);
+ registry->RegisterBooleanPref(prefs::kSignedHTTPExchangeEnabled, false);
#if !BUILDFLAG(IS_ANDROID)
registry->RegisterBooleanPref(prefs::kAutoplayAllowed, false);
registry->RegisterListPref(prefs::kAutoplayAllowlist);
#if !BUILDFLAG(IS_ANDROID)
diff --git a/content/browser/web_package/signed_exchange_utils.cc b/content/browser/web_package/signed_exchange_utils.cc
--- a/content/browser/web_package/signed_exchange_utils.cc
+++ b/content/browser/web_package/signed_exchange_utils.cc
@@ -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
@@ -1426,7 +1426,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient(
@@ -1402,7 +1402,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient(
std::unique_ptr<media::SpeechRecognitionClient>
ChromeContentRendererClient::CreateSpeechRecognitionClient(
content::RenderFrame* render_frame) {
@@ -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
@@ -379,7 +379,7 @@ void PrefsTabHelper::RegisterProfilePrefs(
@@ -385,7 +385,7 @@ void PrefsTabHelper::RegisterProfilePrefs(
prefs::kEnableReferrers,
!base::FeatureList::IsEnabled(features::kNoReferrers));
registry->RegisterBooleanPref(prefs::kEnableEncryptedMedia, true);
@@ -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
@@ -278,6 +278,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
@@ -253,6 +253,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
{wf::EnableTouchDragAndDrop, raw_ref(features::kTouchDragAndDrop)},
{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
@@ -4974,9 +4974,14 @@ void Document::SetURL(const KURL& url) {
@@ -4966,9 +4966,14 @@ void Document::SetURL(const KURL& url) {
TRACE_EVENT("blink", "Document::SetURL", perfetto::Flow::FromPointer(this),
"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
@@ -5431,10 +5431,9 @@
@@ -5635,10 +5635,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
@@ -9948,7 +9948,6 @@ void NavigationRequest::SetSourceSiteInstanceToInitiatorIfNeeded() {
@@ -9994,7 +9994,6 @@ void NavigationRequest::SetSourceSiteInstanceToInitiatorIfNeeded() {
void NavigationRequest::ForceEnableOriginTrials(
const std::vector<std::string>& trials) {
DCHECK(!HasCommitted());
@@ -116,7 +116,7 @@ diff --git a/content/browser/renderer_host/origin_trial_state_host_impl.cc b/con
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -533,10 +533,6 @@ void FillNavigationParamsRequest(
@@ -530,10 +530,6 @@ void FillNavigationParamsRequest(
common_params.initiator_origin.value();
}
@@ -127,7 +127,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
navigation_params->was_discarded = commit_params.was_discarded;
navigation_params->document_ukm_source_id =
commit_params.document_ukm_source_id;
@@ -559,8 +555,8 @@ void FillNavigationParamsRequest(
@@ -556,8 +552,8 @@ void FillNavigationParamsRequest(
navigation_params->had_transient_user_activation =
common_params.has_possibly_filtered_user_gesture;
@@ -138,7 +138,7 @@ diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_fra
navigation_params->early_hints_preloaded_resources = base::ToVector(
commit_params.early_hints_preloaded_resources, blink::ToWebURL);
@@ -647,7 +643,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
@@ -645,7 +641,7 @@ blink::mojom::CommonNavigationParamsPtr MakeCommonNavigationParams(
info->url_request.HasUserGesture(),
info->url_request.HasTextFragmentToken(),
info->should_check_main_world_content_security_policy,
@@ -190,7 +190,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
@@ -198,13 +198,6 @@ namespace {
@@ -200,13 +200,6 @@ namespace {
Vector<mojom::blink::OriginTrialFeature> CopyInitiatorOriginTrials(
const std::vector<int>& initiator_origin_trial_features) {
Vector<mojom::blink::OriginTrialFeature> result;
@@ -204,7 +204,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
return result;
}
@@ -218,16 +211,13 @@ std::vector<int> CopyInitiatorOriginTrials(
@@ -220,16 +213,13 @@ std::vector<int> CopyInitiatorOriginTrials(
Vector<String> CopyForceEnabledOriginTrials(
const std::vector<WebString>& force_enabled_origin_trials) {
Vector<String> result;
@@ -223,7 +223,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
}
bool IsPagePopupRunningInWebTest(LocalFrame* frame) {
@@ -3240,10 +3230,6 @@ void DocumentLoader::CreateParserPostCommit() {
@@ -3296,10 +3286,6 @@ void DocumentLoader::CreateParserPostCommit() {
mojom::blink::OriginTrialFeature::kTouchEventFeatureDetection);
}
+4 -4
View File
@@ -93,7 +93,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -1247,7 +1247,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -1254,7 +1254,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
#endif // BUILDFLAG(IS_CHROMEOS)
registry->RegisterBooleanPref(metrics::prefs::kMetricsReportingEnabled,
@@ -105,7 +105,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -1406,7 +1406,6 @@ ChromeContentBrowserClient::ChromeContentBrowserClient() {
@@ -1456,7 +1456,6 @@ ChromeContentBrowserClient::ChromeContentBrowserClient() {
extra_parts_.push_back(
std::make_unique<android::ChromeContentBrowserClientGuestViewPart>());
#endif
@@ -116,8 +116,8 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/chrome/browser/chrome_content_browser_client_navigation_throttles.cc b/chrome/browser/chrome_content_browser_client_navigation_throttles.cc
--- a/chrome/browser/chrome_content_browser_client_navigation_throttles.cc
+++ b/chrome/browser/chrome_content_browser_client_navigation_throttles.cc
@@ -18,7 +18,6 @@
#include "chrome/browser/first_party_sets/first_party_sets_navigation_throttle.h"
@@ -19,7 +19,6 @@
#include "chrome/browser/glic/glic_navigation_throttle.h"
#include "chrome/browser/history/history_service_factory.h"
#include "chrome/browser/interstitials/enterprise_util.h"
-#include "chrome/browser/lookalikes/lookalike_url_navigation_throttle.h"
@@ -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
@@ -243,7 +243,7 @@ VisitedLinkWriter::VisitedLinkWriter(content::BrowserContext* browser_context,
@@ -233,7 +233,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,
@@ -253,10 +253,10 @@ VisitedLinkWriter::VisitedLinkWriter(Listener* listener,
@@ -243,10 +243,10 @@ VisitedLinkWriter::VisitedLinkWriter(Listener* listener,
int32_t default_table_size)
: delegate_(delegate),
listener_(listener),
@@ -35,15 +35,15 @@ diff --git a/components/visitedlink/browser/visitedlink_writer.cc b/components/v
DCHECK(listener_);
}
@@ -326,6 +326,7 @@ void VisitedLinkWriter::AddURL(const GURL& url, bool update_file) {
@@ -316,6 +316,7 @@ void VisitedLinkWriter::AddURL(const GURL& url, bool update_file) {
}
VisitedLinkWriter::Hash VisitedLinkWriter::TryToAddURL(const GURL& url) {
+ if ((true)) return null_hash_;
+ if ((true)) return kNullHash;
// Extra check that we are not incognito. This should not happen.
// TODO(boliu): Move this check to HistoryService when IsOffTheRecord is
// removed from BrowserContext.
@@ -1058,7 +1059,6 @@ bool VisitedLinkWriter::RebuildTableFromDelegate() {
@@ -1022,7 +1023,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
@@ -76,6 +76,7 @@ bool VisitedLinkCommon::IsVisited(const GURL& link_url,
@@ -72,6 +72,7 @@ bool VisitedLinkCommon::IsVisited(const GURL& link_url,
}
bool VisitedLinkCommon::IsVisited(Fingerprint fingerprint) const {
@@ -9,7 +9,7 @@ Subject: Disallow Android App Scheme as referrer
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
@@ -557,11 +557,6 @@ void ChromeContentRendererClient::RenderThreadStarted() {
@@ -563,11 +563,6 @@ void ChromeContentRendererClient::RenderThreadStarted() {
// TODO(nyquist): Add test to ensure this happens when the flag is set.
WebSecurityPolicy::RegisterURLSchemeAsDisplayIsolated(dom_distiller_scheme);

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