Rebase to 143 (#2522)

Rebase to 143
This commit is contained in:
uazo
2025-12-02 15:50:46 +00:00
committed by GitHub
227 changed files with 4224 additions and 7457 deletions
+1 -1
View File
@@ -1 +1 @@
142.0.7444.176
143.0.7499.40
+1 -2
View File
@@ -287,7 +287,6 @@ Disable-Posture-API.patch
PublicKeyCredential-fingerprinting-mitigations.patch
Disable-Web-Bluetooth-by-default-in-desktop-platforms.patch
Enable-Cert-Management-UI.patch
Enable-ProcessBoundStringEncryption-by-default.patch
Prevent-mouse-wheel-fingerprinting-on-Windows.patch
Enable-component-updater.patch
Android-fonts-fingerprinting-mitigation.patch
@@ -331,5 +330,5 @@ Eyeo-Adblock-for-Cromite.patch
# extension patches
Experimental-support-for-extensions-on-Android.patch
Backport-v143-android-extensions-changes.patch
Backport-v144-android-extensions-changes.patch
Enable-extension-in-incognito.patch
@@ -20,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -242,6 +242,7 @@ import org.chromium.content_public.browser.LoadUrlParams;
@@ -249,6 +249,7 @@ import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.browser.SelectionPopupController;
import org.chromium.content_public.browser.WebContents;
import org.chromium.content_public.common.ContentSwitches;
@@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.printing.PrintManagerDelegateImpl;
import org.chromium.printing.PrintingController;
import org.chromium.printing.PrintingControllerImpl;
@@ -1004,6 +1005,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -1082,6 +1083,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
super.onStartWithNative();
ChromeActivitySessionTracker.getInstance().onStartWithNative(getProfileProviderSupplier());
@@ -40,26 +40,26 @@ 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
@@ -185,6 +185,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -194,6 +194,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&feed::kFeedPerformanceStudy,
&feed::kFeedShowSignInCommand,
&feed::kFeedSignedOutViewDemotion,
+ &kAllowUserCertificates,
&feed::kFeedRecyclerBinderUnmountOnDetach,
&feed::kFeedShowSignInCommand,
+ &kAllowUserCertificates,
&feed::kFeedSignedOutViewDemotion,
&feed::kInterestFeedV2,
&feed::kWebFeedAwareness,
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
@@ -164,6 +164,7 @@ public abstract class ChromeFeatureList {
@@ -166,6 +166,7 @@ public abstract class ChromeFeatureList {
"AccountForSuppressedKeyboardInsets";
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_CUSTOMIZATION_V2 =
"AdaptiveButtonInTopToolbarCustomizationV2";
+ public static final String ALLOW_USER_CERTIFICATES = "AllowUserCertificates";
public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_PAGE_SUMMARY =
"AdaptiveButtonInTopToolbarPageSummary";
public static final String ALLOW_TAB_CLOSING_UPON_MINIMIZATION =
@@ -807,6 +808,8 @@ public abstract class ChromeFeatureList {
public static final String ANDROID_ANIMATED_PROGRESS_BAR_IN_BROWSER =
@@ -805,6 +806,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,8 +68,8 @@ 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 =
@@ -1130,6 +1133,7 @@ public abstract class ChromeFeatureList {
sAllowTabClosingUponMinimization,
@@ -1128,6 +1131,7 @@ public abstract class ChromeFeatureList {
sAccountForSuppressedKeyboardInsets,
sAndroidAnimatedProgressBarInBrowser,
sAndroidAnimatedProgressBarInViz,
+ sAllowUserCertificates,
@@ -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
@@ -883,6 +883,12 @@ public class KeyboardShortcuts {
@@ -903,6 +903,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
@@ -188,6 +188,10 @@ bool IsReducePPMsEnabled() {
@@ -202,6 +202,10 @@ bool IsReducePPMsEnabled() {
return g_is_reduce_ppms_enabled.load(std::memory_order_relaxed);
}
@@ -17,7 +17,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -8924,9 +8924,9 @@
@@ -8954,9 +8954,9 @@
"expiry_milestone": 150
},
{
@@ -32,7 +32,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js
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
@@ -265,6 +265,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
@@ -264,6 +264,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
{wf::EnablePaymentApp, raw_ref(features::kServiceWorkerPaymentApps)},
{wf::EnablePeriodicBackgroundSync,
raw_ref(features::kPeriodicBackgroundSync)},
@@ -56,7 +56,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
@@ -37,4 +37,12 @@ bool IsGamepadMultitouchEnabled() {
@@ -40,4 +40,12 @@ bool IsGamepadMultitouchEnabled() {
return false;
}
@@ -72,10 +72,10 @@ diff --git a/device/gamepad/public/cpp/gamepad_features.cc b/device/gamepad/publ
diff --git a/device/gamepad/public/cpp/gamepad_features.h b/device/gamepad/public/cpp/gamepad_features.h
--- a/device/gamepad/public/cpp/gamepad_features.h
+++ b/device/gamepad/public/cpp/gamepad_features.h
@@ -15,8 +15,10 @@ GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(
GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(kEnableGamepadMultitouch);
@@ -16,8 +16,10 @@ GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(kEnableGamepadMultitouch);
GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(
kEnableSimulatedGamepadDataFetcher);
GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(kGamepadRawInputChangeEvent);
+GAMEPAD_FEATURES_EXPORT BASE_DECLARE_FEATURE(kRestrictGamepadAccess);
GAMEPAD_FEATURES_EXPORT bool IsGamepadMultitouchEnabled();
@@ -100,9 +100,9 @@ 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
@@ -229,6 +229,9 @@
@@ -233,6 +233,9 @@
<if expr="_google_chrome">
<include name="IDR_PREF_HASH_SEED_BIN" file="resources\settings\internal\pref_hash_seed.bin" type="BINDATA" />
<include name="IDR_ADDITIONAL_MODULE_IDS" file="${additional_modules_list_file}" use_base_dir="false" type="BINDATA" />
</if>
+ <!-- Bromite Proxy Configuration UI -->
+ <include name="IDR_PROXY_CONFIG_HTML" file="resources\proxy_config.html" flattenhtml="true" type="BINDATA" compress="gzip" />
@@ -197,7 +197,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
@@ -207,6 +207,8 @@
@@ -211,6 +211,8 @@
#include "printing/buildflags/buildflags.h"
#include "rlz/buildflags/buildflags.h"
@@ -206,7 +206,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
@@ -1749,6 +1751,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -1565,6 +1567,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
component_updater::RegisterPrefs(registry);
domain_reliability::RegisterPrefs(registry);
embedder_support::OriginTrialPrefs::RegisterPrefs(registry);
@@ -683,7 +683,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u
#if BUILDFLAG(ENABLE_WEBUI_CERTIFICATE_VIEWER)
#include "chrome/browser/ui/webui/certificate_viewer/certificate_viewer_ui.h"
#endif
@@ -426,7 +429,7 @@ void RegisterChromeWebUIConfigs() {
@@ -428,7 +431,7 @@ void RegisterChromeWebUIConfigs() {
map.AddWebUIConfig(std::make_unique<glic::GlicUIConfig>());
map.AddWebUIConfig(std::make_unique<glic::GlicFreUIConfig>());
#endif
@@ -1154,7 +1154,7 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
--- a/chrome/common/webui_url_constants.h
+++ b/chrome/common/webui_url_constants.h
@@ -190,6 +190,8 @@ inline constexpr char kChromeUINetInternalsHost[] = "net-internals";
@@ -191,6 +191,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";
@@ -1181,9 +1181,9 @@ diff --git a/components/proxy_config/pref_proxy_config_tracker_impl.cc b/compone
- ProxyConfigDictionary::CreateSystem());
+ ProxyConfigDictionary::CreateDirect());
registry->RegisterBooleanPref(proxy_config::prefs::kUseSharedProxies, false);
}
@@ -405,6 +405,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig(
registry->RegisterListPref(proxy_config::prefs::kProxyOverrideRules);
#if !BUILDFLAG(IS_CHROMEOS)
@@ -410,6 +410,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig(
if (proxy_dict.GetBypassList(&proxy_bypass)) {
proxy_config.proxy_rules().bypass_rules.ParseFromString(proxy_bypass);
}
+76 -110
View File
@@ -46,8 +46,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../tabbed_mode/TabbedRootUiCoordinator.java | 4 +-
.../browser/tabmodel/ChromeTabCreator.java | 5 +-
.../tabmodel/TabModelSelectorImpl.java | 3 +
.../browser/tabmodel/TabPersistentStore.java | 9 +
.../browser/toolbar/ToolbarManager.java | 3 +-
.../tabmodel/TabPersistentStoreImpl.java | 7 +
.../browser/toolbar/ToolbarManager.java | 1 +
.../webapps/WebappIntentDataProvider.java | 15 ++
.../browser/android/historical_tab_saver.cc | 24 ++-
.../chrome_autocomplete_provider_client.cc | 9 +
@@ -71,7 +71,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../browser/ui/native_page/NativePage.java | 17 +-
.../browser/omnibox/LocationBarMediator.java | 8 +
.../strings/android_chrome_strings.grd | 25 +++
.../browser/toolbar/LocationBarModel.java | 4 +-
chrome/browser/ui/messages/android/BUILD.gn | 1 +
.../snackbar/INeedSnackbarManager.java | 28 +++
.../search_engine_tab_helper.cc | 6 +
@@ -88,7 +87,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 +
69 files changed, 791 insertions(+), 103 deletions(-)
68 files changed, 785 insertions(+), 101 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
@@ -101,7 +100,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
@@ -638,6 +638,7 @@ chrome_java_resources = [
@@ -650,6 +650,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",
@@ -120,7 +119,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
"java/src/com/google/android/apps/chrome/appwidget/bookmarks/BookmarkThumbnailWidgetProvider.java",
"java/src/org/chromium/chrome/browser/ActivityTabProvider.java",
"java/src/org/chromium/chrome/browser/ActivityUtils.java",
@@ -925,6 +926,7 @@ chrome_java_sources = [
@@ -936,6 +937,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",
@@ -257,9 +256,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedAct
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.IntentHandler.ExternalAppId;
import org.chromium.chrome.browser.IntentHandler.TabOpenType;
import org.chromium.chrome.browser.app.ChromeActivity;
@@ -837,15 +841,20 @@ public class ChromeTabbedActivity extends ChromeActivity {
}
import org.chromium.chrome.browser.accessibility.settings.CaretBrowsingDialog;
@@ -825,15 +829,20 @@ public class ChromeTabbedActivity extends ChromeActivity {
BrowserWindowType.NORMAL, currentTabModel, mMultiInstanceManager);
// For saving non-incognito tab closures for Recent Tabs.
- mHistoricalTabModelObserver =
@@ -286,7 +285,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(
@@ -3299,7 +3308,7 @@ public class ChromeTabbedActivity extends ChromeActivity {
@@ -3274,7 +3283,7 @@ public class ChromeTabbedActivity extends ChromeActivity {
// We determine SupportedProfileType in onPreCreate().
// We determine the model as soon as possible so every systems get initialized coherently.
@@ -298,7 +297,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
@@ -100,6 +100,7 @@ import org.chromium.chrome.browser.compositor.layouts.content.TabContentManagerH
@@ -101,6 +101,7 @@ import org.chromium.chrome.browser.compositor.layouts.content.TabContentManagerH
import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
import org.chromium.chrome.browser.device.DeviceClassManager;
import org.chromium.chrome.browser.devtools.DevToolsWindowAndroid;
@@ -306,7 +305,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;
@@ -2076,6 +2077,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -2144,6 +2145,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
throw new IllegalStateException(
"Attempting to access TabCreator before initialization");
}
@@ -328,7 +327,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/appmenu/App
/**
* Base implementation of {@link AppMenuPropertiesDelegate} that handles hiding and showing menu
* items based on activity state.
@@ -635,8 +637,9 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
@@ -633,8 +635,9 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
&& !isNativePage
&& !isFileScheme
&& !isContentScheme
@@ -351,7 +350,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;
@@ -430,6 +431,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -437,6 +438,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
mShowEphemeralTabNewLabel = null;
mCustomActionMap.clear();
@@ -361,7 +360,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
List<ModelList> groupedItems = new ArrayList<>();
if (mParams.isPage() && shouldShowEmptySpaceContextMenu()) {
@@ -501,7 +505,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -508,7 +512,7 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
}
}
if (FirstRunStatus.getFirstRunFlowComplete()) {
@@ -422,7 +421,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;
@@ -224,6 +225,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -248,6 +249,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
openInChromeItemVisible = false;
tryAddingReadAloud = false;
}
@@ -445,7 +444,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;
@@ -1287,6 +1290,13 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@@ -1328,6 +1331,13 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
return getInitialActivityWidth() > 0;
}
@@ -585,7 +584,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
@@ -20,6 +20,14 @@ import org.chromium.components.embedder_support.util.UrlConstants;
@@ -21,6 +21,14 @@ import org.chromium.components.embedder_support.util.UrlConstants;
import java.util.function.Supplier;
@@ -600,8 +599,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/History
/** Native page for managing browsing history. */
@NullMarked
public class HistoryPage extends BasicNativePage {
@@ -49,6 +57,14 @@ public class HistoryPage extends BasicNativePage {
String url) {
@@ -51,6 +59,14 @@ public class HistoryPage extends BasicNativePage {
BackPressManager backPressManager) {
super(host);
+ if (profile.isOffTheRecord() &&
@@ -626,7 +625,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.app.download.home.DownloadPage;
import org.chromium.chrome.browser.back_press.BackPressManager;
@@ -396,7 +397,8 @@ public class NativePageFactory {
@@ -411,7 +412,8 @@ public class NativePageFactory {
NativePage page;
@@ -1006,7 +1005,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;
@@ -241,7 +242,8 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
@@ -242,7 +243,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.
@@ -1019,16 +1018,16 @@ 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
@@ -210,6 +210,8 @@ import org.chromium.content_public.common.ContentSwitches;
@@ -209,6 +209,8 @@ import org.chromium.content_public.common.ContentSwitches;
import org.chromium.ui.UiUtils;
import org.chromium.ui.base.ActivityWindowAndroid;
import org.chromium.ui.base.DeviceFormFactor;
+import org.chromium.base.ContextUtils;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.ui.base.IntentRequestTracker;
import org.chromium.ui.base.LocalizationUtils;
import org.chromium.ui.base.UiAndroidFeatureList;
import org.chromium.ui.display.DisplayUtil;
@@ -1281,7 +1283,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -1257,7 +1259,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
() -> {
mTabCreatorManagerSupplier
.get()
@@ -1040,7 +1039,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
@@ -56,6 +56,10 @@ import org.chromium.url.GURL;
@@ -55,6 +55,10 @@ import org.chromium.url.GURL;
import java.util.Collections;
import java.util.function.Supplier;
@@ -1049,9 +1048,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
+import org.chromium.chrome.browser.tab.TabObserver;
+
/** This class creates various kinds of new tabs and adds them to the right {@link TabModel}. */
@NullMarked
public class ChromeTabCreator extends TabCreator
@@ -587,7 +591,6 @@ public class ChromeTabCreator extends TabCreator
public class ChromeTabCreator implements TabCreator, NeedsTabModel, NeedsTabModelOrderController {
/**
@@ -594,7 +598,6 @@ public class ChromeTabCreator implements TabCreator, NeedsTabModel, NeedsTabMode
// TODO(crbug.com/40691614): Clean up the launches from SearchActivity/Chrome.
public @Nullable Tab launchUrlFromExternalApp(
LoadUrlParams loadUrlParams, String appId, boolean forceNewTab, Intent intent) {
@@ -1079,19 +1078,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabMod
TabCreator regularTabCreator = getTabCreatorManager().getTabCreator(false);
TabCreator incognitoTabCreator = getTabCreatorManager().getTabCreator(true);
mRecentlyClosedBridge =
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStore.java
@@ -61,6 +61,8 @@ import org.chromium.components.browser_ui.util.ConversionUtils;
import org.chromium.components.embedder_support.util.UrlUtilities;
import org.chromium.content_public.browser.LoadUrlParams;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistentStoreImpl.java
@@ -32,6 +32,7 @@ import org.chromium.base.task.TaskTraits;
import org.chromium.build.annotations.Initializer;
import org.chromium.build.annotations.NullMarked;
import org.chromium.build.annotations.Nullable;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
+
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
@@ -837,6 +839,13 @@ public class TabPersistentStore {
import org.chromium.chrome.browser.app.tabmodel.AsyncTabParamsManagerSingleton;
import org.chromium.chrome.browser.crypto.CipherFactory;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -750,6 +751,12 @@ public class TabPersistentStoreImpl implements TabPersistentStore {
}
}
}
@@ -1101,30 +1099,20 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
+ return;
+ }
+ }
+
TabModel model = mTabModelSelector.getModel(isIncognito);
if (model.isIncognito() != isIncognito) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
@@ -50,6 +50,7 @@ import org.chromium.base.supplier.OneshotSupplierImpl;
@@ -53,6 +53,7 @@ import org.chromium.build.annotations.Nullable;
import org.chromium.cc.input.BrowserControlsState;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
+import org.chromium.chrome.browser.AlwaysIncognitoLinkInterceptor;
import org.chromium.chrome.browser.IntentHandler;
import org.chromium.chrome.browser.app.tabwindow.TabWindowManagerSingleton;
import org.chromium.chrome.browser.back_press.BackPressManager;
@@ -869,7 +870,7 @@ public class ToolbarManager
return ret;
}
},
- mToolbarPositionSupplier);
+ mToolbarPositionSupplier, AlwaysIncognitoLinkInterceptor.isAlwaysIncognito());
mControlContainer = controlContainer;
mToolbarHairline = mControlContainer.findViewById(R.id.toolbar_hairline);
import org.chromium.chrome.browser.back_press.BackPressMetrics;
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
@@ -1186,7 +1174,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
using base::android::JavaParamRef;
using base::android::JavaRef;
using base::android::ScopedJavaLocalRef;
@@ -101,7 +106,8 @@ std::vector<std::optional<base::Uuid>> StringsToUuids(
@@ -89,7 +94,8 @@ std::vector<std::optional<base::Uuid>> StringsToUuids(
void CreateHistoricalTab(
TabAndroid* tab_android,
@@ -1196,7 +1184,7 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
if (!tab_android) {
return;
}
@@ -112,9 +118,14 @@ void CreateHistoricalTab(
@@ -100,9 +106,14 @@ void CreateHistoricalTab(
return;
}
@@ -1213,16 +1201,16 @@ diff --git a/chrome/browser/android/historical_tab_saver.cc b/chrome/browser/and
if (!service) {
return;
}
@@ -178,7 +189,7 @@ void CreateHistoricalBulkClosure(
@@ -166,7 +177,7 @@ void CreateHistoricalBulkClosure(
per_tab_optional_tab_group_ids,
std::vector<raw_ptr<TabAndroid, VectorExperimental>> tabs,
std::vector<TabAndroid*> tabs,
std::vector<WebContentsStateByteBuffer> web_contents_state) {
- DCHECK(model);
+ if (!model) return;
DCHECK_EQ(tab_group_ids.size(), group_titles.size());
DCHECK_EQ(tab_group_ids.size(), group_colors.size());
DCHECK_EQ(tab_group_ids.size(), tab_group_ids.size());
@@ -292,11 +303,12 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab(
@@ -280,11 +291,12 @@ static void JNI_HistoricalTabSaverImpl_CreateHistoricalTab(
JNIEnv* env,
const JavaParamRef<jobject>& jtab_android,
const JavaParamRef<jobject>& state,
@@ -1377,7 +1365,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"
@@ -614,6 +617,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
@@ -627,6 +630,13 @@ void HistoryTabHelper::TitleWasSet(NavigationEntry* entry) {
history::HistoryService* HistoryTabHelper::GetHistoryService() {
Profile* profile =
Profile::FromBrowserContext(web_contents()->GetBrowserContext());
@@ -1391,7 +1379,7 @@ diff --git a/chrome/browser/history/history_tab_helper.cc b/chrome/browser/histo
if (profile->IsOffTheRecord())
return nullptr;
@@ -621,6 +631,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
@@ -634,6 +644,16 @@ history::HistoryService* HistoryTabHelper::GetHistoryService() {
profile, ServiceAccessType::IMPLICIT_ACCESS);
}
@@ -1740,7 +1728,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
@@ -257,6 +257,7 @@
@@ -261,6 +261,7 @@
#if BUILDFLAG(IS_ANDROID)
#include "chrome/browser/accessibility/accessibility_prefs/android/accessibility_prefs_controller.h"
@@ -1748,7 +1736,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"
@@ -2203,6 +2204,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -2022,6 +2023,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
usage_stats::UsageStatsBridge::RegisterProfilePrefs(registry);
variations::VariationsService::RegisterProfilePrefs(registry);
webapps::InstallPromptPrefs::RegisterProfilePrefs(registry);
@@ -1813,7 +1801,7 @@ diff --git a/chrome/browser/profiles/profile_selections.h b/chrome/browser/profi
diff --git a/chrome/browser/ui/android/native_page/BUILD.gn b/chrome/browser/ui/android/native_page/BUILD.gn
--- a/chrome/browser/ui/android/native_page/BUILD.gn
+++ b/chrome/browser/ui/android/native_page/BUILD.gn
@@ -31,6 +31,8 @@ robolectric_library("junit") {
@@ -33,6 +33,8 @@ robolectric_library("junit") {
deps = [
":java",
@@ -1834,7 +1822,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
/** An interface for pages that will be using Android views instead of html/rendered Web content. */
@NullMarked
public interface NativePage {
@@ -187,7 +189,8 @@ public interface NativePage {
@@ -192,7 +194,8 @@ public interface NativePage {
*/
static boolean isNativePageUrl(GURL url, boolean isIncognito, boolean hasPdfDownload) {
return url != null
@@ -1844,7 +1832,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
}
/**
@@ -197,7 +200,7 @@ public interface NativePage {
@@ -202,7 +205,7 @@ public interface NativePage {
* not have chrome or chrome-native scheme.
*/
static boolean isChromePageUrl(GURL url, boolean isIncognito) {
@@ -1853,7 +1841,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
}
/**
@@ -211,7 +214,8 @@ public interface NativePage {
@@ -216,7 +219,8 @@ public interface NativePage {
GURL url,
@Nullable NativePage candidatePage,
boolean isIncognito,
@@ -1863,7 +1851,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
if (hasPdfDownload) {
// For navigation with associated pdf download (e.g. open a pdf link), pdf page should
// be created.
@@ -229,7 +233,7 @@ public interface NativePage {
@@ -234,7 +238,7 @@ public interface NativePage {
// created after the pdf document is re-downloaded in other parts of the code.
return NativePageType.NONE;
} else {
@@ -1872,7 +1860,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
}
}
@@ -241,7 +245,7 @@ public interface NativePage {
@@ -246,7 +250,7 @@ public interface NativePage {
* which do not have chrome or chrome-native scheme.
*/
private static @NativePageType int chromePageType(
@@ -1881,7 +1869,7 @@ diff --git a/chrome/browser/ui/android/native_page/java/src/org/chromium/chrome/
String host = url.getHost();
String scheme = url.getScheme();
if (!UrlConstants.CHROME_NATIVE_SCHEME.equals(scheme)
@@ -261,7 +265,8 @@ public interface NativePage {
@@ -266,7 +270,8 @@ public interface NativePage {
return NativePageType.DOWNLOADS;
} else if (UrlConstants.HISTORY_HOST.equals(host)) {
return NativePageType.HISTORY;
@@ -1894,7 +1882,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
@@ -99,6 +99,11 @@ import org.chromium.ui.interpolators.Interpolators;
@@ -101,6 +101,11 @@ import org.chromium.ui.interpolators.Interpolators;
import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.url.GURL;
@@ -1904,9 +1892,9 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
+import org.chromium.chrome.browser.preferences.Pref;
+
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.function.BooleanSupplier;
@@ -448,6 +453,9 @@ class LocationBarMediator
@@ -497,6 +502,9 @@ class LocationBarMediator
if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(mContext)) return;
Tab tab = mLocationBarDataProvider.getTab();
if (tab == null) return;
@@ -1919,7 +1907,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
@@ -6669,6 +6669,31 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -6906,6 +6906,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>
@@ -1951,27 +1939,6 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
<message name="IDS_QUICK_DELETE_DIALOG_SEARCH_HISTORY_DISAMBIGUATION_TEXT" desc="Text for signed in users only in the Quick Delete dialog, that is shown when the user clicks on 'Clear browsing data' option in the three dots menu, informing signed in users that search history and other forms of Activity saved in their Google account will not be deleted.">
<ph name="BEGIN_LINK1">&lt;link1&gt;</ph>Search history<ph name="END_LINK1">&lt;/link1&gt;</ph> and <ph name="BEGIN_LINK2">&lt;link2&gt;</ph>other forms of activity<ph name="END_LINK2">&lt;/link2&gt;</ph> may be saved in your Google Account
</message>
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
@@ -167,6 +167,7 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
protected GURL mVisibleGurl = GURL.emptyGURL();
protected String mFormattedFullUrl;
protected String mUrlForDisplay;
+ private boolean mIsAlwaysIncognito;
// notifyUrlChanged and notifySecurityStateChanged are usually called 3 times across a same
// document navigation. The first call is usually necessary, which updates the UrlBar to reflect
@@ -191,7 +192,8 @@ public class LocationBarModel implements ToolbarDataProvider, LocationBarDataPro
NewTabPageDelegate newTabPageDelegate,
UrlFormatter urlFormatter,
OfflineStatus offlineStatus,
- ObservableSupplier<@ControlsPosition Integer> toolbarPositionSupplier) {
+ ObservableSupplier<@ControlsPosition Integer> toolbarPositionSupplier,
+ boolean isAlwaysIncognito) {
mContext = context;
mNtpDelegate = newTabPageDelegate;
mUrlFormatter = urlFormatter;
diff --git a/chrome/browser/ui/messages/android/BUILD.gn b/chrome/browser/ui/messages/android/BUILD.gn
--- a/chrome/browser/ui/messages/android/BUILD.gn
+++ b/chrome/browser/ui/messages/android/BUILD.gn
@@ -2042,7 +2009,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
@@ -4101,6 +4101,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
@@ -4116,6 +4116,12 @@ inline constexpr char kOutOfProcessSystemDnsResolutionEnabled[] =
"net.out_of_process_system_dns_resolution_enabled";
#endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX)
@@ -2058,7 +2025,7 @@ diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
diff --git a/components/content_settings/core/browser/content_settings_pref_provider.cc b/components/content_settings/core/browser/content_settings_pref_provider.cc
--- a/components/content_settings/core/browser/content_settings_pref_provider.cc
+++ b/components/content_settings/core/browser/content_settings_pref_provider.cc
@@ -120,10 +120,12 @@ void PrefProvider::RegisterProfilePrefs(
@@ -122,10 +122,12 @@ void PrefProvider::RegisterProfilePrefs(
PrefProvider::PrefProvider(PrefService* prefs,
bool off_the_record,
@@ -2071,25 +2038,24 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
store_last_modified_(store_last_modified),
clock_(base::DefaultClock::GetInstance()) {
TRACE_EVENT_BEGIN("startup", "PrefProvider::PrefProvider");
@@ -146,11 +148,13 @@ PrefProvider::PrefProvider(PrefService* prefs,
@@ -148,10 +150,12 @@ PrefProvider::PrefProvider(PrefService* prefs,
WebsiteSettingsRegistry* website_settings =
WebsiteSettingsRegistry::GetInstance();
for (const WebsiteSettingsInfo* info : *website_settings) {
+ bool save_site_settings = force_save_site_settings_ &&
+ info->incognito_behavior() == WebsiteSettingsInfo::INHERIT_IN_INCOGNITO;
content_settings_prefs_.insert(std::make_pair(
info->type(),
std::make_unique<ContentSettingsPref>(
info->type(), prefs_, &pref_change_registrar_, info->pref_name(),
- info->partitioned_pref_name(), off_the_record_, restore_session,
+ info->partitioned_pref_name(), off_the_record_ && !save_site_settings, restore_session,
base::BindRepeating(&PrefProvider::Notify,
base::Unretained(this)))));
info->type(), std::make_unique<ContentSettingsPref>(
info->type(), prefs_, &pref_change_registrar_,
- info->pref_name(), off_the_record_, restore_session,
+ info->pref_name(), off_the_record_ && !save_site_settings, restore_session,
base::BindRepeating(&PrefProvider::Notify,
base::Unretained(this)))));
}
diff --git a/components/content_settings/core/browser/content_settings_pref_provider.h b/components/content_settings/core/browser/content_settings_pref_provider.h
--- a/components/content_settings/core/browser/content_settings_pref_provider.h
+++ b/components/content_settings/core/browser/content_settings_pref_provider.h
@@ -38,6 +38,7 @@ class PrefProvider : public UserModifiableProvider {
@@ -37,6 +37,7 @@ class PrefProvider : public UserModifiableProvider {
PrefProvider(PrefService* prefs,
bool off_the_record,
@@ -2097,7 +2063,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
bool store_last_modified,
bool restore_session);
@@ -130,6 +131,7 @@ class PrefProvider : public UserModifiableProvider {
@@ -117,6 +118,7 @@ class PrefProvider : public UserModifiableProvider {
raw_ptr<PrefService> prefs_;
const bool off_the_record_;
@@ -2108,7 +2074,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc
--- a/components/content_settings/core/browser/host_content_settings_map.cc
+++ b/components/content_settings/core/browser/host_content_settings_map.cc
@@ -288,6 +288,7 @@ struct ContentSettingEntry {
@@ -287,6 +287,7 @@ struct ContentSettingEntry {
HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
bool is_off_the_record,
@@ -2116,7 +2082,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
bool store_last_modified,
bool restore_session,
bool should_record_metrics)
@@ -297,6 +298,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
@@ -296,6 +297,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
#endif
prefs_(prefs),
is_off_the_record_(is_off_the_record),
@@ -2124,7 +2090,7 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
store_last_modified_(store_last_modified),
allow_invalid_secondary_pattern_for_testing_(false),
clock_(base::DefaultClock::GetInstance()) {
@@ -310,7 +312,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
@@ -309,7 +311,7 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
policy_provider->AddObserver(this);
auto pref_provider_ptr = std::make_unique<content_settings::PrefProvider>(
@@ -2190,7 +2156,7 @@ diff --git a/components/omnibox/browser/base_search_provider.cc b/components/omn
diff --git a/components/omnibox/browser/search_provider.cc b/components/omnibox/browser/search_provider.cc
--- a/components/omnibox/browser/search_provider.cc
+++ b/components/omnibox/browser/search_provider.cc
@@ -921,7 +921,8 @@ std::unique_ptr<network::SimpleURLLoader> SearchProvider::CreateSuggestLoader(
@@ -922,7 +922,8 @@ std::unique_ptr<network::SimpleURLLoader> SearchProvider::CreateSuggestLoader(
// is required.
// Request for suggestions in OTR contexts is not allowed; except for the Lens
// searchboxes.
@@ -65,8 +65,8 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
- <uses-permission-sdk-23 android:name="android.permission.READ_CONTACTS"/>
<uses-permission-sdk-23 android:name="android.permission.REORDER_TASKS"/>
<uses-permission-sdk-23 android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<!-- Needed for allowing downloaded APKs to be installed. -->
diff --git a/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml b/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml
--- a/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml
+++ b/chrome/android/java/res/menu/bookmark_toolbar_menu_improved.xml
@@ -102,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
import org.chromium.chrome.browser.app.tab_activity_glue.ActivityTabWebContentsDelegateAndroid;
import org.chromium.chrome.browser.back_press.BackPressManager;
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
@@ -60,7 +61,7 @@ import java.util.function.Supplier;
@@ -61,7 +62,7 @@ import java.util.function.Supplier;
*/
@NullMarked
public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
@@ -111,8 +111,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
private final BrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate;
private final Supplier<ShareDelegate> mShareDelegateSupplier;
private final Supplier<EphemeralTabCoordinator> mEphemeralTabCoordinatorSupplier;
@@ -91,7 +92,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
private final BackPressManager mBackPressManager;
@@ -93,7 +94,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
private final MultiInstanceManager mMultiInstanceManager;
public TabbedModeTabDelegateFactory(
- Activity activity,
@@ -208,7 +208,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
import org.chromium.chrome.browser.app.download.home.DownloadPage;
import org.chromium.chrome.browser.back_press.BackPressManager;
import org.chromium.chrome.browser.bookmarks.BookmarkPage;
@@ -76,7 +77,7 @@ import java.util.function.Supplier;
@@ -77,7 +78,7 @@ import java.util.function.Supplier;
*/
@NullMarked
public class NativePageFactory {
@@ -217,8 +217,8 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
private final BottomSheetController mBottomSheetController;
private final BrowserControlsManager mBrowserControlsManager;
private final Supplier<@Nullable Tab> mCurrentTabSupplier;
@@ -100,7 +101,7 @@ public class NativePageFactory {
private final BackPressManager mBackPressManager;
@@ -102,7 +103,7 @@ public class NativePageFactory {
private final MultiInstanceManager mMultiInstanceManager;
public NativePageFactory(
- Activity activity,
@@ -226,7 +226,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
BottomSheetController sheetController,
BrowserControlsManager browserControlsManager,
Supplier<@Nullable Tab> currentTabSupplier,
@@ -175,7 +176,7 @@ public class NativePageFactory {
@@ -180,7 +181,7 @@ public class NativePageFactory {
@VisibleForTesting
static class NativePageBuilder {
@@ -235,7 +235,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
private final BottomSheetController mBottomSheetController;
private final Supplier<NewTabPageCreationTracker> mNewTabPageCreationTracker;
private final BrowserControlsManager mBrowserControlsManager;
@@ -284,7 +285,7 @@ public class NativePageFactory {
@@ -293,7 +294,7 @@ public class NativePageFactory {
mTabModelSelector,
mEdgeToEdgeControllerSupplier),
mActivity.getComponentName(),
@@ -247,7 +247,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -205,6 +205,8 @@ static_library("browser") {
@@ -200,6 +200,8 @@ static_library("browser") {
"bad_message.h",
"bookmarks/bookmark_model_factory.cc",
"bookmarks/bookmark_model_factory.h",
@@ -256,7 +256,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"bookmarks/chrome_bookmark_client.cc",
"bookmarks/chrome_bookmark_client.h",
"bookmarks/managed_bookmark_service_factory.cc",
@@ -1625,6 +1627,13 @@ static_library("browser") {
@@ -1588,6 +1590,13 @@ static_library("browser") {
"webdata_services/web_data_service_factory.cc",
]
@@ -270,7 +270,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
configs += [
"//build/config/compiler:wexit_time_destructors",
"//build/config:precompiled_headers",
@@ -3715,8 +3724,6 @@ static_library("browser") {
@@ -3711,8 +3720,6 @@ static_library("browser") {
"bookmarks/bookmark_expanded_state_tracker.h",
"bookmarks/bookmark_expanded_state_tracker_factory.cc",
"bookmarks/bookmark_expanded_state_tracker_factory.h",
@@ -775,7 +775,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;
@@ -655,6 +701,14 @@ class BookmarkManagerMediator
@@ -658,6 +704,14 @@ class BookmarkManagerMediator
mNativePage = nativePage;
}
@@ -790,7 +790,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.
@@ -827,6 +881,235 @@ class BookmarkManagerMediator
@@ -830,6 +884,235 @@ class BookmarkManagerMediator
}
}
@@ -1057,8 +1057,8 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
+ new ModalDialogManager(
+ new AppModalPresenter(activity), ModalDialogManager.ModalDialogType.APP));
initWithView(mBookmarkManagerCoordinator.getView());
}
setBackPressHandler(mBookmarkManagerCoordinator, backPressManager);
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
--- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkToolbar.java
@@ -1251,20 +1251,20 @@ 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
@@ -255,6 +255,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kBatchTabRestore,
@@ -262,6 +262,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kAuxiliarySearchHistoryDonation,
&kBlockIntentsWhileLocked,
&kBookmarkPaneAndroid,
+ &kBookmarksExportUseSaf,
&kBrowserControlsDebugging,
&kBrowserControlsEarlyResize,
&kCacheActivityTaskID,
&kBrowserControlsRenderDrivenShowConstraint,
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
@@ -712,6 +712,7 @@ public abstract class ChromeFeatureList {
public static final String USE_LIBUNWINDSTACK_NATIVE_UNWINDER_ANDROID =
"UseLibunwindstackNativeUnwinderAndroid";
public static final String VERIFY_QWACS = "VerifyQWACs";
public static final String VISITED_URL_RANKING_SERVICE = "VisitedURLRankingService";
+ public static final String BOOKMARKS_EXPORT_USESAF = "BookmarksExportUseSaf";
public static final String WEB_APK_BACKUP_AND_RESTORE_BACKEND = "WebApkBackupAndRestoreBackend";
@@ -1325,7 +1325,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";
@@ -1067,6 +1069,7 @@ public final class ChromePreferenceKeys {
@@ -1092,6 +1094,7 @@ public final class ChromePreferenceKeys {
AUXILIARY_SEARCH_SCHEMA_VERSION,
APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE,
APP_LAUNCH_SEARCH_ENGINE_HAD_LOGO,
@@ -1364,7 +1364,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
--- a/chrome/utility/BUILD.gn
+++ b/chrome/utility/BUILD.gn
@@ -222,6 +222,13 @@ static_library("utility") {
@@ -211,6 +211,13 @@ static_library("utility") {
deps += [ "//chrome/services/pdf:lib" ]
}
+57 -57
View File
@@ -54,7 +54,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../core/offline_page_feature.cc | 1 +
.../offline_pages/core/offline_page_feature.h | 1 +
.../browser/features/password_features.cc | 1 +
components/permissions/features.cc | 2 +
components/permissions/features.cc | 1 +
...nthetic_trials_active_group_id_provider.cc | 4 +-
...ynthetic_trials_active_group_id_provider.h | 4 +-
components/webui/flags/flags_state.cc | 59 ++++++
@@ -106,7 +106,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 +
93 files changed, 848 insertions(+), 32 deletions(-)
93 files changed, 847 insertions(+), 32 deletions(-)
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/include_all_directory.java
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/java_template/CromiteCachedFlag.java.tmpl
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-cromite-flags-support.grdp
@@ -143,7 +143,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
@@ -170,6 +170,8 @@ use_epoll = is_linux || is_chromeos || is_android
@@ -174,6 +174,8 @@ use_epoll = is_linux || is_chromeos || is_android
# 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") {
@@ -152,7 +152,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn
sources = [
"allocator/allocator_check.cc",
"allocator/allocator_check.h",
@@ -1048,7 +1050,7 @@ component("base") {
@@ -1057,7 +1059,7 @@ component("base") {
"//build/config/compiler:wglobal_constructors",
]
@@ -553,7 +553,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
@@ -39,7 +40,9 @@ import org.chromium.base.CallbackUtils;
@@ -35,7 +36,9 @@ import org.chromium.base.CallbackUtils;
import org.chromium.base.DeviceInfo;
import org.chromium.base.Log;
import org.chromium.base.metrics.RecordHistogram;
@@ -563,7 +563,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import org.chromium.base.supplier.OneshotSupplierImpl;
import org.chromium.build.annotations.NullMarked;
import org.chromium.build.annotations.Nullable;
@@ -49,12 +52,14 @@ import org.chromium.chrome.browser.back_press.BackPressHelper;
@@ -45,6 +48,7 @@ import org.chromium.chrome.browser.back_press.BackPressHelper;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.init.ChromeBrowserInitializer;
@@ -571,6 +571,7 @@ 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;
@@ -52,6 +56,7 @@ import org.chromium.chrome.browser.settings.search.SettingsSearchCoordinator;
import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable;
@@ -578,7 +579,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory;
import org.chromium.components.browser_ui.bottomsheet.ManagedBottomSheetController;
@@ -107,6 +112,40 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -106,6 +111,40 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
PreferenceUpdateObserver {
private static final String TAG = "SettingsActivity";
@@ -619,16 +620,16 @@ 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";
@@ -184,7 +223,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -187,7 +226,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
mProfile,
mSnackbarManagerSupplier,
mBottomSheetControllerSupplier,
- getModalDialogManagerSupplier()),
+ getModalDialogManagerSupplier(),
+ () -> new RequestRestartDelegate(mSnackbarManagerSupplier, this)),
true /* recursive */);
/* recursive= */ true);
fragmentManager.registerFragmentLifecycleCallbacks(
new WideDisplayPaddingApplier(), false /* recursive */);
new WideDisplayPaddingApplier(), /* recursive= */ false);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java
@@ -654,7 +655,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
@@ -387,6 +387,10 @@ using flags_ui::kOsLinux;
@@ -385,6 +385,10 @@ using flags_ui::kOsLinux;
using flags_ui::kOsMac;
using flags_ui::kOsWin;
@@ -665,9 +666,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
namespace about_flags {
namespace {
@@ -4977,6 +4981,10 @@ const FeatureEntry::FeatureVariation kSeamlessSigninPromoTypes[] = {
std::size(kSeamlessSigninPromoTypeTwoButtons), nullptr}};
#endif // BUILDFLAG(IS_ANDROID)
@@ -5176,6 +5180,10 @@ const FeatureEntry::FeatureVariation kProfilePickerTextVariations[] = {
};
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#define FEATURE_PARAM_SECTION
+#include "cromite_flags/chrome_browser_about_flags_cc.inc"
@@ -676,7 +677,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.
@@ -5003,6 +5011,9 @@ const FeatureEntry::FeatureVariation kSeamlessSigninPromoTypes[] = {
@@ -5202,6 +5210,9 @@ const FeatureEntry::FeatureVariation kProfilePickerTextVariations[] = {
const FeatureEntry kFeatureEntries[] = {
// Include generated flags for flag unexpiry; see //docs/flag_expiry.md and
// //tools/flags/generate_unexpire_flags.py.
@@ -689,7 +690,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_features.cc
--- a/chrome/browser/browser_features.cc
+++ b/chrome/browser/browser_features.cc
@@ -313,4 +313,5 @@ BASE_FEATURE(kReportPakFileIntegrity,
@@ -302,4 +302,5 @@ BASE_FEATURE(kReportPakFileIntegrity,
// show both in Chrome Tabs and Windows.
BASE_FEATURE(kRemovalOfIWAsFromTabCapture, base::FEATURE_ENABLED_BY_DEFAULT);
@@ -698,7 +699,7 @@ diff --git a/chrome/browser/browser_features.cc b/chrome/browser/browser_feature
diff --git a/chrome/browser/browser_features.h b/chrome/browser/browser_features.h
--- a/chrome/browser/browser_features.h
+++ b/chrome/browser/browser_features.h
@@ -126,6 +126,7 @@ BASE_DECLARE_FEATURE(kRemovalOfIWAsFromTabCapture);
@@ -122,6 +122,7 @@ BASE_DECLARE_FEATURE(kRemovalOfIWAsFromTabCapture);
// module, e.g.
// //chrome/browser/<foo_module>/features.h
//
@@ -748,9 +749,9 @@ 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
@@ -1159,5 +1159,6 @@ BASE_FEATURE(kUseLibunwindstackNativeUnwinderAndroid,
// a descriptive text.
BASE_FEATURE(kWebOtpCrossDeviceSimpleString, base::FEATURE_DISABLED_BY_DEFAULT);
@@ -835,5 +835,6 @@ BASE_FEATURE(kWebOtpCrossDeviceSimpleString, base::FEATURE_DISABLED_BY_DEFAULT);
// clang-format on
+#include "cromite_flags/chrome_browser_flags_android_chrome_feature_list_cc.inc"
} // namespace android
@@ -758,7 +759,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
@@ -354,6 +354,7 @@ constexpr base::FeatureParam<bool> kTouchToSearchCalloutSnippetAsSubtitle(
@@ -370,6 +370,7 @@ constexpr base::FeatureParam<bool> kTouchToSearchCalloutSnippetAsSubtitle(
"snippet_as_subtitle",
/*default_value=*/false);
@@ -769,7 +770,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
@@ -19,6 +19,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;
@@ -780,7 +781,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
import java.util.List;
import java.util.Map;
@@ -1111,7 +1115,7 @@ public abstract class ChromeFeatureList {
@@ -1110,7 +1114,7 @@ public abstract class ChromeFeatureList {
newCachedFlag(WEB_APK_MIN_SHELL_APK_VERSION, true);
// keep-sorted end
@@ -789,7 +790,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
List.of(
// keep-sorted start
sAccountForSuppressedKeyboardInsets,
@@ -1268,6 +1272,13 @@ public abstract class ChromeFeatureList {
@@ -1271,6 +1275,13 @@ public abstract class ChromeFeatureList {
// keep-sorted end
);
@@ -969,7 +970,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
@@ -664,4 +664,5 @@ bool IsAndroidAnimatedProgressBarInBrowserEnabled() {
@@ -712,4 +712,5 @@ bool IsAndroidAnimatedProgressBarInBrowserEnabled() {
BASE_FEATURE(kWhatsNewDesktopRefresh, base::FEATURE_DISABLED_BY_DEFAULT);
@@ -1010,7 +1011,7 @@ 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
@@ -1694,5 +1694,5 @@ BASE_FEATURE(kDisableShortcutsEnableDiy, base::FEATURE_ENABLED_BY_DEFAULT);
@@ -1909,5 +1909,5 @@ BASE_FEATURE(kDisableShortcutsEnableDiy, base::FEATURE_ENABLED_BY_DEFAULT);
// happen silently without prompting an updating dialog.
BASE_FEATURE(kSilentPolicyAndDefaultAppUpdating,
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -1020,7 +1021,7 @@ diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
diff --git a/components/browser_ui/accessibility/android/BUILD.gn b/components/browser_ui/accessibility/android/BUILD.gn
--- a/components/browser_ui/accessibility/android/BUILD.gn
+++ b/components/browser_ui/accessibility/android/BUILD.gn
@@ -61,6 +61,7 @@ android_library("lib_java") {
@@ -65,6 +65,7 @@ android_library("lib_java") {
":page_zoom_utils_java",
"//base:base_java",
"//build/android:build_java",
@@ -1057,7 +1058,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
implements EmbeddableSettingsPage, Preference.OnPreferenceChangeListener {
public static final String PREF_PAGE_ZOOM_DEFAULT_ZOOM = "page_zoom_default_zoom";
public static final String PREF_PAGE_ZOOM_INCLUDE_OS_ADJUSTMENT =
@@ -69,7 +71,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
@@ -71,7 +73,7 @@ public class AccessibilitySettings extends PreferenceFragmentCompat
}
@Override
@@ -1092,7 +1093,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;
@@ -43,6 +45,11 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat
@@ -42,6 +44,11 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat implements Co
/** Indicates if the preference uses a custom layout. */
private final boolean mHasCustomLayout;
@@ -1104,7 +1105,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.
/**
@@ -67,6 +74,18 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat
@@ -66,6 +73,18 @@ public class ChromeSwitchPreference extends SwitchPreferenceCompat implements Co
mHasCustomLayout = ManagedPreferencesUtils.isCustomLayoutApplied(context, attrs);
mUseSummaryAsTitle = true;
@@ -1126,7 +1127,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
diff --git a/components/cached_flags/android/java/src/org/chromium/components/cached_flags/CachedFlag.java b/components/cached_flags/android/java/src/org/chromium/components/cached_flags/CachedFlag.java
--- a/components/cached_flags/android/java/src/org/chromium/components/cached_flags/CachedFlag.java
+++ b/components/cached_flags/android/java/src/org/chromium/components/cached_flags/CachedFlag.java
@@ -155,7 +155,7 @@ public class CachedFlag extends Flag {
@@ -159,7 +159,7 @@ public class CachedFlag extends Flag {
editor.putBoolean(getSharedPreferenceKey(), featureValue);
}
@@ -1135,7 +1136,7 @@ diff --git a/components/cached_flags/android/java/src/org/chromium/components/ca
// Create the key only once to avoid String concatenation every flag check.
if (mPreferenceKey == null) {
mPreferenceKey = CachedFlagsSharedPreferences.FLAGS_CACHED.createKey(mFeatureName);
@@ -163,6 +163,12 @@ public class CachedFlag extends Flag {
@@ -167,6 +167,12 @@ public class CachedFlag extends Flag {
return mPreferenceKey;
}
@@ -1162,7 +1163,7 @@ diff --git a/components/components_strings.grd b/components/components_strings.g
diff --git a/components/content_settings/core/common/features.cc b/components/content_settings/core/common/features.cc
--- a/components/content_settings/core/common/features.cc
+++ b/components/content_settings/core/common/features.cc
@@ -160,5 +160,6 @@ BASE_FEATURE(kContentSettingsPartitioning, base::FEATURE_DISABLED_BY_DEFAULT);
@@ -143,5 +143,6 @@ const base::FeatureParam<EnableForIframeTypes>
BASE_FEATURE(kForceAllowStorageAccess, base::FEATURE_DISABLED_BY_DEFAULT);
@@ -1198,8 +1199,8 @@ 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
@@ -183,4 +183,5 @@ BASE_FEATURE(kRetrieveTrustedVaultKeyKeyboardAccessoryAction,
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -201,4 +201,5 @@ BASE_FEATURE(kRetrieveTrustedVaultKeyKeyboardAccessoryAction,
base::FEATURE_ENABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_ANDROID)
+#include "cromite_flags/components_password_manager_core_browser_features_password_features_cc.inc"
@@ -1207,15 +1208,14 @@ 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
@@ -107,6 +107,8 @@ BASE_FEATURE(kSafetyHubUnusedPermissionRevocationForAllSurfaces,
BASE_FEATURE(kOsAdditionalSecurityPermissionKillSwitch,
@@ -121,6 +121,7 @@ BASE_FEATURE(kReturnDeniedForNotificationsWhenNoAppLevelSettings,
base::FEATURE_DISABLED_BY_DEFAULT);
#endif
+
+#include "cromite_flags/components_permissions_features_cc.inc"
} // namespace features
namespace feature_params {
namespace feature_params {
diff --git a/components/variations/synthetic_trials_active_group_id_provider.cc b/components/variations/synthetic_trials_active_group_id_provider.cc
--- a/components/variations/synthetic_trials_active_group_id_provider.cc
+++ b/components/variations/synthetic_trials_active_group_id_provider.cc
@@ -1640,7 +1640,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
@@ -675,4 +675,5 @@ bool IsEnforceSameDocumentOriginInvariantsEnabled() {
@@ -701,4 +701,5 @@ bool IsEnforceSameDocumentOriginInvariantsEnabled() {
blink::features::kTreatMhtmlInitialDocumentLoadsAsCrossDocument);
}
@@ -1649,7 +1649,7 @@ diff --git a/content/common/features.cc b/content/common/features.cc
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
@@ -1411,4 +1411,5 @@ bool IsPushSubscriptionChangeEventEnabled() {
@@ -1428,4 +1428,5 @@ bool IsPushSubscriptionChangeEventEnabled() {
features::kPushSubscriptionChangeEventOnResubscribe);
}
@@ -1658,7 +1658,7 @@ diff --git a/content/public/common/content_features.cc b/content/public/common/c
diff --git a/content/public/common/content_features.h b/content/public/common/content_features.h
--- a/content/public/common/content_features.h
+++ b/content/public/common/content_features.h
@@ -409,6 +409,7 @@ CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess();
@@ -416,6 +416,7 @@ CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForOutOfProcess();
CONTENT_EXPORT bool IsVideoCaptureServiceEnabledForBrowserProcess();
CONTENT_EXPORT bool IsPushSubscriptionChangeEventEnabled();
@@ -2004,7 +2004,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
@@ -1730,5 +1730,5 @@ uint32_t GetPassthroughAudioFormats() {
@@ -1710,5 +1710,5 @@ uint32_t GetPassthroughAudioFormats() {
return 0;
#endif // BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS)
}
@@ -2014,7 +2014,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
@@ -609,5 +609,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled();
@@ -590,5 +590,5 @@ MEDIA_EXPORT bool IsOutOfProcessVideoDecodingEnabled();
MEDIA_EXPORT uint32_t GetPassthroughAudioFormats();
} // namespace media
@@ -2024,18 +2024,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
@@ -852,4 +852,5 @@ BASE_FEATURE_PARAM(std::string,
"quic_options",
"");
@@ -904,4 +904,5 @@ BASE_FEATURE_PARAM(std::string,
BASE_FEATURE(kDnsResponseDiscardPartialQuestions,
base::FEATURE_ENABLED_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
@@ -946,6 +946,7 @@ NET_EXPORT BASE_DECLARE_FEATURE(kTryQuicByDefault);
// separate the values with a comma (e.g. "ABCD,EFGH").
NET_EXPORT BASE_DECLARE_FEATURE_PARAM(std::string, kQuicOptions);
@@ -986,6 +986,7 @@ NET_EXPORT BASE_DECLARE_FEATURE_PARAM(std::string, kQuicOptions);
NET_EXPORT BASE_DECLARE_FEATURE(kDnsResponseDiscardPartialQuestions);
+#include "cromite_flags/net_base_features_h.inc"
} // namespace net::features
@@ -2044,18 +2044,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
@@ -587,4 +587,5 @@ BASE_FEATURE_PARAM(bool,
"url_loader",
true);
@@ -611,4 +611,5 @@ BASE_FEATURE(kNetworkServicePerPriorityTaskQueues,
BASE_FEATURE(kUseUnexportableKeyServiceInBrowserProcess,
base::FEATURE_DISABLED_BY_DEFAULT);
+#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
@@ -361,6 +361,7 @@ BASE_DECLARE_FEATURE_PARAM(bool, kNetworkServiceTaskSchedulerResourceScheduler);
@@ -383,6 +383,7 @@ BASE_DECLARE_FEATURE(kNetworkServicePerPriorityTaskQueues);
COMPONENT_EXPORT(NETWORK_CPP_FLAGS_AND_SWITCHES)
BASE_DECLARE_FEATURE_PARAM(bool, kNetworkServiceTaskSchedulerURLLoader);
BASE_DECLARE_FEATURE(kUseUnexportableKeyServiceInBrowserProcess);
+#include "cromite_flags/services_network_public_cpp_features_h.inc"
} // namespace network::features
@@ -2064,7 +2064,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
@@ -2633,4 +2633,5 @@ bool IsXrDevice() {
@@ -2693,4 +2693,5 @@ bool IsXrDevice() {
//
// DO NOT ADD NEW FEATURES HERE.
@@ -2073,7 +2073,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
@@ -1917,6 +1917,7 @@ BLINK_COMMON_EXPORT bool IsXrDevice();
@@ -1955,6 +1955,7 @@ BLINK_COMMON_EXPORT bool IsXrDevice();
//
// DO NOT ADD NEW FEATURES HERE.
+13 -13
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
@@ -145,6 +145,7 @@ import org.chromium.ui.base.SelectFileDialog;
@@ -148,6 +148,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;
@@ -713,7 +714,10 @@ public class ProcessInitializationHandler {
@@ -724,7 +725,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
@@ -188,6 +188,11 @@ source_set("shell_integration") {
@@ -183,6 +183,11 @@ source_set("shell_integration") {
# require many files from it. This makes linking more efficient.
static_library("browser") {
sources = [
@@ -139,7 +139,7 @@ diff --git a/chrome/browser/android/devtools_server.cc b/chrome/browser/android/
#include "content/public/common/content_switches.h"
#include "content/public/common/url_constants.h"
#include "net/base/net_errors.h"
@@ -64,6 +66,8 @@ const int kBackLog = 10;
@@ -64,6 +66,8 @@ const int kBackLog = 4096;
bool AuthorizeSocketAccessWithDebugPermission(
const net::UnixDomainServerSocket::Credentials& credentials) {
@@ -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"
@@ -494,6 +495,15 @@ void ChromeContentBrowserClient::
@@ -495,6 +496,15 @@ void ChromeContentBrowserClient::
render_frame_host);
},
&render_frame_host));
@@ -423,18 +423,18 @@ 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
@@ -210,6 +210,7 @@ static const base::Feature* kBadFeatureFlagsInAboutFlags[] = {
@@ -226,6 +226,7 @@ static const std::variant<const base::Feature*, const char*>
#if BUILDFLAG(IS_ANDROID)
&chrome::android::kCommandLineOnNonRooted,
+ &features::kEnableCromiteTestSupport,
&chrome::android::kCommandLineOnNonRooted,
+ &features::kEnableCromiteTestSupport,
#endif
// This flag disables security for the Page Embedded Permission Control, for
// This flag disables security for the Page Embedded Permission Control,
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
@@ -671,6 +671,7 @@ mojom("mojo_bindings") {
@@ -669,6 +669,7 @@ mojom("mojo_bindings") {
sources = [
"chrome_render_frame.mojom",
"google_accounts_private_api_extension.mojom",
@@ -457,7 +457,7 @@ new file mode 100644
diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
--- a/chrome/renderer/BUILD.gn
+++ b/chrome/renderer/BUILD.gn
@@ -80,6 +80,8 @@ static_library("renderer") {
@@ -79,6 +79,8 @@ static_library("renderer") {
"chrome_render_thread_observer.cc",
"chrome_render_thread_observer.h",
"custom_menu_commands.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 "content/browser/accessibility/browser_accessibility_manager_android.h"
#include "content/browser/android/content_url_loader_factory.h"
@@ -4773,7 +4775,8 @@ void RenderFrameHostImpl::DidAddMessageToConsole(
@@ -4799,7 +4801,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
@@ -4790,8 +4793,14 @@ void RenderFrameHostImpl::DidAddMessageToConsole(
@@ -4816,8 +4819,14 @@ void RenderFrameHostImpl::DidAddMessageToConsole(
const bool is_off_the_record =
GetSiteInstance()->GetBrowserContext()->IsOffTheRecord();
@@ -18,14 +18,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../customtabs/CustomTabsConnection.java | 3 +-
.../IncognitoCustomTabIntentDataProvider.java | 14 +++++
.../privacy/settings/PrivacySettings.java | 51 +++++++++++++++++++
.../flags/android/chrome_feature_list.cc | 5 +-
.../flags/android/chrome_feature_list.cc | 4 +-
.../browser/flags/ChromeFeatureList.java | 3 ++
.../chrome/browser/tab/TabAssociatedApp.java | 6 ++-
...Add-custom-tab-intents-privacy-option.grdp | 25 +++++++++
.../OriginVerifier.java | 5 ++
.../core/common/language_experiments.cc | 1 +
.../add-custom-tab-intents-privacy-option.inc | 1 +
13 files changed, 158 insertions(+), 14 deletions(-)
13 files changed, 158 insertions(+), 13 deletions(-)
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-custom-tab-intents-privacy-option.grdp
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/add-custom-tab-intents-privacy-option.inc
@@ -57,7 +57,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/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
@@ -62,6 +62,9 @@ import java.lang.annotation.Retention;
@@ -66,6 +66,9 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Set;
@@ -67,7 +67,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.
@@ -264,6 +267,9 @@ public class LaunchIntentDispatcher {
@@ -269,6 +272,9 @@ public class LaunchIntentDispatcher {
*/
public static boolean isCustomTabIntent(Intent intent) {
if (intent == null) return false;
@@ -77,7 +77,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
Log.w(
TAG,
"CustomTabsIntent#shouldAlwaysUseBrowserUI() = "
@@ -292,6 +298,10 @@ public class LaunchIntentDispatcher {
@@ -297,6 +303,10 @@ public class LaunchIntentDispatcher {
// Make sure the result of the CustomTabActivity is forwarded to the client.
newIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
@@ -88,7 +88,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());
@@ -489,6 +499,17 @@ public class LaunchIntentDispatcher {
@@ -493,6 +503,17 @@ public class LaunchIntentDispatcher {
if (Intent.ACTION_VIEW.equals(newIntent.getAction())
&& !IntentHandler.wasIntentSenderChrome(newIntent)) {
@@ -132,7 +132,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
@@ -689,7 +689,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@@ -690,7 +690,7 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
TrustedWebActivityIntentBuilder.EXTRA_SCREEN_ORIENTATION,
ScreenOrientation.DEFAULT));
@@ -141,7 +141,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
mBreakPointDp = getActivityBreakPointFromIntent(intent);
mInitialActivityHeight = getInitialActivityHeightFromIntent(intent);
@@ -702,8 +702,8 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@@ -703,8 +703,8 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
intent, EXTRA_ACTIVITY_HEIGHT_RESIZE_BEHAVIOR, ACTIVITY_HEIGHT_DEFAULT);
mIsPartialCustomTabFixedHeight = activityHeightResizeBehavior == ACTIVITY_HEIGHT_FIXED;
@@ -152,7 +152,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Cust
@BackgroundInteractBehavior
int backgroundInteractBehavior =
IntentUtils.safeGetIntExtra(
@@ -1294,7 +1294,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
@@ -1335,7 +1335,9 @@ public class CustomTabIntentDataProvider extends BrowserServicesIntentDataProvid
public @CustomTabProfileType int getCustomTabMode() {
return AlwaysIncognitoLinkInterceptor.isAlwaysIncognito()
? CustomTabProfileType.INCOGNITO
@@ -327,22 +327,21 @@ 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
@@ -909,8 +909,9 @@ BASE_FEATURE(kMagicStackAndroid, base::FEATURE_ENABLED_BY_DEFAULT);
@@ -708,7 +708,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.
-BASE_FEATURE(kMayLaunchUrlUsesSeparateStoragePartition,
- base::FEATURE_DISABLED_BY_DEFAULT);
-BASE_FEATURE(kMayLaunchUrlUsesSeparateStoragePartition, base::FEATURE_DISABLED_BY_DEFAULT);
+CROMITE_FEATURE(kMayLaunchUrlUsesSeparateStoragePartition,
+ "MayLaunchUrlUsesSeparateStoragePartition",
+ base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kMediaIndicatorsAndroid, base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kMiniOriginBar, base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kMostVisitedTilesCustomization, base::FEATURE_DISABLED_BY_DEFAULT);
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
@@ -991,6 +991,8 @@ public abstract class ChromeFeatureList {
@@ -980,6 +980,8 @@ public abstract class ChromeFeatureList {
MOST_VISITED_TILES_CUSTOMIZATION,
/* defaultValue= */ false,
/* defaultValueInTests= */ true);
@@ -351,7 +350,7 @@ 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 sMultiInstanceApplicationStatusCleanup =
@@ -1224,6 +1226,7 @@ public abstract class ChromeFeatureList {
@@ -1223,6 +1225,7 @@ public abstract class ChromeFeatureList {
sMiniOriginBar,
sMitigateLegacySearchEnginePromoOverlap,
sMostVisitedTilesCustomization,
+8 -8
View File
@@ -17,18 +17,18 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml
--- a/chrome/android/java/res/values/ids.xml
+++ b/chrome/android/java/res/values/ids.xml
@@ -123,6 +123,7 @@ found in the LICENSE file.
@@ -125,6 +125,7 @@ found in the LICENSE file.
<item type="id" name="ntp_feed_header_menu_item_toggle_switch" />
<!-- App Menu -->
+ <item type="id" name="exit_id" />
<item type="id" name="icon_row_menu_id" />
<item type="id" name="submenu_header_menu_id" />
<item type="id" name="forward_menu_id" />
<item type="id" name="bookmark_this_page_id" />
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
@@ -358,6 +358,8 @@ import java.util.Set;
@@ -357,6 +357,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.
@@ -3882,6 +3884,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
@@ -3858,6 +3860,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
.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
@@ -63,6 +63,7 @@ import org.chromium.base.supplier.UnownedUserDataSupplier;
@@ -64,6 +64,7 @@ import org.chromium.base.supplier.UnownedUserDataSupplier;
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;
@@ -2529,6 +2530,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -2588,6 +2589,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
@@ -410,6 +410,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
@@ -418,6 +418,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
maybeAddDividerLine(modelList, R.id.menu_item_content_filter_divider_line_id);
modelList.add(buildContentFilterHelpCenterMenuItem(currentTab));
}
@@ -108,7 +108,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
@@ -4317,6 +4317,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -4380,6 +4380,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
<message name="IDS_MENU_AUTO_DARK_WEB_CONTENTS" desc="Menu item in Chrome's overflow/options menu. When Chrome's browser UI is set to dark theme and this option is checked, sites will have a dark theme automatically applied as well. [CHAR_LIMIT=24]">
Dark theme
</message>
@@ -26,20 +26,20 @@ 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"
@@ -571,6 +572,15 @@ AutocompleteController::AutocompleteController(
provider_client_->GetOmniboxTriggeredFeatureService()),
@@ -557,6 +558,15 @@ AutocompleteController::AutocompleteController(
steady_state_omnibox_position_(
metrics::OmniboxEventProto::UNKNOWN_POSITION) {
metrics::OmniboxEventProto::UNKNOWN_POSITION),
config_(config) {
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch("omnibox-autocomplete-filtering")) {
+ const std::string flag_value = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("omnibox-autocomplete-filtering");
+ provider_types &= AutocompleteProvider::TYPE_KEYWORD | AutocompleteProvider::TYPE_SEARCH |
+ config_.provider_types &= AutocompleteProvider::TYPE_KEYWORD | AutocompleteProvider::TYPE_SEARCH |
+ AutocompleteProvider::TYPE_HISTORY_URL | AutocompleteProvider::TYPE_BOOKMARK | AutocompleteProvider::TYPE_BUILTIN;
+ if (!base::Contains(flag_value, "bookmarks"))
+ provider_types &= ~AutocompleteProvider::TYPE_BOOKMARK;
+ config_.provider_types &= ~AutocompleteProvider::TYPE_BOOKMARK;
+ if (!base::Contains(flag_value, "chrome"))
+ provider_types &= ~AutocompleteProvider::TYPE_BUILTIN;
+ config_.provider_types &= ~AutocompleteProvider::TYPE_BUILTIN;
+ }
provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes();
config_.provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes();
// Providers run in the order they're added. Async providers should run first
diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omnibox/browser/history_url_provider.cc
@@ -92,7 +92,7 @@ new file mode 100644
diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket_pool_manager.cc
--- a/net/socket/client_socket_pool_manager.cc
+++ b/net/socket/client_socket_pool_manager.cc
@@ -22,6 +22,10 @@
@@ -21,6 +21,10 @@
#include "net/socket/client_socket_handle.h"
#include "net/socket/client_socket_pool.h"
#include "net/socket/connect_job.h"
@@ -103,7 +103,7 @@ diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket
#include "net/ssl/ssl_config.h"
#include "url/gurl.h"
#include "url/scheme_host_port.h"
@@ -187,6 +191,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
@@ -165,6 +169,19 @@ void ClientSocketPoolManager::set_max_sockets_per_pool(
int ClientSocketPoolManager::max_sockets_per_group(
HttpNetworkSession::SocketPoolType pool_type) {
DCHECK_LT(pool_type, HttpNetworkSession::NUM_SOCKET_POOL_TYPES);
@@ -45,10 +45,10 @@ new file mode 100644
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1172,6 +1172,7 @@ component("net") {
@@ -1177,6 +1177,7 @@ component("net") {
":net_deps",
"//components/miracle_parameter/common",
"//components/network_time/time_tracker",
"//components/unexportable_keys",
+ "//components/network_session_configurator/common",
"//net/http:transport_security_state_generated_files",
"//third_party/simdutf",
@@ -49,7 +49,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/customtabs/CustomTabDelegateFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabDelegateFactory.java
@@ -38,6 +38,7 @@ import org.chromium.chrome.browser.ephemeraltab.EphemeralTabCoordinator;
@@ -39,6 +39,7 @@ import org.chromium.chrome.browser.ephemeraltab.EphemeralTabCoordinator;
import org.chromium.chrome.browser.externalnav.ExternalNavigationDelegateImpl;
import org.chromium.chrome.browser.flags.ActivityType;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -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;
@@ -156,6 +157,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory {
@@ -158,6 +159,7 @@ public class CustomTabDelegateFactory implements TabDelegateFactory {
@Override
public boolean shouldDisableAllExternalIntents() {
@@ -68,7 +68,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/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
@@ -25,6 +25,7 @@ import org.chromium.base.PackageManagerUtils;
@@ -26,6 +26,7 @@ import org.chromium.base.ResettersForTesting;
import org.chromium.build.annotations.NullMarked;
import org.chromium.build.annotations.Nullable;
import org.chromium.chrome.browser.ChromeTabbedActivity2;
@@ -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;
@@ -119,7 +120,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
@@ -131,7 +132,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
@Override
public boolean shouldDisableExternalIntentRequestsForUrl(
ExternalNavigationParams params, Intent intent) {
@@ -193,7 +193,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
@@ -1623,6 +1623,12 @@ public class ExternalNavigationHandler {
@@ -1760,6 +1760,12 @@ public class ExternalNavigationHandler {
return false;
}
@@ -206,7 +206,7 @@ diff --git a/components/external_intents/android/java/src/org/chromium/component
private OverrideUrlLoadingResult shouldOverrideUrlLoadingInternal(
ExternalNavigationParams params,
Intent targetIntent,
@@ -1716,6 +1722,21 @@ public class ExternalNavigationHandler {
@@ -1851,6 +1857,21 @@ public class ExternalNavigationHandler {
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
@@ -105,6 +105,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
@@ -106,6 +106,7 @@ void SetRuntimeFeatureDefaultsForPlatform(
if (command_line.HasSwitch(switches::kDisableMediaSessionAPI)) {
WebRuntimeFeatures::EnableMediaSession(false);
}
@@ -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
@@ -1070,6 +1070,10 @@
@@ -1137,6 +1137,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
@@ -715,7 +715,7 @@ config("compiler") {
@@ -727,7 +727,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" ]
}
}
@@ -1848,7 +1848,7 @@ config("clang_revision") {
@@ -1836,7 +1836,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 ]
@@ -2183,7 +2183,9 @@ config("default_warnings") {
@@ -2197,7 +2197,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",
@@ -2237,6 +2239,15 @@ config("default_warnings") {
@@ -2251,6 +2253,15 @@ config("default_warnings") {
ldflags += [ "-Wno-version-check" ]
}
@@ -62,7 +62,7 @@ diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
diff --git a/build_overrides/build.gni b/build_overrides/build.gni
--- a/build_overrides/build.gni
+++ b/build_overrides/build.gni
@@ -54,6 +54,9 @@ declare_args() {
@@ -53,6 +53,9 @@ declare_args() {
# Allows googletest to pretty-print various absl types.
gtest_enable_absl_printers = true
@@ -70,6 +70,6 @@ diff --git a/build_overrides/build.gni b/build_overrides/build.gni
+ skip_clangd_unsupported_options = false
+
# Allow projects that wish to stay on C++17 to override Chromium's default.
# TODO(crbug.com/40251117): evaluate removing this end of 2023
# TODO(anglebug.com/330910097): evaluate removing this 2026-04-01
use_cxx17 = false
--
@@ -87,9 +87,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
components/permissions/permission_prompt.h | 3 +-
components/permissions/permission_request.cc | 34 +++++++-
components/permissions/permission_request.h | 18 +++-
.../permissions/permission_request_manager.cc | 45 ++++++----
.../permissions/permission_request_manager.cc | 49 ++++++-----
.../permissions/permission_request_manager.h | 11 ++-
37 files changed, 507 insertions(+), 73 deletions(-)
37 files changed, 509 insertions(+), 75 deletions(-)
diff --git a/chrome/browser/permissions/last_tab_standing_tracker.cc b/chrome/browser/permissions/last_tab_standing_tracker.cc
--- a/chrome/browser/permissions/last_tab_standing_tracker.cc
@@ -269,7 +269,7 @@ diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_v
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
@@ -689,6 +689,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -696,6 +696,11 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
}
@RequiresNonNull({"mSite"})
@@ -281,7 +281,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
private void setUpClearDataPreference() {
ClearWebsiteStorage preference = findPreference(PREF_CLEAR_DATA);
long usage = mSite.getTotalUsage();
@@ -1295,6 +1300,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -1313,6 +1318,10 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
.getDefaultColor());
}
}
@@ -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
@@ -224,7 +224,7 @@ void GetOrigins(JNIEnv* env,
@@ -242,7 +242,7 @@ void GetOrigins(JNIEnv* env,
seen_origins.push_back(origin);
insertionFunc(env, static_cast<int>(content_type), list,
ConvertOriginToJavaString(env, origin), jembedder,
@@ -307,7 +307,7 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
@@ -649,6 +649,11 @@
@@ -652,6 +652,11 @@
<message name="IDS_PAGE_INFO_URL_TRUNCATED" desc="Accessibility announcement when the URL in PageInfo switches from full to truncated display">
URL truncated
</message>
@@ -481,7 +481,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
@@ -199,6 +199,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -207,6 +207,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
std::map<ContentSettingsType, /*allowed*/ bool>
user_specified_settings_to_display;
@@ -490,7 +490,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
for (const auto& permission : permission_info_list) {
if (base::Contains(permissions_to_display, permission.type)) {
@@ -211,6 +213,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -219,6 +221,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
user_specified_settings_to_display[permission.type] =
info->delegate().IsAnyPermissionAllowed(*setting_to_display);
@@ -499,7 +499,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
}
}
}
@@ -227,7 +231,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -235,7 +239,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
ConvertUTF16ToJavaString(env, setting_title),
ConvertUTF16ToJavaString(env, setting_title_mid_sentence),
static_cast<jint>(permission),
@@ -509,7 +509,7 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
}
}
@@ -240,7 +245,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -248,7 +253,8 @@ void PageInfoControllerAndroid::SetPermissionInfo(
env, controller_jobject_, ConvertUTF16ToJavaString(env, object_title),
ConvertUTF16ToJavaString(env, object_title),
static_cast<jint>(chosen_object->ui_info->content_settings_type),
@@ -522,7 +522,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
@@ -1303,6 +1303,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
@@ -1331,6 +1331,8 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
permission_info.is_one_time =
(info.metadata.session_model() ==
content_settings::mojom::SessionModel::ONE_TIME);
@@ -582,7 +582,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
diff --git a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java
--- a/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java
+++ b/components/permissions/android/java/src/org/chromium/components/permissions/PermissionDialogModelFactory.java
@@ -13,6 +13,18 @@ import org.chromium.ui.UiUtils;
@@ -14,6 +14,18 @@ import org.chromium.ui.UiUtils;
import org.chromium.ui.modaldialog.ModalDialogProperties;
import org.chromium.ui.modelutil.PropertyModel;
@@ -601,7 +601,7 @@ diff --git a/components/permissions/android/java/src/org/chromium/components/per
/** This class creates the model for the permission dialog. */
@NullMarked
class PermissionDialogModelFactory {
@@ -67,7 +79,76 @@ class PermissionDialogModelFactory {
@@ -77,7 +89,76 @@ class PermissionDialogModelFactory {
ModalDialogProperties.ButtonStyles.PRIMARY_FILLED_NEGATIVE_OUTLINE)
.with(ModalDialogProperties.CHANGE_CUSTOM_VIEW_OR_BUTTONS, true);
}
@@ -831,7 +831,7 @@ diff --git a/components/permissions/android/permissions_android_strings.grd b/co
diff --git a/components/permissions/contexts/geolocation_permission_context_android.cc b/components/permissions/contexts/geolocation_permission_context_android.cc
--- a/components/permissions/contexts/geolocation_permission_context_android.cc
+++ b/components/permissions/contexts/geolocation_permission_context_android.cc
@@ -194,7 +194,18 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -195,7 +195,18 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
PermissionDecision decision,
bool is_final_decision) {
DCHECK(is_final_decision);
@@ -850,7 +850,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
bool is_default_search =
IsRequestingOriginDSE(request_data.requesting_origin);
if (decision == PermissionDecision::kAllow &&
@@ -209,7 +220,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -210,7 +221,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
FinishNotifyPermissionSet(request_data.id, request_data.requesting_origin,
request_data.embedding_origin,
std::move(callback), false /* persist */,
@@ -859,7 +859,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
request_data.prompt_options);
return;
}
@@ -230,7 +241,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -231,7 +242,7 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
FinishNotifyPermissionSet(request_data.id, request_data.requesting_origin,
request_data.embedding_origin,
std::move(callback), false /* persist */,
@@ -868,7 +868,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
request_data.prompt_options);
return;
}
@@ -243,14 +254,14 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
@@ -244,14 +255,14 @@ void GeolocationPermissionContextAndroid::NotifyPermissionSet(
base::BindOnce(
&GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown,
weak_factory_.GetWeakPtr(), request_data.requesting_origin,
@@ -885,7 +885,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
}
content::PermissionResult
@@ -427,7 +438,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
@@ -428,7 +439,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
const GURL& requesting_origin,
const GURL& embedding_origin,
bool persist,
@@ -894,7 +894,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
std::optional<PromptOptions> prompt_options,
LocationSettingsDialogOutcome prompt_outcome) {
bool is_default_search = IsRequestingOriginDSE(requesting_origin);
@@ -447,7 +458,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
@@ -448,7 +459,7 @@ void GeolocationPermissionContextAndroid::OnLocationSettingsDialogShown(
FinishNotifyPermissionSet(location_settings_dialog_request_id_,
requesting_origin, embedding_origin,
std::move(location_settings_dialog_callback_),
@@ -903,7 +903,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
location_settings_dialog_request_id_ =
PermissionRequestID(content::GlobalRenderFrameHostId(0, 0),
@@ -460,7 +471,7 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
@@ -461,7 +472,7 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
const GURL& embedding_origin,
BrowserPermissionCallback callback,
bool persist,
@@ -912,7 +912,7 @@ diff --git a/components/permissions/contexts/geolocation_permission_context_andr
std::optional<PromptOptions> prompt_options) {
PermissionRequestData request_data(
this, id,
@@ -469,9 +480,10 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
@@ -470,9 +481,10 @@ void GeolocationPermissionContextAndroid::FinishNotifyPermissionSet(
blink::PermissionType::GEOLOCATION)),
requesting_origin, embedding_origin);
request_data.prompt_options = prompt_options.value_or(std::monostate());
@@ -972,7 +972,7 @@ diff --git a/components/permissions/embedded_permission_prompt_flow_model.cc b/c
diff --git a/components/permissions/permission_context_base.cc b/components/permissions/permission_context_base.cc
--- a/components/permissions/permission_context_base.cc
+++ b/components/permissions/permission_context_base.cc
@@ -267,6 +267,17 @@ PermissionContextBase::CreatePermissionRequest(
@@ -282,6 +282,17 @@ PermissionContextBase::CreatePermissionRequest(
std::move(request_finished_callback), UsesAutomaticEmbargo());
}
@@ -990,7 +990,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
bool PermissionContextBase::UsesAutomaticEmbargo() const {
return true;
}
@@ -572,7 +583,8 @@ void PermissionContextBase::DecidePermission(
@@ -626,7 +637,8 @@ void PermissionContextBase::DecidePermission(
void PermissionContextBase::PermissionDecided(
PermissionDecision decision,
bool is_final_decision,
@@ -999,8 +999,8 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
+ content_settings::mojom::LifetimeMode lifetime_option) {
UserMadePermissionDecision(request_data.id, request_data.requesting_origin,
request_data.embedding_origin, decision);
@@ -585,11 +597,12 @@ void PermissionContextBase::PermissionDecided(
// If a permission request originates from an embedded element, its
@@ -650,11 +662,12 @@ void PermissionContextBase::PermissionDecided(
// missing if a permission prompt was preignored and we already notified an
// origin about it.
if (request->second.second) {
@@ -1017,7 +1017,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
}
}
@@ -674,6 +687,30 @@ void PermissionContextBase::NotifyPermissionSet(
@@ -739,6 +752,30 @@ void PermissionContextBase::NotifyPermissionSet(
bool persist,
PermissionDecision decision,
bool is_final_decision) {
@@ -1048,7 +1048,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
// Note that rfh may be null, see crbug.com/426909787.
@@ -689,8 +726,8 @@ void PermissionContextBase::NotifyPermissionSet(
@@ -754,8 +791,8 @@ void PermissionContextBase::NotifyPermissionSet(
if (persist) {
// Clone new value, because we need it again for the callback.
@@ -1059,7 +1059,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
}
if (is_final_decision) {
@@ -728,6 +765,17 @@ void PermissionContextBase::UpdateSetting(
@@ -794,6 +831,17 @@ void PermissionContextBase::UpdateSetting(
const PermissionRequestData& request_data,
PermissionSetting setting,
bool is_one_time) {
@@ -1077,7 +1077,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
DCHECK_EQ(request_data.requesting_origin,
request_data.requesting_origin.DeprecatedGetOriginAsURL());
DCHECK_EQ(request_data.embedding_origin,
@@ -737,6 +785,8 @@ void PermissionContextBase::UpdateSetting(
@@ -803,6 +851,8 @@ void PermissionContextBase::UpdateSetting(
constraints.set_session_model(
is_one_time ? content_settings::mojom::SessionModel::ONE_TIME
: content_settings::mojom::SessionModel::DURABLE);
@@ -1089,7 +1089,7 @@ diff --git a/components/permissions/permission_context_base.cc b/components/perm
diff --git a/components/permissions/permission_context_base.h b/components/permissions/permission_context_base.h
--- a/components/permissions/permission_context_base.h
+++ b/components/permissions/permission_context_base.h
@@ -192,6 +192,18 @@ class PermissionContextBase : public content_settings::Observer {
@@ -198,6 +198,18 @@ class PermissionContextBase : public content_settings::Observer {
// Updates stored setting if persist is set, updates tab indicators
// and runs the callback to finish the request.
@@ -1108,7 +1108,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
virtual void NotifyPermissionSet(const PermissionRequestData& request_data,
BrowserPermissionCallback callback,
bool persist,
@@ -209,6 +221,11 @@ class PermissionContextBase : public content_settings::Observer {
@@ -214,6 +226,11 @@ class PermissionContextBase : public content_settings::Observer {
// Store the decided permission state. Virtual since the permission might be
// stored with different restrictions (for example for desktop notifications).
@@ -1120,7 +1120,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
virtual void UpdateSetting(const PermissionRequestData& request_data,
PermissionSetting setting,
bool is_one_time);
@@ -238,6 +255,12 @@ class PermissionContextBase : public content_settings::Observer {
@@ -243,6 +260,12 @@ class PermissionContextBase : public content_settings::Observer {
PermissionRequest::PermissionDecidedCallback permission_decided_callback,
base::OnceClosure request_finished_callback) const;
@@ -1133,7 +1133,7 @@ diff --git a/components/permissions/permission_context_base.h b/components/permi
// Implementors can override this method to avoid using automatic embargo.
virtual bool UsesAutomaticEmbargo() const;
@@ -271,7 +294,8 @@ class PermissionContextBase : public content_settings::Observer {
@@ -281,7 +304,8 @@ class PermissionContextBase : public content_settings::Observer {
// allows/blocks/dismisses a permission prompt.
void PermissionDecided(PermissionDecision decision,
bool is_final_decision,
@@ -1160,7 +1160,7 @@ diff --git a/components/permissions/permission_prompt.h b/components/permissions
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
@@ -36,6 +36,16 @@ PermissionRequest::PermissionRequest(
@@ -35,6 +35,16 @@ PermissionRequest::PermissionRequest(
request_finished_callback_(std::move(request_finished_callback)),
uses_automatic_embargo_(uses_automatic_embargo) {}
@@ -1177,7 +1177,7 @@ diff --git a/components/permissions/permission_request.cc b/components/permissio
PermissionRequest::~PermissionRequest() {
std::move(request_finished_callback_).Run();
}
@@ -424,20 +434,40 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
@@ -431,20 +441,40 @@ bool PermissionRequest::ShouldUseTwoOriginPrompt() const {
return request_type() == RequestType::kStorageAccess;
}
@@ -1248,7 +1248,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
PermissionRequest(const PermissionRequest&) = delete;
PermissionRequest& operator=(const PermissionRequest&) = delete;
@@ -172,10 +183,10 @@ class PermissionRequest {
@@ -180,10 +191,10 @@ class PermissionRequest {
// If |is_one_time| is true the permission will last until all tabs of
// |origin| are closed or navigated away from, and then the permission will
// automatically expire after 1 day.
@@ -1261,7 +1261,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
// Called when the user has cancelled the permission request. This
// corresponds to a denial, but is segregated in case the context needs to
@@ -234,6 +245,9 @@ class PermissionRequest {
@@ -242,6 +253,9 @@ class PermissionRequest {
// Called once a decision is made about the permission.
PermissionDecidedCallback permission_decided_callback_;
@@ -1274,7 +1274,7 @@ diff --git a/components/permissions/permission_request.h b/components/permission
diff --git a/components/permissions/permission_request_manager.cc b/components/permissions/permission_request_manager.cc
--- a/components/permissions/permission_request_manager.cc
+++ b/components/permissions/permission_request_manager.cc
@@ -201,7 +201,7 @@ void PermissionRequestManager::AddRequest(
@@ -206,12 +206,12 @@ void PermissionRequestManager::AddRequest(
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDenyPermissionPrompts)) {
@@ -1283,27 +1283,36 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
return;
}
@@ -270,7 +270,7 @@ void PermissionRequestManager::AddRequest(
if (display::Screen::Get()->IsHeadless()) {
- request->PermissionDenied();
+ request->PermissionDenied(/*is_one_time*/false, content_settings::mojom::LifetimeMode::ALWAYS);
return;
}
@@ -282,9 +282,9 @@ void PermissionRequestManager::AddRequest(
if (should_auto_approve_request) {
if (should_auto_approve_request == PermissionAction::GRANTED) {
- request->PermissionGranted(/*is_one_time=*/false);
+ request->PermissionGranted(/*is_one_time=*/false, content_settings::mojom::LifetimeMode::UNTIL_ORIGIN_CLOSED);
} else if (should_auto_approve_request == PermissionAction::GRANTED_ONCE) {
- request->PermissionGranted(/*is_one_time=*/true);
+ request->PermissionGranted(/*is_one_time=*/true, content_settings::mojom::LifetimeMode::UNTIL_ORIGIN_CLOSED);
}
return;
}
@@ -597,7 +597,8 @@ void PermissionRequestManager::Accept() {
(*requests_iter)->request_type(),
PermissionAction::GRANTED);
PermissionGrantedIncludingDuplicates(requests_iter->get(),
@@ -611,7 +611,8 @@ void PermissionRequestManager::Accept() {
StorePermissionActionForUMA(request->requesting_origin(),
request->request_type(), action);
PermissionGrantedIncludingDuplicates(request.get(),
- /*is_one_time=*/false);
+ /*is_one_time=*/false,
+ content_settings::mojom::LifetimeMode::ALWAYS);
#if !BUILDFLAG(IS_ANDROID)
std::optional<ContentSettingsType> content_settings_type =
@@ -615,7 +616,7 @@ void PermissionRequestManager::Accept() {
CurrentRequestsDecided(PermissionAction::GRANTED);
@@ -629,7 +630,7 @@ void PermissionRequestManager::Accept() {
CurrentRequestsDecided(action);
}
-void PermissionRequestManager::AcceptThisTime() {
@@ -1311,17 +1320,17 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_) {
return;
}
@@ -629,7 +630,8 @@ void PermissionRequestManager::AcceptThisTime() {
(*requests_iter)->request_type(),
PermissionAction::GRANTED_ONCE);
PermissionGrantedIncludingDuplicates(requests_iter->get(),
@@ -641,7 +642,8 @@ void PermissionRequestManager::AcceptThisTime() {
StorePermissionActionForUMA(request->requesting_origin(),
request->request_type(), action);
PermissionGrantedIncludingDuplicates(request.get(),
- /*is_one_time=*/true);
+ /*is_one_time=*/true,
+ mode);
}
NotifyRequestDecided(PermissionAction::GRANTED_ONCE);
@@ -637,6 +639,15 @@ void PermissionRequestManager::AcceptThisTime() {
NotifyRequestDecided(action);
@@ -649,6 +651,15 @@ void PermissionRequestManager::AcceptThisTime() {
}
void PermissionRequestManager::Deny() {
@@ -1337,16 +1346,16 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
if (ignore_callbacks_from_prompt_) {
return;
}
@@ -659,7 +670,7 @@ void PermissionRequestManager::Deny() {
StorePermissionActionForUMA((*requests_iter)->requesting_origin(),
(*requests_iter)->request_type(),
PermissionAction::DENIED);
- PermissionDeniedIncludingDuplicates(requests_iter->get());
+ PermissionDeniedIncludingDuplicates(requests_iter->get(), is_one_time, lifetime_option);
@@ -669,7 +680,7 @@ void PermissionRequestManager::Deny() {
for (const auto& request : requests_) {
StorePermissionActionForUMA(request->requesting_origin(),
request->request_type(), action);
- PermissionDeniedIncludingDuplicates(request.get());
+ PermissionDeniedIncludingDuplicates(request.get(), is_one_time, lifetime_option);
}
NotifyRequestDecided(PermissionAction::DENIED);
@@ -1283,32 +1294,32 @@ PermissionRequestManager::VisitDuplicateRequests(
NotifyRequestDecided(action);
@@ -1306,32 +1317,32 @@ PermissionRequestManager::VisitDuplicateRequests(
void PermissionRequestManager::PermissionGrantedIncludingDuplicates(
PermissionRequest* request,
@@ -1389,7 +1398,7 @@ diff --git a/components/permissions/permission_request_manager.cc b/components/p
request);
}
@@ -1578,7 +1589,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() {
@@ -1608,7 +1619,7 @@ void PermissionRequestManager::DoAutoResponseForTesting() {
}
switch (auto_response_for_test_) {
case ACCEPT_ONCE:
@@ -1401,7 +1410,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
@@ -168,8 +168,10 @@ class PermissionRequestManager
@@ -175,8 +175,10 @@ class PermissionRequestManager
GURL GetRequestingOrigin() const override;
GURL GetEmbeddingOrigin() const override;
void Accept() override;
@@ -1413,7 +1422,7 @@ diff --git a/components/permissions/permission_request_manager.h b/components/pe
void Dismiss() override;
void Ignore() override;
void FinalizeCurrentRequests() override;
@@ -419,9 +421,12 @@ class PermissionRequestManager
@@ -426,9 +428,12 @@ class PermissionRequestManager
// Calls PermissionGranted on a request and all its duplicates.
void PermissionGrantedIncludingDuplicates(PermissionRequest* request,
@@ -36,7 +36,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/values/ids.xml b/chrome/android/java/res/values/ids.xml
--- a/chrome/android/java/res/values/ids.xml
+++ b/chrome/android/java/res/values/ids.xml
@@ -191,6 +191,7 @@ found in the LICENSE file.
@@ -194,6 +194,7 @@ found in the LICENSE file.
<item type="id" name="menu_select_tabs" />
<item type="id" name="menu_item_content_filter_divider_line_id" />
<item type="id" name="menu_item_content_filter_help_center_id" />
@@ -55,26 +55,26 @@ 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;
@@ -296,6 +297,9 @@ import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskTrackerFac
@@ -294,6 +295,9 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuPropertiesDelegate;
import org.chromium.chrome.browser.ui.browser_window.BrowserWindowType;
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.extensions.windowing.ExtensionWindowControllerBridgeFactory;
+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.SnackbarController;
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;
@@ -309,6 +313,8 @@ import org.chromium.chrome.browser.usage_stats.UsageStatsService;
@@ -308,6 +312,8 @@ import org.chromium.chrome.browser.usage_stats.UsageStatsService;
import org.chromium.chrome.browser.util.ChromeAccessibilityUtil;
import org.chromium.chrome.browser.xr.scenecore.XrSceneCoreSessionInitializerImpl;
import org.chromium.chrome.browser.xr.scenecore.XrSceneCoreSessionManagerImpl;
+import org.chromium.components.bookmarks.BookmarkId;
+import org.chromium.components.bookmarks.BookmarkItem;
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
import org.chromium.components.browser_ui.share.ShareParams;
import org.chromium.components.browser_ui.util.BrowserControlsVisibilityDelegate;
import org.chromium.components.browser_ui.util.ComposedBrowserControlsVisibilityDelegate;
@@ -3910,6 +3916,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
@@ -3886,6 +3892,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
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);
@@ -4030,6 +4038,41 @@ public class ChromeTabbedActivity extends ChromeActivity {
@@ -4019,6 +4027,41 @@ public class ChromeTabbedActivity extends ChromeActivity {
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
@@ -291,6 +291,14 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
@@ -294,6 +294,14 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
// Bookmarks
modelList.add(buildBookmarksItem());
@@ -143,7 +143,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
// Recent Tabs
if (shouldShowRecentTabsItem()) modelList.add(buildRecentTabsItem());
@@ -466,6 +474,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
@@ -474,6 +482,13 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
}
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
@@ -4437,6 +4437,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -4505,6 +4505,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>
@@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/java/res/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
@@ -133,6 +133,7 @@ found in the LICENSE file.
@@ -136,6 +136,7 @@ found in the LICENSE file.
<item type="id" name="update_menu_id" />
<item type="id" name="new_tab_menu_id" />
<item type="id" name="new_incognito_tab_menu_id" />
@@ -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
@@ -3946,6 +3946,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
@@ -3922,6 +3922,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
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
@@ -2697,6 +2697,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -2756,6 +2756,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
return doOpenWebApk(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
@@ -989,6 +989,30 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
@@ -988,6 +988,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
@@ -378,6 +378,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
@@ -411,6 +411,9 @@ public class CustomTabAppMenuPropertiesDelegate extends AppMenuPropertiesDelegat
modelList.add(buildAddToHomescreenListItem(currentTab, false));
}
@@ -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
@@ -358,6 +358,9 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
@@ -366,6 +366,9 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
modelList.add(buildAddToHomescreenListItem(currentTab, shouldShowIconBeforeItem()));
}
@@ -114,8 +114,8 @@ 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
@@ -324,6 +324,10 @@ CHAR_LIMIT guidelines:
Collaboration
@@ -327,6 +327,10 @@ CHAR_LIMIT guidelines:
Chrome Tips
</message>
+ <message name="IDS_VIEW_SOURCE" desc="Title for the menu command to view the source of the current page. [CHAR-LIMIT=40]">
@@ -15,7 +15,7 @@ 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
@@ -497,7 +497,12 @@ class TabGridViewBinder {
@@ -504,7 +504,12 @@ class TabGridViewBinder {
if (result != null) {
TabUtils.setDrawableAndUpdateImageMatrix(thumbnail, result, thumbnailSize);
} else {
@@ -29,7 +29,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
}
};
if (sThumbnailFetcherForTesting != null) {
@@ -535,6 +540,7 @@ class TabGridViewBinder {
@@ -542,6 +547,7 @@ class TabGridViewBinder {
*/
private static void setFavicon(
ImageView faviconView, PropertyModel model, @Nullable TabFavicon favicon) {
@@ -84,7 +84,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
@@ -152,6 +152,7 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
@@ -153,6 +153,7 @@ import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.price_tracking.PriceDropNotificationManagerFactory;
import org.chromium.chrome.browser.printing.TabPrinter;
@@ -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;
@@ -658,7 +659,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -667,7 +668,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
new TabContentManager(
this,
mBrowserControlsManagerSupplier.get(),
@@ -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
@@ -6185,6 +6185,14 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -6422,6 +6422,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>
@@ -9,9 +9,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../java/res/values-sw600dp/dimens.xml | 4 ++--
chrome/android/java/res/values/dimens.xml | 6 +++++-
.../browser/ChromeBaseAppCompatActivity.java | 3 +++
.../chrome/browser/WarmupManager.java | 5 ++++-
.../ChromeAccessibilitySettingsDelegate.java | 19 ++++++++++++++++++
.../chrome/browser/app/ChromeActivity.java | 4 +++-
.../chrome/browser/WarmupManager.java | 7 +++++--
.../ChromeAccessibilitySettingsDelegate.java | 19 +++++++++++++++++++
.../chrome/browser/app/ChromeActivity.java | 5 ++++-
.../overlays/strip/StripLayoutHelper.java | 10 ++++++++--
.../strip/StripLayoutHelperManager.java | 6 +++++-
.../scene_layer/TabStripSceneLayer.java | 8 ++++++++
@@ -20,7 +20,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../chrome/browser/ui/RootUiCoordinator.java | 6 +++++-
chrome/browser/preferences/BUILD.gn | 1 +
.../preferences/ChromePreferenceKeys.java | 1 +
.../preferences/ChromeSharedPreferences.java | 12 +++++++++++
.../preferences/ChromeSharedPreferences.java | 12 ++++++++++++
.../LegacyChromePreferenceKeys.java | 1 +
.../AppHeaderCoordinator.java | 2 ++
.../omnibox/LocationBarCoordinator.java | 2 +-
@@ -29,16 +29,15 @@ 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 ++++--
.../browser/toolbar/ControlContainer.java | 2 +-
.../toolbar/top/ToolbarControlContainer.java | 20 ++++++++++++++++++-
.../toolbar/top/ToolbarControlContainer.java | 19 +++++++++++++++++++
.../browser/toolbar/top/ToolbarLayout.java | 5 ++++-
.../tab_strip/HeightTransitionHandler.java | 2 ++
.../TabStripTransitionCoordinator.java | 6 +++++-
.../res/xml/accessibility_preferences.xml | 5 +++++
.../accessibility/AccessibilitySettings.java | 13 ++++++++++++
.../accessibility/AccessibilitySettings.java | 13 +++++++++++++
.../AccessibilitySettingsDelegate.java | 2 ++
.../chromium/ui/base/DeviceFormFactor.java | 14 +++++++++++++
34 files changed, 171 insertions(+), 26 deletions(-)
.../chromium/ui/base/DeviceFormFactor.java | 14 ++++++++++++++
33 files changed, 172 insertions(+), 25 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
@@ -107,7 +106,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCo
import org.chromium.chrome.browser.ui.edge_to_edge.SimpleEdgeToEdgeController;
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
import org.chromium.components.browser_ui.util.AutomotiveUtils;
@@ -145,6 +146,8 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity
@@ -146,6 +147,8 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(newBase);
@@ -127,14 +126,16 @@ 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,7 +473,9 @@ public class WarmupManager {
@@ -472,8 +473,10 @@ public class WarmupManager {
ControlContainer controlContainer = mainView.findViewById(R.id.control_container);
if (toolbarId != ActivityUtils.NO_RESOURCE_ID && controlContainer != null) {
- controlContainer.initWithToolbar(toolbarId);
- controlContainer.initWithToolbar(
- toolbarId, R.dimen.custom_tabs_control_container_height);
+ controlContainer.initWithToolbar(toolbarId,
+ DeviceFormFactor.isForceTabletUI()
+ ? R.dimen.control_container_height_tabletui : 0);
+ ? R.dimen.control_container_height_tabletui
+ : R.dimen.custom_tabs_control_container_height);
}
return mainView;
} catch (InflateException e) {
@@ -170,21 +171,22 @@ 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
@@ -808,7 +808,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -818,7 +818,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) {
- controlContainer.initWithToolbar(toolbarLayoutId);
- controlContainer.initWithToolbar(toolbarLayoutId, getToolbarLayoutHeightResId());
+ controlContainer.initWithToolbar(toolbarLayoutId,
+ DeviceFormFactor.isForceTabletUI()
+ ? R.dimen.control_container_height_tabletui : 0);
+ ? R.dimen.control_container_height_tabletui
+ : getToolbarLayoutHeightResId());
}
onInitialLayoutInflationComplete();
}
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
@@ -132,6 +132,7 @@ import org.chromium.components.tab_group_sync.TabGroupSyncService;
@@ -136,6 +136,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;
@@ -192,7 +194,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.WindowAndroid;
import org.chromium.ui.util.ColorUtils;
@@ -5040,8 +5041,13 @@ public class StripLayoutHelper
@@ -5308,8 +5309,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();
@@ -211,7 +213,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java
@@ -105,6 +105,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa
@@ -101,6 +101,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.scrim.ScrimProperties;
import org.chromium.content_public.browser.LoadUrlParams;
@@ -219,7 +221,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;
@@ -498,7 +499,10 @@ public class StripLayoutHelperManager
@@ -491,7 +492,10 @@ public class StripLayoutHelperManager
mIsLayoutOptimizationsEnabled =
ToolbarFeatures.isTabStripWindowLayoutOptimizationEnabled(
/* isTablet= */ true, DisplayUtil.isContextInDefaultDisplay(mContext));
@@ -271,7 +273,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
@@ -768,7 +768,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -766,7 +766,9 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@Override
public int getControlContainerHeightResource() {
@@ -285,7 +287,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/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
@@ -110,6 +110,8 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
@@ -120,6 +120,8 @@ import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
import org.chromium.chrome.browser.pdf.PdfPage;
@@ -294,7 +296,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;
@@ -1803,7 +1805,9 @@ public class RootUiCoordinator
@@ -1877,7 +1879,9 @@ public class RootUiCoordinator
if (!mSupportsFindInPageSupplier.getAsBoolean()) return;
int stubId = R.id.find_toolbar_stub;
@@ -319,7 +321,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
@@ -337,6 +337,7 @@ public final class ChromePreferenceKeys {
@@ -348,6 +348,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";
@@ -370,7 +372,7 @@ diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/bro
diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java b/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java
--- a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java
+++ b/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/chrome/browser/ui/desktop_windowing/AppHeaderCoordinator.java
@@ -42,6 +42,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa
@@ -43,6 +43,7 @@ import org.chromium.components.browser_ui.desktop_windowing.DesktopWindowStateMa
import org.chromium.ui.display.DisplayUtil;
import org.chromium.ui.edge_to_edge.EdgeToEdgeStateProvider;
import org.chromium.ui.insets.CaptionBarInsetsRectProvider;
@@ -378,7 +380,7 @@ diff --git a/chrome/browser/ui/android/desktop_windowing/java/src/org/chromium/c
import org.chromium.ui.insets.InsetObserver;
import org.chromium.ui.insets.InsetObserver.WindowInsetsConsumer;
import org.chromium.ui.insets.InsetsRectProvider;
@@ -281,6 +282,7 @@ public class AppHeaderCoordinator
@@ -304,6 +305,7 @@ public class AppHeaderCoordinator
InsetsRectProvider insetsRectProvider,
@DesktopWindowHeuristicResult int currentResult,
boolean isOnExternalDisplay) {
@@ -389,7 +391,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
@@ -869,7 +869,7 @@ public class LocationBarCoordinator
@@ -903,7 +903,7 @@ public class LocationBarCoordinator
}
private boolean isTabletWindow() {
@@ -401,7 +403,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
@@ -1489,6 +1489,13 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1498,6 +1498,13 @@ Your Google account may have other forms of browsing history like searches and a
Privacy guide explanation closed
</message>
@@ -493,18 +495,6 @@ diff --git a/chrome/browser/ui/android/toolbar/java/res/values/dimens.xml b/chro
<dimen name="ntp_search_box_height">64dp</dimen>
<dimen name="ntp_search_box_height_tall">72dp</dimen>
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/ControlContainer.java
@@ -26,7 +26,7 @@ public interface ControlContainer {
*
* @param toolbarLayoutId The ID of the toolbar layout to use.
*/
- void initWithToolbar(int toolbarLayoutId);
+ void initWithToolbar(int toolbarLayoutId, int controlContainerHeightOverrideId);
/**
* @return The {@link ViewResourceAdapter} that exposes this {@link View} as a CC resource.
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java
@@ -516,16 +506,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;
@@ -170,8 +171,25 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
@Override
@@ -165,6 +166,24 @@ public class ToolbarControlContainer extends OptimizedFrameLayout
@Initializer
- public void initWithToolbar(int toolbarLayoutId) {
+ public void initWithToolbar(int toolbarLayoutId, int controlContainerHeightOverrideId) {
public void initWithToolbar(int toolbarLayoutId, int toolbarLayoutHeightResId) {
try (TraceEvent te = TraceEvent.scoped("ToolbarControlContainer.initWithToolbar")) {
+ if (controlContainerHeightOverrideId != 0) {
+ if (DeviceFormFactor.isForceTabletUI() && toolbarLayoutHeightResId != 0) {
+ toolbarLayoutHeightResId = R.dimen.tab_strip_height_tabletui;
+ Resources res = getContext().getResources();
+ setMinimumHeight((int) res.getDimension(controlContainerHeightOverrideId));
+ setMinimumHeight((int) res.getDimension(toolbarLayoutHeightResId));
+ int tab_strip_height =
+ (int) res.getDimension(R.dimen.tab_strip_height_tabletui);
+
@@ -541,8 +529,8 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
+ ((MarginLayoutParams)view.getLayoutParams()).topMargin = tab_strip_height;
+ }
mToolbarContainer = findViewById(R.id.toolbar_container);
mToolbarLayoutHeight = getResources().getDimensionPixelSize(toolbarLayoutHeightResId);
ViewStub toolbarStub = findViewById(R.id.toolbar_stub);
toolbarStub.setLayoutResource(toolbarLayoutId);
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
@@ -554,7 +542,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;
@@ -581,7 +582,9 @@ public abstract class ToolbarLayout extends FrameLayout
@@ -582,7 +583,9 @@ public abstract class ToolbarLayout extends FrameLayout
* not have a tab strip.
*/
protected int getTabStripHeightFromResource() {
@@ -568,7 +556,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/tab_strip/HeightTransitionHandler.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/HeightTransitionHandler.java
@@ -30,6 +30,7 @@ import org.chromium.chrome.browser.toolbar.top.ToolbarLayout;
@@ -32,6 +32,7 @@ import org.chromium.chrome.browser.toolbar.top.ToolbarLayout;
import org.chromium.chrome.browser.toolbar.top.tab_strip.TabStripTransitionCoordinator.TabStripHeightObserver;
import org.chromium.chrome.browser.toolbar.top.tab_strip.TabStripTransitionCoordinator.TabStripTransitionDelegate;
import org.chromium.ui.base.ViewUtils;
@@ -576,14 +564,14 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
import org.chromium.ui.resources.dynamics.DynamicResourceReadyOnceCallback;
import org.chromium.ui.util.TokenHolder;
@@ -562,6 +563,7 @@ class HeightTransitionHandler {
@@ -561,6 +562,7 @@ class HeightTransitionHandler {
/** Get the min screen width (in dp) required for the tab strip to become visible. */
private static int getScreenWidthThresholdDp() {
+ if (DeviceFormFactor.isForceTabletUI()) return 0;
if (TabStripTransitionCoordinator.sHeightTransitionThresholdForTesting != null) {
return TabStripTransitionCoordinator.sHeightTransitionThresholdForTesting;
}
+ if (DeviceFormFactor.isForceTabletUI()) return 0;
return TRANSITION_THRESHOLD_DP;
}
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/tab_strip/TabStripTransitionCoordinator.java
@@ -610,9 +598,9 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
@@ -36,6 +36,11 @@ found in the LICENSE file.
android:summary="@string/jump_start_omnibox_summary"
android:title="@string/jump_start_omnibox_title" />
@@ -41,6 +41,11 @@ found in the LICENSE file.
android:summary="@string/caret_browsing_summary"
android:title="@string/caret_browsing_title" />
+ <org.chromium.components.browser_ui.settings.ChromeSwitchPreference
+ android:key="force_tablet_ui"
@@ -633,9 +621,9 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
/** Fragment to keep track of all the accessibility related preferences. */
@NullMarked
@@ -44,6 +45,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
public static final String PREF_ZOOM_INFO = "zoom_info";
@@ -45,6 +46,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
public static final String PREF_IMAGE_DESCRIPTIONS = "image_descriptions";
public static final String PREF_CARET_BROWSING = "caret_browsing";
+ private BooleanPreferenceDelegate mForceTabletUIDelegate;
+ static final String PREF_FORCE_TABLET_UI = "force_tablet_ui";
@@ -643,7 +631,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
private PageZoomPreference mPageZoomDefaultZoomPref;
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
@@ -117,6 +121,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
@@ -119,6 +123,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
mDelegate.getReaderAccessibilityDelegate().getValue());
readerForAccessibilityPref.setOnPreferenceChangeListener(this);
@@ -656,7 +644,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
Preference captions = findPreference(PREF_CAPTIONS);
captions.setOnPreferenceClickListener(
preference -> {
@@ -176,6 +186,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
@@ -191,6 +201,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
public boolean onPreferenceChange(Preference preference, Object newValue) {
if (PREF_FORCE_ENABLE_ZOOM.equals(preference.getKey())) {
mDelegate.getForceEnableZoomAccessibilityDelegate().setValue((Boolean) newValue);
@@ -29,15 +29,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/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
@@ -47,6 +47,7 @@ import org.chromium.base.Callback;
@@ -46,6 +46,7 @@ import org.chromium.base.ApplicationStatus;
import org.chromium.base.Callback;
import org.chromium.base.CallbackController;
import org.chromium.base.CallbackUtils;
import org.chromium.base.CommandLine;
+import org.chromium.base.ContextUtils;
import org.chromium.base.CommandLine;
import org.chromium.base.DeviceInfo;
import org.chromium.base.IntentUtils;
import org.chromium.base.Log;
import org.chromium.base.MemoryPressureListener;
@@ -2218,8 +2219,10 @@ public class ChromeTabbedActivity extends ChromeActivity {
@@ -2173,8 +2174,10 @@ public class ChromeTabbedActivity extends ChromeActivity {
boolean hadCipherData =
CipherLazyHolder.sCipherInstance.restoreFromBundle(getSavedInstanceState());
@@ -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
@@ -2856,6 +2856,12 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -2883,6 +2883,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>
@@ -24,7 +24,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGridDialogMediator.java
@@ -100,6 +100,7 @@ import org.chromium.components.collaboration.messaging.PersistentNotificationTyp
@@ -101,6 +101,7 @@ import org.chromium.components.collaboration.messaging.PersistentNotificationTyp
import org.chromium.components.data_sharing.DataSharingService;
import org.chromium.components.data_sharing.GroupMember;
import org.chromium.components.data_sharing.member_role.MemberRole;
@@ -32,7 +32,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
import org.chromium.components.tab_group_sync.EitherId.EitherGroupId;
import org.chromium.components.tab_group_sync.LocalTabGroupId;
import org.chromium.components.tab_group_sync.TabGroupSyncService;
@@ -120,6 +121,9 @@ import java.util.Objects;
@@ -121,6 +122,9 @@ import java.util.Objects;
import java.util.Set;
import java.util.function.Supplier;
@@ -42,14 +42,14 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
/**
* A mediator for the TabGridDialog component, responsible for communicating with the components'
* coordinator as well as managing the business logic for dialog show/hide.
@@ -1033,9 +1037,15 @@ public class TabGridDialogMediator
@@ -1034,9 +1038,15 @@ public class TabGridDialogMediator
UrlConstantResolver urlConstantResolver =
UrlConstantResolverFactory.getForProfile(profile);
+ String url = urlConstantResolver.getNtpUrl();
+ if (UrlConstants.NTP_URL.equals(url)
+ && HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl(profile.isIncognitoBranded());
+ url = gurl != null ? gurl.getSpec() : url;
+ }
TabGroupUtils.openUrlInGroup(
@@ -76,7 +76,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
Tab parentTabToAttach = relatedTabs.get(relatedTabs.size() - 1);
+ String url = urlConstantResolver.getNtpUrl();
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl(currentTab.isIncognito());
+ url = gurl != null ? gurl.getSpec() : url;
+ }
mTabCreatorManager
@@ -105,8 +105,8 @@ diff --git a/chrome/android/java/res/xml/homepage_preferences.xml b/chrome/andro
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabGroupContextMenuCoordinator.java
@@ -84,6 +84,9 @@ import org.chromium.ui.widget.RectProvider;
@@ -87,6 +87,9 @@ import java.util.List;
import java.util.function.BiConsumer;
import java.util.function.Supplier;
+import org.chromium.chrome.browser.homepage.HomepageManager;
@@ -115,14 +115,14 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
/**
* A coordinator for the context menu on the tab strip by long-pressing on the group titles. It is
* responsible for creating a list of menu items, setting up the menu and displaying the menu.
@@ -228,9 +231,15 @@ public class TabGroupContextMenuCoordinator extends TabGroupOverflowMenuCoordina
@@ -235,9 +238,15 @@ public class TabGroupContextMenuCoordinator extends TabStripReorderingHelper<Tok
/* didCloseCallback= */ null);
RecordUserAction.record("MobileToolbarTabGroupMenu.DeleteGroup");
} else if (menuId == R.id.open_new_tab_in_group) {
+ String url = UrlConstants.NTP_URL;
+ if (UrlConstants.NTP_URL.equals(url)
+ && HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl(tabModelSupplier.get().isIncognitoBranded());
+ url = gurl != null ? gurl.getSpec() : url;
+ }
TabGroupUtils.openUrlInGroup(
@@ -135,7 +135,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/over
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
@@ -257,6 +257,22 @@ public class HomepageManager
@@ -264,6 +264,22 @@ public class HomepageManager
notifyHomepageUpdated();
}
@@ -208,7 +208,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/metrics/LaunchM
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/ChromeTabCreator.java
@@ -27,6 +27,7 @@ import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingTask;
@@ -26,6 +26,7 @@ import org.chromium.chrome.browser.app.tab_activity_glue.ReparentingTask;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.multiwindow.MultiInstanceManager;
@@ -216,13 +216,13 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/Chrome
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge;
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState;
import org.chromium.chrome.browser.profiles.Profile;
@@ -572,6 +573,13 @@ public class ChromeTabCreator extends TabCreator
@@ -579,6 +580,13 @@ public class ChromeTabCreator implements TabCreator, NeedsTabModel, NeedsTabMode
*/
public @Nullable Tab launchUrl(
String url, @TabLaunchType int type, @Nullable Intent intent, long intentTimestamp) {
+ if (!mIncognito && url.equals(UrlConstants.NTP_URL)) {
+ if (HomepageManager.getInstance().getPrefNTPIsHomepageEnabled()) {
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl();
+ GURL gurl = HomepageManager.getInstance().getHomepageGurl(mIncognito);
+ url = gurl != null ? gurl.getSpec() : url;
+ }
+ }
@@ -233,7 +233,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
@@ -350,6 +350,7 @@ public final class ChromePreferenceKeys {
@@ -361,6 +361,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";
@@ -255,7 +255,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
@@ -1330,6 +1330,9 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1339,6 +1339,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>
@@ -268,7 +268,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_ui_prefs.cc
--- a/chrome/browser/ui/browser_ui_prefs.cc
+++ b/chrome/browser/ui/browser_ui_prefs.cc
@@ -119,6 +119,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -122,6 +122,8 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kPinSplitTabButton, false,
pref_registration_flags);
+16 -16
View File
@@ -71,7 +71,7 @@ diff --git a/components/search_engines/BUILD.gn b/components/search_engines/BUIL
]
deps = [ "//url" ]
@@ -258,6 +260,7 @@ source_set("unit_tests") {
@@ -259,6 +261,7 @@ source_set("unit_tests") {
"//testing/gmock",
"//testing/gtest",
"//third_party/search_engines_data:prepopulated_engines",
@@ -141,7 +141,7 @@ new file mode 100644
diff --git a/components/search_engines/search_engine_choice/search_engine_choice_utils.cc b/components/search_engines/search_engine_choice/search_engine_choice_utils.cc
--- a/components/search_engines/search_engine_choice/search_engine_choice_utils.cc
+++ b/components/search_engines/search_engine_choice/search_engine_choice_utils.cc
@@ -172,10 +172,7 @@ void RecordChoiceScreenDefaultSearchProviderType(
@@ -193,10 +193,7 @@ void RecordChoiceScreenDefaultSearchProviderType(
}
void RecordChoiceScreenSelectedIndex(int selected_engine_index) {
@@ -185,22 +185,22 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
namespace TemplateURLPrepopulateData {
// Helpers --------------------------------------------------------------------
@@ -122,7 +124,7 @@ int GetDataVersion(PrefService* prefs) {
@@ -154,7 +156,7 @@ int GetDataVersion(PrefService* prefs) {
kCurrentDataVersion;
}
-std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedEngines(
+std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedEnginesChromium(
PrefService& prefs,
std::vector<const TemplateURLPrepopulateData::PrepopulatedEngine*>
const std::vector<const PrepopulatedEngine*>&
regional_prepopulated_engines) {
@@ -138,6 +140,17 @@ std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedEngines(
@@ -170,6 +172,17 @@ std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedEngines(
&PrepopulatedEngineToTemplateURLData);
}
+std::vector<std::unique_ptr<TemplateURLData>> GetPrepopulatedEngines(
+ PrefService& prefs,
+ std::vector<const TemplateURLPrepopulateData::PrepopulatedEngine*>
+ const std::vector<const PrepopulatedEngine*>&
+ regional_prepopulated_engines) {
+ std::vector<std::unique_ptr<TemplateURLData>> t_urls =
+ GetPrepopulatedEnginesChromium(prefs, regional_prepopulated_engines);
@@ -211,8 +211,8 @@ diff --git a/components/search_engines/template_url_prepopulate_data.cc b/compon
+
std::unique_ptr<TemplateURLData> GetPrepopulatedEngine(
PrefService& prefs,
std::vector<const TemplateURLPrepopulateData::PrepopulatedEngine*>
@@ -159,10 +172,14 @@ std::vector<std::unique_ptr<TemplateURLData>> GetLocalPrepopulatedEngines(
const std::vector<const PrepopulatedEngine*>& regional_prepopulated_engines,
@@ -190,10 +203,14 @@ std::vector<std::unique_ptr<TemplateURLData>> GetLocalPrepopulatedEngines(
return std::vector<std::unique_ptr<TemplateURLData>>();
}
@@ -276,7 +276,7 @@ diff --git a/tools/json_to_struct/json_to_struct.gni b/tools/json_to_struct/json
diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_to_struct.py
--- a/tools/json_to_struct/json_to_struct.py
+++ b/tools/json_to_struct/json_to_struct.py
@@ -103,7 +103,7 @@ def _GenerateHeaderGuard(h_filename):
@@ -104,7 +104,7 @@ def _GenerateHeaderGuard(h_filename):
return re.sub(u'^_*', '', result) + u'_' # Remove leading underscores.
@@ -285,7 +285,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
"""Generates the .h file containing the definition of the structure specified
by the schema.
@@ -147,11 +147,15 @@ def _GenerateH(basepath, fileroot, head, namespace, schema, description):
@@ -148,11 +148,15 @@ def _GenerateH(basepath, fileroot, head, namespace, schema, description):
f.write(u'#include "%s"\n' % header)
f.write(u'\n')
@@ -302,7 +302,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
schema['type_name'], schema['schema']))
f.write(u'\n')
@@ -176,7 +180,7 @@ def _GenerateH(basepath, fileroot, head, namespace, schema, description):
@@ -177,7 +181,7 @@ def _GenerateH(basepath, fileroot, head, namespace, schema, description):
f.write(u'#endif // %s\n' % header_guard)
@@ -311,7 +311,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
"""Generates the .cc file containing the static initializers for the
of the elements specified in the description.
@@ -211,7 +215,7 @@ def _GenerateCC(basepath, fileroot, head, namespace, schema, description):
@@ -212,7 +216,7 @@ def _GenerateCC(basepath, fileroot, head, namespace, schema, description):
f.write(element_generator.GenerateElements(schema['type_name'],
schema['schema'], description))
@@ -320,7 +320,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
f.write('\n} // anonymous namespace \n\n')
aggregated = GenerateCCAggregation(schema['type_name'], aggregation)
@@ -298,7 +302,7 @@ def GenerateClass(basepath,
@@ -299,7 +303,7 @@ def GenerateClass(basepath,
def GenerateStruct(basepath, output_root, namespace, schema, description,
@@ -329,7 +329,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
"""Generates a C++ struct from a JSON description.
Args:
@@ -317,8 +321,8 @@ def GenerateStruct(basepath, output_root, namespace, schema, description,
@@ -318,8 +322,8 @@ def GenerateStruct(basepath, output_root, namespace, schema, description,
"""
year = int(year) if year else datetime.now().year
head = HEAD % (year, schema_filename, description_filename)
@@ -340,7 +340,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
if __name__ == '__main__':
parser = optparse.OptionParser(
@@ -333,11 +337,17 @@ if __name__ == '__main__':
@@ -334,11 +338,17 @@ if __name__ == '__main__':
parser.add_option('-s', '--schema', help='path to the schema file, '
'mandatory.')
parser.add_option('-o', '--output', help='output filename, ')
@@ -358,7 +358,7 @@ diff --git a/tools/json_to_struct/json_to_struct.py b/tools/json_to_struct/json_
description_filename = os.path.normpath(args[0])
root, ext = os.path.splitext(description_filename)
shortroot = opts.output if opts.output else os.path.split(root)[1]
@@ -354,4 +364,4 @@ if __name__ == '__main__':
@@ -355,4 +365,4 @@ if __name__ == '__main__':
schema = _Load(opts.schema)
description = _Load(description_filename)
GenerateStruct(basepath, output_root, opts.namespace, schema, description,
@@ -18,7 +18,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../api/settings_private/prefs_util.cc | 17 ++++
.../browser/profiles/ProfileManagerUtils.java | 5 ++
.../profiles/android/profile_manager_utils.cc | 5 ++
chrome/browser/profiles/profile_manager.cc | 15 +++-
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 +
@@ -40,7 +40,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
content/browser/storage_partition_impl.cc | 1 +
.../public/browser/browsing_data_remover.h | 7 +-
.../Add-setting-to-clear-data-on-exit.inc | 8 ++
36 files changed, 406 insertions(+), 33 deletions(-)
36 files changed, 407 insertions(+), 34 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
@@ -48,7 +48,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
@@ -265,6 +265,7 @@ chrome_java_sources = [
@@ -268,6 +268,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",
@@ -82,7 +82,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;
@@ -2224,7 +2225,11 @@ public class ChromeTabbedActivity extends ChromeActivity {
@@ -2179,7 +2180,11 @@ public class ChromeTabbedActivity extends ChromeActivity {
Intent intent = getIntent();
boolean hadCipherData =
@@ -334,7 +334,7 @@ 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
@@ -2067,6 +2067,16 @@
@@ -2097,6 +2097,16 @@
<message name="IDS_SETTINGS_CLEAR_BROWSING_DATA" desc="Text for delete browsing data button in Privacy options">
Delete browsing data
</message>
@@ -354,9 +354,9 @@ 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
@@ -110,6 +110,7 @@
@@ -108,6 +108,7 @@
#include "components/enterprise/client_certificates/core/features.h"
#include "components/enterprise/data_controls/core/browser/features.h"
#include "components/enterprise/obfuscation/core/utils.h"
#include "components/error_page/common/error_page_switches.h"
+#include "components/favicon/core/favicon_database.h"
#include "components/feature_engagement/public/feature_constants.h"
@@ -459,7 +459,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_lifetime_manager.
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
@@ -350,6 +350,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -351,6 +351,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
uint64_t origin_type_mask,
base::OnceCallback<void(uint64_t)> callback) {
CHECK(((remove_mask &
@@ -467,7 +467,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
~content::BrowsingDataRemover::DATA_TYPE_AVOID_CLOSING_CONNECTIONS &
~constants::FILTERABLE_DATA_TYPES) == 0) ||
filter_builder->MatchesAllOriginsAndDomains());
@@ -453,6 +454,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -454,6 +455,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
CreateTaskCompletionClosure(TracingDataType::kHistory),
&history_task_tracker_);
}
@@ -477,7 +477,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
if (ClipboardRecentContent::GetInstance())
ClipboardRecentContent::GetInstance()->SuppressClipboardContent();
@@ -561,6 +565,11 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -562,6 +566,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()) {
@@ -489,7 +489,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&)>()
@@ -589,9 +598,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -590,9 +599,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
}
device_event_log::Clear(delete_begin_, delete_end_);
@@ -503,7 +503,7 @@ diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.
content::BackgroundTracingManager::GetInstance().DeleteTracesInDateRange(
delete_begin_, delete_end_);
@@ -1314,6 +1327,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
@@ -1318,6 +1331,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
if (should_clear_zero_suggest_and_session_token && template_url_service)
template_url_service->ClearSessionToken();
@@ -515,7 +515,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
@@ -557,6 +557,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
@@ -560,6 +560,23 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
(*s_allowlist)[browsing_data::prefs::kLastClearBrowsingDataTab] =
settings_api::PrefType::kNumber;
@@ -574,7 +574,7 @@ diff --git a/chrome/browser/profiles/android/profile_manager_utils.cc b/chrome/b
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
--- a/chrome/browser/profiles/profile_manager.cc
+++ b/chrome/browser/profiles/profile_manager.cc
@@ -1435,6 +1435,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info,
@@ -1448,6 +1448,19 @@ void ProfileManager::DoFinalInit(ProfileInfo* profile_info,
}
}
@@ -594,15 +594,18 @@ 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_ ||
@@ -2096,7 +2109,7 @@ void ProfileManager::OnBrowserClosed(Browser* browser) {
Profile* original_profile = profile->GetOriginalProfile();
@@ -2117,9 +2130,9 @@ void ProfileManager::OnBrowserClosed(Browser* browser) {
// Do nothing if the closed window is not the last window of the same profile.
for (Browser* browser_iter : *BrowserList::GetInstance()) {
- if (browser_iter->profile()->GetOriginalProfile() == original_profile)
+ if (browser_iter->profile() == profile)
return;
}
bool has_other_window = false;
ForEachCurrentBrowserWindowInterfaceOrderedByActivation(
- [original_profile, &has_other_window](BrowserWindowInterface* browser) {
+ [profile, &has_other_window](BrowserWindowInterface* browser) {
const Profile* const iter_profile = browser->GetProfile();
- if (iter_profile->GetOriginalProfile() == original_profile) {
+ if (iter_profile == profile) {
has_other_window = true;
}
return !has_other_window;
diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles/profile_manager.h
--- a/chrome/browser/profiles/profile_manager.h
+++ b/chrome/browser/profiles/profile_manager.h
@@ -691,7 +694,7 @@ diff --git a/chrome/browser/resources/settings/clear_browsing_data_dialog/clear_
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -1425,6 +1425,9 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1434,6 +1434,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>
@@ -718,7 +721,7 @@ 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
@@ -2042,6 +2042,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
@@ -2192,6 +2192,7 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
{"clearedData", IDS_SETTINGS_CLEARED_DATA},
{"clearBrowsingData", IDS_SETTINGS_CLEAR_BROWSING_DATA},
{"clearBrowsingDataDescription", IDS_SETTINGS_CLEAR_DATA_DESCRIPTION},
@@ -938,7 +941,7 @@ diff --git a/components/favicon/core/favicon_database.cc b/components/favicon/co
// Description of database tables:
//
// icon_mapping
@@ -507,6 +511,11 @@ bool FaviconDatabase::SetFaviconBitmapLastUpdateTime(FaviconBitmapID bitmap_id,
@@ -505,6 +509,11 @@ bool FaviconDatabase::SetFaviconBitmapLastUpdateTime(FaviconBitmapID bitmap_id,
bool FaviconDatabase::SetFaviconsOutOfDateBetween(base::Time begin,
base::Time end) {
@@ -965,7 +968,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
@@ -925,6 +925,7 @@ void TemplateURLService::RemoveAutoGeneratedForUrlsBetween(
@@ -924,6 +924,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 &&
@@ -988,7 +991,7 @@ diff --git a/content/browser/btm/btm_service_impl.cc b/content/browser/btm/btm_s
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
@@ -1550,6 +1550,7 @@ void StoragePartitionImpl::Initialize(
@@ -1551,6 +1551,7 @@ void StoragePartitionImpl::Initialize(
.AppendASCII("Code Cache");
}
DCHECK_GE(settings.size_in_bytes(), 0);
@@ -110,7 +110,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
import org.chromium.components.ukm.UkmRecorder;
import org.chromium.content_public.browser.RenderFrameHost;
import org.chromium.content_public.browser.WebContents;
@@ -169,8 +171,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
@@ -170,8 +172,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
mIsPaymentRequest = options.isPaymentCredentialCreation;
mMakeCredentialCallback = callback;
mIsOperationPending = true;
@@ -120,7 +120,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
recordOutcomeEvent(MakeCredentialOutcome.OTHER_FAILURE);
onError(AuthenticatorStatus.NOT_IMPLEMENTED);
return;
@@ -234,8 +235,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
@@ -235,8 +236,7 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
mIsConditionalRequest = options.mediation == Mediation.CONDITIONAL;
mIsImmediateRequest = options.mediation == Mediation.IMMEDIATE;
@@ -130,7 +130,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
|| options.publicKey == null) {
recordOutcomeEvent(GetAssertionOutcome.OTHER_FAILURE);
onError(AuthenticatorStatus.NOT_IMPLEMENTED);
@@ -260,12 +260,11 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
@@ -277,12 +277,11 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
}
private boolean couldSupportConditionalMediation() {
@@ -145,7 +145,7 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
}
@Override
@@ -339,26 +338,20 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
@@ -356,26 +355,20 @@ public final class AuthenticatorImpl implements Authenticator, AuthenticationCon
capabilities.add(
createWebAuthnClientCapability(
AuthenticatorConstants.CAPABILITY_CONDITIONAL_GET,
@@ -174,9 +174,9 @@ diff --git a/components/webauthn/android/java/src/org/chromium/components/webaut
- .WEBAUTHN_IMMEDIATE_GET)
- && isUvpaa));
+ false));
callback.call(capabilities.toArray(new WebAuthnClientCapability[0]));
});
}
boolean signal_supported =
isUvpaa
&& DeviceFeatureMap.isEnabled(
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
@@ -302,7 +302,7 @@ diff --git a/components/webauthn/features.h b/components/webauthn/features.h
diff --git a/device/fido/features.cc b/device/fido/features.cc
--- a/device/fido/features.cc
+++ b/device/fido/features.cc
@@ -154,6 +154,7 @@ BASE_FEATURE(kWebAuthnImmediateGet,
@@ -171,6 +171,7 @@ BASE_FEATURE(kWebAuthnImmediateGet,
#else
base::FEATURE_ENABLED_BY_DEFAULT);
#endif // BUILDFLAG(IS_ANDROID)
@@ -310,7 +310,7 @@ diff --git a/device/fido/features.cc b/device/fido/features.cc
BASE_FEATURE_PARAM(int,
kWebAuthnImmediateMediationTimeoutMilliseconds,
@@ -166,6 +167,7 @@ BASE_FEATURE_PARAM(int,
@@ -183,6 +184,7 @@ BASE_FEATURE_PARAM(int,
BASE_FEATURE(kWebAuthnImmediateGetAutoselect,
"WebAuthenticationImmediateGetAutoselect",
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -59,7 +59,7 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/contextmenu/A
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
@@ -109,6 +109,7 @@ found in the LICENSE file.
@@ -111,6 +111,7 @@ found in the LICENSE file.
<!-- Menu item IDs for FullscreenActivities -->
<item type="id" name="contextmenu_open_in_chrome" />
@@ -98,28 +98,28 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/s
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java
@@ -132,8 +132,9 @@ class ChromeContextMenuItem {
int PRINT_PAGE = 40;
@@ -134,8 +134,9 @@ class ChromeContextMenuItem {
// Developer Group
int INSPECT_ELEMENT = 41;
+ int FOLLOW_LINK = 42;
int VIEW_PAGE_SOURCE = 41;
int INSPECT_ELEMENT = 42;
+ int FOLLOW_LINK = 43;
// ALWAYS UPDATE!
- int NUM_ENTRIES = 42;
+ int NUM_ENTRIES = 43;
- int NUM_ENTRIES = 43;
+ int NUM_ENTRIES = 44;
}
/** Mapping from {@link Item} to the ID found in the ids.xml. */
@@ -180,6 +181,7 @@ class ChromeContextMenuItem {
R.id.contextmenu_share_page, // Item.SHARE_PAGE
@@ -183,6 +184,7 @@ class ChromeContextMenuItem {
R.id.contextmenu_print_page, // Item.PRINT_PAGE
R.id.contextmenu_view_page_source, // Item.VIEW_PAGE_SOURCE
R.id.contextmenu_inspect_element, // Item.INSPECT_ELEMENT
+ R.id.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB
};
/** Mapping from {@link Item} to the ID of the string that describes the action of the item. */
@@ -226,6 +228,7 @@ class ChromeContextMenuItem {
R.string.contextmenu_share_page, // Item.SHARE_PAGE
@@ -230,6 +232,7 @@ class ChromeContextMenuItem {
R.string.contextmenu_print_page, // Item.PRINT_PAGE
R.string.contextmenu_view_page_source, // Item.VIEW_PAGE_SOURCE
R.string.contextmenu_inspect_element, // Item.INSPECT_ELEMENT
+ R.string.contextmenu_open_in_tab, // Item.OPEN_IN_NEW_CHROME_TAB
};
@@ -128,7 +128,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
@@ -452,6 +452,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -459,6 +459,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
}
if (mParams.isAnchor()) {
ModelList linkGroup = new ModelList();
@@ -138,7 +138,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
if (FirstRunStatus.getFirstRunFlowComplete()
&& !isEmptyUrl(mParams.getUrl())
&& UrlUtilities.isAcceptedScheme(mParams.getUrl())) {
@@ -1054,6 +1057,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -1066,6 +1069,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
getProfile(),
false);
});
@@ -150,7 +150,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/Chr
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
@@ -374,6 +374,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -401,6 +401,14 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
mTab.loadUrl(loadUrlParams);
}
@@ -168,7 +168,7 @@ 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
@@ -433,6 +433,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -444,6 +444,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kTabGroupParityBottomSheetAndroid,
&kTabModelInitFixes,
&kTabStorageSqlitePrototype,
@@ -179,7 +179,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
@@ -507,6 +507,8 @@ public abstract class ChromeFeatureList {
@@ -511,6 +511,8 @@ public abstract class ChromeFeatureList {
"DisableToolbarSwipeUp";
public static final String MOVE_TOP_TOOLBAR_TO_BOTTOM =
"MoveTopToolbarToBottom";
@@ -188,7 +188,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String NEW_TAB_PAGE_CUSTOMIZATION_TOOLBAR_BUTTON =
"NewTabPageCustomizationToolbarButton";
public static final String NEW_TAB_PAGE_CUSTOMIZATION_V2 = "NewTabPageCustomizationV2";
@@ -1035,6 +1037,8 @@ public abstract class ChromeFeatureList {
@@ -1024,6 +1026,8 @@ public abstract class ChromeFeatureList {
newCachedFlag(DISABLE_TOOLBAR_SWIPE_UP, false);
public static final CachedFlag sMoveTopToolbarToBottom =
newCachedFlag(MOVE_TOP_TOOLBAR_TO_BOTTOM, false);
@@ -197,10 +197,10 @@ 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 sPostGetMyMemoryStateToBackground =
newCachedFlag(POST_GET_MEMORY_PRESSURE_TO_BACKGROUND, true);
@@ -1289,6 +1293,7 @@ public abstract class ChromeFeatureList {
@@ -1292,6 +1296,7 @@ public abstract class ChromeFeatureList {
sTopControlsRefactor,
sTopControlsRefactorV2,
sTouchToSearchCallout,
sTraceBinderIpc,
+ sShowAlwaysContextMenuOnLinks,
sUseActivityManagerForTabActivation,
sUseChimeAndroidSdk,
@@ -208,7 +208,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
@@ -1554,6 +1554,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -1563,6 +1563,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 +221,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]">
@@ -3195,6 +3201,9 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -3222,6 +3228,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>
@@ -249,7 +249,7 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
--- a/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
+++ b/components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/AccessibilitySettings.java
@@ -53,6 +53,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
@@ -54,6 +54,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
private BooleanPreferenceDelegate mMoveTopToolbarToBottomDelegate;
private BooleanPreferenceDelegate mDisableToolbarSwipeUpDelegate;
@@ -259,7 +259,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
private PageZoomPreference mPageZoomDefaultZoomPref;
private ChromeSwitchPreference mPageZoomIncludeOSAdjustment;
private ChromeSwitchPreference mPageZoomAlwaysShowPref;
@@ -148,6 +151,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
@@ -150,6 +153,12 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
mDisableToolbarSwipeUpPref.setChecked(mDisableToolbarSwipeUpDelegate.getValue());
mDisableToolbarSwipeUpPref.setOnPreferenceChangeListener(this);
@@ -272,7 +272,7 @@ diff --git a/components/browser_ui/accessibility/android/java/src/org/chromium/c
Preference captions = findPreference(PREF_CAPTIONS);
captions.setOnPreferenceClickListener(
preference -> {
@@ -229,6 +238,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
@@ -244,6 +253,9 @@ public class AccessibilitySettings extends ChromeBaseSettingsFragment
} else if (PREF_DISABLE_TOOLBAR_SWIPE_UP.equals(preference.getKey())) {
mDisableToolbarSwipeUpDelegate.setValue((Boolean) newValue);
mDelegate.requestRestart(getActivity());
@@ -344,7 +344,7 @@ new file mode 100644
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third_party/blink/renderer/core/html/html_anchor_element.cc
--- a/third_party/blink/renderer/core/html/html_anchor_element.cc
+++ b/third_party/blink/renderer/core/html/html_anchor_element.cc
@@ -67,6 +67,7 @@
@@ -65,6 +65,7 @@
#include "third_party/blink/renderer/core/loader/render_blocking_resource_manager.h"
#include "third_party/blink/renderer/core/navigation_api/navigation_api.h"
#include "third_party/blink/renderer/core/page/chrome_client.h"
@@ -352,7 +352,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"
@@ -476,6 +477,17 @@ void HTMLAnchorElementBase::NavigateToHyperlink(
@@ -415,6 +416,17 @@ void HTMLAnchorElementBase::NavigateToHyperlink(
bool is_trusted,
base::TimeTicks platform_time_stamp,
KURL completed_url) {
@@ -370,7 +370,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
LocalDOMWindow* window = GetDocument().domWindow();
if (!window) {
return;
@@ -566,6 +578,15 @@ void HTMLAnchorElementBase::NavigateToHyperlink(
@@ -495,6 +507,15 @@ void HTMLAnchorElementBase::NavigateToHyperlink(
frame_request.SetImpression(impression);
}
@@ -386,7 +386,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;
@@ -601,7 +622,7 @@ bool HTMLAnchorElementBase::IsValidInterestInvoker(Element& target) const {
@@ -531,7 +552,7 @@ bool HTMLAnchorElementBase::IsValidInterestInvoker(Element& target) const {
return IsLink();
}
@@ -395,7 +395,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
event.SetDefaultHandled();
LocalDOMWindow* window = GetDocument().domWindow();
@@ -659,13 +680,12 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) {
@@ -583,13 +604,12 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) {
return;
}
@@ -413,7 +413,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(
@@ -675,7 +695,9 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) {
@@ -599,7 +619,9 @@ void HTMLAnchorElementBase::HandleClick(MouseEvent& event) {
frame->GetEventHandler().SetDelayedNavigationTaskHandle(
std::move(task_handle));
} else {
@@ -427,7 +427,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.cc b/third
diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_party/blink/renderer/core/html/html_anchor_element.h
--- a/third_party/blink/renderer/core/html/html_anchor_element.h
+++ b/third_party/blink/renderer/core/html/html_anchor_element.h
@@ -112,6 +112,7 @@ class CORE_EXPORT HTMLAnchorElementBase : public HTMLElement,
@@ -90,6 +90,7 @@ class CORE_EXPORT HTMLAnchorElementBase : public HTMLElement,
bool IsValidInterestInvoker(Element& target) const override;
void Trace(Visitor*) const override;
@@ -435,7 +435,7 @@ diff --git a/third_party/blink/renderer/core/html/html_anchor_element.h b/third_
protected:
HTMLAnchorElementBase(const QualifiedName& tag_name, Document&);
@@ -143,7 +144,11 @@ class CORE_EXPORT HTMLAnchorElementBase : public HTMLElement,
@@ -121,7 +122,11 @@ class CORE_EXPORT HTMLAnchorElementBase : public HTMLElement,
bool is_trusted,
base::TimeTicks platform_time_stamp,
KURL);
@@ -499,12 +499,12 @@ diff --git a/third_party/blink/renderer/core/html/html_image_element.h b/third_p
+ void DefaultEventHandler(Event&) override;
+
private:
bool AreAuthorShadowsAllowed() const override { return false; }
void ParseAttribute(const AttributeModificationParams&) override;
bool IsPresentationAttribute(const QualifiedName&) const override;
diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/third_party/blink/renderer/core/page/context_menu_controller.cc
--- a/third_party/blink/renderer/core/page/context_menu_controller.cc
+++ b/third_party/blink/renderer/core/page/context_menu_controller.cc
@@ -200,15 +200,17 @@ void ContextMenuController::DocumentDetached(Document* document) {
@@ -201,15 +201,17 @@ void ContextMenuController::DocumentDetached(Document* document) {
}
}
@@ -525,7 +525,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
mouse_event->SetDefaultHandled();
}
@@ -433,7 +435,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch(
@@ -434,7 +436,8 @@ bool ContextMenuController::ShouldShowContextMenuFromTouch(
bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
const PhysicalOffset& point,
WebMenuSourceType source_type,
@@ -535,7 +535,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
// Displaying the context menu in this function is a big hack as we don't
// have context, i.e. whether this is being invoked via a script or in
// response to user input (Mouse event WM_RBUTTONDOWN,
@@ -456,6 +459,16 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
@@ -457,6 +460,16 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
if (!result.InnerNodeOrImageMapImage())
return false;
@@ -552,7 +552,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;
@@ -836,7 +849,7 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
@@ -838,7 +851,7 @@ bool ContextMenuController::ShowContextMenu(LocalFrame* frame,
SetAutofillData(result.InnerNode(), data);
@@ -564,7 +564,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.cc b/t
diff --git a/third_party/blink/renderer/core/page/context_menu_controller.h b/third_party/blink/renderer/core/page/context_menu_controller.h
--- a/third_party/blink/renderer/core/page/context_menu_controller.h
+++ b/third_party/blink/renderer/core/page/context_menu_controller.h
@@ -58,7 +58,7 @@ class CORE_EXPORT ContextMenuController final
@@ -57,7 +57,7 @@ class CORE_EXPORT ContextMenuController final
void DocumentDetached(Document*);
@@ -573,7 +573,7 @@ diff --git a/third_party/blink/renderer/core/page/context_menu_controller.h b/th
void ShowContextMenuAtPoint(LocalFrame*,
float x,
float y,
@@ -125,7 +125,8 @@ class CORE_EXPORT ContextMenuController final
@@ -124,7 +124,8 @@ class CORE_EXPORT ContextMenuController final
bool ShowContextMenu(LocalFrame*,
const PhysicalOffset&,
WebMenuSourceType,
+4 -4
View File
@@ -26,7 +26,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -171,6 +171,7 @@
@@ -169,6 +169,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"
@@ -45,7 +45,7 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/
#include "components/site_engagement/core/mojom/site_engagement_details.mojom.h"
#include "components/webapps/browser/banners/app_banner_settings_helper.h"
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
@@ -344,6 +345,10 @@ void ImportantSitesUtil::RegisterProfilePrefs(
@@ -345,6 +346,10 @@ void ImportantSitesUtil::RegisterProfilePrefs(
// static
std::set<std::string> ImportantSitesUtil::GetInstalledRegisterableDomains(
Profile* profile) {
@@ -56,7 +56,7 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/
std::set<GURL> installed_origins = GetOriginsWithInstalledWebApps(profile);
std::set<std::string> registerable_domains;
@@ -358,6 +363,10 @@ std::vector<ImportantDomainInfo>
@@ -359,6 +364,10 @@ std::vector<ImportantDomainInfo>
ImportantSitesUtil::GetImportantRegisterableDomains(Profile* profile,
size_t max_results) {
SCOPED_UMA_HISTOGRAM_TIMER("Storage.ImportantSites.GenerationTime");
@@ -91,7 +91,7 @@ diff --git a/chrome/browser/media/media_engagement_service.cc b/chrome/browser/m
diff --git a/chrome/browser/picture_in_picture/auto_picture_in_picture_tab_helper.cc b/chrome/browser/picture_in_picture/auto_picture_in_picture_tab_helper.cc
--- a/chrome/browser/picture_in_picture/auto_picture_in_picture_tab_helper.cc
+++ b/chrome/browser/picture_in_picture/auto_picture_in_picture_tab_helper.cc
@@ -42,7 +42,7 @@ AutoPictureInPictureTabHelper::AutoPictureInPictureTabHelper(
@@ -46,7 +46,7 @@ AutoPictureInPictureTabHelper::AutoPictureInPictureTabHelper(
Profile::FromBrowserContext(web_contents->GetBrowserContext()))),
auto_blocker_(PermissionDecisionAutoBlockerFactory::GetForProfile(
Profile::FromBrowserContext(web_contents->GetBrowserContext()))),
@@ -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
@@ -63,6 +63,7 @@ import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
@@ -60,6 +60,7 @@ 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;
@@ -20,7 +20,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import org.chromium.components.browser_ui.modaldialog.AppModalPresenter;
import org.chromium.components.browser_ui.settings.EmbeddableSettingsPage;
import org.chromium.components.browser_ui.settings.PreferenceUpdateObserver;
@@ -733,8 +734,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -797,8 +798,12 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
finishCurrentSettings(mainFragment);
return true;
} else if (item.getItemId() == R.id.menu_id_general_help) {
+2 -2
View File
@@ -206,7 +206,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
@@ -115,6 +115,8 @@ enum ReasonForCallingCanExecuteScripts {
@@ -114,6 +114,8 @@ enum ReasonForCallingCanExecuteScripts {
enum ReferrerPolicySource { kPolicySourceHttpHeader, kPolicySourceMetaTag };
@@ -274,7 +274,7 @@ diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_ba
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
@@ -1959,6 +1959,8 @@ class MODULES_EXPORT WebGLRenderingContextBase
@@ -1958,6 +1958,8 @@ class MODULES_EXPORT WebGLRenderingContextBase
DOMArrayBufferView* pixels,
int64_t offset);
+2 -2
View File
@@ -187,7 +187,7 @@ new file mode 100644
diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.cc
@@ -47,6 +47,7 @@
@@ -49,6 +49,7 @@
#include "third_party/blink/public/platform/modules/webrtc/webrtc_logging.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/public/platform/task_type.h"
@@ -195,7 +195,7 @@ diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_d
#include "third_party/blink/public/platform/web_url.h"
#include "third_party/blink/public/web/modules/mediastream/media_stream_video_source.h"
#include "third_party/blink/public/web/web_document.h"
@@ -989,6 +990,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
@@ -1053,6 +1054,11 @@ PeerConnectionDependencyFactory::CreatePortAllocator(
// |request_multiple_routes|. Whether local IP addresses could be
// collected depends on if mic/camera permission is granted for this
// origin.
@@ -25,8 +25,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../blink/renderer/core/frame/local_frame.h | 3 +++
.../renderer/core/frame/reporting_context.cc | 9 +++++++++
.../renderer/core/frame/reporting_context.h | 7 +++++--
.../renderer/core/frame/reporting_observer.cc | 3 +--
22 files changed, 64 insertions(+), 25 deletions(-)
.../renderer/core/frame/reporting_observer.cc | 4 +---
22 files changed, 64 insertions(+), 26 deletions(-)
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Allow-building-without-enable_reporting.inc
diff --git a/chrome/browser/net/chrome_report_sender.cc b/chrome/browser/net/chrome_report_sender.cc
@@ -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
@@ -1520,6 +1520,7 @@ String BuildReportStatus(const net::ReportingReport::Status status) {
@@ -1511,6 +1511,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(
@@ -1533,6 +1534,7 @@ std::vector<GURL> ComputeReportingURLs(RenderFrameHostImpl* frame_host) {
@@ -1524,6 +1525,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
@@ -16264,12 +16264,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
@@ -16439,12 +16439,6 @@ void RenderFrameHostImpl::MaybeGenerateCrashReport(
}
}
}
@@ -308,7 +308,7 @@ diff --git a/net/reporting/reporting_service.cc b/net/reporting/reporting_servic
diff --git a/services/network/network_context.h b/services/network/network_context.h
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
@@ -506,14 +506,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
@@ -508,14 +508,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
const GURL& url,
const std::optional<base::UnguessableToken>& reporting_source,
const net::NetworkAnonymizationKey& network_anonymization_key,
@@ -329,7 +329,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
diff --git a/services/network/public/cpp/parsed_headers.cc b/services/network/public/cpp/parsed_headers.cc
--- a/services/network/public/cpp/parsed_headers.cc
+++ b/services/network/public/cpp/parsed_headers.cc
@@ -133,6 +133,7 @@ mojom::ParsedHeadersPtr PopulateParsedHeaders(
@@ -140,6 +140,7 @@ mojom::ParsedHeadersPtr PopulateParsedHeaders(
}
#if BUILDFLAG(ENABLE_REPORTING)
@@ -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
@@ -1793,7 +1793,6 @@ mojom("mojom") {
@@ -1826,7 +1826,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
@@ -1303,6 +1303,7 @@ interface NetworkContext {
@@ -1305,6 +1305,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,
@@ -1310,6 +1311,7 @@ interface NetworkContext {
@@ -1312,6 +1313,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,
@@ -1320,6 +1322,7 @@ interface NetworkContext {
@@ -1322,6 +1324,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`.
@@ -405,7 +405,7 @@ diff --git a/third_party/blink/renderer/core/frame/csp/content_security_policy.c
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -48,6 +48,7 @@
@@ -49,6 +49,7 @@
#include "build/build_config.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "mojo/public/cpp/system/message_pipe.h"
@@ -413,7 +413,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
#include "services/network/public/cpp/features.h"
#include "services/network/public/mojom/content_security_policy.mojom-blink.h"
#include "services/network/public/mojom/source_location.mojom-blink.h"
@@ -2851,9 +2852,11 @@ DocumentResourceCoordinator* LocalFrame::GetDocumentResourceCoordinator() {
@@ -2854,9 +2855,11 @@ DocumentResourceCoordinator* LocalFrame::GetDocumentResourceCoordinator() {
return CHECK_DEREF(GetDocument()).GetResourceCoordinator();
}
@@ -501,7 +501,7 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.cc b/third_
const String& type = report->type();
if (!(type == ReportType::kCSPViolation || type == ReportType::kCSPHash ||
type == ReportType::kDeprecation ||
@@ -263,6 +271,7 @@ void ReportingContext::SendToReportingAPI(Report* report,
@@ -268,6 +276,7 @@ void ReportingContext::SendToReportingAPI(Report* report,
url, endpoint, body->featureId(), body->disposition(), body->message(),
body->sourceFile(), line_number, column_number);
}
@@ -547,12 +547,13 @@ diff --git a/third_party/blink/renderer/core/frame/reporting_context.h b/third_p
diff --git a/third_party/blink/renderer/core/frame/reporting_observer.cc b/third_party/blink/renderer/core/frame/reporting_observer.cc
--- a/third_party/blink/renderer/core/frame/reporting_observer.cc
+++ b/third_party/blink/renderer/core/frame/reporting_observer.cc
@@ -61,8 +61,7 @@ void ReportingObserver::QueueReport(Report* report) {
@@ -61,9 +61,7 @@ void ReportingObserver::QueueReport(Report* report) {
}
bool ReportingObserver::ObservedType(const String& type) {
- return !options_->hasTypesNonNull() || options_->typesNonNull().empty() ||
- options_->typesNonNull().Find(type) != kNotFound;
- return !options_->hasTypes() || !options_->types() ||
- options_->types()->empty() ||
- options_->types()->Find(type) != kNotFound;
+ return false;
}
@@ -24,14 +24,14 @@ 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
@@ -826,7 +826,6 @@ if (_is_default_toolchain) {
@@ -828,7 +828,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",
- "//components/supervised_user/core/browser:supervised_user_utils_enum_javagen",
"//components/touch_to_search/core/browser:quick_action_category_enum_javagen",
]
# From java_sources.gni.
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
@@ -89,7 +89,7 @@ diff --git a/chrome/browser/profiles/profile_attributes_entry.cc b/chrome/browse
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -683,10 +683,6 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) {
@@ -680,10 +680,6 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) {
prefs->SetTime(prefs::kProfileCreationTime, path_creation_time_);
pref_change_registrar_.Init(prefs);
@@ -100,7 +100,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
// Changes in the profile avatar.
pref_change_registrar_.Add(
@@ -1632,6 +1628,7 @@ GURL ProfileImpl::GetHomePage() {
@@ -1627,6 +1623,7 @@ GURL ProfileImpl::GetHomePage() {
}
void ProfileImpl::UpdateSupervisedUserIdInStorage() {
@@ -111,7 +111,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profiles/profile_manager.cc
--- a/chrome/browser/profiles/profile_manager.cc
+++ b/chrome/browser/profiles/profile_manager.cc
@@ -1191,10 +1191,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
@@ -1194,10 +1194,6 @@ void ProfileManager::InitProfileUserPrefs(Profile* profile) {
profile->GetPrefs()->SetString(prefs::kProfileName, profile_name);
}
@@ -122,7 +122,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
}
void ProfileManager::RegisterTestingProfile(std::unique_ptr<Profile> profile,
@@ -1956,9 +1952,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) {
@@ -1976,9 +1972,6 @@ void ProfileManager::AddProfileToStorage(Profile* profile) {
init_params.icon_index =
profile->GetPrefs()->GetInteger(prefs::kProfileAvatarIndex);
@@ -135,7 +135,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
diff --git a/chrome/browser/supervised_user/supervised_user_browser_utils.cc b/chrome/browser/supervised_user/supervised_user_browser_utils.cc
--- a/chrome/browser/supervised_user/supervised_user_browser_utils.cc
+++ b/chrome/browser/supervised_user/supervised_user_browser_utils.cc
@@ -99,6 +99,7 @@ bool SupervisedUserCanSkipExtensionParentApprovals(const Profile* profile) {
@@ -98,6 +98,7 @@ bool SupervisedUserCanSkipExtensionParentApprovals(const Profile* profile) {
}
bool AreExtensionsPermissionsEnabled(Profile* profile) {
@@ -4,14 +4,26 @@ Subject: Allow playing audio in background
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
.../renderer/render_frame_media_playback_options.cc | 1 +
.../renderer/platform/media/web_media_player_impl.cc | 11 ++++++++++-
.../renderer/platform/media/web_media_player_impl.h | 3 +++
2 files changed, 13 insertions(+), 1 deletion(-)
3 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/content/public/renderer/render_frame_media_playback_options.cc b/content/public/renderer/render_frame_media_playback_options.cc
--- a/content/public/renderer/render_frame_media_playback_options.cc
+++ b/content/public/renderer/render_frame_media_playback_options.cc
@@ -14,6 +14,7 @@
namespace content {
bool IsBackgroundMediaSuspendEnabled() {
+ if ((true)) return false;
#if BUILDFLAG(IS_ANDROID)
// For Android devices, do not suspend background media for devices with large
// displays. Exception is for Webview.
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
@@ -1309,6 +1309,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
@@ -1311,6 +1311,12 @@ bool WebMediaPlayerImpl::HasAudio() const {
return pipeline_metadata_.has_audio;
}
@@ -24,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());
@@ -3645,7 +3651,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
@@ -3678,7 +3684,10 @@ bool WebMediaPlayerImpl::ShouldPausePlaybackWhenHidden() const {
const bool preserve_audio = HasUnmutedAudio() || audio_source_provider_->IsAudioBeingCaptured();
// Audio only stream is allowed to play when in background.
@@ -39,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
@@ -212,6 +212,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl
@@ -211,6 +211,9 @@ class PLATFORM_EXPORT WebMediaPlayerImpl
bool HasVideo() const override;
bool HasAudio() const override;
@@ -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/resources/inspect/inspect.js b/chrome/browser/resources/inspect/inspect.js
--- a/chrome/browser/resources/inspect/inspect.js
+++ b/chrome/browser/resources/inspect/inspect.js
@@ -45,6 +45,7 @@ if ('browser-inspector' in queryParamsObject) {
@@ -46,6 +46,7 @@ if ('browser-inspector' in queryParamsObject) {
})();
function isVersionNewerThanHost(version) {
@@ -20,7 +20,7 @@ diff --git a/chrome/browser/resources/inspect/inspect.js b/chrome/browser/resour
if (!HOST_CHROME_VERSION) {
return false;
}
@@ -590,7 +591,7 @@ function formatValue(data, property) {
@@ -597,7 +598,7 @@ function formatValue(data, property) {
function addFavicon(row, data) {
const favicon = document.createElement('img');
if (data['faviconUrl']) {
@@ -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;
@@ -42,6 +43,7 @@ import org.chromium.chrome.browser.preferences.Pref;
@@ -43,6 +44,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;
@@ -308,6 +310,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -335,6 +337,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());
@@ -328,6 +331,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -355,6 +358,7 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
* @param url The URL to open.
*/
public void onOpenInNewTabInGroup(GURL url, @Nullable Referrer referrer) {
@@ -19,10 +19,10 @@ 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/homepage/HomepageManager.java b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/homepage/HomepageManager.java
@@ -159,10 +159,6 @@ public class HomepageManager
@@ -164,10 +164,6 @@ public class HomepageManager
* tab page if the homepage button is force enabled via flag.
*/
public GURL getDefaultHomepageGurl() {
public GURL getDefaultHomepageGurl(boolean isIncognito) {
- if (PartnerBrowserCustomizations.getInstance().isHomepageProviderAvailableAndEnabled()) {
- return assumeNonNull(PartnerBrowserCustomizations.getInstance().getHomePageUrl());
- }
File diff suppressed because it is too large Load Diff
@@ -19,7 +19,7 @@ diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrom
--- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java
+++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserStateBrowserControlsVisibilityDelegate.java
@@ -41,6 +41,7 @@ public class BrowserStateBrowserControlsVisibilityDelegate extends BrowserContro
private final Supplier<Boolean> mPersistentFullscreenMode;
private final ObservableSupplier<Boolean> mPersistentFullscreenMode;
private long mCurrentShowingStartTime;
+ private int temporaryToken;
@@ -53,7 +53,7 @@ new file mode 100644
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
@@ -74,6 +74,12 @@ found in the LICENSE file.
@@ -79,6 +79,12 @@ found in the LICENSE file.
android:key="disable_toolbar_swipeup"
android:title="@string/disable_toolbar_swipe_up" />
@@ -17,7 +17,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../fonts_pack_component_installer.cc | 96 +
.../fonts_pack_component_installer.h | 60 +
components/services/font/BUILD.gn | 10 +
components/services/font/font_service_app.cc | 44 +
components/services/font/font_service_app.cc | 46 +
components/services/font/font_service_app.h | 1 +
.../services/font/public/cpp/font_loader.cc | 11 +
.../services/font/public/cpp/font_loader.h | 1 +
@@ -42,7 +42,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../skia/src/ports/SkFontMgr_android_data.cpp | 1640 +++++++++++++++++
.../src/ports/SkFontMgr_android_parser.cpp | 49 +-
.../skia/src/ports/SkFontMgr_android_parser.h | 5 +-
36 files changed, 2414 insertions(+), 76 deletions(-)
36 files changed, 2416 insertions(+), 76 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
@@ -54,7 +54,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
@@ -1009,6 +1009,9 @@ public final class ProductionSupportedFlagList {
@@ -970,6 +970,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."),
@@ -67,8 +67,8 @@ diff --git a/android_webview/java/src/org/chromium/android_webview/common/Produc
diff --git a/android_webview/nonembedded/component_updater/registration.cc b/android_webview/nonembedded/component_updater/registration.cc
--- a/android_webview/nonembedded/component_updater/registration.cc
+++ b/android_webview/nonembedded/component_updater/registration.cc
@@ -26,6 +26,9 @@
#include "components/privacy_sandbox/masked_domain_list/masked_domain_list.pb.h"
@@ -20,6 +20,9 @@
#include "components/component_updater/installer_policies/origin_trials_component_installer.h"
#include "components/update_client/update_client.h"
+#include "third_party/blink/public/common/features.h"
@@ -77,7 +77,7 @@ diff --git a/android_webview/nonembedded/component_updater/registration.cc b/and
namespace android_webview {
void RegisterComponentsForUpdate(
@@ -42,6 +45,12 @@ void RegisterComponentsForUpdate(
@@ -36,6 +39,12 @@ void RegisterComponentsForUpdate(
std::vector<std::unique_ptr<component_updater::ComponentInstallerPolicy>>
component_installer_list_cromite;
@@ -106,7 +106,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
@@ -8022,6 +8022,13 @@ static_library("browser") {
@@ -8015,6 +8015,13 @@ static_library("browser") {
]
}
@@ -123,7 +123,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
@@ -115,10 +115,20 @@
@@ -116,10 +116,20 @@
#include "chrome/browser/component_updater/file_type_policies_component_installer.h"
#endif
@@ -161,7 +161,7 @@ new file mode 100644
diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
--- a/chrome/renderer/BUILD.gn
+++ b/chrome/renderer/BUILD.gn
@@ -270,6 +270,10 @@ static_library("renderer") {
@@ -269,6 +269,10 @@ static_library("renderer") {
deps += [ "//components/strings" ]
}
@@ -175,7 +175,7 @@ diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
diff --git a/components/component_updater/installer_policies/BUILD.gn b/components/component_updater/installer_policies/BUILD.gn
--- a/components/component_updater/installer_policies/BUILD.gn
+++ b/components/component_updater/installer_policies/BUILD.gn
@@ -38,6 +38,13 @@ static_library("installer_policies_no_content_deps") {
@@ -36,6 +36,13 @@ static_library("installer_policies_no_content_deps") {
"trust_token_key_commitments_component_installer_policy.h",
]
@@ -358,7 +358,7 @@ new file mode 100644
diff --git a/components/services/font/BUILD.gn b/components/services/font/BUILD.gn
--- a/components/services/font/BUILD.gn
+++ b/components/services/font/BUILD.gn
@@ -24,6 +24,16 @@ source_set("lib") {
@@ -23,6 +23,16 @@ source_set("lib") {
"//ui/gfx",
]
@@ -378,7 +378,17 @@ diff --git a/components/services/font/BUILD.gn b/components/services/font/BUILD.
diff --git a/components/services/font/font_service_app.cc b/components/services/font/font_service_app.cc
--- a/components/services/font/font_service_app.cc
+++ b/components/services/font/font_service_app.cc
@@ -20,6 +20,12 @@
@@ -4,7 +4,9 @@
#include "components/services/font/font_service_app.h"
+#if !BUILDFLAG(IS_ANDROID)
#include <fontconfig/fontconfig.h>
+#endif
#include <set>
#include <utility>
@@ -25,6 +27,12 @@
#include "ui/gfx/font_fallback_linux.h"
#include "ui/gfx/font_render_params.h"
@@ -391,7 +401,7 @@ diff --git a/components/services/font/font_service_app.cc b/components/services/
#if BUILDFLAG(ENABLE_PDF)
#include "components/services/font/pdf_fontconfig_matching.h" // nogncheck
#endif
@@ -95,6 +101,7 @@ void FontServiceApp::BindReceiver(
@@ -100,6 +108,7 @@ void FontServiceApp::BindReceiver(
void FontServiceApp::MatchFamilyName(const std::string& family_name,
mojom::TypefaceStylePtr requested_style,
MatchFamilyNameCallback callback) {
@@ -399,7 +409,7 @@ diff --git a/components/services/font/font_service_app.cc b/components/services/
TRACE_EVENT0("fonts", "FontServiceApp::MatchFamilyName");
SkFontConfigInterface::FontIdentity result_identity;
@@ -155,6 +162,7 @@ void FontServiceApp::MatchFamilyName(const std::string& family_name,
@@ -160,6 +169,7 @@ void FontServiceApp::MatchFamilyName(const std::string& family_name,
std::move(callback).Run(std::move(identity), result_family_cppstring,
std::move(style));
@@ -407,7 +417,7 @@ diff --git a/components/services/font/font_service_app.cc b/components/services/
}
void FontServiceApp::OpenStream(uint32_t id_number,
@@ -169,12 +177,43 @@ void FontServiceApp::OpenStream(uint32_t id_number,
@@ -174,12 +184,43 @@ void FontServiceApp::OpenStream(uint32_t id_number,
std::move(callback).Run(std::move(file));
}
@@ -451,7 +461,7 @@ diff --git a/components/services/font/font_service_app.cc b/components/services/
gfx::FallbackFontData fallback_font;
if (gfx::GetFallbackFontForChar(character, locale, &fallback_font)) {
size_t index = FindOrAddPath(fallback_font.filepath);
@@ -189,6 +228,7 @@ void FontServiceApp::FallbackFontForCharacter(
@@ -194,6 +235,7 @@ void FontServiceApp::FallbackFontForCharacter(
} else {
std::move(callback).Run(nullptr, "", false, false);
}
@@ -459,7 +469,7 @@ diff --git a/components/services/font/font_service_app.cc b/components/services/
}
void FontServiceApp::FontRenderStyleForStrike(
@@ -232,6 +272,9 @@ void FontServiceApp::MatchFontByPostscriptNameOrFullFontName(
@@ -237,6 +279,9 @@ void FontServiceApp::MatchFontByPostscriptNameOrFullFontName(
TRACE_EVENT0("fonts",
"FontServiceApp::MatchFontByPostscriptNameOrFullFontName");
@@ -469,7 +479,7 @@ diff --git a/components/services/font/font_service_app.cc b/components/services/
std::optional<FontConfigLocalMatching::FontConfigMatchResult> match_result =
FontConfigLocalMatching::FindFontByPostscriptNameOrFullFontName(family);
if (match_result) {
@@ -243,6 +286,7 @@ void FontServiceApp::MatchFontByPostscriptNameOrFullFontName(
@@ -248,6 +293,7 @@ void FontServiceApp::MatchFontByPostscriptNameOrFullFontName(
return;
}
std::move(callback).Run(nullptr);
@@ -512,7 +522,7 @@ diff --git a/components/services/font/public/cpp/font_loader.cc b/components/ser
diff --git a/components/services/font/public/cpp/font_loader.h b/components/services/font/public/cpp/font_loader.h
--- a/components/services/font/public/cpp/font_loader.h
+++ b/components/services/font/public/cpp/font_loader.h
@@ -54,6 +54,7 @@ class FontLoader : public SkFontConfigInterface,
@@ -56,6 +56,7 @@ class FontLoader : public SkFontConfigInterface,
SkFontStyle* out_style) override;
SkStreamAsset* openStream(const FontIdentity& identity) override
LOCKS_EXCLUDED(mapped_font_files_lock_);
@@ -523,7 +533,7 @@ diff --git a/components/services/font/public/cpp/font_loader.h b/components/serv
diff --git a/components/services/font/public/cpp/font_service_thread.cc b/components/services/font/public/cpp/font_service_thread.cc
--- a/components/services/font/public/cpp/font_service_thread.cc
+++ b/components/services/font/public/cpp/font_service_thread.cc
@@ -247,6 +247,54 @@ void FontServiceThread::OpenStreamImpl(base::WaitableEvent* done_event,
@@ -258,6 +258,54 @@ void FontServiceThread::OpenStreamImpl(base::WaitableEvent* done_event,
done_event, output_file));
}
@@ -581,7 +591,7 @@ diff --git a/components/services/font/public/cpp/font_service_thread.cc b/compon
diff --git a/components/services/font/public/cpp/font_service_thread.h b/components/services/font/public/cpp/font_service_thread.h
--- a/components/services/font/public/cpp/font_service_thread.h
+++ b/components/services/font/public/cpp/font_service_thread.h
@@ -55,6 +55,8 @@ class FontServiceThread : public base::RefCountedThreadSafe<FontServiceThread> {
@@ -57,6 +57,8 @@ class FontServiceThread : public base::RefCountedThreadSafe<FontServiceThread> {
SkFontStyle* out_style);
scoped_refptr<MappedFontFile> OpenStream(
const SkFontConfigInterface::FontIdentity& identity);
@@ -590,7 +600,7 @@ diff --git a/components/services/font/public/cpp/font_service_thread.h b/compone
bool FallbackFontForCharacter(
uint32_t character,
@@ -118,6 +120,9 @@ class FontServiceThread : public base::RefCountedThreadSafe<FontServiceThread> {
@@ -121,6 +123,9 @@ class FontServiceThread : public base::RefCountedThreadSafe<FontServiceThread> {
void OpenStreamImpl(base::WaitableEvent* done_event,
base::File* output_file,
const uint32_t id_number);
@@ -679,7 +689,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
@@ -136,6 +136,13 @@ target(link_target_type, "child") {
@@ -135,6 +135,13 @@ target(link_target_type, "child") {
]
}
@@ -696,7 +706,7 @@ diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn
diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn
--- a/content/renderer/BUILD.gn
+++ b/content/renderer/BUILD.gn
@@ -347,6 +347,10 @@ target(link_target_type, "renderer") {
@@ -349,6 +349,10 @@ target(link_target_type, "renderer") {
deps += [ "//services/screen_ai/public/mojom" ]
}
@@ -710,7 +720,7 @@ diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
--- a/content/renderer/renderer_blink_platform_impl.cc
+++ b/content/renderer/renderer_blink_platform_impl.cc
@@ -137,6 +137,23 @@
@@ -138,6 +138,23 @@
#include "content/common/android/sync_compositor_statics.h"
#endif
@@ -734,7 +744,7 @@ diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer
using blink::Platform;
using blink::WebAudioDevice;
using blink::WebAudioLatencyHint;
@@ -187,6 +204,37 @@ viz::command_buffer_metrics::ContextType ToVizContextType(
@@ -188,6 +205,37 @@ viz::command_buffer_metrics::ContextType ToVizContextType(
NOTREACHED();
}
@@ -772,7 +782,7 @@ diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer
} // namespace
//------------------------------------------------------------------------------
@@ -200,18 +248,21 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
@@ -201,18 +249,21 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl(
is_locked_to_site_(false),
main_thread_scheduler_(main_thread_scheduler),
next_frame_sink_id_(uint32_t{std::numeric_limits<int32_t>::max()} + 1) {
@@ -838,7 +848,7 @@ new file mode 100644
diff --git a/skia/BUILD.gn b/skia/BUILD.gn
--- a/skia/BUILD.gn
+++ b/skia/BUILD.gn
@@ -465,6 +465,18 @@ component("skia") {
@@ -460,6 +460,18 @@ component("skia") {
sources += skia_ports_fci_sources
}
@@ -284,7 +284,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
@@ -1465,7 +1465,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -1441,7 +1441,10 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
mActivity,
mStatusIndicatorCoordinator,
isUrlBarFocusedSupplier,
@@ -299,7 +299,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelectorBase.java
@@ -199,6 +199,13 @@ public abstract class TabModelSelectorBase
@@ -201,6 +201,13 @@ public abstract class TabModelSelectorBase
return null;
}
@@ -353,7 +353,7 @@ new file mode 100644
diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java
--- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java
+++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelSelector.java
@@ -149,6 +149,8 @@ public interface TabModelSelector {
@@ -150,6 +150,8 @@ public interface TabModelSelector {
/** Get total pinned tab count across all tab models */
int getTotalPinnedTabCount();
@@ -419,7 +419,7 @@ 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
@@ -551,6 +551,16 @@ public class TabWindowManagerImpl implements TabWindowManager {
@@ -566,6 +566,16 @@ public class TabWindowManagerImpl implements TabWindowManager {
return tabGroupModelFilter.getTabsInGroup(tabGroupId);
}
@@ -497,7 +497,7 @@ diff --git a/chrome/browser/ui/messages/android/java/res/layout/snackbar.xml b/c
diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
--- a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
+++ b/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/browser/ui/messages/snackbar/Snackbar.java
@@ -136,6 +136,8 @@ public class Snackbar {
@@ -137,6 +137,8 @@ public class Snackbar {
private @Nullable String mTemplateText;
private @Nullable String mActionText;
private @Nullable Object mActionData;
@@ -506,7 +506,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
private int mBackgroundColor;
private int mTextApperanceResId;
private boolean mDefaultLines = true;
@@ -242,6 +244,20 @@ public class Snackbar {
@@ -243,6 +245,20 @@ public class Snackbar {
return this;
}
@@ -530,7 +530,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
@@ -327,6 +327,12 @@ public class SnackbarManager
@@ -340,6 +340,12 @@ public class SnackbarManager
new SnackbarView(
mActivity,
this,
@@ -584,8 +584,8 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
+ mDismissButtonView.setOnClickListener(dismissListener);
mProfileImageView = (ImageView) mContainerView.findViewById(R.id.snackbar_profile_image);
mEdgeToEdgeSupplier = edgeToEdgeSupplier;
if (SnackbarManager.isFloatingSnackbarEnabled()) {
@@ -429,6 +434,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
// TODO(crbug/com/451807932): Replace with a custom pad adjuster to account for inset
@@ -431,6 +436,12 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
mActionButtonView.setVisibility(View.VISIBLE);
mActionButtonView.setContentDescription(snackbar.getActionText());
setViewText(mActionButtonView, snackbar.getActionText(), animate);
@@ -601,7 +601,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
@@ -903,6 +903,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, jboolean focused) {
@@ -911,6 +911,22 @@ void WebContentsAndroid::SetFocus(JNIEnv* env, jboolean focused) {
view->SetFocus(focused);
}
@@ -627,7 +627,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
@@ -196,6 +196,7 @@ class CONTENT_EXPORT WebContentsAndroid {
@@ -199,6 +199,7 @@ class CONTENT_EXPORT WebContentsAndroid {
void OnScaleFactorChanged(JNIEnv* env);
void SetFocus(JNIEnv* env, jboolean focused);
@@ -638,7 +638,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
@@ -4094,8 +4094,10 @@ void WebContentsImpl::Stop() {
@@ -4151,8 +4151,10 @@ void WebContentsImpl::Stop() {
void WebContentsImpl::SetPageFrozen(bool frozen) {
TRACE_EVENT1("content", "WebContentsImpl::SetPageFrozen", "frozen", frozen);
@@ -652,7 +652,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
@@ -1134,6 +1134,12 @@ public class WebContentsImpl
@@ -1143,6 +1143,12 @@ public class WebContentsImpl
WebContentsImplJni.get().setFocus(mNativeWebContentsAndroid, hasFocus);
}
@@ -665,7 +665,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon
@Override
public void setDisplayCutoutSafeArea(Rect insets) {
if (mNativeWebContentsAndroid == 0) return;
@@ -1463,6 +1469,8 @@ public class WebContentsImpl
@@ -1480,6 +1486,8 @@ public class WebContentsImpl
void setFocus(long nativeWebContentsAndroid, boolean focused);
@@ -677,7 +677,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/webcon
diff --git a/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java b/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
--- a/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
+++ b/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
@@ -288,6 +288,8 @@ public interface WebContents extends Parcelable {
@@ -297,6 +297,8 @@ public interface WebContents extends Parcelable {
*/
void setFocus(boolean hasFocus);
@@ -689,7 +689,7 @@ diff --git a/content/public/android/java/src/org/chromium/content_public/browser
diff --git a/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java b/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java
--- a/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java
+++ b/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/mock/MockWebContents.java
@@ -188,6 +188,9 @@ public class MockWebContents implements WebContents, WebContentsObserver.Observa
@@ -191,6 +191,9 @@ public class MockWebContents implements WebContents, WebContentsObserver.Observa
@Override
public void setFocus(boolean hasFocus) {}
@@ -734,7 +734,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
@@ -4654,6 +4654,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) {
@@ -4655,6 +4655,7 @@ void Document::DispatchUnloadEvents(UnloadEventTimingInfo* unload_timing_info) {
}
void Document::DispatchFreezeEvent() {
@@ -745,7 +745,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -3303,6 +3303,7 @@ void LocalFrame::DidFreeze() {
@@ -3306,6 +3306,7 @@ void LocalFrame::DidFreeze() {
LoaderFreezeMode freeze_mode = GetLoaderFreezeMode();
GetDocument()->Fetcher()->SetDefersLoading(freeze_mode);
Loader().SetDefersLoading(freeze_mode);
@@ -753,7 +753,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
}
void LocalFrame::DidResume() {
@@ -3317,6 +3318,7 @@ void LocalFrame::DidResume() {
@@ -3320,6 +3321,7 @@ void LocalFrame::DidResume() {
GetDocument()->Fetcher()->SetDefersLoading(LoaderFreezeMode::kNone);
Loader().SetDefersLoading(LoaderFreezeMode::kNone);
@@ -764,7 +764,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
@@ -1033,7 +1033,9 @@ SchedulingLifecycleState FrameSchedulerImpl::CalculateLifecycleState(
@@ -1025,7 +1025,9 @@ SchedulingLifecycleState FrameSchedulerImpl::CalculateLifecycleState(
if (!parent_page_scheduler_)
return SchedulingLifecycleState::kNotThrottled;
if (parent_page_scheduler_->IsFrozen()) {
@@ -777,7 +777,7 @@ diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/frame_sch
diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc b/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
--- a/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
+++ b/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
@@ -237,10 +237,12 @@ void PageSchedulerImpl::SetPageFrozen(bool frozen) {
@@ -236,10 +236,12 @@ void PageSchedulerImpl::SetPageFrozen(bool frozen) {
// it is desirable to reject the page freeze to prevent the scheduler from
// being put in a bad state. See https://crbug.com/873214 for context of how
// this can happen on the browser side.
@@ -790,7 +790,7 @@ diff --git a/third_party/blink/renderer/platform/scheduler/main_thread/page_sche
PolicyUpdater policy_updater;
SetPageFrozenImpl(frozen, policy_updater);
}
@@ -816,7 +818,12 @@ bool PageSchedulerImpl::IsBackgrounded() const {
@@ -804,7 +806,12 @@ bool PageSchedulerImpl::IsBackgrounded() const {
// expire immediately when a page is backgrounded, which is undesirable in
// headless mode. To prevent that, a page is never considerer backgrounded
// when virtual time is enabled.
@@ -76,7 +76,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.cc b/third
diff --git a/third_party/blink/renderer/modules/webaudio/audio_buffer.h b/third_party/blink/renderer/modules/webaudio/audio_buffer.h
--- a/third_party/blink/renderer/modules/webaudio/audio_buffer.h
+++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.h
@@ -116,6 +116,8 @@ class MODULES_EXPORT AudioBuffer final : public ScriptWrappable {
@@ -115,6 +115,8 @@ class MODULES_EXPORT AudioBuffer final : public ScriptWrappable {
std::unique_ptr<SharedAudioBuffer> CreateSharedAudioBuffer();
@@ -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"
@@ -850,7 +851,9 @@ double AudioContext::baseLatency() const {
@@ -863,7 +864,9 @@ double AudioContext::baseLatency() const {
DCHECK_CALLED_ON_VALID_SEQUENCE(main_thread_sequence_checker_);
DCHECK(destination());
@@ -118,7 +118,7 @@ diff --git a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc b
#include "third_party/blink/public/mojom/devtools/console_message.mojom-blink.h"
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-shared.h"
#include "third_party/blink/public/platform/platform.h"
@@ -774,6 +775,17 @@ LocalDOMWindow* BaseAudioContext::GetWindow() const {
@@ -776,6 +777,17 @@ LocalDOMWindow* BaseAudioContext::GetWindow() const {
return To<LocalDOMWindow>(GetExecutionContext());
}
@@ -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
@@ -374,6 +374,7 @@ void OfflineAudioContext::FireCompletionEvent() {
@@ -395,6 +395,7 @@ void OfflineAudioContext::FireCompletionEvent() {
if (!rendered_buffer) {
return;
}
@@ -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
@@ -608,9 +608,8 @@
@@ -631,9 +631,8 @@
{
// AudioContext.playoutStats interface.
// https://chromestatus.com/feature/5172818344148992
@@ -1,13 +1,13 @@
From: uazo <uazo@users.noreply.github.com>
Date: Thu, 6 Nov 2025 13:22:24 +0000
Subject: Backport-v143-android-extensions-changes
Subject: Backport-v144-android-extensions-changes
Enable support for anonymous browsing.
Backport of bugid 7089957 extensions Use BrowserWindowInterface in ExtensionViewHost
https://chromium-review.googlesource.com/c/chromium/src/+/7089957
---
.../chrome/browser/ChromeTabbedActivity.java | 58 +-------
.../chrome/browser/app/ChromeActivity.java | 76 +++++++++++
.../chrome/browser/ChromeTabbedActivity.java | 1 +
.../chrome/browser/app/ChromeActivity.java | 12 ++
.../customtabs/BaseCustomTabActivity.java | 1 +
.../BaseCustomTabRootUiCoordinator.java | 5 +
.../tabbed_mode/TabbedRootUiCoordinator.java | 2 +
@@ -26,92 +26,12 @@ https://chromium-review.googlesource.com/c/chromium/src/+/7089957
.../ExtensionActionListMediatorTest.java | 11 +-
.../ExtensionToolbarCoordinator.java | 5 +
.../ExtensionToolbarCoordinatorImpl.java | 4 +
20 files changed, 225 insertions(+), 148 deletions(-)
20 files changed, 160 insertions(+), 92 deletions(-)
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
@@ -292,12 +292,8 @@ import org.chromium.chrome.browser.ui.IncognitoRestoreAppLaunchDrawBlockerFactor
import org.chromium.chrome.browser.ui.RootUiCoordinator;
import org.chromium.chrome.browser.ui.appmenu.AppMenuPropertiesDelegate;
import org.chromium.chrome.browser.ui.browser_window.BrowserWindowType;
-import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTask;
-import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskTracker;
-import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskTrackerFactory;
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.extensions.windowing.ExtensionWindowControllerBridgeFactory;
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.SnackbarController;
@@ -835,18 +831,7 @@ public class ChromeTabbedActivity extends ChromeActivity {
mTabModelNotificationDotManager.initWithNative(mTabModelSelector);
TabModel currentTabModel = mTabModelSelector.getCurrentModel();
- // Initialize ChromeAndroidTask.
- //
- // This needs to be done before any tab is added so that
- // TabModel#associateWithBrowserWindow() can be called in time for each tab to have the
- // same native SessionID as the native AndroidBrowserWindow managed by
- // ChromeAndroidTask.
- ChromeAndroidTask chromeAndroidTask = initializeChromeAndroidTask(currentTabModel);
- if (chromeAndroidTask != null) {
- currentTabModel.associateWithBrowserWindow(
- chromeAndroidTask.getOrCreateNativeBrowserWindowPtr());
- initializeExtensionWindowControllerBridge(chromeAndroidTask);
- }
+ initializeChromeAndroidTask(BrowserWindowType.NORMAL, currentTabModel);
// For saving non-incognito tab closures for Recent Tabs.
boolean alwaysIncognito = AlwaysIncognitoLinkInterceptor.isAlwaysIncognito();
@@ -1346,46 +1331,6 @@ public class ChromeTabbedActivity extends ChromeActivity {
}
}
- @Nullable
- private ChromeAndroidTask initializeChromeAndroidTask(TabModel currentTabModel) {
- try (TraceEvent e = TraceEvent.scoped("ChromeTabbedActivity.initializeChromeAndroidTask")) {
- var chromeAndroidTaskTracker = ChromeAndroidTaskTrackerFactory.getInstance();
- if (chromeAndroidTaskTracker == null) {
- return null;
- }
-
- var activityWindowAndroid = getWindowAndroid();
- assert activityWindowAndroid != null
- : "ChromeAndroidTask must be initialized after Java WindowAndroid is created.";
-
- int pendingIdExtraValue =
- IntentUtils.safeGetIntExtra(
- getIntent(),
- ChromeAndroidTaskTracker.EXTRA_PENDING_BROWSER_WINDOW_TASK_ID,
- /* defaultValue= */ -1);
- OptionalInt pendingId =
- pendingIdExtraValue == -1
- ? OptionalInt.empty()
- : OptionalInt.of(pendingIdExtraValue);
-
- return chromeAndroidTaskTracker.obtainTask(
- BrowserWindowType.NORMAL, activityWindowAndroid, currentTabModel, pendingId);
- }
- }
-
- private void initializeExtensionWindowControllerBridge(
- @Nullable ChromeAndroidTask chromeAndroidTask) {
- if (chromeAndroidTask == null) {
- return;
- }
-
- var extensionWindowControllerBridge =
- ExtensionWindowControllerBridgeFactory.create(chromeAndroidTask);
- if (extensionWindowControllerBridge != null) {
- chromeAndroidTask.addFeature(extensionWindowControllerBridge);
- }
- }
-
private void maybeCreateIncognitoTabSnapshotController() {
try (TraceEvent e =
TraceEvent.scoped(
@@ -2976,6 +2921,7 @@ public class ChromeTabbedActivity extends ChromeActivity {
@@ -2937,6 +2937,7 @@ public class ChromeTabbedActivity extends ChromeActivity {
mLayoutStateProviderSupplier,
getBrowserControlsManager(),
getWindowAndroid(),
@@ -122,15 +42,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
@@ -52,6 +52,7 @@ import org.chromium.base.CommandLine;
import org.chromium.base.ContextUtils;
import org.chromium.base.DeviceInfo;
import org.chromium.base.InputHintChecker;
+import org.chromium.base.IntentUtils;
import org.chromium.base.Log;
import org.chromium.base.PowerMonitor;
import org.chromium.base.TraceEvent;
@@ -61,6 +62,7 @@ import org.chromium.base.metrics.RecordUserAction;
@@ -62,6 +62,7 @@ import org.chromium.base.metrics.RecordUserAction;
import org.chromium.base.shared_preferences.SharedPreferencesManager;
import org.chromium.base.supplier.ObservableSupplier;
import org.chromium.base.supplier.ObservableSupplierImpl;
@@ -138,31 +50,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.base.supplier.OneshotSupplierImpl;
import org.chromium.base.supplier.UnownedUserDataSupplier;
import org.chromium.chrome.R;
@@ -203,9 +205,15 @@ import org.chromium.chrome.browser.ui.RootUiCoordinator;
import org.chromium.chrome.browser.ui.appmenu.AppMenuBlocker;
import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate;
import org.chromium.chrome.browser.ui.appmenu.AppMenuPropertiesDelegate;
+import org.chromium.chrome.browser.ui.browser_window.BrowserWindowType;
+import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTask;
+import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskFeature;
+import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskTracker;
+import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTaskTrackerFactory;
import org.chromium.chrome.browser.ui.device_lock.MissingDeviceLockLauncher;
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController;
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils;
+import org.chromium.chrome.browser.ui.extensions.windowing.ExtensionWindowControllerBridgeFactory;
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;
@@ -272,6 +280,7 @@ import org.chromium.webapk.lib.client.WebApkNavigationClient;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Supplier;
+import java.util.OptionalInt;
/**
* A {@link AsyncInitializationActivity} that builds and manages a {@link CompositorViewHolder} and
@@ -440,6 +449,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
@@ -447,6 +448,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
private @Nullable TabStateThemeResourceProvider mThemeResourceProvider;
@@ -172,69 +60,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
protected ChromeActivity() {
mManualFillingComponentSupplier.set(ManualFillingComponentFactory.createComponent());
sNextActivityId++;
@@ -1018,6 +1030,70 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
TraceEvent.end("ChromeActivity:CompositorInitialization");
}
+ /**
+ * Initializes {@link ChromeAndroidTask} and adds {@link ChromeAndroidTaskFeature}s.
+ *
+ * <p>This method is for a subclass of {@link ChromeActivity} that needs windowing support on
+ * Java and/or native side(s).
+ *
+ * <p>If a subclass of {@link ChromeActivity} needs {@link ChromeAndroidTask}, it should call
+ * this method as early as possible (after the native library is loaded). For example, this
+ * method should be called before any tab is added so that {@link
+ * TabModel#associateWithBrowserWindow} can be called in time for each tab to have the same
+ * native SessionID as the native {@code AndroidBrowserWindow}.
+ *
+ * @param browserWindowType Type of the browser window (normal, popup, etc.)
+ * @param currentTabModel The current {@link TabModel} for this {@code Activity}.
+ */
+ protected final void initializeChromeAndroidTask(
+ @BrowserWindowType int browserWindowType, TabModel currentTabModel) {
+ try (TraceEvent e = TraceEvent.scoped("ChromeActivity.initializeChromeAndroidTask")) {
+ // 1. Obtain a ChromeAndroidTask that represents the Task (window) for this Activity.
+ var chromeAndroidTaskTracker = ChromeAndroidTaskTrackerFactory.getInstance();
+ if (chromeAndroidTaskTracker == null) {
+ return;
+ }
+
+ var activityWindowAndroid = getWindowAndroid();
+ assert activityWindowAndroid != null
+ : "ChromeAndroidTask must be initialized after Java WindowAndroid is created.";
+
+ int pendingIdExtraValue =
+ IntentUtils.safeGetIntExtra(
+ getIntent(),
+ ChromeAndroidTaskTracker.EXTRA_PENDING_BROWSER_WINDOW_TASK_ID,
+ /* defaultValue= */ -1);
+ OptionalInt pendingId =
+ pendingIdExtraValue == -1
+ ? OptionalInt.empty()
+ : OptionalInt.of(pendingIdExtraValue);
+
+ var chromeAndroidTask =
+ chromeAndroidTaskTracker.obtainTask(
+ browserWindowType, activityWindowAndroid, currentTabModel, pendingId);
+
+ // 2. Associate the current TabModel with ChromeAndroidTask's underlying native
+ // AndroidBrowserWindow object.
+ currentTabModel.associateWithBrowserWindow(
+ chromeAndroidTask.getOrCreateNativeBrowserWindowPtr());
+
+ // 3. Add windowing features.
+ ChromeAndroidTaskFeature extensionWindowControllerBridge =
+ ExtensionWindowControllerBridgeFactory.create(chromeAndroidTask);
+ if (extensionWindowControllerBridge != null) {
+ chromeAndroidTask.addFeature(extensionWindowControllerBridge);
+ }
@@ -1093,9 +1097,17 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
if (extensionWindowControllerBridge != null) {
chromeAndroidTask.addFeature(extensionWindowControllerBridge);
}
+
+ // 4. Make the ChromeAndroidTask available via OneshotSupplier.
+ mChromeAndroidTaskSupplier.set(chromeAndroidTask);
+ }
+ }
+
}
}
+ /** Returns an {@link OneshotSupplier} for {@link ChromeAndroidTask}. */
+ protected final OneshotSupplier<ChromeAndroidTask> getChromeAndroidTaskSupplier() {
+ return mChromeAndroidTaskSupplier;
@@ -246,7 +81,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
@@ -361,6 +361,7 @@ public abstract class BaseCustomTabActivity extends ChromeActivity {
@@ -364,6 +364,7 @@ public abstract class BaseCustomTabActivity extends ChromeActivity {
getTabModelSelectorSupplier(),
getBrowserControlsManager(),
getWindowAndroid(),
@@ -265,15 +100,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Base
import org.chromium.base.supplier.OneshotSupplierImpl;
import org.chromium.base.supplier.SupplierUtils;
import org.chromium.chrome.R;
@@ -98,6 +99,7 @@ import org.chromium.chrome.browser.ui.RootUiCoordinator;
import org.chromium.chrome.browser.ui.appmenu.AppMenuBlocker;
@@ -96,6 +97,7 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuBlocker;
import org.chromium.chrome.browser.ui.appmenu.AppMenuCoordinator;
import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate;
import org.chromium.chrome.browser.ui.appmenu.AppMenuHandler;
+import org.chromium.chrome.browser.ui.browser_window.ChromeAndroidTask;
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController;
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeUtils;
import org.chromium.chrome.browser.ui.google_bottom_bar.GoogleBottomBarCoordinator;
@@ -164,6 +166,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator {
@@ -160,6 +162,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator {
* @param tabModelSelectorSupplier Supplies the {@link TabModelSelector}.
* @param browserControlsManager Manages the browser controls.
* @param windowAndroid The current {@link WindowAndroid}.
@@ -281,7 +116,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Base
* @param activityLifecycleDispatcher Allows observation of the activity lifecycle.
* @param layoutManagerSupplier Supplies the {@link LayoutManager}.
* @param menuOrKeyboardActionController Controls the menu or keyboard action controller.
@@ -204,6 +207,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator {
@@ -200,6 +203,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator {
@NonNull ObservableSupplier<TabModelSelector> tabModelSelectorSupplier,
@NonNull BrowserControlsManager browserControlsManager,
@NonNull ActivityWindowAndroid windowAndroid,
@@ -289,7 +124,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Base
@NonNull ActivityLifecycleDispatcher activityLifecycleDispatcher,
@NonNull ObservableSupplier<LayoutManagerImpl> layoutManagerSupplier,
@NonNull MenuOrKeyboardActionController menuOrKeyboardActionController,
@@ -249,6 +253,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator {
@@ -245,6 +249,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator {
new OneshotSupplierImpl<>(),
browserControlsManager,
windowAndroid,
@@ -319,7 +154,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
@@ -173,6 +173,7 @@ import org.chromium.chrome.browser.toolbar.top.tab_strip.TabStripTransitionCoord
@@ -184,6 +184,7 @@ import org.chromium.chrome.browser.toolbar.top.tab_strip.TabStripTransitionCoord
import org.chromium.chrome.browser.ui.appmenu.AppMenuCoordinator;
import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate;
import org.chromium.chrome.browser.ui.appmenu.MenuButtonDelegate;
@@ -327,7 +162,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController;
import org.chromium.chrome.browser.ui.native_page.NativePage;
import org.chromium.chrome.browser.ui.system.StatusBarColorController;
@@ -732,6 +733,7 @@ public class ToolbarManager
@@ -748,6 +749,7 @@ public class ToolbarManager
* @param omniboxFocusStateSupplier Supplier to access the focus state of the omnibox.
* @param promoShownOneshotSupplier Supplier for whether a promo was shown on startup.
* @param windowAndroid The {@link WindowAndroid} associated with the ToolbarManager.
@@ -335,7 +170,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
* @param isInOverviewModeSupplier Supplies whether the app is currently in overview mode.
* @param modalDialogManagerSupplier Supplies the {@link ModalDialogManager}.
* @param statusBarColorController The {@link StatusBarColorController} for the app.
@@ -783,6 +785,7 @@ public class ToolbarManager
@@ -800,6 +802,7 @@ public class ToolbarManager
ObservableSupplier<Boolean> omniboxFocusStateSupplier,
OneshotSupplier<Boolean> promoShownOneshotSupplier,
WindowAndroid windowAndroid,
@@ -343,18 +178,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
Supplier<Boolean> isInOverviewModeSupplier,
Supplier<ModalDialogManager> modalDialogManagerSupplier,
StatusBarColorController statusBarColorController,
@@ -1103,6 +1106,7 @@ public class ToolbarManager
@@ -1127,6 +1130,7 @@ public class ToolbarManager
mActivity,
extensionToolbarStub,
windowAndroid,
+ chromeAndroidTaskSupplier,
profileSupplier,
tabProvider,
(ObservableSupplier<Profile>) profileSupplier,
(ObservableSupplier<Tab>) tabProvider,
mTabCreatorManager.getTabCreator(false),
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
@@ -151,6 +151,7 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuCoordinatorFactory;
@@ -166,6 +166,7 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuCoordinatorFactory;
import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate;
import org.chromium.chrome.browser.ui.appmenu.AppMenuHandler;
import org.chromium.chrome.browser.ui.appmenu.AppMenuObserver;
@@ -362,7 +197,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
import org.chromium.chrome.browser.ui.desktop_windowing.AppHeaderUtils;
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeController;
import org.chromium.chrome.browser.ui.edge_to_edge.EdgeToEdgeControllerCreator;
@@ -245,6 +246,7 @@ public class RootUiCoordinator
@@ -262,6 +263,7 @@ public class RootUiCoordinator
protected @Nullable AppMenuCoordinator mAppMenuCoordinator;
private final MenuOrKeyboardActionController mMenuOrKeyboardActionController;
protected final ActivityWindowAndroid mWindowAndroid;
@@ -370,7 +205,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
protected final ActivityTabProvider mActivityTabProvider;
protected ObservableSupplier<ShareDelegate> mShareDelegateSupplier;
@@ -382,6 +384,7 @@ public class RootUiCoordinator
@@ -401,6 +403,7 @@ public class RootUiCoordinator
* @param layoutStateProviderOneshotSupplier Supplier of the {@link LayoutStateProvider}.
* @param browserControlsManager Manages the browser controls.
* @param windowAndroid The current {@link WindowAndroid}.
@@ -378,7 +213,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
* @param activityLifecycleDispatcher Allows observation of the activity lifecycle.
* @param layoutManagerSupplier Supplies the {@link LayoutManager}.
* @param menuOrKeyboardActionController Controls the menu or keyboard action controller.
@@ -427,6 +430,7 @@ public class RootUiCoordinator
@@ -446,6 +449,7 @@ public class RootUiCoordinator
@NonNull OneshotSupplier<LayoutStateProvider> layoutStateProviderOneshotSupplier,
@NonNull BrowserControlsManager browserControlsManager,
@NonNull ActivityWindowAndroid windowAndroid,
@@ -386,7 +221,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
@NonNull ActivityLifecycleDispatcher activityLifecycleDispatcher,
@NonNull ObservableSupplier<LayoutManagerImpl> layoutManagerSupplier,
@NonNull MenuOrKeyboardActionController menuOrKeyboardActionController,
@@ -459,6 +463,7 @@ public class RootUiCoordinator
@@ -478,6 +482,7 @@ public class RootUiCoordinator
mCallbackController = new CallbackController();
mActivity = activity;
mWindowAndroid = windowAndroid;
@@ -394,7 +229,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
setupUnownedUserDataSuppliers();
mOnOmniboxFocusChangedListener = onOmniboxFocusChangedListener;
mBrowserControlsManager = browserControlsManager;
@@ -1642,6 +1647,7 @@ public class RootUiCoordinator
@@ -1715,6 +1720,7 @@ public class RootUiCoordinator
mOmniboxFocusStateSupplier,
mPromoShownOneshotSupplier,
mWindowAndroid,
@@ -405,7 +240,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
diff --git a/chrome/android/junit/BUILD.gn b/chrome/android/junit/BUILD.gn
--- a/chrome/android/junit/BUILD.gn
+++ b/chrome/android/junit/BUILD.gn
@@ -207,6 +207,7 @@ if (is_android) {
@@ -205,6 +205,7 @@ if (is_android) {
"//chrome/browser/ui/android/signin:java",
"//chrome/browser/ui/android/theme:java",
"//chrome/browser/ui/android/toolbar:java",
@@ -765,15 +600,15 @@ diff --git a/chrome/browser/ui/android/extensions/java/src/org/chromium/chrome/b
diff --git a/chrome/browser/ui/android/toolbar/BUILD.gn b/chrome/browser/ui/android/toolbar/BUILD.gn
--- a/chrome/browser/ui/android/toolbar/BUILD.gn
+++ b/chrome/browser/ui/android/toolbar/BUILD.gn
@@ -188,6 +188,7 @@ android_library("java") {
@@ -189,6 +189,7 @@ android_library("java") {
"//chrome/browser/ui/android/omnibox:java_resources",
"//chrome/browser/ui/android/pdf:java",
"//chrome/browser/ui/android/theme:java",
+ "//chrome/browser/ui/browser_window/public/android:java",
"//chrome/browser/url_constants/android:java",
"//chrome/browser/user_education:java",
"//chrome/browser/util:java",
"//components/browser_ui/bottomsheet/android:java",
@@ -474,6 +475,7 @@ robolectric_library("junit") {
@@ -478,6 +479,7 @@ robolectric_library("junit") {
"//chrome/browser/ui/android/omnibox:java_resources",
"//chrome/browser/ui/android/theme:java",
"//chrome/browser/ui/android/toolbar:java_resources",
@@ -23,7 +23,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/third_party/blink/renderer/core/execution_context/execution_context.h b/third_party/blink/renderer/core/execution_context/execution_context.h
--- a/third_party/blink/renderer/core/execution_context/execution_context.h
+++ b/third_party/blink/renderer/core/execution_context/execution_context.h
@@ -398,6 +398,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
@@ -391,6 +391,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable<ExecutionContext>,
void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space);
HeapObserverList<ContextLifecycleObserver>& ContextLifecycleObserverSet();
@@ -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
@@ -5151,7 +5151,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin(
@@ -5180,7 +5180,17 @@ void RenderFrameHostImpl::SetLastCommittedOrigin(
}
void RenderFrameHostImpl::SetInheritedBaseUrl(const GURL& inherited_base_url) {
@@ -82,7 +82,7 @@ diff --git a/third_party/blink/renderer/core/frame/location.cc b/third_party/bli
#include "third_party/blink/renderer/bindings/core/v8/binding_security.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
#include "third_party/blink/renderer/core/dom/document.h"
@@ -126,8 +127,20 @@ DOMStringList* Location::ancestorOrigins() const {
@@ -127,8 +128,20 @@ DOMStringList* Location::ancestorOrigins() const {
auto* origins = MakeGarbageCollected<DOMStringList>();
if (!IsAttached())
return origins;
@@ -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
@@ -836,6 +836,11 @@ WebString DocumentLoader::HttpMethod() const {
@@ -835,6 +835,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_;
}
@@ -2916,6 +2921,13 @@ void DocumentLoader::CommitNavigation() {
@@ -2903,6 +2908,13 @@ void DocumentLoader::CommitNavigation() {
response_.HttpHeaderField(http_names::kDocumentPolicyReportOnly));
}
@@ -49,7 +49,7 @@ diff --git a/chrome/browser/history/history_utils.cc b/chrome/browser/history/hi
diff --git a/chrome/browser/ui/singleton_tabs.cc b/chrome/browser/ui/singleton_tabs.cc
--- a/chrome/browser/ui/singleton_tabs.cc
+++ b/chrome/browser/ui/singleton_tabs.cc
@@ -141,6 +141,11 @@ int GetIndexOfExistingTab(BrowserWindowInterface* browser,
@@ -144,6 +144,11 @@ int GetIndexOfExistingTab(BrowserWindowInterface* browser,
continue;
}
@@ -80,7 +80,7 @@ diff --git a/components/omnibox/browser/autocomplete_input.cc b/components/omnib
return url::FindAndCompareScheme(utf8_input, scheme, nullptr);
}
@@ -578,7 +583,8 @@ void AutocompleteInput::ParseForEmphasizeComponents(
@@ -580,7 +585,8 @@ void AutocompleteInput::ParseForEmphasizeComponents(
// For the view-source and blob schemes, we should emphasize the host of the
// URL qualified by the view-source or blob prefix.
if ((base::EqualsCaseInsensitiveASCII(scheme_str, kViewSourceScheme) ||
@@ -118,7 +118,7 @@ diff --git a/content/browser/child_process_security_policy_impl.cc b/content/bro
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -1142,6 +1142,8 @@ component("net") {
@@ -1147,6 +1147,8 @@ component("net") {
"url_request/url_request_http_job.cc",
"url_request/url_request_http_job.h",
"url_request/url_request_interceptor.cc",
+54 -54
View File
@@ -42,12 +42,12 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../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 +-
.../internal/preview_server_proxy.cc | 2 +-
.../endpoint_fetcher/endpoint_fetcher.cc | 127 ++++++--
.../endpoint_fetcher/endpoint_fetcher.h | 28 +-
components/manta/base_provider.cc | 4 +-
.../composebox/composebox_query_controller.cc | 2 +-
.../Bromite-auto-updater.inc | 3 +
.../Bromite-auto-updater.inc | 1 +
42 files changed, 1154 insertions(+), 106 deletions(-)
@@ -79,7 +79,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
@@ -1952,6 +1952,9 @@ if (!is_robolectric && enable_java_templates) {
@@ -1959,6 +1959,9 @@ if (!is_robolectric && enable_java_templates) {
sources = [ "//build/android/java/templates/BuildConfig.template" ]
defines = []
@@ -92,7 +92,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
@@ -848,6 +848,8 @@ chrome_java_sources = [
@@ -858,6 +858,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",
@@ -686,7 +686,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
@@ -2669,6 +2669,12 @@ static_library("browser") {
@@ -2660,6 +2660,12 @@ static_library("browser") {
}
if (is_android) {
@@ -1004,18 +1004,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
@@ -375,6 +375,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
@@ -386,6 +386,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kProtectedTabsAndroid,
&kPwaRestoreUi,
&kPwaRestoreUiAtStartup,
+ &kInlineUpdateFlow,
&kOmahaMinSdkVersionAndroid,
&kShortCircuitUnfocusAnimation,
&kShowHomeButtonPolicyAndroid,
&kQuickDeleteAndroidSurvey,
&kReadAloud,
&kReadAloudAudioOverviews,
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
@@ -464,6 +464,7 @@ public abstract class ChromeFeatureList {
@@ -469,6 +469,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";
@@ -1026,9 +1026,9 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/chrome/browser/media/router/discovery/access_code/access_code_cast_discovery_interface.cc b/chrome/browser/media/router/discovery/access_code/access_code_cast_discovery_interface.cc
--- a/chrome/browser/media/router/discovery/access_code/access_code_cast_discovery_interface.cc
+++ b/chrome/browser/media/router/discovery/access_code/access_code_cast_discovery_interface.cc
@@ -270,7 +270,7 @@ AccessCodeCastDiscoveryInterface::CreateEndpointFetcher(
.SetOauthScopes(discovery_scopes)
.SetOauthConsumerName(kDiscoveryOAuthConsumerName)
@@ -266,7 +266,7 @@ AccessCodeCastDiscoveryInterface::CreateEndpointFetcher(
.SetTimeout(kTimeout)
.SetUrl(GURL(base::StrCat({GetDiscoveryUrl(), "/", access_code})))
.SetPostData(kEmptyPostData)
- .Build());
+ .Build(), kTrafficAnnotation);
@@ -1605,7 +1605,7 @@ diff --git a/chrome/browser/safety_hub/android/java/src/org/chromium/chrome/brow
diff --git a/chrome/browser/save_to_drive/drive_uploader.cc b/chrome/browser/save_to_drive/drive_uploader.cc
--- a/chrome/browser/save_to_drive/drive_uploader.cc
+++ b/chrome/browser/save_to_drive/drive_uploader.cc
@@ -288,7 +288,7 @@ DriveUploader::CreateEndpointFetcher(
@@ -290,7 +290,7 @@ DriveUploader::CreateEndpointFetcher(
return std::make_unique<endpoint_fetcher::EndpointFetcher>(
/*url_loader_factory=*/url_loader_factory_.get(),
/*identity_manager=*/identity_manager_,
@@ -1617,7 +1617,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
@@ -2279,6 +2279,12 @@ Your Google account may have other forms of browsing history like searches and a
@@ -2306,6 +2306,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>
@@ -1630,7 +1630,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]">
@@ -4255,7 +4261,10 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -4315,7 +4321,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]">
@@ -1642,7 +1642,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
@@ -4266,6 +4275,18 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -4326,6 +4335,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>
@@ -1664,7 +1664,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
@@ -726,7 +726,7 @@ LensOverlayQueryController::CreateEndpointFetcher(
@@ -742,7 +742,7 @@ LensOverlayQueryController::CreateEndpointFetcher(
.SetTimeout(timeout)
.SetUrl(fetch_url)
.SetUploadProgressCallback(std::move(upload_progress_callback))
@@ -1676,7 +1676,7 @@ diff --git a/chrome/browser/ui/lens/lens_overlay_query_controller.cc b/chrome/br
diff --git a/components/commerce/core/account_checker.cc b/components/commerce/core/account_checker.cc
--- a/components/commerce/core/account_checker.cc
+++ b/components/commerce/core/account_checker.cc
@@ -331,7 +331,7 @@ std::unique_ptr<EndpointFetcher> AccountChecker::CreateEndpointFetcher(
@@ -327,7 +327,7 @@ std::unique_ptr<EndpointFetcher> AccountChecker::CreateEndpointFetcher(
.SetPostData(post_data);
MaybeUseAlternateShoppingServer(request_params);
return std::make_unique<EndpointFetcher>(
@@ -1688,7 +1688,7 @@ diff --git a/components/commerce/core/account_checker.cc b/components/commerce/c
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
@@ -158,7 +158,7 @@ std::unique_ptr<EndpointFetcher> ClusterServerProxy::CreateEndpointFetcher(
@@ -156,7 +156,7 @@ std::unique_ptr<EndpointFetcher> ClusterServerProxy::CreateEndpointFetcher(
.SetPostData(post_data);
commerce::MaybeUseAlternateShoppingServer(request_params);
return std::make_unique<EndpointFetcher>(
@@ -1700,7 +1700,7 @@ diff --git a/components/commerce/core/compare/cluster_server_proxy.cc b/componen
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
@@ -298,7 +298,7 @@ ProductSpecificationsServerProxy::CreateEndpointFetcher(
@@ -296,7 +296,7 @@ ProductSpecificationsServerProxy::CreateEndpointFetcher(
.SetPostData(post_data);
MaybeUseAlternateShoppingServer(request_params);
return std::make_unique<EndpointFetcher>(
@@ -1712,7 +1712,7 @@ diff --git a/components/commerce/core/compare/product_specifications_server_prox
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
@@ -304,7 +304,7 @@ SubscriptionsServerProxy::CreateEndpointFetcher(
@@ -302,7 +302,7 @@ SubscriptionsServerProxy::CreateEndpointFetcher(
.SetPostData(post_data);
MaybeUseAlternateShoppingServer(request_params);
return std::make_unique<EndpointFetcher>(
@@ -1721,12 +1721,24 @@ diff --git a/components/commerce/core/subscriptions/subscriptions_server_proxy.c
}
void SubscriptionsServerProxy::HandleManageSubscriptionsResponses(
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
@@ -525,7 +525,7 @@ ComposeboxQueryController::CreateEndpointFetcher(
.SetTimeout(timeout)
.SetUploadProgressCallback(std::move(upload_progress_callback))
.SetUrl(fetch_url)
- .Build());
+ .Build(), kTrafficAnnotationTag);
}
lens::LensOverlayClientContext ComposeboxQueryController::CreateClientContext()
diff --git a/components/data_sharing/internal/data_sharing_network_loader_impl.cc b/components/data_sharing/internal/data_sharing_network_loader_impl.cc
--- a/components/data_sharing/internal/data_sharing_network_loader_impl.cc
+++ b/components/data_sharing/internal/data_sharing_network_loader_impl.cc
@@ -78,7 +78,7 @@ DataSharingNetworkLoaderImpl::CreateEndpointFetcher(
.SetOauthScopes(scopes)
.SetOauthConsumerName(kOauthConsumerName)
@@ -63,7 +63,7 @@ DataSharingNetworkLoaderImpl::CreateEndpointFetcher(
.SetUrl(url)
.SetOAuthConsumerId(signin::OAuthConsumerId::kDataSharingAndroid)
.SetPostData(post_data)
- .Build());
+ .Build(), annotation_tag);
@@ -1736,10 +1748,10 @@ diff --git a/components/data_sharing/internal/data_sharing_network_loader_impl.c
diff --git a/components/data_sharing/internal/preview_server_proxy.cc b/components/data_sharing/internal/preview_server_proxy.cc
--- a/components/data_sharing/internal/preview_server_proxy.cc
+++ b/components/data_sharing/internal/preview_server_proxy.cc
@@ -351,7 +351,7 @@ std::unique_ptr<EndpointFetcher> PreviewServerProxy::CreateEndpointFetcher(
@@ -346,7 +346,7 @@ std::unique_ptr<EndpointFetcher> PreviewServerProxy::CreateEndpointFetcher(
.SetContentType(kContentType)
.SetTimeout(kTimeout)
.SetUrl(url)
.SetOauthScopes(std::vector<std::string>{kOAuthScope})
.SetOauthConsumerName(kOAuthName)
- .Build());
+ .Build(), kGetSharedDataPreviewTrafficAnnotation);
}
@@ -1783,7 +1795,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
} // namespace
EndpointResponse::EndpointResponse() = default;
@@ -108,9 +122,11 @@ EndpointFetcher::RequestParams::Builder::Build() {
@@ -105,9 +119,11 @@ EndpointFetcher::RequestParams::Builder::Build() {
EndpointFetcher::EndpointFetcher(
const scoped_refptr<network::SharedURLLoaderFactory>& url_loader_factory,
signin::IdentityManager* identity_manager,
@@ -1796,7 +1808,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
request_params_(std::move(request_params)) {
if (request_params_.auth_type() == OAUTH) {
DCHECK(identity_manager_)
@@ -123,12 +139,32 @@ EndpointFetcher::EndpointFetcher(
@@ -120,12 +136,32 @@ EndpointFetcher::EndpointFetcher(
EndpointFetcher::EndpointFetcher(
const net::NetworkTrafficAnnotationTag& annotation_tag)
: identity_manager_(nullptr),
@@ -1829,7 +1841,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
EndpointFetcher::~EndpointFetcher() = default;
void EndpointFetcher::Fetch(EndpointFetcherCallback endpoint_fetcher_callback) {
@@ -211,13 +247,10 @@ void EndpointFetcher::PerformHttpRequest(
@@ -208,13 +244,10 @@ void EndpointFetcher::PerformHttpRequest(
auto resource_request = std::make_unique<network::ResourceRequest>();
resource_request->method = GetHttpMethodString(request_params_.http_method());
resource_request->url = request_params_.url();
@@ -1846,7 +1858,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
// Add Content-Type header if post data is present.
bool has_body_content = (request_params_.http_method() == HttpMethod::kPost ||
request_params_.http_method() == HttpMethod::kPut) &&
@@ -258,8 +291,23 @@ void EndpointFetcher::PerformHttpRequest(
@@ -255,8 +288,23 @@ void EndpointFetcher::PerformHttpRequest(
break;
}
@@ -1870,7 +1882,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
if (has_body_content) {
simple_url_loader_->AttachStringForUpload(
@@ -272,9 +320,18 @@ void EndpointFetcher::PerformHttpRequest(
@@ -269,9 +317,18 @@ void EndpointFetcher::PerformHttpRequest(
simple_url_loader_->SetRetryOptions(GetMaxRetries(),
network::SimpleURLLoader::RETRY_ON_5XX);
@@ -1892,7 +1904,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
network::SimpleURLLoader::BodyAsStringCallbackDeprecated
body_as_string_callback = base::BindOnce(
&EndpointFetcher::OnResponseFetched, weak_ptr_factory_.GetWeakPtr(),
@@ -333,21 +390,6 @@ void EndpointFetcher::OnResponseFetched(
@@ -330,21 +387,6 @@ void EndpointFetcher::OnResponseFetched(
std::move(endpoint_fetcher_callback).Run(std::move(response));
}
@@ -1914,7 +1926,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoi
int EndpointFetcher::GetMaxRetries() const {
return request_params_.max_retries.value_or(kNumRetries);
}
@@ -365,4 +407,39 @@ std::string EndpointFetcher::GetUrlForTesting() {
@@ -362,4 +404,39 @@ std::string EndpointFetcher::GetUrlForTesting() {
return request_params_.url().spec();
}
@@ -1984,7 +1996,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
int http_status_code{-1};
std::optional<FetchErrorType> error_type;
scoped_refptr<net::HttpResponseHeaders> headers;
@@ -314,7 +320,16 @@ class EndpointFetcher {
@@ -301,7 +307,16 @@ class EndpointFetcher {
EndpointFetcher(
const scoped_refptr<network::SharedURLLoaderFactory>& url_loader_factory,
signin::IdentityManager* identity_manager,
@@ -2002,7 +2014,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
EndpointFetcher(const EndpointFetcher& endpoint_fetcher) = delete;
EndpointFetcher& operator=(const EndpointFetcher& endpoint_fetcher) = delete;
@@ -347,11 +362,17 @@ class EndpointFetcher {
@@ -334,11 +349,17 @@ class EndpointFetcher {
void OnResponseFetched(EndpointFetcherCallback callback,
std::unique_ptr<std::string> response_body);
@@ -2020,7 +2032,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
// Members set in constructor
const scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory_;
@@ -359,6 +380,8 @@ class EndpointFetcher {
@@ -346,6 +367,8 @@ class EndpointFetcher {
// this case, callers should invoke `PerformRequest` directly).
const raw_ptr<signin::IdentityManager> identity_manager_;
@@ -2029,7 +2041,7 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
// The complete definition of the specific network request to be performed.
// Contains authentication details and response handling preferences.
const RequestParams request_params_;
@@ -368,6 +391,9 @@ class EndpointFetcher {
@@ -355,6 +378,9 @@ class EndpointFetcher {
access_token_fetcher_;
std::unique_ptr<network::SimpleURLLoader> simple_url_loader_;
@@ -2042,16 +2054,16 @@ diff --git a/components/endpoint_fetcher/endpoint_fetcher.h b/components/endpoin
diff --git a/components/manta/base_provider.cc b/components/manta/base_provider.cc
--- a/components/manta/base_provider.cc
+++ b/components/manta/base_provider.cc
@@ -145,7 +145,7 @@ std::unique_ptr<EndpointFetcher> BaseProvider::CreateEndpointFetcher(
.SetOauthScopes(scopes)
.SetOauthConsumerName(oauth_consumer_name)
@@ -140,7 +140,7 @@ std::unique_ptr<EndpointFetcher> BaseProvider::CreateEndpointFetcher(
.SetUrl(url)
.SetOAuthConsumerId(signin::OAuthConsumerId::kManta)
.SetPostData(post_data)
- .Build());
+ .Build(), annotation_tag);
}
std::unique_ptr<EndpointFetcher> BaseProvider::CreateEndpointFetcherForDemoMode(
@@ -163,7 +163,7 @@ std::unique_ptr<EndpointFetcher> BaseProvider::CreateEndpointFetcherForDemoMode(
@@ -158,7 +158,7 @@ std::unique_ptr<EndpointFetcher> BaseProvider::CreateEndpointFetcherForDemoMode(
.SetTimeout(timeout)
.SetPostData(post_data)
.SetChannel(version_info::Channel::STABLE)
@@ -2060,18 +2072,6 @@ diff --git a/components/manta/base_provider.cc b/components/manta/base_provider.
}
} // namespace manta
diff --git a/components/omnibox/composebox/composebox_query_controller.cc b/components/omnibox/composebox/composebox_query_controller.cc
--- a/components/omnibox/composebox/composebox_query_controller.cc
+++ b/components/omnibox/composebox/composebox_query_controller.cc
@@ -524,7 +524,7 @@ ComposeboxQueryController::CreateEndpointFetcher(
.SetTimeout(timeout)
.SetUploadProgressCallback(std::move(upload_progress_callback))
.SetUrl(fetch_url)
- .Build());
+ .Build(), kTrafficAnnotationTag);
}
lens::LensOverlayClientContext ComposeboxQueryController::CreateClientContext()
diff --git a/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Bromite-auto-updater.inc b/cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Bromite-auto-updater.inc
new file mode 100644
--- /dev/null
@@ -33,7 +33,6 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../flags/android/adblock_native_gateway.cc | 31 ++
.../browser/flags/AdBlockNativeGateway.java | 30 ++
.../net/system_network_context_manager.cc | 4 +
.../sessions/session_restore_android.cc | 7 +-
.../strings/android_chrome_strings.grd | 14 +
chrome/common/pref_names.h | 5 +
.../strings/android/site_settings.grdp | 3 +
@@ -51,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 +-
39 files changed, 1287 insertions(+), 129 deletions(-)
38 files changed, 1282 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
@@ -66,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
@@ -324,6 +324,7 @@ if (_is_default_toolchain) {
@@ -325,6 +325,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",
@@ -77,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
@@ -432,6 +432,7 @@ chrome_java_resources = [
@@ -439,6 +439,7 @@ chrome_java_resources = [
"java/res/layout/account_divider_preference.xml",
"java/res/layout/account_management_account_row.xml",
"java/res/layout/app_history_filter.xml",
@@ -85,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",
@@ -627,6 +628,7 @@ chrome_java_resources = [
@@ -639,6 +640,7 @@ chrome_java_resources = [
"java/res/xml/account_management_preferences.xml",
"java/res/xml/ad_services_config.xml",
"java/res/xml/appearance_preferences.xml",
@@ -96,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
@@ -918,6 +918,8 @@ chrome_java_sources = [
@@ -929,6 +929,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",
@@ -180,7 +179,7 @@ new file mode 100644
diff --git a/chrome/android/java/res/values/styles.xml b/chrome/android/java/res/values/styles.xml
--- a/chrome/android/java/res/values/styles.xml
+++ b/chrome/android/java/res/values/styles.xml
@@ -312,6 +312,24 @@ found in the LICENSE file.
@@ -317,6 +317,24 @@ found in the LICENSE file.
</item>
</style>
@@ -442,7 +441,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
@@ -88,6 +88,8 @@ import java.util.HashMap;
@@ -87,6 +87,8 @@ import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
@@ -451,7 +450,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
/**
* The Chrome settings activity.
*
@@ -948,6 +950,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
@@ -1016,6 +1018,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
if (!MAIN_FRAGMENT_TAG.equals(fragment.getTag())) {
return;
}
@@ -462,7 +461,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
@@ -17103,6 +17103,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
@@ -17255,6 +17255,16 @@ Please help our engineers fix this problem. Tell us what happened right before y
Never show this again.
</message>
@@ -533,7 +532,7 @@ diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -1270,6 +1270,34 @@ BrowserProcessImpl::component_updater() {
@@ -1285,6 +1285,34 @@ BrowserProcessImpl::component_updater() {
return component_updater_.get();
}
@@ -571,7 +570,7 @@ diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_pro
diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h
--- a/chrome/browser/browser_process_impl.h
+++ b/chrome/browser/browser_process_impl.h
@@ -212,6 +212,7 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -211,6 +211,7 @@ class BrowserProcessImpl : public BrowserProcess,
#endif
component_updater::ComponentUpdateService* component_updater() override;
@@ -579,7 +578,7 @@ diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_proc
MediaFileSystemRegistry* media_file_system_registry() override;
WebRtcLogUploader* webrtc_log_uploader() override;
network_time::NetworkTimeTracker* network_time_tracker() override;
@@ -429,6 +430,7 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -428,6 +429,7 @@ class BrowserProcessImpl : public BrowserProcess,
// to concerns over integrity of data shared between profiles,
// but some users of component updater only install per-user.
std::unique_ptr<component_updater::ComponentUpdateService> component_updater_;
@@ -590,7 +589,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
@@ -390,6 +390,9 @@ StartupProfileInfo CreateInitialProfile(
@@ -429,6 +429,9 @@ StartupProfileInfo CreateInitialProfile(
// missing code in the above test.
CHECK(profile_info.profile) << "Cannot get default profile.";
@@ -712,23 +711,6 @@ diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/brows
// Static auth params
registry->RegisterStringPref(prefs::kAuthSchemes,
"basic,digest,ntlm,negotiate");
diff --git a/chrome/browser/sessions/session_restore_android.cc b/chrome/browser/sessions/session_restore_android.cc
--- a/chrome/browser/sessions/session_restore_android.cc
+++ b/chrome/browser/sessions/session_restore_android.cc
@@ -58,8 +58,11 @@ content::WebContents* SessionRestore::RestoreForeignSessionTab(
DCHECK(current_tab);
// If swapped, return the current tab's most up-to-date web contents.
if (disposition == WindowOpenDisposition::CURRENT_TAB) {
- current_tab->SwapWebContents(std::move(new_web_contents), false, false);
- return current_tab->web_contents();
+ int active_tab_index = tab_model->GetActiveIndex();
+ tab_model->CreateTab(current_tab, new_web_contents.release(),
+ disposition == WindowOpenDisposition::NEW_BACKGROUND_TAB);
+ tab_model->CloseTabAt(active_tab_index);
+ return raw_new_web_contents;
}
DCHECK(disposition == WindowOpenDisposition::NEW_FOREGROUND_TAB ||
disposition == WindowOpenDisposition::NEW_BACKGROUND_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
@@ -756,7 +738,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
@@ -2931,6 +2931,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
@@ -2942,6 +2942,11 @@ inline constexpr char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled";
inline constexpr char kAudioCaptureAllowedUrls[] =
"hardware.audio_capture_allowed_urls";
@@ -771,7 +753,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
@@ -406,6 +406,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>
@@ -1613,7 +1595,7 @@ diff --git a/components/subresource_filter/content/browser/content_subresource_f
web_contents_helper_(web_contents_helper) {}
ContentSubresourceFilterThrottleManager::
@@ -629,6 +633,17 @@ ContentSubresourceFilterThrottleManager::
@@ -628,6 +632,17 @@ ContentSubresourceFilterThrottleManager::
throttle->NotifyPageActivationWithRuleset(EnsureRulesetHandle(),
ad_tagging_state);
}
@@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/ui/views/toolbar/reload_button.cc b/chrome/browser/ui/views/toolbar/reload_button.cc
--- a/chrome/browser/ui/views/toolbar/reload_button.cc
+++ b/chrome/browser/ui/views/toolbar/reload_button.cc
@@ -225,6 +225,14 @@ void ReloadButton::ButtonPressed(const ui::Event& event) {
@@ -274,6 +274,14 @@ void ReloadButton::ButtonPressed(const ui::Event& event) {
command = IDC_RELOAD;
}
@@ -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
@@ -1465,6 +1465,19 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -1468,6 +1468,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.
@@ -1505,13 +1518,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -1508,13 +1521,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;
@@ -1522,11 +1528,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -1525,11 +1531,6 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
friend class ui_devtools::BubbleLocking;
friend void DisableActivationChangeHandlingForTests();
+24 -24
View File
@@ -129,7 +129,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_a
diff --git a/chrome/browser/extensions/api/developer_private/developer_private_functions_shared.cc b/chrome/browser/extensions/api/developer_private/developer_private_functions_shared.cc
--- a/chrome/browser/extensions/api/developer_private/developer_private_functions_shared.cc
+++ b/chrome/browser/extensions/api/developer_private/developer_private_functions_shared.cc
@@ -364,6 +364,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() {
@@ -375,6 +375,7 @@ ExtensionFunction::ResponseAction DeveloperPrivateAutoUpdateFunction::Run() {
ExtensionUpdater::CheckParams params;
params.fetch_priority = DownloadFetchPriority::kForeground;
params.install_immediately = true;
@@ -137,7 +137,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_f
params.callback =
base::BindOnce(&DeveloperPrivateAutoUpdateFunction::OnComplete, this);
updater->CheckNow(std::move(params));
@@ -500,7 +501,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() {
@@ -511,7 +512,7 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() {
const developer::ProfileConfigurationUpdate& update = params->update;
@@ -146,7 +146,7 @@ diff --git a/chrome/browser/extensions/api/developer_private/developer_private_f
Profile* profile = Profile::FromBrowserContext(browser_context());
CHECK(profile);
if (supervised_user::AreExtensionsPermissionsEnabled(profile)) {
@@ -514,6 +515,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() {
@@ -525,6 +526,11 @@ DeveloperPrivateUpdateProfileConfigurationFunction::Run() {
->MarkNoticeAsAcknowledgedGlobally();
}
@@ -243,7 +243,7 @@ diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api
diff --git a/chrome/browser/extensions/chrome_extension_system.cc b/chrome/browser/extensions/chrome_extension_system.cc
--- a/chrome/browser/extensions/chrome_extension_system.cc
+++ b/chrome/browser/extensions/chrome_extension_system.cc
@@ -95,6 +95,7 @@ UninstallPingSender::FilterResult ShouldSendUninstallPing(
@@ -96,6 +96,7 @@ UninstallPingSender::FilterResult ShouldSendUninstallPing(
Profile* profile,
const Extension* extension,
UninstallReason reason) {
@@ -267,7 +267,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
@@ -431,6 +431,7 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy(
@@ -436,6 +436,7 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy(
bool ExtensionManagement::IsAllowedByUnpublishedAvailabilityPolicy(
const Extension* extension) {
@@ -291,7 +291,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
@@ -247,8 +247,6 @@ ExtensionService::ExtensionService(
@@ -248,8 +248,6 @@ ExtensionService::ExtensionService(
UpgradeDetector::GetInstance()->AddObserver(this);
#endif
@@ -300,7 +300,7 @@ diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/ext
ExtensionManagementFactory::GetForBrowserContext(profile_)->AddObserver(this);
if (autoupdate_enabled) {
@@ -763,7 +761,7 @@ void ExtensionService::OnExtensionManagementSettingsChanged() {
@@ -764,7 +762,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.
@@ -374,7 +374,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
CHECK(enabled_);
if (params.ids.empty()) {
// Checking all extensions. Cancel pending DoCheckSoon() call if there's
@@ -442,7 +454,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
@@ -450,7 +462,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
int request_id = next_request_id_++;
@@ -383,7 +383,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
if (params.ids.empty()) {
NotifyStarted();
}
@@ -512,7 +524,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
@@ -519,7 +531,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
update_check_params.update_info[pending_id] =
GetExtensionUpdateData(pending_id);
} else if (!Manifest::IsAutoUpdateableLocation(info->install_source())) {
@@ -392,7 +392,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
continue;
}
// We have to mark high-priority extensions (such as policy-forced
@@ -522,7 +534,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
@@ -529,7 +541,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
// See https://crbug.com/904600 and https://crbug.com/965686.
const bool is_high_priority_extension_pending =
pending_extension_manager->HasHighPriorityPendingExtension();
@@ -401,7 +401,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
update_check_params.update_info[pending_id] =
GetExtensionUpdateData(pending_id);
update_check_params.update_info[pending_id].is_corrupt_reinstall =
@@ -545,6 +557,8 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
@@ -552,6 +564,8 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
LOG(WARNING) << "Corrupt extension with id " << pending_id
<< " will be reinstalled with ExtensionDownloader.";
}
@@ -410,7 +410,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
} else {
InstallStageTracker::Get(profile_)->ReportFailure(
pending_id,
@@ -557,13 +571,6 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
@@ -564,13 +578,6 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
AddToDownloader(&registry_->disabled_extensions(), pending_ids, request_id,
params.fetch_priority, &update_check_params);
ExtensionSet remotely_disabled_extensions;
@@ -424,7 +424,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
AddToDownloader(&remotely_disabled_extensions, pending_ids, request_id,
params.fetch_priority, &update_check_params);
} else {
@@ -571,7 +578,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
@@ -578,7 +585,7 @@ void ExtensionUpdater::CheckNow(CheckParams params) {
const Extension* extension =
registry_->GetExtensionById(id, ExtensionRegistry::EVERYTHING);
if (extension) {
@@ -433,7 +433,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
update_check_params.update_info[id] = GetExtensionUpdateData(id);
} else if (AddExtensionToDownloader(*extension, request_id,
params.fetch_priority)) {
@@ -715,7 +722,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished(
@@ -722,7 +729,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished(
file.extension_id, InstallStageTracker::Stage::INSTALLING);
UpdatePingData(file.extension_id, ping);
@@ -442,7 +442,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
FetchedCRXFile fetched(file, file_ownership_passed, request_ids,
std::move(callback));
@@ -726,6 +733,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished(
@@ -733,6 +740,7 @@ void ExtensionUpdater::OnExtensionDownloadFinished(
bool ExtensionUpdater::GetPingDataForExtension(const ExtensionId& id,
DownloadPingData* ping_data) {
@@ -450,7 +450,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
DCHECK(alive_);
ping_data->rollcall_days =
CalculatePingDaysForExtension(extension_prefs_->LastPingDay(id));
@@ -845,7 +853,7 @@ bool ExtensionUpdater::CanUseUpdateService(
@@ -852,7 +860,7 @@ bool ExtensionUpdater::CanUseUpdateService(
void ExtensionUpdater::InstallCRXFile(FetchedCRXFile crx_file) {
std::set<int> request_ids;
@@ -459,7 +459,7 @@ diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/bro
<< crx_file.info.path.value();
// The delegate is now responsible for cleaning up the temp file at
@@ -1054,7 +1062,7 @@ void ExtensionUpdater::NotifyIfFinished(int request_id) {
@@ -1061,7 +1069,7 @@ void ExtensionUpdater::NotifyIfFinished(int request_id) {
if (!request.in_progress_ids.empty() || request.awaiting_update_service) {
return; // This request is not done yet.
}
@@ -504,7 +504,7 @@ 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
@@ -594,7 +594,7 @@ void WebstoreInstaller::StartDownload(
@@ -595,7 +595,7 @@ void WebstoreInstaller::StartDownload(
traffic_annotation));
params->set_file_path(file);
params->set_initiator(render_frame_host->GetLastCommittedOrigin());
@@ -556,7 +556,7 @@ diff --git a/chrome/browser/resources/extensions/manager.ts b/chrome/browser/res
diff --git a/chrome/browser/resources/extensions/service.ts b/chrome/browser/resources/extensions/service.ts
--- a/chrome/browser/resources/extensions/service.ts
+++ b/chrome/browser/resources/extensions/service.ts
@@ -342,6 +342,11 @@ export class Service implements ServiceInterface {
@@ -356,6 +356,11 @@ export class Service implements ServiceInterface {
{inDeveloperMode: inDevMode});
}
@@ -1201,8 +1201,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
@@ -172,4 +172,11 @@ BASE_FEATURE(kRuntimeOnMessageWebExtensionPolyfillSupport,
"RuntimeOnMessageWebExtensionPolyfillSupport",
@@ -182,4 +182,11 @@ BASE_FEATURE(kEnableShouldShowPromotion, base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kEnableWebRequestCollapsedListeners,
base::FEATURE_DISABLED_BY_DEFAULT);
+CROMITE_FEATURE(kEnableExtensionAutoupdate,
@@ -1216,9 +1216,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
@@ -287,6 +287,16 @@ BASE_DECLARE_FEATURE(kContentVerifyJobUseJobVersionForHashing);
// during execution) the error is passed back to the sender.
BASE_DECLARE_FEATURE(kRuntimeOnMessageWebExtensionPolyfillSupport);
@@ -300,6 +300,16 @@ BASE_DECLARE_FEATURE(kEnableShouldShowPromotion);
// Enables the "collapsed listeners" strategy for webRequest lazy listeners.
BASE_DECLARE_FEATURE(kEnableWebRequestCollapsedListeners);
+// Activates the auto update of extensions.
+// the only data provided by default is the list of extensions.
@@ -41,7 +41,7 @@ diff --git a/services/network/cors/preflight_cache.h b/services/network/cors/pre
diff --git a/services/network/cors/preflight_controller.cc b/services/network/cors/preflight_controller.cc
--- a/services/network/cors/preflight_controller.cc
+++ b/services/network/cors/preflight_controller.cc
@@ -752,6 +752,10 @@ void PreflightController::ClearCorsPreflightCache(
@@ -755,6 +755,10 @@ void PreflightController::ClearCorsPreflightCache(
cache_.ClearCache(std::move(url_filter));
}
@@ -55,7 +55,7 @@ diff --git a/services/network/cors/preflight_controller.cc b/services/network/co
diff --git a/services/network/cors/preflight_controller.h b/services/network/cors/preflight_controller.h
--- a/services/network/cors/preflight_controller.h
+++ b/services/network/cors/preflight_controller.h
@@ -151,6 +151,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) PreflightController final {
@@ -152,6 +152,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) PreflightController final {
url_loader_network_service_observer,
const PreflightMode& preflight_mode);
@@ -79,7 +79,7 @@ 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,
@@ -1373,6 +1373,7 @@ void NetworkContext::ClearHttpCache(base::Time start_time,
base::Time end_time,
mojom::ClearDataFilterPtr filter,
ClearHttpCacheCallback callback) {
+3 -3
View File
@@ -63,7 +63,7 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
std::string brand_version =
output_version_type == blink::UserAgentBrandVersionType::kFullVersion
@@ -698,6 +696,7 @@ blink::UserAgentMetadata GetUserAgentMetadata(const PrefService* pref_service,
@@ -693,6 +691,7 @@ blink::UserAgentMetadata GetUserAgentMetadata(bool only_low_entropy_ch) {
}
// High entropy client hints.
@@ -270,7 +270,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
@@ -569,6 +569,11 @@
@@ -592,6 +592,11 @@
name: "AriaNotifyV2",
status: {"Android": "test", "Win": "test", "Mac": "test", "Linux": "test"},
},
@@ -282,7 +282,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
{
name: "AriaRowColIndexText",
status: "stable",
@@ -976,8 +981,7 @@
@@ -1019,8 +1024,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
@@ -509,7 +509,7 @@ BASE_FEATURE(kRelatedWebsitePartitionAPI, base::FEATURE_DISABLED_BY_DEFAULT);
@@ -511,7 +511,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
@@ -677,6 +677,7 @@ template("chrome_common_apk_or_module_tmpl") {
@@ -674,6 +674,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" ]
@@ -24,8 +24,8 @@ Require: bromite-build-utils.patch
.../site_details_permission.html | 8 +-
.../site_settings/site_details_permission.ts | 44 ++
.../site_settings/site_settings_mixin.ts | 20 +-
.../site_settings/site_settings_page.ts | 30 +-
.../site_settings/site_settings_util.ts | 55 +++
.../site_settings_page/site_settings_page.ts | 30 +-
chrome/browser/ui/BUILD.gn | 2 +
.../controls/rich_controls_container_view.h | 7 +
.../views/page_info/page_info_bubble_view.cc | 2 +-
@@ -38,16 +38,16 @@ Require: bromite-build-utils.patch
.../ui/webui/settings/site_settings_helper.cc | 46 +-
.../browser_ui/settings/android/BUILD.gn | 1 +
.../preference_spinner_single_widget.xml | 92 ++++
.../settings/SpinnerPreference.java | 24 +
.../settings/SpinnerPreference.java | 25 ++
.../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 | 415 ++++++++++++++++++
...tomTriStateSiteSettingsPreferenceImpl.java | 24 +
.../ContentSettingsResources.java | 39 +-
.../ContentSettingsResources.java | 32 +-
.../site_settings/SingleCategorySettings.java | 57 ++-
.../site_settings/SingleWebsiteSettings.java | 54 ++-
.../site_settings/SingleWebsiteSettings.java | 50 ++-
.../site_settings/SiteSettings.java | 33 +-
.../site_settings/SiteSettingsCategory.java | 18 +-
.../site_settings/SiteSettingsDelegate.java | 2 +
@@ -85,7 +85,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 +
74 files changed, 1972 insertions(+), 108 deletions(-)
74 files changed, 1964 insertions(+), 106 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
@@ -99,7 +99,7 @@ Require: bromite-build-utils.patch
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
@@ -69,6 +69,10 @@ import org.chromium.url.GURL;
@@ -70,6 +70,10 @@ import org.chromium.url.GURL;
import java.util.List;
import java.util.Set;
@@ -110,7 +110,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 {
@@ -242,7 +246,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@@ -239,7 +243,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@Override
public boolean isHelpAndFeedbackEnabled() {
@@ -119,7 +119,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/C
}
@Override
@@ -380,6 +384,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@@ -377,6 +381,17 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
return mPrivacySandboxBridge.getRelatedWebsiteSetOwner(memberOrigin);
}
@@ -152,7 +152,7 @@ diff --git a/chrome/browser/content_settings/page_specific_content_settings_dele
diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resources/settings/BUILD.gn
--- a/chrome/browser/resources/settings/BUILD.gn
+++ b/chrome/browser/resources/settings/BUILD.gn
@@ -353,6 +353,7 @@ build_webui("build") {
@@ -358,6 +358,7 @@ build_webui("build") {
"privacy_sandbox/privacy_sandbox_browser_proxy.ts",
"relaunch_mixin.ts",
"reset_page/reset_browser_proxy.ts",
@@ -160,10 +160,10 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
"route.ts",
"router.ts",
"safety_hub/safety_hub_browser_proxy.ts",
@@ -366,7 +367,6 @@ build_webui("build") {
@@ -371,7 +372,6 @@ build_webui("build") {
"site_settings/constants.ts",
"site_settings/site_settings_mixin.ts",
"site_settings/site_settings_prefs_browser_proxy.ts",
"site_settings/site_settings_browser_proxy.ts",
- "site_settings/site_settings_util.ts",
"site_settings/website_usage_browser_proxy.ts",
"time.ts",
@@ -171,7 +171,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page_index.html b/chrome/browser/resources/settings/privacy_page/privacy_page_index.html
--- a/chrome/browser/resources/settings/privacy_page/privacy_page_index.html
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page_index.html
@@ -572,4 +572,5 @@
@@ -623,4 +623,5 @@
</zoom-levels>
</template>
@@ -395,7 +395,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/settings_category_d
diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html
--- a/chrome/browser/resources/settings/site_settings/site_details.html
+++ b/chrome/browser/resources/settings/site_settings/site_details.html
@@ -332,5 +332,6 @@
@@ -334,5 +334,6 @@
label="$i18n{siteSettingsLocalNetworkAccess}">
</site-details-permission>
</template>
@@ -405,7 +405,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b
diff --git a/chrome/browser/resources/settings/site_settings/site_details.ts b/chrome/browser/resources/settings/site_settings/site_details.ts
--- a/chrome/browser/resources/settings/site_settings/site_details.ts
+++ b/chrome/browser/resources/settings/site_settings/site_details.ts
@@ -69,8 +69,39 @@ export class SiteDetailsElement extends SiteDetailsElementBase {
@@ -71,8 +71,39 @@ export class SiteDetailsElement extends SiteDetailsElementBase {
return 'site-details';
}
@@ -449,7 +449,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_details.ts b/c
diff --git a/chrome/browser/resources/settings/site_settings/site_details_permission.html b/chrome/browser/resources/settings/site_settings/site_details_permission.html
--- a/chrome/browser/resources/settings/site_settings/site_details_permission.html
+++ b/chrome/browser/resources/settings/site_settings/site_details_permission.html
@@ -57,7 +57,9 @@
@@ -58,7 +58,9 @@
</option>
<option id="allow" value$="[[contentSettingEnum_.ALLOW]]"
hidden$="[[!showAllowedSetting_(category)]]">
@@ -460,7 +460,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_details_permis
</option>
<option id="block" value$="[[contentSettingEnum_.BLOCK]]">
[[blockSettingString_(
@@ -68,7 +70,9 @@
@@ -69,7 +71,9 @@
<option id="ask" value$="[[contentSettingEnum_.ASK]]"
hidden$="[[!showAskSetting_(category, site.setting,
site.source)]]">
@@ -482,8 +482,8 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_details_permis
import {ChooserType, ContentSetting, ContentSettingsTypes, SiteSettingSource} from './constants.js';
import {getTemplate} from './site_details_permission.html.js';
@@ -293,14 +294,27 @@ export class SiteDetailsPermissionElement extends
return '';
@@ -304,14 +305,27 @@ export class SiteDetailsPermissionElement extends
return this.i18n('siteSettingsActionBlockOnUnfamiliarSitesDefaultMenu');
}
+ let obj = this.getSettingData(category);
@@ -510,7 +510,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_details_permis
if (this.useCustomSoundLabels_(category)) {
return this.i18n('siteSettingsActionMuteDefault');
}
@@ -319,12 +333,40 @@ export class SiteDetailsPermissionElement extends
@@ -330,12 +344,40 @@ export class SiteDetailsPermissionElement extends
private blockSettingString_(
category: ContentSettingsTypes, blockString: string,
muteString: string): string {
@@ -551,7 +551,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_details_permis
/**
* @return true if |this| should be hidden.
*/
@@ -415,6 +457,8 @@ export class SiteDetailsPermissionElement extends
@@ -426,6 +468,8 @@ export class SiteDetailsPermissionElement extends
private showAskSetting_(
category: ContentSettingsTypes, setting: ContentSetting,
source: SiteSettingSource): boolean {
@@ -569,8 +569,8 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_settings_mixin
import type {ContentSettingsTypes} from './constants.js';
-import {SiteSettingSource} from './constants.js';
+import {SiteSettingSource, ContentSetting} from './constants.js';
import type {RawSiteException,SiteException,SiteSettingsPrefsBrowserProxy} from './site_settings_prefs_browser_proxy.js';
import {SiteSettingsPrefsBrowserProxyImpl} from './site_settings_prefs_browser_proxy.js';
import type {RawSiteException,SiteException,SiteSettingsBrowserProxy} from './site_settings_browser_proxy.js';
import {SiteSettingsBrowserProxyImpl} from './site_settings_browser_proxy.js';
+import {loadTimeData} from '../i18n_setup.js';
// clang-format on
@@ -599,13 +599,71 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_settings_mixin
* @param originOrPattern The origin/pattern to convert to URL.
@@ -166,6 +182,8 @@ export const SiteSettingsMixin = dedupingMixin(
export interface SiteSettingsMixinInterface {
browserProxy: SiteSettingsPrefsBrowserProxy;
browserProxy: SiteSettingsBrowserProxy;
category: ContentSettingsTypes;
+ computeIsSettingAsk(setting: string): boolean;
+ getSettingData(category: ContentSettingsTypes): any;
originRepresentation(origin: string): string;
toUrl(originOrPattern: string): URL|null;
expandSiteException(exception: RawSiteException): SiteException;
diff --git a/chrome/browser/resources/settings/site_settings/site_settings_page.ts b/chrome/browser/resources/settings/site_settings/site_settings_page.ts
--- a/chrome/browser/resources/settings/site_settings/site_settings_page.ts
+++ b/chrome/browser/resources/settings/site_settings/site_settings_page.ts
@@ -51,7 +51,7 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
}
// The following list is ordered alphabetically by |id|. The order in which
// these appear in the UI is determined elsewhere in this file.
- const categoryList: CategoryListItem[] = [
+ let categoryList: CategoryListItem[] = [
{
route: routes.SITE_SETTINGS_ADS,
id: Id.ADS,
@@ -452,10 +452,36 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
icon: 'privacy:cookie',
},
];
+ for (let index=0; index < loadTimeData.getInteger("br_cs_count"); index++) {
+ let obj = JSON.parse(loadTimeData.getString("br_cs_" + index));
+ let name = obj["name"];
+
+ if (!categoryList.find(x => x.id == name)) {
+ categoryList.push({
+ route: (routes as any)[`SITE_SETTINGS_${name.toUpperCase()}`],
+ id: name,
+ label: `brSiteSettings${name}`,
+ icon: `br-settings:${name}`,
+ enabledLabel: `brSiteSettings${name}Allowed`,
+ disabledLabel: `brSiteSettings${name}Blocked`,
+ });
+ }
+ }
categoryItemMap = new Map(categoryList.map(item => [item.id, item]));
return categoryItemMap;
}
+function buildBromiteItemListFromIds(orderedIdList: ContentSettingsTypes[]):
+ CategoryListItem[] {
+ for (let index=0; index < loadTimeData.getInteger("br_cs_count"); index++) {
+ let obj = JSON.parse(loadTimeData.getString("br_cs_" + index));
+ let name = obj["name"];
+ if (orderedIdList.find(x => x == name) == null)
+ orderedIdList.push(name);
+ }
+ return buildItemListFromIds(orderedIdList);
+}
+
function buildItemListFromIds(orderedIdList: ContentSettingsTypes[]):
CategoryListItem[] {
const map = getCategoryItemMap();
@@ -540,7 +566,7 @@ export class SettingsSiteSettingsPageElement extends
Id.WEB_APP_INSTALLATION,
Id.LOCAL_NETWORK_ACCESS,
]),
- contentBasic: buildItemListFromIds([
+ contentBasic: buildBromiteItemListFromIds([
Id.COOKIES,
Id.JAVASCRIPT,
Id.IMAGES,
diff --git a/chrome/browser/resources/settings/site_settings/site_settings_util.ts b/chrome/browser/resources/settings/site_settings/site_settings_util.ts
--- a/chrome/browser/resources/settings/site_settings/site_settings_util.ts
+++ b/chrome/browser/resources/settings/site_settings/site_settings_util.ts
@@ -624,7 +682,7 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_settings_util.
+}
+
+export function setupContentSettingsRoutes(r: Partial<SettingsRoutes>) {
+ let iconset = document.createElement("iron-iconset-svg");
+ let iconset = document.createElement("cr-iconset");
+ iconset.setAttribute("name", "br-settings");
+ iconset.setAttribute("size", "24");
+
@@ -678,76 +736,18 @@ diff --git a/chrome/browser/resources/settings/site_settings/site_settings_util.
assertNotReached();
}
}
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
@@ -51,7 +51,7 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
}
// The following list is ordered alphabetically by |id|. The order in which
// these appear in the UI is determined elsewhere in this file.
- const categoryList: CategoryListItem[] = [
+ let categoryList: CategoryListItem[] = [
{
route: routes.SITE_SETTINGS_ADS,
id: Id.ADS,
@@ -452,10 +452,36 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
icon: 'privacy:cookie',
},
];
+ for (let index=0; index < loadTimeData.getInteger("br_cs_count"); index++) {
+ let obj = JSON.parse(loadTimeData.getString("br_cs_" + index));
+ let name = obj["name"];
+
+ if (!categoryList.find(x=> x.id == name)) {
+ categoryList.push({
+ route: (routes as any)[`SITE_SETTINGS_${name.toUpperCase()}`],
+ id: name,
+ label: `brSiteSettings${name}`,
+ icon: `br-settings:${name}`,
+ enabledLabel: `brSiteSettings${name}Allowed`,
+ disabledLabel: `brSiteSettings${name}Blocked`,
+ });
+ }
+ }
+
categoryItemMap = new Map(categoryList.map(item => [item.id, item]));
return categoryItemMap;
}
+function buildBromiteItemListFromIds(orderedIdList: ContentSettingsTypes[]):
+ CategoryListItem[] {
+ for (let index=0; index < loadTimeData.getInteger("br_cs_count"); index++) {
+ let obj = JSON.parse(loadTimeData.getString("br_cs_" + index));
+ let name = obj["name"];
+ orderedIdList.push(name);
+ }
+ return buildItemListFromIds(orderedIdList);
+}
+
function buildItemListFromIds(orderedIdList: ContentSettingsTypes[]):
CategoryListItem[] {
const map = getCategoryItemMap();
@@ -546,7 +572,7 @@ export class SettingsSiteSettingsPageElement extends
Id.IMAGES,
Id.POPUPS,
]),
- contentAdvanced: buildItemListFromIds([
+ contentAdvanced: buildBromiteItemListFromIds([
Id.SOUND,
Id.ADS,
Id.ZOOM_LEVELS,
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
@@ -1581,6 +1581,7 @@ static_library("ui") {
"//components/commerce/core/mojom:mojo_bindings",
@@ -1606,6 +1606,7 @@ static_library("ui") {
"//components/commerce/core/webui",
"//components/contextual_search:public",
"//components/endpoint_fetcher",
+ "//components/content_settings/core/browser:browser",
"//components/enterprise/common:files_scan_data",
"//components/feedback/proto",
"//components/headless/console_message_logger",
@@ -4719,6 +4720,7 @@ static_library("ui") {
@@ -4761,6 +4762,7 @@ static_library("ui") {
"//components/power_bookmarks/core",
"//components/power_bookmarks/storage",
"//components/prefs",
@@ -1226,7 +1226,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"
@@ -75,6 +76,9 @@
@@ -74,6 +75,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"
@@ -1236,7 +1236,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"
@@ -3885,6 +3889,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
@@ -4048,6 +4052,56 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
policy_indicator::AddLocalizedStrings(html_source);
AddSecurityKeysStrings(html_source);
@@ -1305,7 +1305,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
#include "components/content_settings/core/common/content_settings.h"
#include "components/content_settings/core/common/content_settings_pattern.h"
#include "components/content_settings/core/common/content_settings_types.h"
@@ -263,13 +265,13 @@ constexpr auto kContentSettingsTypeGroupNames = std::to_array<
@@ -261,13 +263,13 @@ constexpr auto kContentSettingsTypeGroupNames = std::to_array<
{ContentSettingsType::SUSPICIOUS_NOTIFICATION_SHOW_ORIGINAL, nullptr},
});
@@ -1326,7 +1326,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
struct SiteSettingSourceStringMapping {
SiteSettingSource source;
@@ -531,6 +533,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) {
@@ -529,6 +531,13 @@ bool HasRegisteredGroupName(ContentSettingsType type) {
return true;
}
}
@@ -1340,7 +1340,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
return false;
}
@@ -544,11 +553,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) {
@@ -542,11 +551,24 @@ ContentSettingsType ContentSettingsTypeFromGroupName(std::string_view name) {
return entry.type;
}
}
@@ -1366,7 +1366,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
for (const auto& entry : kContentSettingsTypeGroupNames) {
if (type == entry.type) {
// Content setting types that aren't represented in the settings UI
@@ -563,7 +585,6 @@ std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) {
@@ -561,7 +583,6 @@ std::string_view ContentSettingsTypeToGroupName(ContentSettingsType type) {
return entry.name ? entry.name : std::string_view();
}
}
@@ -1374,7 +1374,7 @@ diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/b
NOTREACHED() << static_cast<int32_t>(type)
<< " is not a recognized content settings type.";
}
@@ -670,6 +691,13 @@ std::vector<ContentSettingsType> GetVisiblePermissionCategories(
@@ -668,6 +689,13 @@ std::vector<ContentSettingsType> GetVisiblePermissionCategories(
base_types->push_back(ContentSettingsType::LOCAL_NETWORK_ACCESS);
}
@@ -1391,7 +1391,7 @@ 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
@@ -94,6 +94,7 @@ android_resources("java_resources") {
@@ -90,6 +90,7 @@ android_resources("java_resources") {
"java/res/layout/managed_disclaimer_preference_for_radio_groups.xml",
"java/res/layout/preference_chrome_image_view.xml",
"java/res/layout/preference_spinner.xml",
@@ -1499,21 +1499,22 @@ new file mode 100644
diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/SpinnerPreference.java b/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/SpinnerPreference.java
--- a/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/SpinnerPreference.java
+++ b/components/browser_ui/settings/android/widget/java/src/org/chromium/components/browser_ui/settings/SpinnerPreference.java
@@ -29,6 +29,7 @@ public class SpinnerPreference extends Preference implements Preference.OnPrefer
private @Nullable ArrayAdapter<Object> mAdapter;
@@ -34,6 +34,7 @@ public class SpinnerPreference extends Preference
private int mSelectedIndex;
private final boolean mSingleLine;
private final int mBackgroundStyle;
+ private boolean mIsWidget = false;
/** Constructor for inflating from XML. */
public SpinnerPreference(Context context, AttributeSet attrs) {
@@ -44,6 +45,19 @@ public class SpinnerPreference extends Preference implements Preference.OnPrefer
@@ -54,6 +55,20 @@ public class SpinnerPreference extends Preference
setOnPreferenceClickListener(this);
}
+ public SpinnerPreference(Context context, boolean singleLine) {
+ super(context, null);
+ mSingleLine = singleLine;
+ mBackgroundStyle = ContainmentItem.BackgroundStyle.STANDARD;
+ mIsWidget = true;
+ setLayoutResource(R.layout.preference_spinner_single_widget);
+ }
@@ -1527,7 +1528,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
/**
* Provides a list of arbitrary objects to be shown in the spinner. Visually, each option will
* be presented as its toString() text. Alternative to {@link #setAdapter(ArrayAdapter, int)}.
@@ -63,6 +77,12 @@ public class SpinnerPreference extends Preference implements Preference.OnPrefer
@@ -73,6 +88,12 @@ public class SpinnerPreference extends Preference
mSelectedIndex = selectedIndex;
}
@@ -1540,7 +1541,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
/** Returns the Spinner instance for introspection during tests. */
public @Nullable Spinner getSpinnerForTesting() {
return mSpinner;
@@ -95,6 +115,10 @@ public class SpinnerPreference extends Preference implements Preference.OnPrefer
@@ -105,6 +126,10 @@ public class SpinnerPreference extends Preference
public void onBindViewHolder(PreferenceViewHolder holder) {
super.onBindViewHolder(holder);
@@ -1589,9 +1590,9 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
--- a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
+++ b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
@@ -197,4 +197,11 @@ The order of the following items is from: http://crbug.com/610358.
android:title="@string/safety_hub_autorevocation_toggle_title"
android:summary="@string/safety_hub_autorevocation_toggle_summary" />
@@ -198,4 +198,11 @@ The order of the following items is from: http://crbug.com/610358.
android:summary="@string/safety_hub_autorevocation_toggle_summary"
app:backgroundStyle="card"/>
+ <Preference
+ android:key="divider_cromite"
@@ -2283,24 +2284,17 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
assert false; // NOTREACHED
return assumeNonNull(null);
}
@@ -824,6 +847,16 @@ public class ContentSettingsResources {
return getCategorySummary(value, isOneTime, /* isApproximateGeolocation= */ false);
}
+ public static int getCategorySummary(int contentType,
+ @Nullable @ContentSetting int value,
+ boolean isOneTime,
+ boolean isApproximateGeolocation) {
+ int result = BromiteCustomContentSettingImpl.getCategorySummary(contentType,
@@ -842,6 +865,9 @@ public class ContentSettingsResources {
@ContentSetting int value,
boolean isOneTime,
boolean isApproximateGeolocation) {
+ int result = BromiteCustomContentSettingImpl.getCategorySummary(type,
+ value, isOneTime, isApproximateGeolocation);
+ if (result != 0) return result;
+ return getCategorySummary(value, isOneTime);
+ }
+
/**
* Returns the string resource id for a given ContentSetting to show with a permission category.
*
@@ -1002,6 +1035,8 @@ public class ContentSettingsResources {
return getCategorySummary(
type,
value,
@@ -1049,6 +1075,8 @@ public class ContentSettingsResources {
*/
public static int @Nullable [] getTriStateSettingDescriptionIDs(
int contentType, boolean isPermissionSiteSettingsRadioButtonFeatureEnabled) {
@@ -2312,7 +2306,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleCategorySettings.java
@@ -355,6 +355,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -360,6 +360,10 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
} else {
@ContentSetting
Integer contentSetting = website.site().getContentSetting(browserContextHandle, type);
@@ -2323,7 +2317,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (contentSetting != null) {
return ContentSetting.BLOCK == contentSetting;
}
@@ -546,6 +550,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -551,6 +555,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
? new HashSet<>(getArguments().getStringArrayList(EXTRA_SELECTED_DOMAINS))
: null;
@@ -2331,7 +2325,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");
@@ -581,7 +586,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -586,7 +591,8 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
if (queryHasChanged) getInfoForOrigins();
});
@@ -2341,7 +2335,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
MenuItem help =
menu.add(
Menu.NONE,
@@ -593,12 +599,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -598,12 +604,20 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
getResources(),
R.drawable.ic_help_and_feedback,
getContext().getTheme()));
@@ -2362,7 +2356,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());
@@ -673,6 +687,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -681,6 +695,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
public boolean onPreferenceChange(Preference preference, Object newValue) {
BrowserContextHandle browserContextHandle = getBrowserContextHandle();
PrefService prefService = UserPrefs.get(browserContextHandle);
@@ -2374,7 +2368,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();
@@ -847,7 +866,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -855,7 +874,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;
}
@@ -2383,7 +2377,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
// OnPreferenceClickListener:
@@ -965,17 +984,15 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -973,17 +992,15 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
break;
}
@@ -2404,7 +2398,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
String exceptionDialogMessage =
exceptionDialogMessageResourceId != 0
? getString(exceptionDialogMessageResourceId)
@@ -986,7 +1003,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -994,7 +1011,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
getStyledContext(),
ADD_EXCEPTION_KEY,
exceptionDialogMessage,
@@ -2413,7 +2407,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
mCategory,
this));
@@ -1170,8 +1187,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1178,8 +1195,16 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
private boolean isBlocked() {
switch (mGlobalToggleLayout) {
case GlobalToggleLayout.TRI_STATE_TOGGLE:
@@ -2430,7 +2424,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
return (triStateToggle.getCheckedSetting() == ContentSetting.BLOCK);
case GlobalToggleLayout.TRI_STATE_COOKIE_TOGGLE:
TriStateCookieSettingsPreference triStateCookieToggle =
@@ -1324,7 +1349,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1332,7 +1357,11 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
} else if (res_id != -1) {
infoText.setSummary(res_id);
} else {
@@ -2443,7 +2437,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
// Hide the anti-abuse text preferences, as needed.
@@ -1363,6 +1392,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1371,6 +1400,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
} else {
screen.removePreference(mLocationTriStatePref);
}
@@ -2451,7 +2445,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
maybeShowReasonToggleDisabled(screen);
@@ -1571,6 +1601,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1579,6 +1609,7 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
iconIds = ContentSettingsResources.getTriStateSettingIconIDs(contentType);
}
triStateToggle.initialize(
@@ -2459,7 +2453,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
setting,
descriptionIds,
iconIds,
@@ -1859,6 +1890,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
@@ -1867,6 +1898,14 @@ public class SingleCategorySettings extends BaseSiteSettingsFragment
selectedButton.setChecked(true);
}
@@ -2494,7 +2488,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
}
@@ -623,7 +624,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -631,7 +632,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
private void setupContentSettingsPreferences() {
Preference permissionsHeaderPref = findPreference(PREF_PERMISSIONS_HEADER);
mMaxPermissionOrder = permissionsHeaderPref.getOrder();
@@ -2504,7 +2498,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
Preference preference = getPermissionPreference(type);
preference.setKey(getPreferenceKey(type));
@@ -655,6 +657,19 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -663,6 +665,19 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
}
private Preference getPermissionPreference(@ContentSettingsType.EnumType int type) {
@@ -2524,7 +2518,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
boolean isOneTime = isOneTime(type);
if (type == ContentSettingsType.GEOLOCATION_WITH_OPTIONS && !isOneTime) {
return createTwoActionLocationSwitchPreference();
@@ -1254,7 +1269,16 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -1258,7 +1273,16 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@ContentSetting @Nullable Integer value,
boolean isEmbargoed,
boolean isOneTime) {
@@ -2542,16 +2536,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
setUpPreferenceCommon(preference, value);
preference.setOnPreferenceChangeListener(this);
@ContentSettingsType.EnumType
@@ -1266,7 +1290,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
isEmbargoed
? getString(R.string.automatically_blocked)
: getString(
- ContentSettingsResources.getCategorySummary(
+ ContentSettingsResources.getCategorySummary(content_type,
value, isOneTime, isApproximateGeolocation)));
if (preference instanceof ChromeImageViewPreference) {
ChromeImageViewPreference oneTimePreference = (ChromeImageViewPreference) preference;
@@ -1292,10 +1316,14 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -1310,10 +1334,14 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
oneTimePreference.setBackgroundColor(mHighlightColor);
}
} else {
@@ -2570,7 +2555,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
AppCompatResources.getColorStateList(getContext(), mHighlightColor)
.getDefaultColor());
}
@@ -1587,7 +1615,13 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@@ -1619,7 +1647,13 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
if (newValue instanceof Boolean) {
permission = (Boolean) newValue ? getEnabledValue(type) : ContentSetting.BLOCK;
} else {
@@ -2585,15 +2570,6 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
if (type == ContentSettingsType.GEOLOCATION_WITH_OPTIONS) {
@@ -1608,7 +1642,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
// info.
preference.setSummary(
getString(
- ContentSettingsResources.getCategorySummary(
+ ContentSettingsResources.getCategorySummary(type,
permission,
false,
type == ContentSettingsType.GEOLOCATION_WITH_OPTIONS
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SiteSettings.java
@@ -2605,7 +2581,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
configurePreferences();
updatePreferenceStates();
}
@@ -85,7 +86,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
@@ -91,7 +92,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
// Remove unsupported settings categories.
for (@SiteSettingsCategory.Type int type = 0;
@@ -2614,7 +2590,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
type++) {
if (!getSiteSettingsDelegate().isCategoryVisible(type)) {
Preference pref = findPreference(type);
@@ -102,7 +103,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
@@ -108,7 +109,7 @@ public class SiteSettings extends BaseSiteSettingsFragment
@CookieControlsMode
int cookieControlsMode =
UserPrefs.get(browserContextHandle).getInteger(COOKIE_CONTROLS_MODE);
@@ -2623,7 +2599,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
Preference p = findPreference(prefCategory);
int contentType = SiteSettingsCategory.contentSettingsType(prefCategory);
// p can be null if the Preference was removed in configurePreferences.
@@ -176,20 +177,22 @@ public class SiteSettings extends BaseSiteSettingsFragment
@@ -182,20 +183,22 @@ public class SiteSettings extends BaseSiteSettingsFragment
} else if (Type.ZOOM == prefCategory) {
// Don't want to set a summary for Zoom because we don't want any message to display
// under the Zoom row on site settings.
@@ -2680,7 +2656,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
private final BrowserContextHandle mBrowserContextHandle;
@@ -179,6 +179,9 @@ public class SiteSettingsCategory {
@@ -187,6 +187,9 @@ public class SiteSettingsCategory {
} else {
permission = "";
}
@@ -2690,7 +2666,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
return new SiteSettingsCategory(browserContextHandle, type, permission);
}
@@ -187,7 +190,7 @@ public class SiteSettingsCategory {
@@ -195,7 +198,7 @@ public class SiteSettingsCategory {
@ContentSettingsType.EnumType int contentSettingsType) {
assert contentSettingsType != -1;
assert Type.ALL_SITES == 0;
@@ -2699,7 +2675,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (contentSettingsType(i) == contentSettingsType) {
return createFromType(browserContextHandle, i);
}
@@ -198,7 +201,7 @@ public class SiteSettingsCategory {
@@ -206,7 +209,7 @@ public class SiteSettingsCategory {
public static @Nullable SiteSettingsCategory createFromPreferenceKey(
BrowserContextHandle browserContextHandle, String preferenceKey) {
assert Type.ALL_SITES == 0;
@@ -2708,7 +2684,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (preferenceKey(i).equals(preferenceKey)) {
return createFromType(browserContextHandle, i);
}
@@ -283,8 +286,7 @@ public class SiteSettingsCategory {
@@ -291,8 +294,7 @@ public class SiteSettingsCategory {
case Type.TRACKING_PROTECTION:
return ContentSettingsType.DEFAULT; // Conversion unavailable.
}
@@ -2718,7 +2694,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
/**
@@ -385,8 +387,12 @@ public class SiteSettingsCategory {
@@ -393,8 +395,12 @@ public class SiteSettingsCategory {
case Type.ZOOM:
return "zoom";
default:
@@ -2734,7 +2710,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
@@ -203,6 +203,8 @@ public interface SiteSettingsDelegate {
@@ -198,6 +198,8 @@ public interface SiteSettingsDelegate {
*/
String getRelatedWebsiteSetOwner(String memberOrigin);
@@ -2917,7 +2893,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
@@ -83,6 +83,13 @@ static_library("browser") {
@@ -81,6 +81,13 @@ static_library("browser") {
}
configs += [ "//build/config/compiler:wexit_time_destructors" ]
@@ -2948,7 +2924,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
namespace content_settings {
@@ -879,6 +880,7 @@ void ContentSettingsRegistry::Init() {
@@ -858,6 +859,7 @@ void ContentSettingsRegistry::Init() {
WebsiteSettingsRegistry::PLATFORM_CHROMEOS,
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
@@ -3086,7 +3062,7 @@ diff --git a/components/content_settings/core/browser/website_settings_registry.
diff --git a/components/content_settings/core/common/BUILD.gn b/components/content_settings/core/common/BUILD.gn
--- a/components/content_settings/core/common/BUILD.gn
+++ b/components/content_settings/core/common/BUILD.gn
@@ -57,6 +57,13 @@ static_library("common") {
@@ -54,6 +54,13 @@ static_library("common") {
"//net",
"//url",
]
@@ -3100,7 +3076,7 @@ diff --git a/components/content_settings/core/common/BUILD.gn b/components/conte
}
source_set("unit_tests") {
@@ -90,6 +97,7 @@ mojom("content_settings_types") {
@@ -86,6 +93,7 @@ mojom("content_settings_types") {
sources = [ "content_settings_types.mojom" ]
public_deps = [ "//mojo/public/mojom/base" ]
@@ -3182,7 +3158,7 @@ diff --git a/components/content_settings/core/common/content_settings.cc b/compo
diff --git a/components/content_settings/core/common/content_settings.h b/components/content_settings/core/common/content_settings.h
--- a/components/content_settings/core/common/content_settings.h
+++ b/components/content_settings/core/common/content_settings.h
@@ -98,10 +98,22 @@ std::ostream& operator<<(std::ostream& os,
@@ -97,10 +97,22 @@ std::ostream& operator<<(std::ostream& os,
typedef std::vector<ContentSettingPatternSource> ContentSettingsForOneType;
@@ -3295,7 +3271,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
diff --git a/components/content_settings/core/common/content_settings_types.mojom b/components/content_settings/core/common/content_settings_types.mojom
--- a/components/content_settings/core/common/content_settings_types.mojom
+++ b/components/content_settings/core/common/content_settings_types.mojom
@@ -508,5 +508,7 @@ enum ContentSettingsType {
@@ -495,5 +495,7 @@ enum ContentSettingsType {
// when suspicious warning is shown. If the user has selected this, the
// notification permission will not be revoked based on suspicious verdict.
SUSPICIOUS_NOTIFICATION_SHOW_ORIGINAL,
@@ -3443,7 +3419,7 @@ 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/features.h"
@@ -197,6 +198,15 @@ void PageInfoControllerAndroid::SetPermissionInfo(
@@ -205,6 +206,15 @@ void PageInfoControllerAndroid::SetPermissionInfo(
permissions_to_display.push_back(ContentSettingsType::LOCAL_NETWORK_ACCESS);
}
@@ -3459,7 +3435,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;
std::map<ContentSettingsType, bool>
@@ -259,6 +269,14 @@ std::optional<PermissionSetting> PageInfoControllerAndroid::GetSettingToDisplay(
@@ -267,6 +277,14 @@ std::optional<PermissionSetting> PageInfoControllerAndroid::GetSettingToDisplay(
return permission.setting;
}
@@ -3485,7 +3461,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"
@@ -1377,6 +1378,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
@@ -1405,6 +1406,14 @@ void PageInfo::PopulatePermissionInfo(PermissionInfo& permission_info,
// via `HasContentSettingChangedViaPageInfo(type)`.
bool PageInfo::ShouldShowPermission(
const PageInfo::PermissionInfo& info) const {
@@ -3500,7 +3476,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) {
@@ -1504,7 +1513,19 @@ void PageInfo::PresentSitePermissions() {
@@ -1532,7 +1541,19 @@ void PageInfo::PresentSitePermissions() {
HostContentSettingsMap* content_settings = GetContentSettings();
DCHECK(web_contents_);
@@ -3572,7 +3548,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);
@@ -947,6 +967,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
@@ -952,6 +972,11 @@ bool PageInfoUI::ContentSettingsTypeInPageInfo(ContentSettingsType type) {
if (info.type == type)
return true;
}
@@ -3661,7 +3637,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
#include "third_party/blink/renderer/bindings/core/v8/sanitize_script_errors.h"
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/execution_context/security_context.h"
@@ -102,6 +103,10 @@ class SecurityOrigin;
@@ -101,6 +102,10 @@ class SecurityOrigin;
class ScriptState;
class ScriptWrappable;
class TrustedTypePolicyFactory;
@@ -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
@@ -652,7 +652,7 @@ chrome_java_resources = [
@@ -664,7 +664,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",
+24 -37
View File
@@ -38,7 +38,6 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../theme/chromium/win/tiles/SmallLogo.png | Bin 9784 -> 12363 bytes
.../chromium/product_logo_32.png | Bin 822 -> 2301 bytes
chrome/browser/BUILD.gn | 1 +
.../browser/flags/ChromeFeatureList.java | 2 +-
.../browser/hub/HubToolbarMediator.java | 2 +-
.../android/res/layout/hub_toolbar_layout.xml | 82 ++++++++-------
.../chrome/browser/omaha/UpdateConfigs.java | 2 +-
@@ -68,7 +67,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
content/child/runtime_features.cc | 44 ++++-----
.../Cromite-Branding.inc | 2 +
tools/grit/grit/grd_reader.py | 35 +++++++
64 files changed, 261 insertions(+), 173 deletions(-)
63 files changed, 260 insertions(+), 172 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
@@ -92,7 +91,7 @@ diff --git a/build/BUILD.gn b/build/BUILD.gn
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
--- a/build/config/BUILDCONFIG.gn
+++ b/build/config/BUILDCONFIG.gn
@@ -187,6 +187,10 @@ declare_args() {
@@ -186,6 +186,10 @@ declare_args() {
clang_warning_suppression_file = ""
}
@@ -106,7 +105,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
@@ -189,7 +189,7 @@ by a child template that "extends" this file.
@@ -200,7 +200,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 +9146,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
@@ -459,8 +459,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
@@ -466,8 +466,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
&& !isEmptyUrl(mParams.getUrl())
&& UrlUtilities.isAcceptedScheme(mParams.getUrl())) {
if (mMode == ContextMenuMode.NORMAL) {
@@ -9215,7 +9214,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
@@ -875,7 +875,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -873,7 +873,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
}
return mBackButtonShouldCloseTabFn.apply(tab)
? ActionType.CLOSE_TAB
@@ -13202,7 +13201,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
@@ -1872,6 +1872,7 @@ static_library("browser") {
@@ -1840,6 +1840,7 @@ static_library("browser") {
"//build/config/chromebox_for_meetings:buildflags",
"//build/config/compiler:compiler_buildflags",
"//build/config/linux/dbus:buildflags",
@@ -13210,22 +13209,10 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"//cc",
"//chrome:extra_resources",
"//chrome:resources",
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
@@ -968,7 +968,7 @@ public abstract class ChromeFeatureList {
/* defaultValue= */ false,
/* defaultValueInTests= */ false);
public static final CachedFlag sGridTabSwitcherUpdate =
- newCachedFlag(GRID_TAB_SWITCHER_UPDATE, false, /* defaultValueInTests= */ true);
+ newCachedFlag(GRID_TAB_SWITCHER_UPDATE, true, /* defaultValueInTests= */ true);
public static final CachedFlag sHistoryPaneAndroid =
newCachedFlag(
HISTORY_PANE_ANDROID,
diff --git a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarMediator.java b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarMediator.java
--- a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarMediator.java
+++ b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarMediator.java
@@ -82,7 +82,7 @@ public class HubToolbarMediator {
@@ -84,7 +84,7 @@ public class HubToolbarMediator {
@Override
public void onConfigurationChanged(Configuration configuration) {
int screenWidthDp = configuration.screenWidthDp;
@@ -13427,15 +13414,15 @@ diff --git a/chrome/browser/resources/settings/settings_menu/settings_menu.html
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsContainer.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsContainer.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsContainer.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsContainer.java
@@ -34,6 +34,7 @@ import org.chromium.components.omnibox.OmniboxFeatures;
import org.chromium.ui.KeyboardVisibilityDelegate;
import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.base.ViewUtils;
+import org.chromium.ui.KeyboardUtils;
import java.util.Optional;
@@ -104,8 +105,11 @@ public class OmniboxSuggestionsContainer extends FrameLayout {
@@ -24,6 +24,7 @@ import org.chromium.base.TraceEvent;
import org.chromium.base.metrics.TimingMetric;
import org.chromium.base.task.PostTask;
import org.chromium.base.task.TaskTraits;
+import org.chromium.base.ui.KeyboardUtils;
import org.chromium.build.annotations.NullMarked;
import org.chromium.chrome.browser.omnibox.OmniboxMetrics;
import org.chromium.chrome.browser.omnibox.R;
@@ -111,8 +112,11 @@ public class OmniboxSuggestionsContainer extends FrameLayout {
// Omnibox.
// Making the container `clickable=true` achieves similar goal, but this consumes all
// activators, including keyboard <Enter> key.
@@ -13452,7 +13439,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
@@ -2344,7 +2344,7 @@ Your Google account may have other forms of browsing history like searches and a
@@ -2371,7 +2371,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">
@@ -13461,7 +13448,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
@@ -5536,7 +5536,7 @@ To change this setting, <ph name="BEGIN_LINK">BEGIN_LINK</ph>delete the Chrome d
@@ -5758,7 +5758,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.">
@@ -13517,7 +13504,7 @@ diff --git a/chrome/install_static/chromium_install_modes.cc b/chrome/install_st
diff --git a/components/browser_ui/strings/android/browser_ui_strings.grd b/components/browser_ui/strings/android/browser_ui_strings.grd
--- a/components/browser_ui/strings/android/browser_ui_strings.grd
+++ b/components/browser_ui/strings/android/browser_ui_strings.grd
@@ -1014,7 +1014,7 @@
@@ -1020,7 +1020,7 @@
<!-- Accessibility preferences -->
<message name="IDS_PREFS_ACCESSIBILITY" desc="Title of Accessibility settings, which allows the user to change webpage font sizes. [CHAR_LIMIT=32]">
@@ -18425,7 +18412,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
@@ -1136,6 +1136,7 @@ bool AutocompleteController::ShouldRunProvider(
@@ -1109,6 +1109,7 @@ bool AutocompleteController::ShouldRunProvider(
#if BUILDFLAG(IS_ANDROID)
if (omnibox::IsAndroidHub(input_.current_page_classification())) {
@@ -19174,7 +19161,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
@@ -571,19 +571,22 @@ void ResolveInvalidConfigurations() {
@@ -573,19 +573,22 @@ void ResolveInvalidConfigurations() {
base::FeatureList::IsEnabled(
features::kPrivacySandboxAdsAPIsM1Override)) &&
!base::FeatureList::IsEnabled(blink::features::kFencedFrames)) {
@@ -19201,7 +19188,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 << "="
@@ -591,12 +594,14 @@ void ResolveInvalidConfigurations() {
@@ -593,12 +596,14 @@ void ResolveInvalidConfigurations() {
WebRuntimeFeatures::EnableFeatureFromString(
"FencedFramesLocalUnpartitionedDataAccess", false);
}
@@ -19217,7 +19204,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.";
@@ -604,30 +609,23 @@ void ResolveInvalidConfigurations() {
@@ -606,30 +611,23 @@ void ResolveInvalidConfigurations() {
WebRuntimeFeatures::EnableTopicsDocumentAPI(false);
WebRuntimeFeatures::EnableTopicsImgAPI(false);
} else {
@@ -19254,7 +19241,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
<< "AttributionReporting cannot be enabled in this "
"configuration. Use --"
<< switches::kEnableFeatures << "="
@@ -635,23 +633,25 @@ void ResolveInvalidConfigurations() {
@@ -637,23 +635,25 @@ void ResolveInvalidConfigurations() {
<< " in addition.";
WebRuntimeFeatures::EnableAttributionReporting(false);
}
+335 -219
View File
@@ -7,19 +7,63 @@ Opens tabs in foreground, Move web search to the top of items,
Web search in tab group and Enable smart text selection
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 ++
.../tab/TabContextMenuItemDelegate.java | 7 +-
.../chrome/browser/ui/RootUiCoordinator.java | 8 +-
.../Customize-selection-popup.grdp | 34 +++++
.../res/xml/accessibility_preferences.xml | 24 ++++
.../selection/SelectActionMenuHelper.java | 129 ++++++++++++------
.../selection/SmartSelectionClient.java | 4 +
10 files changed, 192 insertions(+), 51 deletions(-)
.../SamsungSelectionActionMenuDelegate.java | 7 +-
.../browser/ChromeActionModeHandler.java | 4 +-
.../chrome/browser/ChromeTabbedActivity.java | 15 +++-
...ActivityTabWebContentsDelegateAndroid.java | 10 ++-
.../compositor/layouts/LayoutManagerImpl.java | 8 ++
.../tab/TabContextMenuItemDelegate.java | 7 +-
.../chrome/browser/ui/RootUiCoordinator.java | 8 +-
.../Customize-selection-popup.grdp | 34 +++++++++
.../AutofillSelectionMenuItemHelper.java | 4 +-
.../res/xml/accessibility_preferences.xml | 24 ++++++
.../selection/SelectActionMenuHelper.java | 20 ++---
.../SelectionPopupControllerImpl.java | 2 +-
.../selection/SmartSelectionClient.java | 4 +
.../browser/PendingSelectionMenu.java | 8 +-
.../browser/SelectionMenuItem.java | 73 ++++++++++++-------
.../SelectionActionMenuDelegate.java | 32 +++++---
16 files changed, 194 insertions(+), 66 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
--- a/android_webview/java/src/org/chromium/android_webview/selection/SamsungSelectionActionMenuDelegate.java
+++ b/android_webview/java/src/org/chromium/android_webview/selection/SamsungSelectionActionMenuDelegate.java
@@ -134,7 +134,7 @@ public class SamsungSelectionActionMenuDelegate extends AutofillSelectionActionM
.setIcon(null)
.setOrderAndCategory(
Menu.CATEGORY_SECONDARY,
- SelectionMenuItem.ItemGroupOffset.TEXT_PROCESSING_ITEMS)
+ SelectionMenuItem.ItemGroupOffset.TEXT_PROCESSING_ITEMS())
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM)
.setIntent(createManageAppsIntent())
.build());
@@ -167,7 +167,7 @@ public class SamsungSelectionActionMenuDelegate extends AutofillSelectionActionM
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM)
.setOrderAndCategory(
DefaultItem.PASTE, // Show after paste.
- SelectionMenuItem.ItemGroupOffset.DEFAULT_ITEMS)
+ SelectionMenuItem.ItemGroupOffset.DEFAULT_ITEMS())
.setIntent(
getTranslationActionIntent(selectedText, translateResolveInfo))
.build());
@@ -180,7 +180,7 @@ public class SamsungSelectionActionMenuDelegate extends AutofillSelectionActionM
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS)
.setOrderAndCategory(
Menu.FIRST, // Show as first item after primary assist item.
- SelectionMenuItem.ItemGroupOffset.ASSIST_ITEMS)
+ SelectionMenuItem.ItemGroupOffset.ASSIST_ITEMS())
.setIntent(
createWritingToolkitIntent(selectedText, isSelectionReadOnly))
.build());
@@ -239,6 +239,7 @@ public class SamsungSelectionActionMenuDelegate extends AutofillSelectionActionM
}
public static boolean shouldUseSamsungMenuItemOrdering() {
+ if ((true)) return false;
return Build.VERSION.SDK_INT <= MAXIMUM_BUILD_VERSION_CODE_SUPPORTED && isSamsungDevice();
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
@@ -37,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
@@ -915,10 +915,17 @@ public class ChromeTabbedActivity extends ChromeActivity {
@@ -903,10 +903,17 @@ public class ChromeTabbedActivity extends ChromeActivity {
@TabLaunchType int type,
@TabCreationState int creationState,
boolean markedForSelection) {
@@ -114,7 +158,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layo
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
@@ -390,8 +390,13 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
@@ -417,8 +417,13 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
public void onOpenImageInNewTab(GURL url, @Nullable Referrer referrer) {
LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec());
loadUrlParams.setReferrer(referrer);
@@ -132,7 +176,7 @@ 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
@@ -30,6 +30,7 @@ import androidx.core.view.WindowInsetsCompat;
@@ -33,6 +33,7 @@ import androidx.core.view.WindowInsetsCompat;
import org.chromium.base.Callback;
import org.chromium.base.CallbackController;
import org.chromium.base.DeviceInfo;
@@ -140,7 +184,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
import org.chromium.base.TraceEvent;
import org.chromium.base.lifetime.Destroyable;
import org.chromium.base.metrics.RecordUserAction;
@@ -910,11 +911,16 @@ public class RootUiCoordinator
@@ -979,11 +980,16 @@ public class RootUiCoordinator
TrackerFactory.getTrackerForProfile(tab.getProfile())
.notifyEvent(EventConstants.WEB_SEARCH_PERFORMED);
@@ -197,10 +241,31 @@ new file mode 100644
+ Smart Text selection automatically augments the selected boundaries and classifies the selected text based on the context by sending selection together with its surrounding text
+ </message>
+</grit-part>
diff --git a/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillSelectionMenuItemHelper.java b/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillSelectionMenuItemHelper.java
--- a/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillSelectionMenuItemHelper.java
+++ b/components/android_autofill/browser/java/src/org/chromium/components/autofill/AutofillSelectionMenuItemHelper.java
@@ -39,7 +39,7 @@ public class AutofillSelectionMenuItemHelper {
.setGroupId(R.id.select_action_menu_delegate_items)
.setOrderAndCategory(
Menu.FIRST,
- SelectionMenuItem.ItemGroupOffset.SECONDARY_ASSIST_ITEMS)
+ SelectionMenuItem.ItemGroupOffset.SECONDARY_ASSIST_ITEMS())
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS
| MenuItem.SHOW_AS_ACTION_WITH_TEXT)
@@ -52,7 +52,7 @@ public class AutofillSelectionMenuItemHelper {
.setGroupId(R.id.select_action_menu_delegate_items)
.setOrderAndCategory(
Menu.CATEGORY_SECONDARY, // Show at end of section.
- SelectionMenuItem.ItemGroupOffset.SECONDARY_ASSIST_ITEMS)
+ SelectionMenuItem.ItemGroupOffset.SECONDARY_ASSIST_ITEMS())
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_NEVER
| MenuItem.SHOW_AS_ACTION_WITH_TEXT)
diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
--- a/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
+++ b/components/browser_ui/accessibility/android/java/res/xml/accessibility_preferences.xml
@@ -74,4 +74,28 @@ found in the LICENSE file.
@@ -79,4 +79,28 @@ found in the LICENSE file.
android:key="disable_toolbar_swipeup"
android:title="@string/disable_toolbar_swipe_up" />
@@ -232,31 +297,178 @@ diff --git a/components/browser_ui/accessibility/android/java/res/xml/accessibil
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectActionMenuHelper.java
@@ -26,6 +26,7 @@ import androidx.core.content.ContextCompat;
import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
+import org.chromium.base.ContextUtils;
import org.chromium.base.PackageManagerUtils;
import org.chromium.base.StrictModeContext;
import org.chromium.build.annotations.NullMarked;
@@ -53,38 +54,84 @@ import java.util.TreeSet;
public class SelectActionMenuHelper {
private static final String TAG = "SelectActionMenu"; // 20 char limit.
@@ -169,7 +169,7 @@ public class SelectActionMenuHelper {
return new SelectionMenuItem.Builder(primaryAction.getTitle())
.setId(android.R.id.textAssist)
.setGroupId(R.id.select_action_menu_assist_items)
- .setOrderAndCategory(0, ItemGroupOffset.ASSIST_ITEMS)
+ .setOrderAndCategory(0, ItemGroupOffset.ASSIST_ITEMS())
.setIcon(getPrimaryActionIconForClassificationResult(classificationResult, context))
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM)
.build();
@@ -247,7 +247,7 @@ public class SelectActionMenuHelper {
.setGroupId(groupId)
.setIcon(icons == null ? null : icons.get(i))
.setOrderAndCategory(
- i - startIndex, ItemGroupOffset.SECONDARY_ASSIST_ITEMS)
+ i - startIndex, ItemGroupOffset.SECONDARY_ASSIST_ITEMS())
.setContentDescription(action.getContentDescription())
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM)
.build();
@@ -296,7 +296,7 @@ public class SelectActionMenuHelper {
.setId(Menu.NONE)
.setGroupId(R.id.select_action_menu_text_processing_items)
.setIcon(icon)
- .setOrderAndCategory(i, ItemGroupOffset.TEXT_PROCESSING_ITEMS)
+ .setOrderAndCategory(i, ItemGroupOffset.TEXT_PROCESSING_ITEMS())
.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM)
.setIntent(intent)
.build());
@@ -341,7 +341,7 @@ public class SelectActionMenuHelper {
.setGroupId(R.id.select_action_menu_default_items)
.setIconAttr(android.R.attr.actionModeCutDrawable)
.setAlphabeticShortcut(ItemKeyShortcuts.CUT)
- .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS)
+ .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS())
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(true)
@@ -355,7 +355,7 @@ public class SelectActionMenuHelper {
.setGroupId(R.id.select_action_menu_default_items)
.setIconAttr(android.R.attr.actionModeCopyDrawable)
.setAlphabeticShortcut(ItemKeyShortcuts.COPY)
- .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS)
+ .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS())
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(true)
@@ -369,7 +369,7 @@ public class SelectActionMenuHelper {
.setGroupId(R.id.select_action_menu_default_items)
.setIconAttr(android.R.attr.actionModePasteDrawable)
.setAlphabeticShortcut(ItemKeyShortcuts.PASTE)
- .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS)
+ .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS())
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(true)
@@ -385,7 +385,7 @@ public class SelectActionMenuHelper {
.setId(R.id.select_action_menu_share)
.setGroupId(R.id.select_action_menu_default_items)
.setIconAttr(android.R.attr.actionModeShareDrawable)
- .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS)
+ .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS())
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(true)
@@ -399,7 +399,7 @@ public class SelectActionMenuHelper {
.setGroupId(R.id.select_action_menu_default_items)
.setIconAttr(android.R.attr.actionModeSelectAllDrawable)
.setAlphabeticShortcut(ItemKeyShortcuts.SELECT_ALL)
- .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS)
+ .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS())
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(true)
@@ -412,7 +412,7 @@ public class SelectActionMenuHelper {
new SelectionMenuItem.Builder(android.R.string.paste_as_plain_text)
.setId(R.id.select_action_menu_paste_as_plain_text)
.setGroupId(R.id.select_action_menu_default_items)
- .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS)
+ .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS())
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(true);
@@ -432,7 +432,7 @@ public class SelectActionMenuHelper {
.setId(R.id.select_action_menu_web_search)
.setGroupId(R.id.select_action_menu_default_items)
.setIconAttr(android.R.attr.actionModeWebSearchDrawable)
- .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS)
+ .setOrderAndCategory(order, ItemGroupOffset.DEFAULT_ITEMS())
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(true)
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
@@ -1113,7 +1113,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.
- int index = 1 + order - SelectionMenuItem.ItemGroupOffset.SECONDARY_ASSIST_ITEMS;
+ int index = 1 + order - SelectionMenuItem.ItemGroupOffset.SECONDARY_ASSIST_ITEMS();
if (mClassificationResult == null
|| mClassificationResult.textClassification == null
|| mClassificationResult.textClassification.getActions().size() <= index) {
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;
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 {
return null;
}
+ if (!ContextUtils.getAppSharedPreferences().getBoolean(
+ "selection_popup_smart_text", false)) return null;
+
SmartSelectionClient client =
assumeNonNull(
webContents.getOrSetUserData(
diff --git a/content/public/android/java/src/org/chromium/content_public/browser/PendingSelectionMenu.java b/content/public/android/java/src/org/chromium/content_public/browser/PendingSelectionMenu.java
--- a/content/public/android/java/src/org/chromium/content_public/browser/PendingSelectionMenu.java
+++ b/content/public/android/java/src/org/chromium/content_public/browser/PendingSelectionMenu.java
@@ -165,13 +165,13 @@ public final class PendingSelectionMenu {
@VisibleForTesting
public @LogicalGroup int determineGroup(SelectionMenuItem item) {
int order = item.order;
- if (order >= ItemGroupOffset.TEXT_PROCESSING_ITEMS) {
+ if (order >= ItemGroupOffset.TEXT_PROCESSING_ITEMS()) {
return LogicalGroup.TEXT_PROCESSING_ITEMS;
- } else if (order >= ItemGroupOffset.SECONDARY_ASSIST_ITEMS) {
+ } else if (order >= ItemGroupOffset.SECONDARY_ASSIST_ITEMS()) {
return LogicalGroup.SECONDARY_ASSIST_ITEMS;
- } else if (order >= ItemGroupOffset.DEFAULT_ITEMS) {
+ } else if (order >= ItemGroupOffset.DEFAULT_ITEMS()) {
return LogicalGroup.DEFAULT_ITEMS;
- } else if (order >= ItemGroupOffset.ASSIST_ITEMS) {
+ } else if (order >= ItemGroupOffset.ASSIST_ITEMS()) {
return LogicalGroup.ASSIST_ITEMS;
}
throw new IllegalStateException("Invalid order. Must be >= 0");
diff --git a/content/public/android/java/src/org/chromium/content_public/browser/SelectionMenuItem.java b/content/public/android/java/src/org/chromium/content_public/browser/SelectionMenuItem.java
--- a/content/public/android/java/src/org/chromium/content_public/browser/SelectionMenuItem.java
+++ b/content/public/android/java/src/org/chromium/content_public/browser/SelectionMenuItem.java
@@ -18,6 +18,7 @@ import androidx.annotation.IntDef;
import androidx.annotation.StringRes;
import androidx.appcompat.content.res.AppCompatResources;
+import org.chromium.base.ContextUtils;
import org.chromium.build.annotations.NullMarked;
import org.chromium.build.annotations.Nullable;
@@ -34,18 +35,38 @@ public final class SelectionMenuItem implements Comparable<SelectionMenuItem> {
* less than SECONDARY_ASSIST_ITEMS will appear in the default items section. Each section is
* separated by a divider in dropdown menus.
*/
- @Retention(RetentionPolicy.SOURCE)
- @IntDef({
- GroupItemOrder.ASSIST_ITEMS,
- GroupItemOrder.DEFAULT_ITEMS,
- GroupItemOrder.SECONDARY_ASSIST_ITEMS,
- GroupItemOrder.TEXT_PROCESSING_ITEMS
- ItemGroupOffset.ASSIST_ITEMS,
- ItemGroupOffset.DEFAULT_ITEMS,
- ItemGroupOffset.SECONDARY_ASSIST_ITEMS,
- ItemGroupOffset.TEXT_PROCESSING_ITEMS
- })
- public @interface GroupItemOrder {
- int ASSIST_ITEMS = 1;
- int DEFAULT_ITEMS = 2;
- int SECONDARY_ASSIST_ITEMS = 3;
- int TEXT_PROCESSING_ITEMS = 4;
+ private static class GroupItemOrderChromium {
- public @interface ItemGroupOffset {
- int ASSIST_ITEMS = 0;
- int DEFAULT_ITEMS = 10;
- int SECONDARY_ASSIST_ITEMS = 20;
- int TEXT_PROCESSING_ITEMS = 30;
+ public static class ItemGroupOffset {
+ static int CHROMIUM_ASSIST_ITEMS = 1;
+ static int CHROMIUM_DEFAULT_ITEMS = 2;
+ static int CHROMIUM_SECONDARY_ASSIST_ITEMS = 3;
@@ -290,189 +502,93 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/select
+ }
}
- @Retention(RetentionPolicy.SOURCE)
- @IntDef({
- DefaultItemOrder.CUT,
- DefaultItemOrder.COPY,
- DefaultItemOrder.PASTE,
- DefaultItemOrder.PASTE_AS_PLAIN_TEXT,
- DefaultItemOrder.SHARE,
- DefaultItemOrder.SELECT_ALL,
- DefaultItemOrder.WEB_SEARCH
- })
- public @interface DefaultItemOrder {
- int CUT = 1;
- int COPY = 2;
- int PASTE = 3;
- int PASTE_AS_PLAIN_TEXT = 4;
- int SHARE = 5;
- int SELECT_ALL = 6;
- int WEB_SEARCH = 7;
+ private static class DefaultItemOrderChromium {
+ static int CHROMIUM_CUT = 1;
+ static int CHROMIUM_COPY = 2;
+ static int CHROMIUM_PASTE = 3;
+ static int CHROMIUM_SHARE = 4;
+ static int CHROMIUM_SELECT_ALL = 5;
+ static int CHROMIUM_PASTE_AS_PLAIN_TEXT = 6;
+ static int CHROMIUM_WEB_SEARCH = 7;
+
+ static int CROMITE_WEB_SEARCH = 1;
+ static int CROMITE_CUT = 2;
+ static int CROMITE_COPY = 3;
+ static int CROMITE_PASTE = 4;
+ static int CROMITE_SHARE = 5;
+ static int CROMITE_SELECT_ALL = 6;
+ static int CROMITE_PASTE_AS_PLAIN_TEXT = 7;
+
+ private static int GetValue(int a, int b) {
+ return !ContextUtils.getAppSharedPreferences().getBoolean(
+ "selection_popup_web_search_to_top", false)
+ ? a : b;
+ }
+
+ public static int CUT() {
+ return GetValue(CHROMIUM_CUT, CROMITE_CUT);
+ }
+ public static int COPY() {
+ return GetValue(CHROMIUM_COPY, CROMITE_COPY);
+ }
+ public static int PASTE() {
+ return GetValue(CHROMIUM_PASTE, CROMITE_PASTE);
+ }
+ public static int SHARE() {
+ return GetValue(CHROMIUM_SHARE, CROMITE_SHARE);
+ }
+ public static int SELECT_ALL() {
+ return GetValue(CHROMIUM_SELECT_ALL, CROMITE_SELECT_ALL);
+ }
+ public static int PASTE_AS_PLAIN_TEXT() {
+ return GetValue(CHROMIUM_PASTE_AS_PLAIN_TEXT, CROMITE_PASTE_AS_PLAIN_TEXT);
+ }
+ public static int WEB_SEARCH() {
+ return GetValue(CHROMIUM_WEB_SEARCH, CROMITE_WEB_SEARCH);
private final @AttrRes int mIconAttr;
@@ -210,25 +231,23 @@ public final class SelectionMenuItem implements Comparable<SelectionMenuItem> {
* @param order the order, must be >= 0.
* @param category the section of the menu in which this item should appear.
*/
- public Builder setOrderAndCategory(int order, @ItemGroupOffset int category) {
+ public Builder setOrderAndCategory(int order, int category) {
if (order < 0) {
throw new IllegalArgumentException("Invalid order. Must be >= 0");
}
// Make sure items don't spill over into the next category.
- mOrder =
- switch (category) {
- case ItemGroupOffset.ASSIST_ITEMS ->
- Math.min(order + category, ItemGroupOffset.DEFAULT_ITEMS - 1);
- case ItemGroupOffset.DEFAULT_ITEMS ->
- Math.min(
- order + category,
- ItemGroupOffset.SECONDARY_ASSIST_ITEMS - 1);
- case ItemGroupOffset.SECONDARY_ASSIST_ITEMS ->
- Math.min(
- order + category,
- ItemGroupOffset.TEXT_PROCESSING_ITEMS - 1);
- default -> order + category;
- };
+ if (category == ItemGroupOffset.ASSIST_ITEMS())
+ mOrder = Math.min(order + category, ItemGroupOffset.DEFAULT_ITEMS() - 1);
+ else if (category == ItemGroupOffset.DEFAULT_ITEMS())
+ mOrder = Math.min(
+ order + category,
+ ItemGroupOffset.SECONDARY_ASSIST_ITEMS() - 1);
+ else if (category == ItemGroupOffset.SECONDARY_ASSIST_ITEMS())
+ mOrder = Math.min(
+ order + category,
+ ItemGroupOffset.TEXT_PROCESSING_ITEMS() - 1);
+ else
+ mOrder = order + category;
return this;
}
diff --git a/content/public/android/java/src/org/chromium/content_public/browser/selection/SelectionActionMenuDelegate.java b/content/public/android/java/src/org/chromium/content_public/browser/selection/SelectionActionMenuDelegate.java
--- a/content/public/android/java/src/org/chromium/content_public/browser/selection/SelectionActionMenuDelegate.java
+++ b/content/public/android/java/src/org/chromium/content_public/browser/selection/SelectionActionMenuDelegate.java
@@ -7,6 +7,7 @@ package org.chromium.content_public.browser.selection;
import android.content.pm.ResolveInfo;
import android.view.View;
+import org.chromium.base.ContextUtils;
import org.chromium.base.SelectionActionMenuClientWrapper.DefaultItem;
import org.chromium.base.SelectionActionMenuClientWrapper.MenuType;
import org.chromium.build.annotations.NullMarked;
@@ -23,15 +24,28 @@ import java.util.List;
@NullMarked
public interface SelectionActionMenuDelegate {
static @DefaultItem int[] getDefaultMenuItemOrder() {
- return new @DefaultItem int[] {
- DefaultItem.CUT,
- DefaultItem.COPY,
- DefaultItem.PASTE,
- DefaultItem.PASTE_AS_PLAIN_TEXT,
- DefaultItem.SHARE,
- DefaultItem.SELECT_ALL,
- DefaultItem.WEB_SEARCH
- };
+ if (!ContextUtils.getAppSharedPreferences().getBoolean(
+ "selection_popup_web_search_to_top", false)) {
+ return new @DefaultItem int[] {
+ DefaultItem.CUT,
+ DefaultItem.COPY,
+ DefaultItem.PASTE,
+ DefaultItem.PASTE_AS_PLAIN_TEXT,
+ DefaultItem.SHARE,
+ DefaultItem.SELECT_ALL,
+ DefaultItem.WEB_SEARCH
+ };
+ } else {
+ return new @DefaultItem int[] {
+ DefaultItem.WEB_SEARCH,
+ DefaultItem.CUT,
+ DefaultItem.COPY,
+ DefaultItem.PASTE,
+ DefaultItem.PASTE_AS_PLAIN_TEXT,
+ DefaultItem.SHARE,
+ DefaultItem.SELECT_ALL
+ };
+ }
}
@Retention(RetentionPolicy.SOURCE)
@@ -201,7 +248,7 @@ public class SelectActionMenuHelper {
}
SelectionMenuGroup primaryAssistGroup =
new SelectionMenuGroup(
- R.id.select_action_menu_assist_items, GroupItemOrder.ASSIST_ITEMS);
+ R.id.select_action_menu_assist_items, GroupItemOrderChromium.ASSIST_ITEMS());
RemoteAction primaryAction = classificationResult.textClassification.getActions().get(0);
primaryAssistGroup.addItem(
new SelectionMenuItem.Builder(primaryAction.getTitle())
@@ -225,7 +272,7 @@ public class SelectActionMenuHelper {
String selectedText) {
SelectionMenuGroup defaultGroup =
new SelectionMenuGroup(
- R.id.select_action_menu_default_items, GroupItemOrder.DEFAULT_ITEMS);
+ R.id.select_action_menu_default_items, GroupItemOrderChromium.DEFAULT_ITEMS());
List<SelectionMenuItem.Builder> menuItemBuilders = new ArrayList<>();
menuItemBuilders.add(cut(delegate.canCut()));
menuItemBuilders.add(copy(delegate.canCopy()));
@@ -252,7 +299,7 @@ public class SelectActionMenuHelper {
// menu items if there is selected text.
@IdRes int groupId = selectedText.isEmpty() ? Menu.NONE : android.R.id.textAssist;
SelectionMenuGroup secondaryAssistItems =
- new SelectionMenuGroup(groupId, GroupItemOrder.SECONDARY_ASSIST_ITEMS);
+ new SelectionMenuGroup(groupId, GroupItemOrderChromium.SECONDARY_ASSIST_ITEMS());
if (selectedText.isEmpty() && selectionActionMenuDelegate != null) {
List<SelectionMenuItem> additionalMenuItems =
@@ -311,7 +358,7 @@ public class SelectActionMenuHelper {
SelectionMenuGroup textProcessingItems =
new SelectionMenuGroup(
R.id.select_action_menu_text_processing_items,
- GroupItemOrder.TEXT_PROCESSING_ITEMS);
+ GroupItemOrderChromium.TEXT_PROCESSING_ITEMS());
if (isSelectionPassword || intentHandler == null) {
addAdditionalTextProcessingItems(textProcessingItems, selectionActionMenuDelegate);
return textProcessingItems;
@@ -420,7 +467,7 @@ public class SelectActionMenuHelper {
.setId(R.id.select_action_menu_cut)
.setIconAttr(android.R.attr.actionModeCutDrawable)
.setAlphabeticShortcut(ItemKeyShortcuts.CUT)
- .setOrderInCategory(DefaultItemOrder.CUT)
+ .setOrderInCategory(DefaultItemOrderChromium.CUT())
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled)
@@ -432,7 +479,7 @@ public class SelectActionMenuHelper {
.setId(R.id.select_action_menu_copy)
.setIconAttr(android.R.attr.actionModeCopyDrawable)
.setAlphabeticShortcut(ItemKeyShortcuts.COPY)
- .setOrderInCategory(DefaultItemOrder.COPY)
+ .setOrderInCategory(DefaultItemOrderChromium.COPY())
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled)
@@ -444,7 +491,7 @@ public class SelectActionMenuHelper {
.setId(R.id.select_action_menu_paste)
.setIconAttr(android.R.attr.actionModePasteDrawable)
.setAlphabeticShortcut(ItemKeyShortcuts.PASTE)
- .setOrderInCategory(DefaultItemOrder.PASTE)
+ .setOrderInCategory(DefaultItemOrderChromium.PASTE())
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled)
@@ -458,7 +505,7 @@ public class SelectActionMenuHelper {
return new SelectionMenuItem.Builder(context.getString(R.string.actionbar_share))
.setId(R.id.select_action_menu_share)
.setIconAttr(android.R.attr.actionModeShareDrawable)
- .setOrderInCategory(DefaultItemOrder.SHARE)
+ .setOrderInCategory(DefaultItemOrderChromium.SHARE())
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled)
@@ -470,7 +517,7 @@ public class SelectActionMenuHelper {
.setId(R.id.select_action_menu_select_all)
.setIconAttr(android.R.attr.actionModeSelectAllDrawable)
.setAlphabeticShortcut(ItemKeyShortcuts.SELECT_ALL)
- .setOrderInCategory(DefaultItemOrder.SELECT_ALL)
+ .setOrderInCategory(DefaultItemOrderChromium.SELECT_ALL())
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled)
@@ -482,7 +529,7 @@ public class SelectActionMenuHelper {
SelectionMenuItem.Builder builder =
new SelectionMenuItem.Builder(android.R.string.paste_as_plain_text)
.setId(R.id.select_action_menu_paste_as_plain_text)
- .setOrderInCategory(DefaultItemOrder.PASTE_AS_PLAIN_TEXT)
+ .setOrderInCategory(DefaultItemOrderChromium.PASTE_AS_PLAIN_TEXT())
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled);
@@ -502,7 +549,7 @@ public class SelectActionMenuHelper {
return new SelectionMenuItem.Builder(context.getString(R.string.actionbar_web_search))
.setId(R.id.select_action_menu_web_search)
.setIconAttr(android.R.attr.actionModeWebSearchDrawable)
- .setOrderInCategory(DefaultItemOrder.WEB_SEARCH)
+ .setOrderInCategory(DefaultItemOrderChromium.WEB_SEARCH())
.setShowAsActionFlags(
MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT)
.setIsEnabled(isEnabled)
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;
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 {
return null;
}
+ if (!ContextUtils.getAppSharedPreferences().getBoolean(
+ "selection_popup_smart_text", false)) return null;
+
SmartSelectionClient client =
assumeNonNull(
webContents.getOrSetUserData(
/**
--
@@ -23,12 +23,12 @@ diff --git a/chrome/android/java/res/layout/url_bar.xml b/chrome/android/java/re
android:textAppearance="@style/TextAppearance.SearchBoxText"
+ android:inputType="textUri"
android:hint="@string/omnibox_empty_hint"
android:textAlignment="viewStart"
app:layout_constraintStart_toEndOf="@id/location_bar_status"
app:layout_constraintEnd_toStartOf="@id/url_action_container"
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
@@ -331,8 +331,17 @@ class LocationBarMediator
@@ -378,8 +378,17 @@ class LocationBarMediator
if (!mUrlFocusedWithPastedText
&& !shouldRetainOmniboxOnFocus
&& mLocationBarLayout.shouldClearTextOnFocus()) {
@@ -48,7 +48,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
} else if (shouldRetainOmniboxOnFocus) {
mUrlCoordinator.setSelectAllOnFocus(true);
}
@@ -1666,7 +1675,6 @@ class LocationBarMediator
@@ -1798,7 +1807,6 @@ class LocationBarMediator
mUrlCoordinator.setKeyboardVisibility(true, false);
}
@@ -75,7 +75,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
private boolean mPendingScroll;
private boolean mIsInCct;
@@ -345,6 +347,28 @@ public class UrlBar extends AutocompleteEditText {
@@ -344,6 +346,28 @@ public class UrlBar extends AutocompleteEditText {
fixupTextDirection();
mShouldSendTypingStartedEvent = focused;
@@ -16,7 +16,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/third_party/blink/renderer/core/css/parser/css_supports_parser.cc b/third_party/blink/renderer/core/css/parser/css_supports_parser.cc
--- a/third_party/blink/renderer/core/css/parser/css_supports_parser.cc
+++ b/third_party/blink/renderer/core/css/parser/css_supports_parser.cc
@@ -403,7 +403,7 @@ bool CSSSupportsParser::ConsumeBlinkFeatureFn(CSSParserTokenStream& stream) {
@@ -263,7 +263,7 @@ bool CSSSupportsParser::ConsumeBlinkFeatureFn(CSSParserTokenStream& stream) {
feature_name.Value().Utf8()) &&
guard.Release()) {
stream.ConsumeWhitespace();
@@ -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
@@ -1326,7 +1326,7 @@
@@ -1398,7 +1398,7 @@
},
{
name: "CSSDynamicRangeLimit",
+15 -38
View File
@@ -4,50 +4,27 @@ Subject: Disable Compose feature
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
chrome/browser/BUILD.gn | 9 +++++++--
chrome/browser/ui/webui/settings/settings_ui.cc | 2 +-
chrome/browser/ui/webui/settings/settings_ui.cc | 6 ++++--
components/compose/core/browser/compose_features.cc | 2 ++
components/compose/features.gni | 2 +-
4 files changed, 11 insertions(+), 4 deletions(-)
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -8435,6 +8435,12 @@ static_library("browser") {
deps += [ "//components/segmentation_platform/internal:optimization_guide_segmentation_handler" ]
}
+ if (!is_android) {
+ deps += [
+ ":compose_optimization_guide_proto",
+ ]
+ }
+
if (enable_compose) {
sources += [
"compose/chrome_compose_client.cc",
@@ -8450,7 +8456,6 @@ static_library("browser") {
]
deps += [
- ":compose_optimization_guide_proto",
"//chrome/common/compose",
"//chrome/common/compose:mojo_bindings",
"//components/autofill/content/browser",
@@ -8870,7 +8875,7 @@ source_set("font_pref") {
deps = [ "//chrome/common" ]
}
-if (enable_compose) {
+if (!is_android) {
proto_library("compose_optimization_guide_proto") {
sources = [ "compose/proto/compose_optimization_guide.proto" ]
cc_generator_options = "lite=true:"
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
@@ -351,7 +351,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
base::FeatureList::IsEnabled(features::kLinkedServicesSetting));
@@ -20,7 +20,9 @@
#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/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"
@@ -354,7 +356,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
base::FeatureList::IsEnabled(permissions::features::kKeyboardLockPrompt));
#if BUILDFLAG(ENABLE_COMPOSE)
- const bool compose_enabled = ComposeEnabling::IsEnabledForProfile(profile);
@@ -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
@@ -1467,8 +1467,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
@@ -1447,8 +1447,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
registry->RegisterBooleanPref(prefs::kSandboxExternalProtocolBlocked, true);
registry->RegisterBooleanPref(prefs::kSSLErrorOverrideAllowed, true);
registry->RegisterListPref(prefs::kSSLErrorOverrideAllowedForOrigins);
+2 -2
View File
@@ -15,7 +15,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
@@ -671,7 +671,7 @@ void ContentSettingsRegistry::Init() {
@@ -650,7 +650,7 @@ void ContentSettingsRegistry::Init() {
PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
Register(ContentSettingsType::FEDERATED_IDENTITY_AUTO_REAUTHN_PERMISSION,
@@ -39,7 +39,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
@@ -2143,7 +2143,7 @@
@@ -2222,7 +2222,7 @@
{
name: "FedCm",
public: true,
+5 -5
View File
@@ -51,10 +51,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
public static final String EXTRA_ITEM_PICKER_MAX_SELECTABLE_ITEMS =
"org.chromium.chrome.browser.extras.item_picker_max_selectable_items";
-
private static @Nullable Pair<Integer, String> sPendingReferrer;
private static int sReferrerId;
private static @Nullable String sPendingIncognitoUrl;
@@ -566,8 +561,6 @@ public class IntentHandler {
public static final String EXTRA_ITEM_PICKER_ERROR =
"org.chromium.chrome.browser.chrome_item_picker.EXTRA_ITEM_PICKER_ERROR";
@@ -569,8 +564,6 @@ public class IntentHandler {
return ExternalAppId.LINE;
} else if (PACKAGE_WHATSAPP.equals(packageName)) {
return ExternalAppId.WHATSAPP;
@@ -240,7 +240,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
@@ -266,7 +266,7 @@ public class PdfCoordinator {
@@ -276,7 +276,7 @@ public class PdfCoordinator {
}
@Nullable String requestAssistContent(String filename, boolean isWorkProfile) {
@@ -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
@@ -2886,9 +2886,8 @@
@@ -2952,9 +2952,8 @@
status: "stable",
},
{
+2 -2
View File
@@ -22,7 +22,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc
--- a/chrome/browser/ui/webui/settings/settings_ui.cc
+++ b/chrome/browser/ui/webui/settings/settings_ui.cc
@@ -325,8 +325,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
@@ -328,8 +328,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
#endif // BUILDFLAG(IS_CHROMEOS)
bool show_privacy_guide =
@@ -31,5 +31,5 @@ diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui
+ false;
html_source->AddBoolean("showPrivacyGuide", show_privacy_guide);
html_source->AddBoolean("enableHandTrackingContentSetting",
html_source->AddBoolean(
--
+9 -9
View File
@@ -13,7 +13,7 @@ Real-box is search box in ntp
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -2417,7 +2417,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -2235,7 +2235,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
registry->RegisterBooleanPref(
prefs::kLensRegionSearchEnabled, true,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
@@ -21,7 +21,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
+ registry->RegisterBooleanPref(prefs::kLensDesktopNTPSearchEnabled, false);
#endif
registry->RegisterListPref(
registry->RegisterBooleanPref(prefs::kDisableScreenshots, false);
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
@@ -40,19 +40,19 @@ diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/res
- ?can-show-secondary-side="${this.realboxCanShowSecondarySide}"
- ?compose-button-enabled="${this.composeButtonEnabled}"
- ?composebox-enabled="${this.composeboxEnabled}"
- realbox-layout-mode="${this.realboxLayoutMode_}"
- searchbox-layout-mode="${this.realboxLayoutMode_}"
- ?ntp-realbox-next-enabled="${this.ntpRealboxNextEnabled_}"
- ?cycling-placeholders="${this.searchboxCyclingPlaceholders_}"
- @dropdown-visible-changed="${this.onDropdownVisibleChanged_}"
- @searchbox-input-focus-changed="${this.onInputFocusChanged_}">
- @searchbox-input-focus-changed="${this.onInputFocusChanged_}"
- ?ntp-next-features-enabled="${this.ntpNextFeaturesEnabled_}">
- </cr-searchbox>
${this.showComposebox_ ? html`
<ntp-composebox id="composebox" ?is_collapsible="false"
<cr-composebox id="composebox"
?ntp-realbox-next-enabled="${this.ntpRealboxNextEnabled_}"
diff --git a/chrome/browser/ui/webui/searchbox/searchbox_handler.cc b/chrome/browser/ui/webui/searchbox/searchbox_handler.cc
--- a/chrome/browser/ui/webui/searchbox/searchbox_handler.cc
+++ b/chrome/browser/ui/webui/searchbox/searchbox_handler.cc
@@ -295,6 +295,7 @@ void SearchboxHandler::SetupWebUIDataSource(content::WebUIDataSource* source,
@@ -298,6 +298,7 @@ void SearchboxHandler::SetupWebUIDataSource(content::WebUIDataSource* source,
Profile* profile,
bool enable_voice_search,
bool enable_lens_search) {
@@ -63,7 +63,7 @@ diff --git a/chrome/browser/ui/webui/searchbox/searchbox_handler.cc b/chrome/bro
diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.cc
--- a/components/search/ntp_features.cc
+++ b/components/search/ntp_features.cc
@@ -106,7 +106,7 @@ BASE_FEATURE(kNtpDriveModuleShowSixFiles, base::FEATURE_ENABLED_BY_DEFAULT);
@@ -109,7 +109,7 @@ BASE_FEATURE(kNtpDriveModuleShowSixFiles, base::FEATURE_ENABLED_BY_DEFAULT);
// If enabled, logo will be shown.
// This is a kill switch. Keep indefinitely.
@@ -72,7 +72,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.
@@ -148,7 +148,7 @@ BASE_FEATURE(kNtpModuleSignInRequirement, base::FEATURE_ENABLED_BY_DEFAULT);
@@ -151,7 +151,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
@@ -4800,8 +4800,8 @@
@@ -4830,8 +4830,8 @@
{
// Preserves the sticky user activation state after a page navigates to
// another same-origin page. https://crbug.com/433729626
+4 -12
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 | 35 ++++++++++-
net/quic/quic_session_pool.cc | 34 ++++++++++-
net/socket/ssl_client_socket_impl.cc | 59 +++++++++++++++++++
net/socket/ssl_client_socket_impl.h | 2 +
7 files changed, 120 insertions(+), 1 deletion(-)
7 files changed, 119 insertions(+), 1 deletion(-)
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
@@ -90,15 +90,7 @@ diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc
diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
--- a/net/quic/quic_session_pool.cc
+++ b/net/quic/quic_session_pool.cc
@@ -87,6 +87,7 @@
#include "net/third_party/quiche/src/quiche/quic/platform/api/quic_flags.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
#include "third_party/boringssl/src/include/openssl/aead.h"
+#include "third_party/boringssl/src/include/openssl/ssl.h"
#include "url/gurl.h"
#include "url/scheme_host_port.h"
#include "url/url_constants.h"
@@ -378,6 +379,38 @@ base::TimeDelta GetAdditionalDelayForMainJob() {
@@ -380,6 +380,38 @@ base::TimeDelta GetAdditionalDelayForMainJob() {
} // namespace
@@ -137,7 +129,7 @@ diff --git a/net/quic/quic_session_pool.cc b/net/quic/quic_session_pool.cc
QuicSessionRequest::QuicSessionRequest(QuicSessionPool* pool) : pool_(pool) {}
QuicSessionRequest::~QuicSessionRequest() {
@@ -2409,7 +2442,7 @@ QuicSessionPool::CreateCryptoConfigHandle(QuicCryptoClientConfigKey key) {
@@ -2415,7 +2447,7 @@ QuicSessionPool::CreateCryptoConfigHandle(QuicCryptoClientConfigKey key) {
cert_verifier_, transport_security_state_, sct_auditing_delegate_,
std::move(hostnames_to_allow_unknown_roots),
key.network_anonymization_key),
@@ -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
@@ -5475,8 +5475,7 @@
@@ -5458,8 +5458,7 @@
status: "stable",
},
{
@@ -30,5 +30,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+ name: "ViewportSegments", status: "test", public: true
},
{
name: "ViewTransitionAnimationDelayInherit",
name: "ViewTransitionAsyncFinished",
--
@@ -14,7 +14,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
@@ -378,8 +378,13 @@ void ContentSettingsRegistry::Init() {
@@ -357,8 +357,13 @@ void ContentSettingsRegistry::Init() {
ContentSettingsInfo::INHERIT_IF_LESS_PERMISSIVE,
PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
+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
@@ -550,6 +550,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
@@ -552,6 +552,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
@@ -196,7 +196,7 @@ BASE_FEATURE(kEnableDrDc,
@@ -182,7 +182,7 @@ BASE_FEATURE(kEnableDrDc,
// enabled by default on supported platforms.
#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \
BUILDFLAG(IS_ANDROID)
+363 -158
View File
@@ -5,79 +5,86 @@ 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 | 4 +---
.../background_download_service_factory.cc | 2 +-
.../preloading_model_keyed_service.cc | 3 +++
.../preloading_model_keyed_service_factory.cc | 4 +---
.../optimization_guide/chrome_hints_manager.cc | 1 +
.../model_validator_keyed_service.cc | 6 +++++-
.../optimization_guide_keyed_service.cc | 1 -
chrome/browser/permissions/BUILD.gn | 2 --
.../permissions/chrome_permissions_client.cc | 2 --
.../passage_embedder_delegate.cc | 2 ++
.../permissions_ai_ui_selector.cc | 1 +
.../prediction_model_handler_provider.cc | 9 ++++++---
.../prediction_model_handler_provider.h | 2 ++
.../quiet_notification_permission_ui_state.cc | 4 ++--
.../predictors/autocomplete_action_predictor.cc | 2 ++
.../predictors/loading_predictor_config.cc | 4 ++--
.../browser/predictors/predictors_features.cc | 3 +--
.../search_prefetch/field_trial_settings.cc | 4 ++++
.../search_prefetch_url_loader_interceptor.cc | 1 +
.../chrome_browser_main_extra_parts_profiles.cc | 1 -
chrome/browser/safe_browsing/BUILD.gn | 1 -
...ication_content_detection_service_factory.cc | 6 ++++++
.../preloading/AndroidPrerenderManager.java | 1 +
.../ui/autofill/chrome_autofill_client.cc | 15 ---------------
chrome/browser/ui/tab_helpers.cc | 1 -
.../autofill_ml_internals_page_handler.cc | 2 ++
.../autofill_ml_internals_page_handler.h | 3 +++
.../autofill_ml_internals_ui.cc | 3 +++
.../read_anything/read_aloud_app_model.cc | 16 ++++++++++++++--
.../read_anything/read_aloud_app_model.h | 9 ++++++++-
.../read_anything_app_controller.cc | 10 ++++++++++
.../read_anything_app_controller.h | 4 ++++
chrome/utility/BUILD.gn | 2 +-
chrome/utility/services.cc | 8 --------
components/BUILD.gn | 2 +-
.../browser/foundations/autofill_manager.cc | 6 ++++++
.../core/browser/foundations/autofill_manager.h | 3 +++
.../autofill_optimization_guide_decider.cc | 5 +++--
.../field_classification_model_handler.cc | 12 ++++++++----
.../field_classification_model_handler.h | 10 ++++++++--
.../browser/aim_eligibility_service_features.cc | 1 +
.../omnibox/browser/autocomplete_controller.cc | 4 ++++
.../omnibox/browser/base_search_provider.cc | 4 ++--
.../prediction_model_download_manager.cc | 6 ++++--
.../delivery/prediction_model_fetcher_impl.cc | 1 +
.../core/hints/hints_fetcher.cc | 1 +
.../core/hints/hints_manager.cc | 2 ++
.../core/optimization_guide_features.cc | 12 ++++++------
components/optimization_guide/features.gni | 3 +--
.../core/page_content_annotations_features.cc | 4 ++++
.../page_content_annotations_model_manager.cc | 1 +
.../notification_content_detection/BUILD.gn | 7 +++++++
.../service_worker_main_resource_loader.cc | 1 +
.../Disable-all-predictors-code.inc | 2 ++
.../Disable-all-predictors-code.inc | 1 +
.../Disable-all-predictors-code.inc | 1 +
.../features_cc/Disable-all-predictors-code.inc | 5 +++++
.../features_cc/Disable-all-predictors-code.inc | 1 +
.../features_cc/Disable-all-predictors-code.inc | 1 +
.../features_cc/Disable-all-predictors-code.inc | 2 ++
services/on_device_model/ml/BUILD.gn | 2 +-
services/on_device_model/ml/ts_model.cc | 4 ++--
services/on_device_model/safety/BUILD.gn | 2 +-
services/webnn/BUILD.gn | 2 +-
services/webnn/features.gni | 2 +-
services/webnn/webnn_context_provider_impl.cc | 17 +----------------
.../core/html/parser/html_document_parser.cc | 1 +
.../document_speculation_rules.cc | 1 +
.../platform/runtime_enabled_features.json5 | 2 +-
69 files changed, 174 insertions(+), 96 deletions(-)
chrome/browser/BUILD.gn | 3 -
.../background_download_service_factory.cc | 2 +-
.../preloading_model_keyed_service.cc | 3 +
.../preloading_model_keyed_service_factory.cc | 4 +-
.../chrome_hints_manager.cc | 1 +
.../model_validator_keyed_service.cc | 6 +-
.../optimization_guide_keyed_service.cc | 1 -
.../password_change_delegate_impl.cc | 2 +
chrome/browser/permissions/BUILD.gn | 2 -
.../permissions/chrome_permissions_client.cc | 2 -
.../passage_embedder_delegate.cc | 2 +
.../permissions_ai_ui_selector.cc | 5 ++
.../permissions_ai_ui_selector.h | 5 +-
.../prediction_model_handler_provider.cc | 12 +++-
.../prediction_model_handler_provider.h | 2 +
.../quiet_notification_permission_ui_state.cc | 4 +-
.../autocomplete_action_predictor.cc | 2 +
.../predictors/loading_predictor_config.cc | 4 +-
.../browser/predictors/predictors_features.cc | 3 +-
.../search_prefetch/field_trial_settings.cc | 4 ++
.../search_prefetch_url_loader_interceptor.cc | 1 +
...hrome_browser_main_extra_parts_profiles.cc | 1 -
chrome/browser/safe_browsing/BUILD.gn | 1 -
...ation_content_detection_service_factory.cc | 6 ++
.../preloading/AndroidPrerenderManager.java | 1 +
.../ui/autofill/chrome_autofill_client.cc | 15 -----
chrome/browser/ui/tab_helpers.cc | 1 -
.../autofill_ml_internals_page_handler.cc | 2 +
.../autofill_ml_internals_page_handler.h | 3 +
.../autofill_ml_internals_ui.cc | 3 +
.../read_anything/read_aloud_app_model.cc | 16 +++++-
.../read_anything/read_aloud_app_model.h | 9 ++-
.../read_anything_app_controller.cc | 10 ++++
.../read_anything_app_controller.h | 4 ++
chrome/test/BUILD.gn | 2 -
chrome/utility/BUILD.gn | 2 +-
chrome/utility/services.cc | 8 ---
components/BUILD.gn | 2 +-
.../browser/foundations/autofill_manager.cc | 6 ++
.../browser/foundations/autofill_manager.h | 3 +
.../autofill_optimization_guide_decider.cc | 5 +-
.../field_classification_model_handler.cc | 12 ++--
.../field_classification_model_handler.h | 10 +++-
.../aim_eligibility_service_features.cc | 1 +
.../browser/autocomplete_controller.cc | 4 ++
.../omnibox/browser/base_search_provider.cc | 4 +-
.../prediction_model_download_manager.cc | 6 +-
.../delivery/prediction_model_fetcher_impl.cc | 1 +
.../core/hints/hints_fetcher.cc | 1 +
.../core/hints/hints_manager.cc | 2 +
.../core/optimization_guide_features.cc | 12 ++--
components/optimization_guide/features.gni | 3 +-
.../core/page_content_annotations_features.cc | 4 ++
.../page_content_annotations_model_manager.cc | 1 +
.../notification_content_detection/BUILD.gn | 4 --
.../service_worker_main_resource_loader.cc | 1 +
.../Disable-all-predictors-code.inc | 2 +
.../Disable-all-predictors-code.inc | 1 +
.../Disable-all-predictors-code.inc | 1 +
.../Disable-all-predictors-code.inc | 1 +
.../Disable-all-predictors-code.inc | 5 ++
.../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 +-
services/on_device_model/ml/BUILD.gn | 2 +-
services/on_device_model/ml/ts_model.cc | 4 +-
services/on_device_model/safety/BUILD.gn | 2 +-
services/webnn/BUILD.gn | 2 +-
services/webnn/features.gni | 2 +-
services/webnn/webnn_context_provider_impl.cc | 57 +------------------
.../core/html/parser/html_document_parser.cc | 1 +
.../document_speculation_rules.cc | 1 +
.../platform/runtime_enabled_features.json5 | 2 +-
75 files changed, 187 insertions(+), 144 deletions(-)
create mode 100644 cromite_flags/chrome/browser/browser_features_cc/Disable-all-predictors-code.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/Disable-all-predictors-code.inc
create mode 100644 cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc
create mode 100644 cromite_flags/components/password_manager/core/browser/features/password_features_cc/Disable-all-predictors-code.inc
create mode 100644 cromite_flags/components/permissions/features_cc/Disable-all-predictors-code.inc
create mode 100644 cromite_flags/net/base/features_cc/Disable-all-predictors-code.inc
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Disable-all-predictors-code.inc
@@ -86,7 +93,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
@@ -760,8 +760,6 @@ static_library("browser") {
@@ -728,8 +728,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",
@@ -95,12 +102,11 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
"navigation_predictor/preloading_model_keyed_service.cc",
"navigation_predictor/preloading_model_keyed_service.h",
"navigation_predictor/preloading_model_keyed_service_factory.cc",
@@ -2390,7 +2388,7 @@ static_library("browser") {
@@ -2376,7 +2374,6 @@ static_library("browser") {
"//components/resources",
"//components/safe_browsing/content/browser",
"//components/safe_browsing/content/browser:safe_browsing_service",
- "//components/safe_browsing/content/browser/notification_content_detection",
+ "//components/safe_browsing/content/browser/notification_content_detection:constants",
"//components/safe_browsing/content/browser/password_protection",
"//components/safe_browsing/content/browser/web_ui",
"//components/safe_browsing/content/common/proto:download_file_types_proto",
@@ -208,7 +214,7 @@ diff --git a/chrome/browser/optimization_guide/model_validator_keyed_service.cc
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
auto* opt_guide_service =
OptimizationGuideKeyedServiceFactory::GetForProfile(profile_);
@@ -219,6 +222,7 @@ void ModelValidatorKeyedService::ExecuteModel(
@@ -216,6 +219,7 @@ void ModelValidatorKeyedService::ExecuteModel(
*metadata, base::BindRepeating(
&ModelValidatorKeyedService::OnDeviceModelExecuteResponse,
weak_ptr_factory_.GetWeakPtr(), std::move(request)));
@@ -219,7 +225,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
@@ -388,7 +388,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
@@ -383,7 +383,6 @@ void OptimizationGuideKeyedService::RemoveObserverForOptimizationTargetModel(
void OptimizationGuideKeyedService::RegisterOptimizationTypes(
const std::vector<optimization_guide::proto::OptimizationType>&
optimization_types) {
@@ -227,6 +233,23 @@ diff --git a/chrome/browser/optimization_guide/optimization_guide_keyed_service.
}
optimization_guide::OptimizationGuideDecision
diff --git a/chrome/browser/password_manager/password_change_delegate_impl.cc b/chrome/browser/password_manager/password_change_delegate_impl.cc
--- a/chrome/browser/password_manager/password_change_delegate_impl.cc
+++ b/chrome/browser/password_manager/password_change_delegate_impl.cc
@@ -397,11 +397,13 @@ void PasswordChangeDelegateImpl::StartPasswordChangeFlow() {
// a local ML model for field classification.
// TODO(452883239): Clean this up when model is downloaded on start-up for
// everybody.
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
if (base::FeatureList::IsEnabled(
password_manager::features::kDownloadModelForPasswordChange)) {
PasswordFieldClassificationModelHandlerFactory::GetForBrowserContext(
originator_->GetBrowserContext());
}
+#endif
}
void PasswordChangeDelegateImpl::OnLoginStateCheckResult(bool is_logged_in) {
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
@@ -236,13 +259,13 @@ diff --git a/chrome/browser/permissions/BUILD.gn b/chrome/browser/permissions/BU
"prediction_service/passage_embedder_delegate.h",
- "prediction_service/permissions_ai_ui_selector.cc",
- "prediction_service/permissions_ai_ui_selector.h",
"prediction_service/permissions_aiv1_handler.cc",
"prediction_service/permissions_aiv1_handler.h",
"prediction_service/prediction_model_handler_provider.cc",
"prediction_service/prediction_model_handler_provider.h",
"prediction_service/prediction_service_factory.cc",
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
@@ -472,8 +472,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors(
@@ -481,8 +481,6 @@ ChromePermissionsClient::CreatePermissionUiSelectors(
#endif
selectors.emplace_back(std::make_unique<PrefBasedQuietPermissionUiSelector>(
Profile::FromBrowserContext(browser_context)));
@@ -273,7 +296,23 @@ 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
@@ -718,6 +718,7 @@ bool PermissionsAiUiSelector::ShouldHoldBack(
@@ -412,6 +412,7 @@ void PermissionsAiUiSelector::SelectUiToUse(
}
}
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
void PermissionsAiUiSelector::OnGetInnerTextForOnDeviceModel(
ModelExecutionData model_data,
ModelExecutionCallback model_execution_callback,
@@ -459,6 +460,7 @@ void PermissionsAiUiSelector::OnGetInnerTextForOnDeviceModel(
InquireServerModel(model_data.features,
std::move(model_data.request_metadata));
}
+#endif
void PermissionsAiUiSelector::OnTimeout() {
VLOG(1) << "[CPSS] Overall timeout for prediction reached.";
@@ -673,6 +675,7 @@ bool PermissionsAiUiSelector::ShouldHoldBack(
PredictionSource PermissionsAiUiSelector::GetPredictionTypeToUse(
permissions::RequestType request_type) {
@@ -281,24 +320,93 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel
const bool is_msbb_enabled = profile_->GetPrefs()->GetBoolean(
unified_consent::prefs::kUrlKeyedAnonymizedDataCollectionEnabled);
@@ -749,6 +752,7 @@ PredictionSource PermissionsAiUiSelector::GetPredictionTypeToUse(
return PredictionSource::kNoCpssModel;
}
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
void PermissionsAiUiSelector::set_language_detection_observer_for_testing(
std::unique_ptr<permissions::LanguageDetectionObserver>
language_detection_observer) {
@@ -761,6 +765,7 @@ void PermissionsAiUiSelector::set_inner_text_for_testing(
CHECK_IS_TEST();
inner_text_for_testing_ = std::move(inner_text_);
}
+#endif
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
void PermissionsAiUiSelector::set_snapshot_for_testing(SkBitmap snapshot) {
diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.h b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.h
--- a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.h
+++ b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.h
@@ -118,13 +118,14 @@ class PermissionsAiUiSelector : public permissions::PermissionUiSelector {
void set_snapshot_for_testing(SkBitmap snapshot);
#endif
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
void set_inner_text_for_testing(
content_extraction::InnerTextResult inner_text);
void set_language_detection_observer_for_testing(
std::unique_ptr<permissions::LanguageDetectionObserver>
language_detection_observer);
-
+#endif
void set_callback_for_testing(DecisionMadeCallback callback) {
callback_ = std::move(callback);
}
@@ -175,10 +176,12 @@ class PermissionsAiUiSelector : public permissions::PermissionUiSelector {
// later. When the text is fetched asynchronously with success,
// model_execution_callback will get called to continue the chain of
// asynchronously added input data.
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
void OnGetInnerTextForOnDeviceModel(
ModelExecutionData model_data,
ModelExecutionCallback model_execution_callback,
std::unique_ptr<content_extraction::InnerTextResult> result);
+#endif
bool ShouldHoldBack(const PredictionRequestMetadata& request_metadata) const;
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,11 +13,11 @@
#include "chrome/browser/permissions/prediction_service/permissions_aiv1_handler.h"
@@ -13,15 +13,16 @@
#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/prediction_service/permissions_aiv3_handler.h"
-#include "components/permissions/prediction_service/permissions_aiv4_handler.h"
#include "components/permissions/request_type.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_aiv4_handler.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_aiv4_handler.h"
#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)
@@ -27,7 +27,10 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider(
@@ -31,6 +32,7 @@ using optimization_guide::proto::OptimizationTarget;
namespace {
+#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
inline OptimizationTarget getGeolocationAiv4OptTarget() {
#if BUILDFLAG(IS_ANDROID)
return OptimizationTarget::
@@ -49,6 +51,7 @@ inline OptimizationTarget getNotificationsAiv4OptTarget() {
OPTIMIZATION_TARGET_PERMISSIONS_AIV4_NOTIFICATIONS_DESKTOP;
#endif
}
+#endif
} // namespace
@@ -56,7 +59,10 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider(
OptimizationGuideKeyedService* optimization_guide,
passage_embeddings::EmbedderMetadataProvider* embedder_metadata_provider,
passage_embeddings::Embedder* passage_embedder)
@@ -313,7 +421,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
@@ -59,9 +59,11 @@ class PredictionModelHandlerProvider
@@ -55,9 +55,11 @@ class PredictionModelHandlerProvider
#endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB)
private:
@@ -323,8 +431,8 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand
passage_embeddings::EmbedderMetadata metadata) override;
+#endif
std::unique_ptr<PermissionsAiv1Handler> permissions_aiv1_handler_;
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
std::unique_ptr<PredictionModelHandler>
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
@@ -382,7 +490,7 @@ 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
@@ -139,3 +139,7 @@ const base::FeatureParam<base::TimeDelta>
@@ -148,3 +148,7 @@ const base::FeatureParam<base::TimeDelta>
kSuppressesSearchPrefetchOnSlowNetworkThreshold{
&kSuppressesSearchPrefetchOnSlowNetwork,
"slow_network_threshold_for_search_prefetch", base::Milliseconds(208)};
@@ -404,10 +512,10 @@ 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
@@ -1209,7 +1209,6 @@ void ChromeBrowserMainExtraPartsProfiles::
@@ -1221,7 +1221,6 @@ void ChromeBrowserMainExtraPartsProfiles::
#else
policy::UserPolicySigninServiceFactory::GetInstance();
#endif
PolicyBlocklistFactory::GetInstance();
- PredictionModelHandlerProviderFactory::GetInstance();
PredictionServiceFactory::GetInstance();
predictors::AutocompleteActionPredictorFactory::GetInstance();
@@ -426,7 +534,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin
diff --git a/chrome/browser/safe_browsing/notification_content_detection/notification_content_detection_service_factory.cc b/chrome/browser/safe_browsing/notification_content_detection/notification_content_detection_service_factory.cc
--- a/chrome/browser/safe_browsing/notification_content_detection/notification_content_detection_service_factory.cc
+++ b/chrome/browser/safe_browsing/notification_content_detection/notification_content_detection_service_factory.cc
@@ -15,6 +15,7 @@
@@ -16,6 +16,7 @@
#include "components/safe_browsing/content/browser/notification_content_detection/notification_content_detection_service.h"
#include "components/safe_browsing/core/browser/db/database_manager.h"
#include "components/safe_browsing/core/common/features.h"
@@ -434,7 +542,7 @@ diff --git a/chrome/browser/safe_browsing/notification_content_detection/notific
#include "content/public/browser/browser_context.h"
namespace safe_browsing {
@@ -50,6 +51,7 @@ NotificationContentDetectionServiceFactory::
@@ -51,6 +52,7 @@ NotificationContentDetectionServiceFactory::
std::unique_ptr<KeyedService> NotificationContentDetectionServiceFactory::
BuildServiceInstanceForBrowserContext(
content::BrowserContext* context) const {
@@ -442,7 +550,7 @@ diff --git a/chrome/browser/safe_browsing/notification_content_detection/notific
auto* opt_guide = OptimizationGuideKeyedServiceFactory::GetForProfile(
Profile::FromBrowserContext(context));
if (!opt_guide) {
@@ -81,6 +83,7 @@ NotificationContentDetectionServiceFactory::
@@ -82,6 +84,7 @@ NotificationContentDetectionServiceFactory::
content::BrowserContext* context) const {
CHECK(opt_guide);
CHECK(context);
@@ -450,7 +558,7 @@ diff --git a/chrome/browser/safe_browsing/notification_content_detection/notific
auto database_manager =
g_browser_process->safe_browsing_service()->database_manager();
scoped_refptr<base::SequencedTaskRunner> background_task_runner =
@@ -88,6 +91,9 @@ NotificationContentDetectionServiceFactory::
@@ -89,6 +92,9 @@ NotificationContentDetectionServiceFactory::
{base::MayBlock(), base::TaskPriority::BEST_EFFORT});
return std::make_unique<NotificationContentDetectionService>(
opt_guide, background_task_runner, database_manager, context);
@@ -463,18 +571,18 @@ diff --git a/chrome/browser/safe_browsing/notification_content_detection/notific
diff --git a/chrome/browser/ui/android/preloading/java/src/org/chromium/chrome/browser/preloading/AndroidPrerenderManager.java b/chrome/browser/ui/android/preloading/java/src/org/chromium/chrome/browser/preloading/AndroidPrerenderManager.java
--- a/chrome/browser/ui/android/preloading/java/src/org/chromium/chrome/browser/preloading/AndroidPrerenderManager.java
+++ b/chrome/browser/ui/android/preloading/java/src/org/chromium/chrome/browser/preloading/AndroidPrerenderManager.java
@@ -92,6 +92,7 @@ public class AndroidPrerenderManager {
@@ -91,6 +91,7 @@ public class AndroidPrerenderManager {
* @param prerenderUrl The url to be prerendered.
*/
public void startPrerendering(GURL prerenderUrl) {
+ if ((true)) return;
if (mNativeAndroidPrerenderManager == 0 || mWebContents == null) return;
if (mNativeAndroidPrerenderManager == 0 || mTab == null) return;
AndroidPrerenderManagerJni.get()
.startPrerendering(mNativeAndroidPrerenderManager, prerenderUrl, mWebContents);
.startPrerendering(mNativeAndroidPrerenderManager, prerenderUrl, mTab);
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
@@ -512,11 +512,7 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) {
@@ -565,11 +565,7 @@ void ChromeAutofillClient::GetAiPageContent(GetAiPageContentCallback callback) {
}
AutofillAiManager* ChromeAutofillClient::GetAutofillAiManager() {
@@ -486,7 +594,7 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/brows
}
AutofillAiModelCache* ChromeAutofillClient::GetAutofillAiModelCache() {
@@ -1247,18 +1243,7 @@ void ChromeAutofillClient::TriggerPlusAddressUserPerceptionSurvey(
@@ -1401,18 +1397,7 @@ void ChromeAutofillClient::TriggerPlusAddressUserPerceptionSurvey(
optimization_guide::ModelQualityLogsUploaderService*
ChromeAutofillClient::GetMqlsUploadService() {
@@ -504,11 +612,11 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/brows
-#endif
}
void ChromeAutofillClient::ShowEntitySaveOrUpdateBubble(
void ChromeAutofillClient::ShowEntityImportBubble(
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
@@ -458,7 +458,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
@@ -464,7 +464,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
}
MixedContentSettingsTabHelper::CreateForWebContents(web_contents);
NavigationMetricsRecorder::CreateForWebContents(web_contents);
@@ -589,7 +697,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc
#include "chrome/renderer/accessibility/phrase_segmentation/dependency_tree.h"
#include "chrome/renderer/accessibility/phrase_segmentation/phrase_segmenter.h"
#include "chrome/renderer/accessibility/phrase_segmentation/token_boundaries.h"
@@ -28,6 +30,7 @@
@@ -27,6 +29,7 @@
namespace {
@@ -597,7 +705,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc
// Returns the dependency parser model for this renderer process.
DependencyParserModel& GetDependencyParserModel_() {
static base::NoDestructor<DependencyParserModel> instance;
@@ -40,6 +43,7 @@ std::vector<size_t> GetDependencyHeads(base::span<const std::string> input) {
@@ -39,6 +42,7 @@ std::vector<size_t> GetDependencyHeads(base::span<const std::string> input) {
? dependency_parser_model.GetDependencyHeads(input)
: std::vector<size_t>();
}
@@ -605,7 +713,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc
} // namespace
@@ -164,10 +168,13 @@ void ReadAloudAppModel::PreprocessTextForSpeech(
@@ -163,10 +167,13 @@ void ReadAloudAppModel::PreprocessTextForSpeech(
}
}
@@ -619,7 +727,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc
void ReadAloudAppModel::CalculatePhrases(
a11y::ReadAloudCurrentGranularity& granularity) {
if (!features::IsReadAnythingReadAloudPhraseHighlightingEnabled()) {
@@ -224,19 +231,23 @@ void ReadAloudAppModel::CalculatePhrases(
@@ -223,19 +230,23 @@ void ReadAloudAppModel::CalculatePhrases(
base::BindOnce(&ReadAloudAppModel::UpdatePhraseBoundaries,
weak_ptr_factory_.GetWeakPtr(), phrase_tokens));
}
@@ -645,7 +753,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_aloud_app_model.cc
// Reset the phrase calculation flag, so that the next phrase calculation can
// be scheduled, if needed.
is_calculating_phrases = false;
@@ -298,6 +309,7 @@ void ReadAloudAppModel::UpdatePhraseBoundaries(std::vector<std::string> tokens,
@@ -297,6 +308,7 @@ void ReadAloudAppModel::UpdatePhraseBoundaries(std::vector<std::string> tokens,
current_phrase_calculation_index_ = -1;
LOG(WARNING) << "All phrases calculated!";
}
@@ -712,7 +820,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"
@@ -1786,6 +1788,7 @@ void ReadAnythingAppController::OnConnected() {
@@ -1794,6 +1796,7 @@ void ReadAnythingAppController::OnConnected() {
render_frame()->GetBrowserInterfaceBroker().GetInterface(
std::move(page_handler_factory_receiver));
@@ -720,7 +828,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;
@@ -1794,6 +1797,7 @@ void ReadAnythingAppController::OnConnected() {
@@ -1802,6 +1805,7 @@ void ReadAnythingAppController::OnConnected() {
page_handler_->GetDependencyParserModel(
base::BindOnce(&ReadAnythingAppController::UpdateDependencyParserModel,
weak_ptr_factory_.GetWeakPtr()));
@@ -728,7 +836,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
}
void ReadAnythingAppController::OnCopy() const {
@@ -2034,8 +2038,10 @@ std::u16string ReadAnythingAppController::GetCurrentTextContent() {
@@ -2042,8 +2046,10 @@ std::u16string ReadAnythingAppController::GetCurrentTextContent() {
}
void ReadAnythingAppController::PreprocessTextForSpeech() {
@@ -739,7 +847,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
}
void ReadAnythingAppController::MovePositionToNextGranularity() {
@@ -2289,14 +2295,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const {
@@ -2297,14 +2303,18 @@ bool ReadAnythingAppController::IsDocsLoadMoreButtonVisible() const {
void ReadAnythingAppController::UpdateDependencyParserModel(
base::File model_file) {
@@ -771,7 +879,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
class ReadAnythingAppControllerTest;
class ReadAnythingAppControllerScreen2xDataCollectionModeTest;
@@ -310,7 +312,9 @@ class ReadAnythingAppController
@@ -311,7 +313,9 @@ class ReadAnythingAppController
// available.
void UpdateDependencyParserModel(base::File model_file);
@@ -781,10 +889,22 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
// Called when distillation has completed.
void OnAXTreeDistilled(const ui::AXTreeID& tree_id,
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -5798,8 +5798,6 @@ if (!is_android) {
"//chrome/browser/ui/exclusive_access:test_support",
"//chrome/browser/ui/hats",
"//components/safe_browsing/content/browser:safe_browsing_blocking_page",
- "//components/safe_browsing/content/browser/notification_content_detection",
- "//components/safe_browsing/content/browser/notification_content_detection:notifications_global_cache_list",
"//components/safe_browsing/content/common:file_type_policies_test_support",
"//components/safe_browsing/core/browser:safe_browsing_metrics_collector",
"//components/safe_browsing/core/browser/hashprefix_realtime:hash_realtime_service",
diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
--- a/chrome/utility/BUILD.gn
+++ b/chrome/utility/BUILD.gn
@@ -66,7 +66,7 @@ static_library("utility") {
@@ -64,7 +64,7 @@ static_library("utility") {
"//printing/buildflags",
"//services/data_decoder:lib",
"//services/network:network_service",
@@ -796,7 +916,7 @@ diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc
--- a/chrome/utility/services.cc
+++ b/chrome/utility/services.cc
@@ -249,13 +249,6 @@ auto RunMirroringService(
@@ -243,13 +243,6 @@ auto RunMirroringService(
std::move(receiver), content::UtilityThread::Get()->GetIOTaskRunner());
}
@@ -810,7 +930,7 @@ diff --git a/chrome/utility/services.cc b/chrome/utility/services.cc
#endif // !BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(ENABLE_BROWSER_SPEECH_SERVICE)
@@ -466,7 +459,6 @@ void RegisterMainThreadServices(mojo::ServiceFactory& services) {
@@ -444,7 +437,6 @@ void RegisterMainThreadServices(mojo::ServiceFactory& services) {
#if !BUILDFLAG(IS_ANDROID)
services.Add(RunProfileImporter);
services.Add(RunMirroringService);
@@ -821,7 +941,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
@@ -622,7 +622,7 @@ test("components_unittests") {
@@ -625,7 +625,7 @@ test("components_unittests") {
"//components/one_time_tokens/core/browser:unit_tests",
"//components/page_info:unit_tests",
"//components/permissions:unit_tests",
@@ -844,7 +964,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;
@@ -707,6 +709,7 @@ void AutofillManager::ParseFormsAsyncCommon(
@@ -710,6 +712,7 @@ void AutofillManager::ParseFormsAsyncCommon(
}
}
@@ -852,7 +972,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/
if (!context.autofill_predictions.empty()) {
context.autofill_predictions[i].ApplyTo(form_structure->fields());
}
@@ -714,6 +717,7 @@ void AutofillManager::ParseFormsAsyncCommon(
@@ -717,6 +720,7 @@ void AutofillManager::ParseFormsAsyncCommon(
context.password_manager_predictions[i].ApplyTo(
form_structure->fields());
}
@@ -860,7 +980,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());
}
@@ -955,6 +959,7 @@ void AutofillManager::LogCurrentFieldTypes(
@@ -979,6 +983,7 @@ void AutofillManager::LogCurrentFieldTypes(
}
}
@@ -868,7 +988,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/
void AutofillManager::SubscribeToMlModelChanges(
FieldClassificationModelHandler& handler) {
switch (handler.optimization_target()) {
@@ -978,5 +983,6 @@ void AutofillManager::SubscribeToMlModelChanges(
@@ -1002,5 +1007,6 @@ void AutofillManager::SubscribeToMlModelChanges(
NOTREACHED();
}
}
@@ -878,15 +998,15 @@ 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 @@
@@ -38,6 +38,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"
#include "components/optimization_guide/proto/models.pb.h"
+#include "components/optimization_guide/machine_learning_tflite_buildflags.h"
#include "components/translate/core/browser/translate_driver.h"
namespace autofill {
@@ -366,10 +367,12 @@ class AutofillManager
@@ -368,10 +369,12 @@ class AutofillManager
// Reparses all known forms.
void ReparseKnownForms();
@@ -1063,7 +1183,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
#include "components/omnibox/browser/autocomplete_scoring_signals_annotator.h"
#include "components/omnibox/browser/bookmark_provider.h"
#include "components/omnibox/browser/bookmark_scoring_signals_annotator.h"
@@ -131,6 +133,7 @@ using ProviderType = AutocompleteProvider::Type;
@@ -132,6 +134,7 @@ using ProviderType = AutocompleteProvider::Type;
constexpr bool is_android = !!BUILDFLAG(IS_ANDROID);
@@ -1071,7 +1191,7 @@ diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/
void RecordMlScoreCoverage(size_t matches_with_non_null_scores,
size_t total_scored_matches) {
int percent_score_coverage =
@@ -239,6 +242,7 @@ void RecordTotalMatchesScored(size_t num_scored) {
@@ -240,6 +243,7 @@ void RecordTotalMatchesScored(size_t num_scored) {
base::UmaHistogramCounts1000("Omnibox.URLScoringModelExecuted.Matches",
num_scored);
}
@@ -1120,15 +1240,15 @@ 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),
@@ -136,6 +136,7 @@ PredictionModelDownloadManager::~PredictionModelDownloadManager() = default;
void PredictionModelDownloadManager::StartDownload(
@@ -137,6 +137,7 @@ void PredictionModelDownloadManager::StartDownload(
const GURL& download_url,
proto::OptimizationTarget optimization_target) {
proto::OptimizationTarget optimization_target,
const std::optional<download::SchedulingParams>& scheduling_params) {
+ if ((true)) return;
download::DownloadParams download_params;
download_params.client =
download::DownloadClient::OPTIMIZATION_GUIDE_PREDICTION_MODELS;
@@ -293,6 +294,7 @@ bool PredictionModelDownloadManager::VerifyDownload(
@@ -299,6 +300,7 @@ bool PredictionModelDownloadManager::VerifyDownload(
const base::FilePath& download_file_path,
const base::FilePath& base_model_dir,
bool delete_file_on_error) {
@@ -1169,7 +1289,7 @@ diff --git a/components/optimization_guide/core/hints/hints_manager.cc b/compone
switch (optimization_type_decision) {
case OptimizationTypeDecision::kAllowedByOptimizationFilter:
case OptimizationTypeDecision::kAllowedByHint:
@@ -2040,4 +2041,5 @@ void HintsManager::RemoveFetchedEntriesByHintKeys(
@@ -2057,4 +2058,5 @@ void HintsManager::RemoveFetchedEntriesByHintKeys(
hint_cache_->RemoveHintsForHosts(std::move(on_success), hint_keys);
}
@@ -1190,7 +1310,7 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
} // namespace
@@ -253,8 +249,7 @@ size_t MaxHostKeyedHintCacheSize() {
@@ -244,8 +240,7 @@ size_t MaxHostKeyedHintCacheSize() {
}
bool ShouldPersistHintsToDisk() {
@@ -1200,8 +1320,8 @@ diff --git a/components/optimization_guide/core/optimization_guide_features.cc b
}
RequestContextSet GetAllowedContextsForPersonalizedMetadata() {
@@ -659,5 +654,10 @@ bool IsPrivacyGuideAiSettingsEnabled() {
return base::FeatureList::IsEnabled(kPrivacyGuideAiSettings);
@@ -579,5 +574,10 @@ bool ShouldEnableOptimizationGuideIconView() {
return base::FeatureList::IsEnabled(kOptimizationGuideIconView);
}
+SET_CROMITE_FEATURE_DISABLED(kOptimizationHints);
@@ -1250,24 +1370,21 @@ diff --git a/components/page_content_annotations/core/page_content_annotations_m
diff --git a/components/safe_browsing/content/browser/notification_content_detection/BUILD.gn b/components/safe_browsing/content/browser/notification_content_detection/BUILD.gn
--- a/components/safe_browsing/content/browser/notification_content_detection/BUILD.gn
+++ b/components/safe_browsing/content/browser/notification_content_detection/BUILD.gn
@@ -43,6 +43,13 @@ source_set("notification_content_detection") {
]
}
+source_set("constants") {
+ sources = [
+ "notification_content_detection_constants.cc",
+ "notification_content_detection_constants.h",
+ ]
+}
+
source_set("test_utils") {
testonly = true
@@ -23,10 +23,6 @@ source_set("notification_content_detection") {
sources = [
"notification_content_detection_constants.cc",
"notification_content_detection_constants.h",
- "notification_content_detection_model.cc",
- "notification_content_detection_model.h",
- "notification_content_detection_service.cc",
- "notification_content_detection_service.h",
]
deps = [
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
@@ -544,6 +544,7 @@ bool ServiceWorkerMainResourceLoader::MaybeStartAutoPreload(
@@ -550,6 +550,7 @@ bool ServiceWorkerMainResourceLoader::MaybeStartAutoPreload(
bool ServiceWorkerMainResourceLoader::StartRaceNetworkRequest(
scoped_refptr<ServiceWorkerContextWrapper> context,
scoped_refptr<ServiceWorkerVersion> version) {
@@ -1294,6 +1411,12 @@ new file mode 100644
+++ b/cromite_flags/chrome/common/chrome_features_cc/Disable-all-predictors-code.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kPrerenderFallbackToPreconnect);
diff --git a/cromite_flags/components/password_manager/core/browser/features/password_features_cc/Disable-all-predictors-code.inc b/cromite_flags/components/password_manager/core/browser/features/password_features_cc/Disable-all-predictors-code.inc
new file mode 100644
--- /dev/null
+++ b/cromite_flags/components/password_manager/core/browser/features/password_features_cc/Disable-all-predictors-code.inc
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kDownloadModelForPasswordChange);
diff --git a/cromite_flags/components/permissions/features_cc/Disable-all-predictors-code.inc b/cromite_flags/components/permissions/features_cc/Disable-all-predictors-code.inc
new file mode 100644
--- /dev/null
@@ -1323,6 +1446,48 @@ new file mode 100644
@@ -0,0 +1,2 @@
+SET_CROMITE_FEATURE_DISABLED(kNavigationPredictor);
+SET_CROMITE_FEATURE_DISABLED(kPreloadingHeuristicsMLModel);
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 @@
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 "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/BUILD.gn b/services/on_device_model/ml/BUILD.gn
--- a/services/on_device_model/ml/BUILD.gn
+++ b/services/on_device_model/ml/BUILD.gn
@@ -1395,7 +1560,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
@@ -208,22 +208,7 @@ void WebNNContextProviderImpl::CreateWebNNContext(
@@ -236,62 +236,7 @@ void WebNNContextProviderImpl::CreateWebNNContext(
}
#if BUILDFLAG(IS_WIN)
@@ -1406,13 +1571,53 @@ diff --git a/services/webnn/webnn_context_provider_impl.cc b/services/webnn/webn
- LOG(ERROR) << "[WebNN] Failed to create ONNX Runtime context: "
- << env_creation_results.error();
- } else {
- mojom::Device device_type = options->device;
- // Falls back to GPU if the device type is NPU but NPU is disabled.
- if (device_type == mojom::Device::kNpu &&
- gpu_feature_info_.IsWorkaroundEnabled(gpu::DISABLE_WEBNN_FOR_NPU)) {
- device_type = mojom::Device::kGpu;
- LOG(WARNING) << "[WebNN] [WARNING] NPU device is disabled to create "
- "ONNX Runtime context. Falling back to GPU.";
- }
-
- if (!task_runner->BelongsToCurrentThread()) {
- // Re-create sequence for the new task runner. Destroying the old
- // sequence is safe since it has no scheduled tasks yet.
- sequence.reset();
- sequence = std::make_unique<ScopedSequence>(*scheduler_, task_runner,
- command_buffer_id);
-
- scoped_trace.AddStep("Create on sequence");
-
- // Safe to use base::Unretained for shared_image_manager_ since it
- // lives on the GPU service, which is guaranteed to outlive the provider
- // and its contexts.
- task_runner->PostTaskAndReplyWithResult(
- FROM_HERE,
- base::BindOnce(
- &ort::ContextImplOrt::Create, std::move(receiver), AsWeakPtr(),
- env_creation_results.value()->GetEpWorkarounds(device_type),
- std::move(options), device_type,
- std::move(write_tensor_consumer),
- std::move(read_tensor_producer),
- std::move(env_creation_results.value()), command_buffer_id,
- std::move(sequence), std::move(memory_tracker_), task_runner,
- base::Unretained(shared_image_manager_.get()),
- main_thread_task_runner_, std::move(scoped_trace)),
- base::BindOnce(&WebNNContextProviderImpl::OnCreateWebNNContextImpl,
- AsWeakPtr(), std::move(callback), std::move(remote),
- std::move(write_tensor_producer),
- std::move(read_tensor_consumer)));
- return;
- }
- context_impl = base::MakeRefCounted<ort::ContextImplOrt>(
- std::move(receiver), this,
- env_creation_results.value()->GetEpWorkarounds(options->device),
- std::move(options), std::move(write_tensor_consumer),
- std::move(receiver), AsWeakPtr(),
- env_creation_results.value()->GetEpWorkarounds(device_type),
- std::move(options), device_type, std::move(write_tensor_consumer),
- std::move(read_tensor_producer),
- std::move(env_creation_results.value()), command_buffer_id,
- std::move(sequence), std::move(scheduler_task_runner));
- std::move(sequence), memory_tracker_, std::move(task_runner),
- shared_image_manager_, main_thread_task_runner_);
- }
- } else if (dml::ShouldCreateDmlContext(*options)) {
+ if (dml::ShouldCreateDmlContext(*options)) {
@@ -1422,7 +1627,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
@@ -1845,6 +1845,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget(
@@ -1867,6 +1867,7 @@ ALWAYS_INLINE bool HTMLDocumentParser::ShouldCheckTimeBudget(
}
bool HTMLDocumentParser::ShouldSkipPreloadScan() {
@@ -1433,7 +1638,7 @@ diff --git a/third_party/blink/renderer/core/html/parser/html_document_parser.cc
diff --git a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc
--- a/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc
+++ b/third_party/blink/renderer/core/speculation_rules/document_speculation_rules.cc
@@ -662,6 +662,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() {
@@ -664,6 +664,7 @@ void DocumentSpeculationRules::UpdateSpeculationCandidates() {
return;
}
@@ -1444,7 +1649,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
@@ -3851,7 +3851,7 @@
@@ -3898,7 +3898,7 @@
//
// It also has some feature params defined throughout the codebase.
name: "Prerender2",
@@ -1452,5 +1657,5 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+ status: "test",
},
{
name: "PrerenderUntilScript",
// Used to allow prerender cross-origin iframes with an opt-in response
--
@@ -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/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
@@ -1800,6 +1800,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@@ -1772,6 +1772,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
}
private boolean maybeShowPromo(Profile profile) {
@@ -29,7 +29,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
@@ -180,7 +180,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
@@ -183,7 +183,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kEnterpriseHardwarePlatformAPIEnabled,
false);
@@ -52,7 +52,7 @@ diff --git a/chrome/browser/ui/views/profiles/profile_picker_feature_promo_contr
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
@@ -45,6 +45,7 @@ user_education::FeaturePromoResult
@@ -47,6 +47,7 @@ user_education::FeaturePromoResult
BrowserFeaturePromoController20::CanShowPromoForElement(
ui::TrackedElement* anchor_element,
const user_education::UserEducationContextPtr& context) const {
@@ -16,9 +16,9 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
chrome/android/java/AndroidManifest.xml | 4 -
.../ChromeSiteSettingsDelegate.java | 2 +
.../k_anonymity_trust_token_getter.cc | 2 +-
.../privacy_page/privacy_page_index.html | 8 -
.../privacy_page/privacy_page_index.html | 9 -
chrome/browser/resources/settings/route.ts | 2 +-
.../site_settings_page/site_settings_page.ts | 1 +
.../site_settings/site_settings_page.ts | 1 +
.../aggregatable_trigger_config.cc | 2 +-
components/attribution_reporting/features.cc | 1 +
.../core/browser/content_settings_registry.cc | 2 +-
@@ -46,14 +46,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
third_party/blink/renderer/core/page/page.cc | 2 +-
.../platform/runtime_enabled_features.json5 | 20 +-
ui/events/android/motion_event_android.cc | 8 +-
35 files changed, 103 insertions(+), 433 deletions(-)
35 files changed, 103 insertions(+), 434 deletions(-)
create mode 100644 cromite_flags/services/network/public/cpp/features_cc/Disable-conversion-measurement-api.inc
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Disable-conversion-measurement-api.inc
diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc
--- a/android_webview/browser/aw_content_browser_client.cc
+++ b/android_webview/browser/aw_content_browser_client.cc
@@ -1317,6 +1317,7 @@ network::mojom::AttributionSupport
@@ -1352,6 +1352,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:
@@ -1335,6 +1336,8 @@ bool AwContentBrowserClient::IsAttributionReportingOperationAllowed(
@@ -1370,6 +1371,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 =
@@ -1784,7 +1784,7 @@ public class AwSettings {
@@ -1788,7 +1788,7 @@ public class AwSettings {
public void setAttributionBehavior(@AttributionBehavior int behavior) {
synchronized (mAwSettingsLock) {
if (mAttributionBehavior != behavior) {
@@ -95,14 +95,14 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
--- a/chrome/android/java/AndroidManifest.xml
+++ b/chrome/android/java/AndroidManifest.xml
@@ -39,7 +39,6 @@ by a child template that "extends" this file.
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
{% endif %}
<uses-permission-sdk-23 android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- <uses-permission-sdk-23 android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION" />
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30"/>
<uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_CONNECT"/>
<!--
@@ -1188,9 +1187,6 @@ by a child template that "extends" this file.
@@ -1199,9 +1198,6 @@ by a child template that "extends" this file.
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize" >
</activity>
@@ -115,7 +115,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
@@ -150,6 +150,8 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
@@ -151,6 +151,8 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
// not great to dynamically remove the preference in this way.
case SiteSettingsCategory.Type.ADS:
return SiteSettingsCategory.adsCategoryEnabled();
@@ -139,19 +139,20 @@ diff --git a/chrome/browser/k_anonymity_service/k_anonymity_trust_token_getter.c
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page_index.html b/chrome/browser/resources/settings/privacy_page/privacy_page_index.html
--- a/chrome/browser/resources/settings/privacy_page/privacy_page_index.html
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page_index.html
@@ -177,14 +177,6 @@
@@ -191,15 +191,6 @@
</settings-ar-page>
</template>
- <template is="dom-if" if="[[renderView_(
- routes_.SITE_SETTINGS_AUTO_VERIFY, currentRoute, inSearchMode)]]">
- routes_.SITE_SETTINGS_AUTO_VERIFY, currentRoute, inSearchMode)]]"
- update-when-false>
- <settings-anti-abuse-page slot="view" id="siteSettingsAutoVerify"
- data-parent-view-id="privacy"
- route-path$="[[routes_.SITE_SETTINGS_AUTO_VERIFY.path]]">
- </settings-anti-abuse-page>
- </template>
-
<template is="dom-if" if="[[autoPictureInPictureEnabled_]]">
<template is="dom-if" if="[[enableAutoPictureInPicture_]]">
<template is="dom-if" if="[[renderView_(
routes_.SITE_SETTINGS_AUTO_PICTURE_IN_PICTURE, currentRoute,
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
@@ -166,9 +167,9 @@ diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resourc
r.SITE_SETTINGS_BACKGROUND_SYNC =
r.SITE_SETTINGS.createChild('backgroundSync');
r.SITE_SETTINGS_CAMERA = r.SITE_SETTINGS.createChild('camera');
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
diff --git a/chrome/browser/resources/settings/site_settings/site_settings_page.ts b/chrome/browser/resources/settings/site_settings/site_settings_page.ts
--- a/chrome/browser/resources/settings/site_settings/site_settings_page.ts
+++ b/chrome/browser/resources/settings/site_settings/site_settings_page.ts
@@ -66,6 +66,7 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
route: routes.SITE_SETTINGS_AUTO_VERIFY,
id: Id.ANTI_ABUSE,
@@ -201,7 +202,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
@@ -680,7 +680,7 @@ void ContentSettingsRegistry::Init() {
@@ -659,7 +659,7 @@ void ContentSettingsRegistry::Init() {
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
@@ -313,7 +314,7 @@ diff --git a/content/browser/attribution_reporting/attribution_host.cc b/content
diff --git a/content/browser/attribution_reporting/attribution_manager_impl.cc b/content/browser/attribution_reporting/attribution_manager_impl.cc
--- a/content/browser/attribution_reporting/attribution_manager_impl.cc
+++ b/content/browser/attribution_reporting/attribution_manager_impl.cc
@@ -601,11 +601,7 @@ bool IsOperationAllowed(
@@ -581,11 +581,7 @@ bool IsOperationAllowed(
}
std::unique_ptr<AttributionOsLevelManager> CreateOsLevelManager() {
@@ -399,7 +400,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
@@ -10511,6 +10511,7 @@ bool RenderFrameHostImpl::IsFencedFrameReportingFromRendererAllowed(
@@ -10609,6 +10609,7 @@ bool RenderFrameHostImpl::IsFencedFrameReportingFromRendererAllowed(
return false;
}
@@ -407,7 +408,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.
@@ -14517,6 +14518,16 @@ void RenderFrameHostImpl::BindTrustTokenQueryAnswerer(
@@ -14699,6 +14700,16 @@ void RenderFrameHostImpl::BindTrustTokenQueryAnswerer(
return;
}
@@ -427,7 +428,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
@@ -1505,15 +1505,6 @@ void StoragePartitionImpl::Initialize(
@@ -1506,15 +1506,6 @@ void StoragePartitionImpl::Initialize(
bucket_manager_ = std::make_unique<BucketManager>(this);
@@ -443,7 +444,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.
@@ -1565,9 +1556,6 @@ void StoragePartitionImpl::Initialize(
@@ -1566,9 +1557,6 @@ void StoragePartitionImpl::Initialize(
font_access_manager_ = FontAccessManager::Create();
@@ -456,7 +457,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
@@ -211,8 +211,6 @@ android_library("content_full_java") {
@@ -213,8 +213,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",
@@ -930,7 +931,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
@@ -639,6 +639,7 @@ void ContentBrowserClient::OnAuctionComplete(
@@ -647,6 +647,7 @@ void ContentBrowserClient::OnAuctionComplete(
network::mojom::AttributionSupport ContentBrowserClient::GetAttributionSupport(
AttributionReportingOsApiState state,
bool client_os_disabled) {
@@ -938,7 +939,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;
@@ -656,13 +657,13 @@ bool ContentBrowserClient::IsAttributionReportingOperationAllowed(
@@ -664,13 +665,13 @@ bool ContentBrowserClient::IsAttributionReportingOperationAllowed(
const url::Origin* destination_origin,
const url::Origin* reporting_origin,
bool* can_bypass) {
@@ -954,7 +955,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
}
bool ContentBrowserClient::IsAttributionReportingAllowedForContext(
@@ -670,7 +671,7 @@ bool ContentBrowserClient::IsAttributionReportingAllowedForContext(
@@ -678,7 +679,7 @@ bool ContentBrowserClient::IsAttributionReportingAllowedForContext(
content::RenderFrameHost* rfh,
const url::Origin& context_origin,
const url::Origin& reporting_origin) {
@@ -1008,7 +1009,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,
@@ -1317,6 +1317,10 @@ void NetworkContext::ClearTrustTokenData(mojom::ClearDataFilterPtr filter,
void NetworkContext::ClearTrustTokenSessionOnlyData(
ClearTrustTokenSessionOnlyDataCallback callback) {
@@ -1019,7 +1020,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_);
@@ -2759,26 +2763,6 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
@@ -2766,26 +2770,6 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
builder.set_network_quality_estimator(
network_service_->network_quality_estimator());
}
@@ -1068,7 +1069,7 @@ diff --git a/services/network/public/cpp/attribution_utils.cc b/services/network
diff --git a/third_party/blink/renderer/core/frame/attribution_src_loader.cc b/third_party/blink/renderer/core/frame/attribution_src_loader.cc
--- a/third_party/blink/renderer/core/frame/attribution_src_loader.cc
+++ b/third_party/blink/renderer/core/frame/attribution_src_loader.cc
@@ -209,8 +209,6 @@ struct AttributionSrcLoader::AttributionHeaders {
@@ -210,8 +210,6 @@ struct AttributionSrcLoader::AttributionHeaders {
uint64_t request_id)
: web_source(map.Get(http_names::kAttributionReportingRegisterSource)),
web_trigger(map.Get(http_names::kAttributionReportingRegisterTrigger)),
@@ -1080,7 +1081,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
@@ -1620,7 +1620,7 @@ void Page::UpdateBrowsingContextGroup(
@@ -1624,7 +1624,7 @@ void Page::UpdateBrowsingContextGroup(
void Page::SetAttributionSupport(
network::mojom::AttributionSupport attribution_support) {
@@ -1103,7 +1104,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
origin_trial_feature_name: "AdInterestGroupAPI",
implied_by: ["Fledge", "Parakeet"],
public: true,
@@ -591,8 +591,8 @@
@@ -614,8 +614,8 @@
status: "stable",
},
{
@@ -1114,7 +1115,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
base_feature: "none",
public: true,
},
@@ -3893,8 +3893,8 @@
@@ -3948,8 +3948,8 @@
base_feature: "none",
},
{
@@ -1125,8 +1126,8 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
base_feature: "none",
public: true,
},
@@ -5149,16 +5149,16 @@
status: "stable",
@@ -5136,16 +5136,16 @@
status: "experimental",
},
{
- name: "TopicsAPI",
+5 -5
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
@@ -2797,15 +2797,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
@@ -2690,15 +2690,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
base::NumberToString(pid));
}
#endif
@@ -31,18 +31,18 @@ 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
@@ -16198,6 +16198,7 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed(
@@ -16368,6 +16368,7 @@ void RenderFrameHostImpl::OnSameDocumentCommitProcessed(
void RenderFrameHostImpl::MaybeGenerateCrashReport(
base::TerminationStatus status,
int exit_code) {
+ if ((true)) return;
if (!last_committed_url_.SchemeIsHTTPOrHTTPS())
if (!last_committed_url_.SchemeIsHTTPOrHTTPS()) {
return;
}
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
@@ -10266,7 +10266,7 @@ void WebContentsImpl::RendererUnresponsive(
@@ -10344,7 +10344,7 @@ void WebContentsImpl::RendererUnresponsive(
base::UmaHistogramEnumeration(
"ReportingAndNEL.UnresponsiveRenderer.CrashReportOutcome", outcome);
@@ -20,7 +20,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
@@ -1484,8 +1484,7 @@
@@ -1548,8 +1548,7 @@
status: "test",
},
{
@@ -28,18 +28,18 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../origin_trials/origin_trials_utils.cc | 2 +-
.../renderer_host/navigation_request.cc | 1 +
.../variations_render_thread_observer.cc | 9 -----
.../Disable-fetching-of-all-field-trials.inc | 3 ++
.../Disable-fetching-of-all-field-trials.inc | 1 +
.../Disable-fetching-of-all-field-trials.inc | 1 +
.../renderer/core/loader/document_loader.cc | 7 ----
.../platform/loader/fetch/resource_request.h | 1 -
25 files changed, 31 insertions(+), 91 deletions(-)
25 files changed, 29 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
@@ -501,6 +501,7 @@ AwBrowserContext::RetrieveInProgressDownloadManager() {
@@ -500,6 +500,7 @@ AwBrowserContext::RetrieveInProgressDownloadManager() {
content::OriginTrialsControllerDelegate*
AwBrowserContext::GetOriginTrialsControllerDelegate() {
@@ -50,18 +50,18 @@ diff --git a/android_webview/browser/aw_browser_context.cc b/android_webview/bro
diff --git a/android_webview/browser/component_updater/origin_trials_component_loader.cc b/android_webview/browser/component_updater/origin_trials_component_loader.cc
--- a/android_webview/browser/component_updater/origin_trials_component_loader.cc
+++ b/android_webview/browser/component_updater/origin_trials_component_loader.cc
@@ -14,6 +14,7 @@ namespace android_webview {
@@ -16,6 +16,7 @@ namespace android_webview {
void LoadOriginTrialsComponent(
component_updater::ComponentLoaderPolicyVector& policies) {
+ if ((true)) return;
policies.push_back(std::make_unique<OriginTrialsComponentLoaderPolicy>());
}
if (!base::FeatureList::IsEnabled(
features::kWebViewFetchOriginTrialsComponent)) {
return;
diff --git a/android_webview/common/aw_content_client.cc b/android_webview/common/aw_content_client.cc
--- a/android_webview/common/aw_content_client.cc
+++ b/android_webview/common/aw_content_client.cc
@@ -115,6 +115,8 @@ void AwContentClient::ExposeInterfacesToBrowser(
@@ -118,6 +118,8 @@ void AwContentClient::ExposeInterfacesToBrowser(
}
blink::OriginTrialPolicy* AwContentClient::GetOriginTrialPolicy() {
@@ -157,7 +157,7 @@ diff --git a/chrome/browser/metrics/chrome_browser_sampling_trials.cc b/chrome/b
diff --git a/chrome/browser/net/system_network_context_manager.cc b/chrome/browser/net/system_network_context_manager.cc
--- a/chrome/browser/net/system_network_context_manager.cc
+++ b/chrome/browser/net/system_network_context_manager.cc
@@ -924,7 +924,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams(
@@ -929,7 +929,6 @@ void SystemNetworkContextManager::AddSSLConfigToNetworkContextParams(
void SystemNetworkContextManager::ConfigureDefaultNetworkContextParams(
network::mojom::NetworkContextParams* network_context_params) {
@@ -272,7 +272,7 @@ diff --git a/components/variations/net/BUILD.gn b/components/variations/net/BUIL
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 {
@@ -251,6 +251,8 @@ class VariationsHeaderHelper {
VariationsHeaderHelper& operator=(const VariationsHeaderHelper&) = delete;
bool AppendHeaderIfNeeded(const GURL& url, InIncognito incognito) {
@@ -284,7 +284,7 @@ diff --git a/components/variations/net/variations_http_headers.cc b/components/v
diff --git a/components/variations/service/variations_field_trial_creator.cc b/components/variations/service/variations_field_trial_creator.cc
--- a/components/variations/service/variations_field_trial_creator.cc
+++ b/components/variations/service/variations_field_trial_creator.cc
@@ -126,6 +126,7 @@ Study::CpuArchitecture GetCurrentCpuArchitecture() {
@@ -127,6 +127,7 @@ Study::CpuArchitecture GetCurrentCpuArchitecture() {
}
#if BUILDFLAG(FIELDTRIAL_TESTING_ENABLED)
@@ -292,7 +292,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
@@ -333,9 +334,6 @@ bool VariationsFieldTrialCreator::SetUpFieldTrials(
@@ -335,9 +336,6 @@ bool VariationsFieldTrialCreator::SetUpFieldTrials(
metrics_state_manager->GetLowEntropySource());
}
@@ -302,7 +302,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));
@@ -666,6 +664,7 @@ CreateTrialsResult VariationsFieldTrialCreator::CreateTrialsFromSeed(
@@ -682,6 +680,7 @@ CreateTrialsResult VariationsFieldTrialCreator::CreateTrialsFromSeed(
base::FeatureList* feature_list,
SafeSeedManager* safe_seed_manager,
std::unique_ptr<ClientFilterableState> client_state) {
@@ -310,7 +310,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_);
@@ -782,6 +781,7 @@ CreateTrialsResult VariationsFieldTrialCreator::CreateTrialsFromSeed(
@@ -801,6 +800,7 @@ CreateTrialsResult VariationsFieldTrialCreator::CreateTrialsFromSeed(
void VariationsFieldTrialCreator::LoadSeedFromJsonFile(
const base::FilePath& json_seed_path) {
@@ -321,7 +321,7 @@ diff --git a/components/variations/service/variations_field_trial_creator.cc b/c
diff --git a/components/variations/service/variations_service.cc b/components/variations/service/variations_service.cc
--- a/components/variations/service/variations_service.cc
+++ b/components/variations/service/variations_service.cc
@@ -224,22 +224,7 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
@@ -223,22 +223,7 @@ bool GetInstanceManipulations(const net::HttpResponseHeaders* headers,
// Variations seed fetching is only enabled in official Chrome builds, if a URL
// is specified on the command line, and for testing.
bool IsFetchingEnabled() {
@@ -345,7 +345,7 @@ diff --git a/components/variations/service/variations_service.cc b/components/va
}
// Returns the already downloaded first run seed, and clear the seed from the
@@ -628,7 +613,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) {
@@ -635,7 +620,7 @@ bool VariationsService::DoFetchFromURL(const GURL& url, bool is_http_retry) {
// debugger or if the machine was suspended) and OnURLFetchComplete() hasn't
// had a chance to run yet from the previous request. In this case, don't
// start a new request and just let the previous one finish.
@@ -424,10 +424,8 @@ diff --git a/cromite_flags/net/base/features_cc/Disable-fetching-of-all-field-tr
new file mode 100644
--- /dev/null
+++ b/cromite_flags/net/base/features_cc/Disable-fetching-of-all-field-trials.inc
@@ -0,0 +1,3 @@
+SET_CROMITE_FEATURE_DISABLED(kTopLevelTpcdOriginTrial);
@@ -0,0 +1 @@
+SET_CROMITE_FEATURE_DISABLED(kTpcdTrialSettings);
+SET_CROMITE_FEATURE_DISABLED(kTopLevelTpcdTrialSettings);
diff --git a/cromite_flags/services/network/public/cpp/features_cc/Disable-fetching-of-all-field-trials.inc b/cromite_flags/services/network/public/cpp/features_cc/Disable-fetching-of-all-field-trials.inc
new file mode 100644
--- /dev/null
@@ -437,7 +435,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
@@ -211,13 +211,6 @@ std::vector<int> CopyInitiatorOriginTrials(
@@ -210,13 +210,6 @@ std::vector<int> CopyInitiatorOriginTrials(
const Vector<mojom::blink::OriginTrialFeature>&
initiator_origin_trial_features) {
std::vector<int> result;
@@ -43,7 +43,7 @@ diff --git a/chrome/browser/media/router/media_router_feature.cc b/chrome/browse
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc
--- a/chrome/browser/profiles/profile_impl.cc
+++ b/chrome/browser/profiles/profile_impl.cc
@@ -428,7 +428,7 @@ void ProfileImpl::RegisterProfilePrefs(
@@ -425,7 +425,7 @@ void ProfileImpl::RegisterProfilePrefs(
#endif
registry->RegisterBooleanPref(prefs::kForceEphemeralProfiles, false);
@@ -55,7 +55,7 @@ diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/p
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
--- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc
@@ -543,6 +543,8 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
@@ -545,6 +545,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
@@ -4095,14 +4095,10 @@
@@ -4114,14 +4114,10 @@
base_feature: "none",
},
{
@@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/endpoint_fetcher/endpoint_fetcher.cc b/components/endpoint_fetcher/endpoint_fetcher.cc
--- a/components/endpoint_fetcher/endpoint_fetcher.cc
+++ b/components/endpoint_fetcher/endpoint_fetcher.cc
@@ -384,7 +384,7 @@ void EndpointFetcher::OnResponseFetched(
@@ -381,7 +381,7 @@ void EndpointFetcher::OnResponseFetched(
response->response = *response_body;
} else {
std::string net_error = net::ErrorToString(net_error_code);
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
--- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -2373,9 +2373,7 @@ const mojom::RendererContentSettingsPtr& LocalFrame::GetContentSettings()
@@ -2376,9 +2376,7 @@ const mojom::RendererContentSettingsPtr& LocalFrame::GetContentSettings()
}
PluginData* LocalFrame::GetPluginData() const {
@@ -25,7 +25,7 @@ diff --git a/third_party/blink/renderer/core/css/media_query_exp.cc b/third_part
diff --git a/third_party/blink/renderer/core/css/parser/media_query_parser.cc b/third_party/blink/renderer/core/css/parser/media_query_parser.cc
--- a/third_party/blink/renderer/core/css/parser/media_query_parser.cc
+++ b/third_party/blink/renderer/core/css/parser/media_query_parser.cc
@@ -78,8 +78,8 @@ bool MediaQueryParser::MediaQueryFeatureSet::IsAllowedWithoutValue(
@@ -83,8 +83,8 @@ bool MediaQueryParser::MediaQueryFeatureSet::IsAllowedWithoutValue(
feature == media_feature_names::kUpdateMediaFeature ||
(feature == media_feature_names::kPrefersReducedDataMediaFeature &&
RuntimeEnabledFeatures::PrefersReducedDataEnabled()) ||
@@ -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
@@ -3841,6 +3841,10 @@
@@ -3888,6 +3888,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
@@ -477,15 +477,6 @@ by a child template that "extends" this file.
@@ -488,15 +488,6 @@ by a child template that "extends" this file.
android:excludeFromRecents="true"
android:exported="false" />
@@ -102,7 +102,7 @@ diff --git a/components/affiliations/core/browser/affiliation_backend.cc b/compo
diff --git a/components/affiliations/core/browser/affiliation_service_impl.cc b/components/affiliations/core/browser/affiliation_service_impl.cc
--- a/components/affiliations/core/browser/affiliation_service_impl.cc
+++ b/components/affiliations/core/browser/affiliation_service_impl.cc
@@ -312,6 +312,10 @@ void AffiliationServiceImpl::GetPSLExtensions(
@@ -317,6 +317,10 @@ void AffiliationServiceImpl::GetPSLExtensions(
void AffiliationServiceImpl::UpdateAffiliationsAndBranding(
const std::vector<FacetURI>& facets,
base::OnceClosure callback) {
@@ -172,7 +172,7 @@ diff --git a/components/password_manager/core/browser/leak_detection/leak_detect
diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc
--- a/components/password_manager/core/browser/password_manager.cc
+++ b/components/password_manager/core/browser/password_manager.cc
@@ -583,7 +583,7 @@ void PasswordManager::RegisterProfilePrefs(
@@ -600,7 +600,7 @@ void PasswordManager::RegisterProfilePrefs(
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || \
BUILDFLAG(IS_CHROMEOS)
registry->RegisterBooleanPref(prefs::kBiometricAuthenticationBeforeFilling,
@@ -181,7 +181,7 @@ diff --git a/components/password_manager/core/browser/password_manager.cc b/comp
#endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) ||
// BUILDFLAG(IS_CHROMEOS)
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) // Desktop
@@ -610,7 +610,7 @@ void PasswordManager::RegisterProfilePrefs(
@@ -627,7 +627,7 @@ void PasswordManager::RegisterProfilePrefs(
registry->RegisterBooleanPref(prefs::kAccountStoreMigratedToOSCryptAsync,
false);
registry->RegisterBooleanPref(
+8 -8
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
@@ -1706,7 +1706,6 @@ if (_is_default_toolchain) {
@@ -1711,7 +1711,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
@@ -3565,6 +3565,9 @@ bool ChromeContentBrowserClient::IsAttributionReportingOperationAllowed(
@@ -3458,6 +3458,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 =
@@ -8067,7 +8070,7 @@ bool ChromeContentBrowserClient::ShouldDisableOriginAgentClusterDefault(
@@ -8022,7 +8025,7 @@ bool ChromeContentBrowserClient::ShouldDisableOriginAgentClusterDefault(
}
bool ChromeContentBrowserClient::WillProvidePublicFirstPartySets() {
@@ -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
@@ -1972,8 +1972,6 @@ if (is_android) {
@@ -1992,8 +1992,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",
@@ -197,7 +197,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc
--- a/components/history/core/browser/history_backend.cc
+++ b/components/history/core/browser/history_backend.cc
@@ -668,18 +668,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
@@ -666,18 +666,7 @@ void HistoryBackend::SetBrowsingTopicsAllowed(ContextID context_id,
if (!visit_id)
return;
@@ -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
@@ -183,4 +183,7 @@ BASE_FEATURE(kPrivacySandboxMigratePrefsToSchemaV2,
@@ -168,4 +168,7 @@ BASE_FEATURE(kPrivacySandboxMigratePrefsToSchemaV2,
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kPrivacySandboxNoticeFramework, base::FEATURE_DISABLED_BY_DEFAULT);
@@ -443,7 +443,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
@@ -1692,7 +1692,7 @@ bool ContentBrowserClient::ShouldPreconnectNavigation(
@@ -1724,7 +1724,7 @@ bool ContentBrowserClient::ShouldPreconnectNavigation(
}
bool ContentBrowserClient::IsFirstPartySetsEnabled() {
@@ -479,7 +479,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
@@ -2577,6 +2577,7 @@ BASE_FEATURE(kXrDevice, base::FEATURE_DISABLED_BY_DEFAULT);
@@ -2631,6 +2631,7 @@ BASE_FEATURE(kXrDevice, base::FEATURE_DISABLED_BY_DEFAULT);
// constants for features in the section above.
bool IsAllowURNsInIframeEnabled() {
@@ -29,7 +29,7 @@ diff --git a/chrome/browser/resources/side_panel/read_anything/read_anything_too
diff --git a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
--- a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
+++ b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc
@@ -296,7 +296,7 @@ bool DomDistillerViewerSource::ShouldServiceRequest(
@@ -308,7 +308,7 @@ bool DomDistillerViewerSource::ShouldServiceRequest(
std::string DomDistillerViewerSource::GetContentSecurityPolicy(
network::mojom::CSPDirectiveName directive) {
if (directive == network::mojom::CSPDirectiveName::StyleSrc) {
@@ -65,7 +65,7 @@ diff --git a/components/dom_distiller/core/html/preview.html b/components/dom_di
diff --git a/components/dom_distiller/core/javascript/dom_distiller_viewer.js b/components/dom_distiller/core/javascript/dom_distiller_viewer.js
--- a/components/dom_distiller/core/javascript/dom_distiller_viewer.js
+++ b/components/dom_distiller/core/javascript/dom_distiller_viewer.js
@@ -402,7 +402,7 @@ function maybeSetWebFont() {
@@ -465,7 +465,7 @@ function maybeSetWebFont() {
}
const e = document.createElement('link');
@@ -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
@@ -1323,11 +1323,7 @@ HttpStreamFactory::JobController::GetAdvertisedAltSvcInternal(
@@ -1347,11 +1347,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,13 +39,13 @@ diff --git a/net/http/http_stream_factory_job_controller.cc b/net/http/http_stre
continue;
}
@@ -1371,8 +1367,7 @@ HttpStreamFactory::JobController::GetAdvertisedAltSvcInternal(
@@ -1395,8 +1391,7 @@ HttpStreamFactory::JobController::GetAdvertisedAltSvcInternal(
GURL destination = CreateAltSvcUrl(
request_info.url, alternative_service_info.GetHostPortPair());
- if (session_key.host() != destination.host_piece() &&
- if (session_key.host() != destination.host() &&
- !session_->context().quic_context->params()->allow_remote_alt_svc) {
+ if (session_key.host() != destination.host_piece()) {
+ if (session_key.host() != destination.host()) {
continue;
}
+7 -7
View File
@@ -22,7 +22,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -459,7 +459,6 @@ if (_is_default_toolchain) {
@@ -460,7 +460,6 @@ if (_is_default_toolchain) {
"//chrome/browser/recent_tabs:java",
"//chrome/browser/regional_capabilities/android:java",
"//chrome/browser/safe_browsing/android:java",
@@ -30,7 +30,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",
@@ -1145,8 +1144,6 @@ if (_is_default_toolchain) {
@@ -1151,8 +1150,6 @@ if (_is_default_toolchain) {
"//chrome/browser/recent_tabs:junit",
"//chrome/browser/recent_tabs/internal:junit",
"//chrome/browser/safe_browsing/android:junit",
@@ -39,7 +39,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",
@@ -1438,8 +1435,6 @@ if (_is_default_toolchain) {
@@ -1443,8 +1440,6 @@ if (_is_default_toolchain) {
"//chrome/browser/quick_delete:javatests",
"//chrome/browser/renderer_host/android:javatests",
"//chrome/browser/safe_browsing/android:javatests",
@@ -51,7 +51,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
@@ -960,7 +960,6 @@ chrome_java_sources = [
@@ -969,7 +969,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",
@@ -202,7 +202,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
import org.chromium.chrome.browser.password_manager.settings.PasswordSettings;
import org.chromium.chrome.browser.sync.settings.GoogleServicesSettings;
import org.chromium.chrome.browser.sync.settings.ManageSyncSettings;
@@ -106,7 +105,7 @@ public class SettingsNavigationImpl implements SettingsNavigation {
@@ -124,7 +123,7 @@ public class SettingsNavigationImpl implements SettingsNavigation {
case SettingsFragment.PAYMENT_METHODS:
return AutofillPaymentMethodsFragment.class;
case SettingsFragment.SAFETY_CHECK:
@@ -214,7 +214,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3450,7 +3450,6 @@ static_library("browser") {
@@ -3432,7 +3432,6 @@ static_library("browser") {
"//chrome/browser/recent_tabs:jni_headers",
"//chrome/browser/regional_capabilities",
"//chrome/browser/safe_browsing/android:safe_browsing_enums",
@@ -265,7 +265,7 @@ diff --git a/chrome/browser/safety_check/android/java/src/org/chromium/chrome/br
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/action/OmniboxPedal.java
@@ -57,9 +57,6 @@ public class OmniboxPedal extends OmniboxAction {
@@ -61,9 +61,6 @@ public class OmniboxPedal extends OmniboxAction {
case OmniboxPedalId.UPDATE_CREDIT_CARD:
delegate.openSettingsPage(SettingsFragment.PAYMENT_METHODS);
break;
@@ -45,18 +45,18 @@ 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
@@ -274,6 +274,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCCTExtendTrustedCdnPublisher,
&kCCTFixWarmup,
@@ -280,6 +280,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kCCTFreInSameTask,
&kCCTGoogleBottomBar,
&kCCTGoogleBottomBarVariantLayouts,
+ &kChromeSmartSelection,
&kCCTIncognitoAvailableToThirdParty,
&kCCTMinimizedEnabledByDefault,
&kCCTNavigationalPrefetch,
&kCCTNavigationMetrics,
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
@@ -614,6 +614,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
@@ -1136,7 +1136,6 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
@@ -982,7 +982,6 @@ public class SelectionPopupControllerImpl extends ActionModeCallbackHelper
public boolean canWebSearch() {
return hasSelection()
&& !isFocusedNodeEditable()
@@ -11,7 +11,7 @@ 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
@@ -1450,7 +1450,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
@@ -1430,7 +1430,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
site_isolation::prefs::kWebTriggeredIsolatedOrigins);
registry->RegisterDictionaryPref(
prefs::kDevToolsBackgroundServicesExpirationDict);
@@ -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
@@ -1454,7 +1454,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient(
@@ -1455,7 +1455,7 @@ ChromeContentRendererClient::CreateWorkerContentSettingsClient(
std::unique_ptr<media::SpeechRecognitionClient>
ChromeContentRendererClient::CreateSpeechRecognitionClient(
content::RenderFrame* render_frame) {
@@ -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
@@ -277,6 +277,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
@@ -276,6 +276,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
@@ -4984,9 +4984,14 @@ void Document::SetURL(const KURL& url) {
@@ -4985,9 +4985,14 @@ void Document::SetURL(const KURL& url) {
TRACE_EVENT_FLAG_FLOW_IN | TRACE_EVENT_FLAG_FLOW_OUT,
"url", new_url.GetString().Utf8());
@@ -92,7 +92,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -5077,10 +5077,9 @@
@@ -5068,10 +5068,9 @@
},
{
name: "TextFragmentIdentifiers",
@@ -20,7 +20,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/android_webview/common/aw_content_client.cc b/android_webview/common/aw_content_client.cc
--- a/android_webview/common/aw_content_client.cc
+++ b/android_webview/common/aw_content_client.cc
@@ -128,7 +128,6 @@ blink::OriginTrialPolicy* AwContentClient::GetOriginTrialPolicy() {
@@ -131,7 +131,6 @@ blink::OriginTrialPolicy* AwContentClient::GetOriginTrialPolicy() {
// flag to true after construction. This will work because trial token
// validator will always get the current instance of policy when needed.
if (IsDisableOriginTrialsSafeModeActionOn()) {
@@ -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
@@ -9716,7 +9716,6 @@ void NavigationRequest::SetSourceSiteInstanceToInitiatorIfNeeded() {
@@ -9765,7 +9765,6 @@ void NavigationRequest::SetSourceSiteInstanceToInitiatorIfNeeded() {
void NavigationRequest::ForceEnableOriginTrials(
const std::vector<std::string>& trials) {
DCHECK(!HasCommitted());
@@ -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
@@ -197,13 +197,6 @@ namespace {
@@ -196,13 +196,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;
}
@@ -217,16 +210,13 @@ std::vector<int> CopyInitiatorOriginTrials(
@@ -216,16 +209,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) {
@@ -3248,10 +3238,6 @@ void DocumentLoader::CreateParserPostCommit() {
@@ -3235,10 +3225,6 @@ void DocumentLoader::CreateParserPostCommit() {
mojom::blink::OriginTrialFeature::kTouchEventFeatureDetection);
}
+23 -23
View File
@@ -54,7 +54,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
namespace {
@@ -264,7 +262,6 @@ void MostVisitedSitesBridge::AddOrRemoveBlockedUrl(
@@ -265,7 +263,6 @@ void MostVisitedSitesBridge::AddOrRemoveBlockedUrl(
void MostVisitedSitesBridge::RecordPageImpression(
JNIEnv* env,
jint jtiles_count) {
@@ -62,7 +62,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
}
void MostVisitedSitesBridge::RecordTileImpression(
@@ -275,15 +272,6 @@ void MostVisitedSitesBridge::RecordTileImpression(
@@ -276,15 +273,6 @@ void MostVisitedSitesBridge::RecordTileImpression(
jint jtitle_source,
jint jsource,
const JavaParamRef<jobject>& jurl) {
@@ -78,7 +78,7 @@ diff --git a/chrome/browser/android/ntp/most_visited_sites_bridge.cc b/chrome/br
}
void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
@@ -292,11 +280,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
@@ -293,11 +281,6 @@ void MostVisitedSitesBridge::RecordOpenedMostVisitedItem(
jint tile_type,
jint title_source,
jint source) {
@@ -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
@@ -1164,7 +1164,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -1179,7 +1179,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
@@ -1396,7 +1396,6 @@ ChromeContentBrowserClient::ChromeContentBrowserClient() {
@@ -1376,7 +1376,6 @@ ChromeContentBrowserClient::ChromeContentBrowserClient() {
extra_parts_.push_back(
std::make_unique<ChromeContentBrowserClientExtensionsPart>());
#endif
@@ -116,15 +116,15 @@ 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
@@ -13,7 +13,6 @@
@@ -14,7 +14,6 @@
#include "chrome/browser/first_party_sets/first_party_sets_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"
#include "chrome/browser/plugins/pdf_iframe_navigation_throttle.h"
#include "chrome/browser/policy/chrome_policy_blocklist_service_factory.h"
#include "chrome/browser/policy/policy_util.h"
#include "chrome/browser/preloading/prefetch/no_state_prefetch/chrome_no_state_prefetch_contents_delegate.h"
@@ -257,18 +256,6 @@ void MaybeCreateAndAddVisitedLinkNavigationThrottle(
@@ -264,18 +263,6 @@ void MaybeCreateAndAddVisitedLinkNavigationThrottle(
void CreateAndAddChromeThrottlesForNavigation(
content::NavigationThrottleRegistry& registry) {
content::NavigationHandle& handle = registry.GetNavigationHandle();
@@ -143,7 +143,7 @@ diff --git a/chrome/browser/chrome_content_browser_client_navigation_throttles.c
#if BUILDFLAG(IS_ANDROID)
// TODO(davidben): This is insufficient to integrate with prerender properly.
// https://crbug.com/370595
@@ -374,8 +361,6 @@ void CreateAndAddChromeThrottlesForNavigation(
@@ -381,8 +368,6 @@ void CreateAndAddChromeThrottlesForNavigation(
}
}
@@ -169,7 +169,7 @@ diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/
diff --git a/chrome/browser/ui/search/ntp_user_data_logger.cc b/chrome/browser/ui/search/ntp_user_data_logger.cc
--- a/chrome/browser/ui/search/ntp_user_data_logger.cc
+++ b/chrome/browser/ui/search/ntp_user_data_logger.cc
@@ -385,8 +385,6 @@ void NTPUserDataLogger::LogMostVisitedImpression(
@@ -425,8 +425,6 @@ void NTPUserDataLogger::LogMostVisitedImpression(
void NTPUserDataLogger::LogMostVisitedNavigation(
const ntp_tiles::NTPTileImpression& impression) {
@@ -178,7 +178,7 @@ diff --git a/chrome/browser/ui/search/ntp_user_data_logger.cc b/chrome/browser/u
// Records the action. This will be available as a time-stamped stream
// server-side and can be used to compute time-to-long-dwell.
base::RecordAction(base::UserMetricsAction("MostVisited_Clicked"));
@@ -415,10 +413,8 @@ void NTPUserDataLogger::EmitNtpStatistics(base::TimeDelta load_time,
@@ -457,10 +455,8 @@ void NTPUserDataLogger::EmitNtpStatistics(base::TimeDelta load_time,
if (!impression.has_value()) {
break;
}
@@ -192,7 +192,7 @@ diff --git a/chrome/browser/ui/search/ntp_user_data_logger.cc b/chrome/browser/u
diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn
--- a/components/ntp_tiles/BUILD.gn
+++ b/components/ntp_tiles/BUILD.gn
@@ -28,8 +28,6 @@ static_library("ntp_tiles") {
@@ -33,8 +33,6 @@ static_library("ntp_tiles") {
"icon_cacher.h",
"icon_cacher_impl.cc",
"icon_cacher_impl.h",
@@ -201,7 +201,7 @@ diff --git a/components/ntp_tiles/BUILD.gn b/components/ntp_tiles/BUILD.gn
"most_visited_sites.cc",
"most_visited_sites.h",
"ntp_tile.cc",
@@ -120,7 +118,6 @@ source_set("unit_tests") {
@@ -125,7 +123,6 @@ source_set("unit_tests") {
"custom_links_manager_impl_unittest.cc",
"custom_links_store_unittest.cc",
"icon_cacher_impl_unittest.cc",
@@ -223,21 +223,21 @@ diff --git a/components/ntp_tiles/custom_links_manager_impl.cc b/components/ntp_
diff --git a/components/ntp_tiles/most_visited_sites.cc b/components/ntp_tiles/most_visited_sites.cc
--- a/components/ntp_tiles/most_visited_sites.cc
+++ b/components/ntp_tiles/most_visited_sites.cc
@@ -926,10 +926,6 @@ void MostVisitedSites::SaveTilesAndNotify(
? RemoveInvalidPreinstallApps(new_tiles)
: new_tiles;
@@ -931,10 +931,6 @@ void MostVisitedSites::SaveTilesAndNotify(
? RemoveInvalidPreinstallApps(new_tiles)
: new_tiles;
- if (fixed_tiles.size() != new_tiles.size()) {
- metrics::RecordsMigratedDefaultAppDeleted(TileType::kTopSites);
- }
- if (fixed_tiles.size() != new_tiles.size()) {
- metrics::RecordsMigratedDefaultAppDeleted(TileType::kTopSites);
- }
-
fixed_tiles = ImposeCustomLinks(std::move(fixed_tiles));
if (!current_tiles_.has_value() || (*current_tiles_ != fixed_tiles)) {
current_tiles_.emplace(std::move(fixed_tiles));
fixed_tiles = ImposeCustomLinks(std::move(fixed_tiles));
fixed_tiles = ImposeEnterpriseShortcuts(std::move(fixed_tiles));
diff --git a/components/performance_manager/persistence/site_data/leveldb_site_data_store.cc b/components/performance_manager/persistence/site_data/leveldb_site_data_store.cc
--- a/components/performance_manager/persistence/site_data/leveldb_site_data_store.cc
+++ b/components/performance_manager/persistence/site_data/leveldb_site_data_store.cc
@@ -32,7 +32,7 @@ namespace {
@@ -38,7 +38,7 @@ namespace {
#if !BUILDFLAG(IS_ANDROID)
// Disable some testing features in Android to reduce APK size.
@@ -19,7 +19,7 @@ diff --git a/chrome/browser/ui/startup/BUILD.gn b/chrome/browser/ui/startup/BUIL
"infobar_utils.h",
"launch_mode_recorder.h",
"obsolete_system_infobar_delegate.h",
@@ -155,7 +154,6 @@ source_set("impl") {
@@ -156,7 +155,6 @@ source_set("impl") {
if (!is_android) {
sources += [
"automation_infobar_delegate.cc",
@@ -19,7 +19,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
@@ -3081,7 +3081,6 @@ if (_is_default_toolchain) {
@@ -3087,7 +3087,6 @@ if (_is_default_toolchain) {
"../browser/share/android/java/src/org/chromium/chrome/browser/share/link_to_text/LinkToTextBridge.java",
"../browser/share/android/java/src/org/chromium/chrome/browser/share/long_screenshots/bitmap_generation/LongScreenshotsTabService.java",
"../browser/share/android/java/src/org/chromium/chrome/browser/share/long_screenshots/bitmap_generation/LongScreenshotsTabServiceFactory.java",
@@ -30,7 +30,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
@@ -120,7 +120,6 @@ import org.chromium.chrome.browser.recent_tabs.RestoreTabsFeatureHelper;
@@ -130,7 +130,6 @@ import org.chromium.chrome.browser.recent_tabs.RestoreTabsFeatureHelper;
import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
import org.chromium.chrome.browser.share.ShareDelegate;
import org.chromium.chrome.browser.share.ShareDelegate.ShareOrigin;
@@ -38,7 +38,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
import org.chromium.chrome.browser.share.scroll_capture.ScrollCaptureManager;
import org.chromium.chrome.browser.tab.AccessibilityVisibilityHandler;
import org.chromium.chrome.browser.tab.AutofillSessionLifetimeController;
@@ -657,10 +656,6 @@ public class RootUiCoordinator
@@ -727,10 +726,6 @@ public class RootUiCoordinator
}
public void onAttachFragment(Fragment fragment) {
@@ -52,7 +52,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
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
@@ -2009,7 +2009,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -1825,7 +1825,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(prefs::kUiAutomationProviderEnabled, false);
#endif
@@ -155,7 +155,7 @@ diff --git a/chrome/browser/sharing_hub/sharing_hub_features.cc b/chrome/browser
diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc
--- a/chrome/browser/ui/browser_command_controller.cc
+++ b/chrome/browser/ui/browser_command_controller.cc
@@ -2014,10 +2014,10 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() {
@@ -2028,10 +2028,10 @@ void BrowserCommandController::UpdateCommandsForFullscreenMode() {
command_updater_.UpdateCommandEnabled(IDC_CHROME_WHATS_NEW, show_main_ui);
#endif
command_updater_.UpdateCommandEnabled(IDC_CONTENT_CONTEXT_SHARING_SUBMENU,
@@ -172,7 +172,7 @@ diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui
diff --git a/chrome/browser/ui/browser_commands.cc b/chrome/browser/ui/browser_commands.cc
--- a/chrome/browser/ui/browser_commands.cc
+++ b/chrome/browser/ui/browser_commands.cc
@@ -1941,6 +1941,7 @@ void SendTabToSelf(Browser* browser) {
@@ -1984,6 +1984,7 @@ void SendTabToSelf(Browser* browser) {
}
bool CanGenerateQrCode(const Browser* browser) {
@@ -14,7 +14,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/base/BUILD.gn b/base/BUILD.gn
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -1117,7 +1117,7 @@ component("base") {
@@ -1126,7 +1126,7 @@ component("base") {
# more robust check for this.
if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos)) &&
host_toolchain != "//build/toolchain/cros:host") {

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