(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
diff --git a/build/patches/Backport-v143-android-extensions-changes.patch b/build/patches/Backport-v143-android-extensions-changes.patch
index 6dc2ca62..11228e84 100644
--- a/build/patches/Backport-v143-android-extensions-changes.patch
+++ b/build/patches/Backport-v143-android-extensions-changes.patch
@@ -6,8 +6,8 @@ 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.
-+ *
-+ * This method is for a subclass of {@link ChromeActivity} that needs windowing support on
-+ * Java and/or native side(s).
-+ *
-+ *
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 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 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 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 omniboxFocusStateSupplier,
OneshotSupplier promoShownOneshotSupplier,
WindowAndroid windowAndroid,
@@ -343,18 +178,18 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
Supplier isInOverviewModeSupplier,
Supplier modalDialogManagerSupplier,
StatusBarColorController statusBarColorController,
-@@ -1103,6 +1106,7 @@ public class ToolbarManager
+@@ -1127,6 +1130,7 @@ public class ToolbarManager
mActivity,
extensionToolbarStub,
windowAndroid,
+ chromeAndroidTaskSupplier,
- profileSupplier,
- tabProvider,
+ (ObservableSupplier) profileSupplier,
+ (ObservableSupplier) 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 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 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 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",
diff --git a/build/patches/Block-gateway-attacks-via-websockets.patch b/build/patches/Block-gateway-attacks-via-websockets.patch
index f5335965..ff90f965 100644
--- a/build/patches/Block-gateway-attacks-via-websockets.patch
+++ b/build/patches/Block-gateway-attacks-via-websockets.patch
@@ -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,
+@@ -391,6 +391,7 @@ class CORE_EXPORT ExecutionContext : public Supplementable,
void SetAddressSpace(network::mojom::blink::IPAddressSpace ip_address_space);
HeapObserverList& ContextLifecycleObserverSet();
diff --git a/build/patches/Block-leakage-of-urls-in-sandbox-iframes.patch b/build/patches/Block-leakage-of-urls-in-sandbox-iframes.patch
index 92fbe294..3b7f2296 100644
--- a/build/patches/Block-leakage-of-urls-in-sandbox-iframes.patch
+++ b/build/patches/Block-leakage-of-urls-in-sandbox-iframes.patch
@@ -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();
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));
}
diff --git a/build/patches/Block-qjz9zk-or-trk-requests.patch b/build/patches/Block-qjz9zk-or-trk-requests.patch
index c7d34b52..2771f753 100644
--- a/build/patches/Block-qjz9zk-or-trk-requests.patch
+++ b/build/patches/Block-qjz9zk-or-trk-requests.patch
@@ -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",
diff --git a/build/patches/Bromite-auto-updater.patch b/build/patches/Bromite-auto-updater.patch
index 88a9ee6a..04b688ba 100644
--- a/build/patches/Bromite-auto-updater.patch
+++ b/build/patches/Bromite-auto-updater.patch
@@ -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(
/*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
Chrome updates are no longer supported for this version of Android
@@ -1630,7 +1630,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
-@@ -4255,7 +4261,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d
+@@ -4315,7 +4321,10 @@ To change this setting, BEGIN_LINKdelete the Chrome d
@@ -1642,7 +1642,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
Newer version is available
-@@ -4266,6 +4275,18 @@ To change this setting, BEGIN_LINKdelete the Chrome d
+@@ -4326,6 +4335,18 @@ To change this setting, BEGIN_LINKdelete the Chrome d
Android version is unsupported
@@ -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 AccountChecker::CreateEndpointFetcher(
+@@ -327,7 +327,7 @@ std::unique_ptr AccountChecker::CreateEndpointFetcher(
.SetPostData(post_data);
MaybeUseAlternateShoppingServer(request_params);
return std::make_unique(
@@ -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 ClusterServerProxy::CreateEndpointFetcher(
+@@ -156,7 +156,7 @@ std::unique_ptr ClusterServerProxy::CreateEndpointFetcher(
.SetPostData(post_data);
commerce::MaybeUseAlternateShoppingServer(request_params);
return std::make_unique(
@@ -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(
@@ -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(
@@ -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 PreviewServerProxy::CreateEndpointFetcher(
+@@ -346,7 +346,7 @@ std::unique_ptr PreviewServerProxy::CreateEndpointFetcher(
+ .SetContentType(kContentType)
+ .SetTimeout(kTimeout)
.SetUrl(url)
- .SetOauthScopes(std::vector{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& 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();
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 error_type;
scoped_refptr headers;
-@@ -314,7 +320,16 @@ class EndpointFetcher {
+@@ -301,7 +307,16 @@ class EndpointFetcher {
EndpointFetcher(
const scoped_refptr& 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 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 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 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 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 BaseProvider::CreateEndpointFetcher(
- .SetOauthScopes(scopes)
- .SetOauthConsumerName(oauth_consumer_name)
+@@ -140,7 +140,7 @@ std::unique_ptr BaseProvider::CreateEndpointFetcher(
+ .SetUrl(url)
+ .SetOAuthConsumerId(signin::OAuthConsumerId::kManta)
.SetPostData(post_data)
- .Build());
+ .Build(), annotation_tag);
}
std::unique_ptr BaseProvider::CreateEndpointFetcherForDemoMode(
-@@ -163,7 +163,7 @@ std::unique_ptr BaseProvider::CreateEndpointFetcherForDemoMode(
+@@ -158,7 +158,7 @@ std::unique_ptr 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
diff --git a/build/patches/Bubble-Locking-on-UI-DevTools.patch b/build/patches/Bubble-Locking-on-UI-DevTools.patch
index 49b9b49d..a91e5acf 100644
--- a/build/patches/Bubble-Locking-on-UI-DevTools.patch
+++ b/build/patches/Bubble-Locking-on-UI-DevTools.patch
@@ -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();
diff --git a/build/patches/Chrome-web-store-protection.patch b/build/patches/Chrome-web-store-protection.patch
index 59c168c6..d4d00b3f 100644
--- a/build/patches/Chrome-web-store-protection.patch
+++ b/build/patches/Chrome-web-store-protection.patch
@@ -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(®istry_->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 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.
diff --git a/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch b/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch
index 88636bb7..84514312 100644
--- a/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch
+++ b/build/patches/Clear-CORS-Preflight-Cache-on-clearing-data.patch
@@ -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) {
diff --git a/build/patches/Client-hints-overrides.patch b/build/patches/Client-hints-overrides.patch
index 6c55ae48..af8007ba 100644
--- a/build/patches/Client-hints-overrides.patch
+++ b/build/patches/Client-hints-overrides.patch
@@ -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
diff --git a/build/patches/Close-Sessions-On-Ip-Change.patch b/build/patches/Close-Sessions-On-Ip-Change.patch
index fbce7cbc..256bbe55 100644
--- a/build/patches/Close-Sessions-On-Ip-Change.patch
+++ b/build/patches/Close-Sessions-On-Ip-Change.patch
@@ -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 =
diff --git a/build/patches/Compress-libchrome-to-free-up-some-space.patch b/build/patches/Compress-libchrome-to-free-up-some-space.patch
index ef077093..f60bdcf4 100644
--- a/build/patches/Compress-libchrome-to-free-up-some-space.patch
+++ b/build/patches/Compress-libchrome-to-free-up-some-space.patch
@@ -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" ]
diff --git a/build/patches/Cromite-Branding--improve-settings-ui.patch b/build/patches/Cromite-Branding--improve-settings-ui.patch
index f97bd304..c1472052 100644
--- a/build/patches/Cromite-Branding--improve-settings-ui.patch
+++ b/build/patches/Cromite-Branding--improve-settings-ui.patch
@@ -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",
diff --git a/build/patches/Cromite-Branding.patch b/build/patches/Cromite-Branding.patch
index 0872fd44..d1d1c667 100644
--- a/build/patches/Cromite-Branding.patch
+++ b/build/patches/Cromite-Branding.patch
@@ -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.
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
@@ -13461,7 +13448,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
Application version
-@@ -5536,7 +5536,7 @@ To change this setting, BEGIN_LINKdelete the Chrome d
+@@ -5758,7 +5758,7 @@ To change this setting, BEGIN_LINKdelete the Chrome d
@@ -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 @@
@@ -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);
}
diff --git a/build/patches/Dictionary-suggestions-for-the-Omnibox.patch b/build/patches/Dictionary-suggestions-for-the-Omnibox.patch
index 1dfde8d4..17f396bd 100644
--- a/build/patches/Dictionary-suggestions-for-the-Omnibox.patch
+++ b/build/patches/Dictionary-suggestions-for-the-Omnibox.patch
@@ -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;
diff --git a/build/patches/Disable-CSS-blink-feature-support.patch b/build/patches/Disable-CSS-blink-feature-support.patch
index 29c20441..402611e7 100644
--- a/build/patches/Disable-CSS-blink-feature-support.patch
+++ b/build/patches/Disable-CSS-blink-feature-support.patch
@@ -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();
diff --git a/build/patches/Disable-CSSDynamicRangeLimit.patch b/build/patches/Disable-CSSDynamicRangeLimit.patch
index 5200fda9..9ff8e6e5 100644
--- a/build/patches/Disable-CSSDynamicRangeLimit.patch
+++ b/build/patches/Disable-CSSDynamicRangeLimit.patch
@@ -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",
diff --git a/build/patches/Disable-Compose-feature.patch b/build/patches/Disable-Compose-feature.patch
index 257c473b..33907761 100644
--- a/build/patches/Disable-Compose-feature.patch
+++ b/build/patches/Disable-Compose-feature.patch
@@ -4,50 +4,16 @@ 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 +-
components/compose/core/browser/compose_features.cc | 2 ++
components/compose/features.gni | 2 +-
- 4 files changed, 11 insertions(+), 4 deletions(-)
+ 3 files changed, 4 insertions(+), 2 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));
+@@ -354,7 +354,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui)
+ base::FeatureList::IsEnabled(permissions::features::kKeyboardLockPrompt));
#if BUILDFLAG(ENABLE_COMPOSE)
- const bool compose_enabled = ComposeEnabling::IsEnabledForProfile(profile);
diff --git a/build/patches/Disable-Compression-Dictionary-Transport.patch b/build/patches/Disable-Compression-Dictionary-Transport.patch
index ff16711d..3a1999d2 100644
--- a/build/patches/Disable-Compression-Dictionary-Transport.patch
+++ b/build/patches/Disable-Compression-Dictionary-Transport.patch
@@ -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);
diff --git a/build/patches/Disable-FedCm.patch b/build/patches/Disable-FedCm.patch
index b33efa59..8e6b7889 100644
--- a/build/patches/Disable-FedCm.patch
+++ b/build/patches/Disable-FedCm.patch
@@ -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,
diff --git a/build/patches/Disable-GSA-by-default.patch b/build/patches/Disable-GSA-by-default.patch
index 85071dd9..1b6272f8 100644
--- a/build/patches/Disable-GSA-by-default.patch
+++ b/build/patches/Disable-GSA-by-default.patch
@@ -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 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) {
diff --git a/build/patches/Disable-GetInstalledRelatedApps-API.patch b/build/patches/Disable-GetInstalledRelatedApps-API.patch
index 271cc6f7..2a1ccdc1 100644
--- a/build/patches/Disable-GetInstalledRelatedApps-API.patch
+++ b/build/patches/Disable-GetInstalledRelatedApps-API.patch
@@ -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",
},
{
diff --git a/build/patches/Disable-PrivacyGuide.patch b/build/patches/Disable-PrivacyGuide.patch
index 816a1081..17f68d94 100644
--- a/build/patches/Disable-PrivacyGuide.patch
+++ b/build/patches/Disable-PrivacyGuide.patch
@@ -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(
--
diff --git a/build/patches/Disable-Real-Box.patch b/build/patches/Disable-Real-Box.patch
index fb52c17a..c62696f8 100644
--- a/build/patches/Disable-Real-Box.patch
+++ b/build/patches/Disable-Real-Box.patch
@@ -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_}">
-
${this.showComposebox_ ? html`
- &
optimization_types) {
@@ -236,13 +236,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(
Profile::FromBrowserContext(browser_context)));
@@ -273,7 +273,7 @@ diff --git a/chrome/browser/permissions/prediction_service/passage_embedder_dele
diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc
--- a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc
+++ b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc
-@@ -718,6 +718,7 @@ bool PermissionsAiUiSelector::ShouldHoldBack(
+@@ -673,6 +673,7 @@ bool PermissionsAiUiSelector::ShouldHoldBack(
PredictionSource PermissionsAiUiSelector::GetPredictionTypeToUse(
permissions::RequestType request_type) {
@@ -284,21 +284,26 @@ diff --git a/chrome/browser/permissions/prediction_service/permissions_ai_ui_sel
diff --git a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc
--- a/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc
+++ b/chrome/browser/permissions/prediction_service/prediction_model_handler_provider.cc
-@@ -13,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(
+@@ -56,7 +57,10 @@ PredictionModelHandlerProvider::PredictionModelHandlerProvider(
OptimizationGuideKeyedService* optimization_guide,
passage_embeddings::EmbedderMetadataProvider* embedder_metadata_provider,
passage_embeddings::Embedder* passage_embedder)
@@ -313,7 +318,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 +328,8 @@ diff --git a/chrome/browser/permissions/prediction_service/prediction_model_hand
passage_embeddings::EmbedderMetadata metadata) override;
+#endif
- std::unique_ptr permissions_aiv1_handler_;
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
+ std::unique_ptr
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 +387,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
+@@ -148,3 +148,7 @@ const base::FeatureParam
kSuppressesSearchPrefetchOnSlowNetworkThreshold{
&kSuppressesSearchPrefetchOnSlowNetwork,
"slow_network_threshold_for_search_prefetch", base::Milliseconds(208)};
@@ -404,10 +409,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 +431,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 +439,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 NotificationContentDetectionServiceFactory::
BuildServiceInstanceForBrowserContext(
content::BrowserContext* context) const {
@@ -442,7 +447,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 +455,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 background_task_runner =
-@@ -88,6 +91,9 @@ NotificationContentDetectionServiceFactory::
+@@ -89,6 +92,9 @@ NotificationContentDetectionServiceFactory::
{base::MayBlock(), base::TaskPriority::BEST_EFFORT});
return std::make_unique(
opt_guide, background_task_runner, database_manager, context);
@@ -463,18 +468,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 +491,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 +509,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 +594,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 +602,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 instance;
-@@ -40,6 +43,7 @@ std::vector GetDependencyHeads(base::span input) {
+@@ -39,6 +42,7 @@ std::vector GetDependencyHeads(base::span input) {
? dependency_parser_model.GetDependencyHeads(input)
: std::vector();
}
@@ -605,7 +610,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 +624,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 +650,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 tokens,
+@@ -297,6 +308,7 @@ void ReadAloudAppModel::UpdatePhraseBoundaries(std::vector tokens,
current_phrase_calculation_index_ = -1;
LOG(WARNING) << "All phrases calculated!";
}
@@ -712,7 +717,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 +725,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 +733,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 +744,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 +776,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);
@@ -784,7 +789,7 @@ diff --git a/chrome/renderer/accessibility/read_anything/read_anything_app_contr
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 +801,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 +815,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 +826,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 +849,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/
GeoIpCountryCode country_code;
LanguageCode current_page_language;
std::unique_ptr log_manager;
-@@ -707,6 +709,7 @@ void AutofillManager::ParseFormsAsyncCommon(
+@@ -710,6 +712,7 @@ void AutofillManager::ParseFormsAsyncCommon(
}
}
@@ -852,7 +857,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 +865,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 +873,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 +883,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 +1068,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 +1076,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 +1125,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& 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 +1174,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 +1195,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 +1205,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,7 +1255,7 @@ 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") {
+@@ -42,6 +42,13 @@ source_set("notification_content_detection") {
]
}
@@ -1267,7 +1272,7 @@ diff --git a/components/safe_browsing/content/browser/notification_content_detec
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 context,
scoped_refptr version) {
@@ -1395,7 +1400,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 +1411,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(*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(
-- 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 +1467,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 +1478,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 +1489,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 +1497,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
--
diff --git a/build/patches/Disable-all-promo-dialogs.patch b/build/patches/Disable-all-promo-dialogs.patch
index 73f45d83..2c8a0bae 100644
--- a/build/patches/Disable-all-promo-dialogs.patch
+++ b/build/patches/Disable-all-promo-dialogs.patch
@@ -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 {
diff --git a/build/patches/Disable-conversion-measurement-api.patch b/build/patches/Disable-conversion-measurement-api.patch
index 946d6405..465bfda3 100644
--- a/build/patches/Disable-conversion-measurement-api.patch
+++ b/build/patches/Disable-conversion-measurement-api.patch
@@ -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.
-
- {% endif %}
+
+
-
@@ -30,12 +30,12 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
diff --git a/chrome/browser/ui/views/toolbar/toolbar_view.cc b/chrome/browser/ui/views/toolbar/toolbar_view.cc
--- a/chrome/browser/ui/views/toolbar/toolbar_view.cc
+++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc
-@@ -562,7 +562,7 @@ void ToolbarView::Update(WebContents* tab) {
- }
+@@ -572,7 +572,7 @@ void ToolbarView::Update(WebContents* tab) {
- if (reload_) {
-- reload_->SetMenuEnabled(chrome::IsDebuggerAttachedToCurrentTab(browser_));
-+ reload_->SetMenuEnabled(true);
+ if (ReloadControl* reload_control = GetReloadButton(); reload_control) {
+ reload_control->SetMenuEnabled(
+- chrome::IsDebuggerAttachedToCurrentTab(browser_));
++ true);
}
}
diff --git a/build/patches/Enable-native-Android-autofill.patch b/build/patches/Enable-native-Android-autofill.patch
index 0c3a23e5..8a1225e0 100644
--- a/build/patches/Enable-native-Android-autofill.patch
+++ b/build/patches/Enable-native-Android-autofill.patch
@@ -187,7 +187,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/password_manage
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSettings.java
-@@ -457,20 +457,8 @@ public class MainSettings extends ChromeBaseSettingsFragment
+@@ -465,20 +465,8 @@ public class MainSettings extends ChromeBaseSettingsFragment
}
private void updateAutofillPreferences() {
@@ -213,7 +213,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/MainSe
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.java
-@@ -117,6 +117,13 @@ import java.nio.ByteBuffer;
+@@ -120,6 +120,13 @@ import java.nio.ByteBuffer;
import java.util.Objects;
import java.util.function.Supplier;
@@ -227,7 +227,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
/**
* Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}. This
* class is not intended to be extended.
-@@ -1132,6 +1139,11 @@ class TabImpl implements Tab {
+@@ -1269,6 +1276,11 @@ class TabImpl implements Tab {
for (TabObserver observer : mObservers) observer.onDestroyed(this);
mObservers.clear();
@@ -239,7 +239,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
mUserDataHost.destroy();
mTabViewManager.destroy();
hideNativePage(false, null);
-@@ -1449,7 +1461,7 @@ class TabImpl implements Tab {
+@@ -1612,7 +1624,7 @@ class TabImpl implements Tab {
* @return iff the AutofillProvider should provide a ViewStructure when prompted.
*/
boolean providesAutofillStructure() {
@@ -248,7 +248,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
if (mProfile == null || !mProfile.isNativeInitialized()) {
return false;
}
-@@ -2253,16 +2265,21 @@ class TabImpl implements Tab {
+@@ -2378,16 +2390,21 @@ class TabImpl implements Tab {
* @return true if the the provider is available for the given WebContents.
*/
private boolean prepareAutofillProvider(WebContents newWebContents) {
@@ -276,7 +276,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
// TODO: crbug.com/432447902 — Provide only an activity context and push changes.
mAutofillProvider =
new AutofillProvider(
-@@ -2272,7 +2289,16 @@ class TabImpl implements Tab {
+@@ -2397,7 +2414,16 @@ class TabImpl implements Tab {
getContext().getString(R.string.app_name));
TabImplJni.get().initializeAutofillIfNecessary(mNativeTabAndroid);
}
@@ -297,7 +297,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_android.cc
--- a/chrome/browser/android/tab_android.cc
+++ b/chrome/browser/android/tab_android.cc
-@@ -36,6 +36,7 @@
+@@ -38,6 +38,7 @@
#include "chrome/browser/resource_coordinator/tab_load_tracker.h"
#include "chrome/browser/sync/glue/synced_tab_delegate_android.h"
#include "chrome/browser/tab_contents/tab_util.h"
@@ -305,7 +305,7 @@ diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_
#include "chrome/browser/ui/android/context_menu_helper.h"
#include "chrome/browser/ui/android/tab_model/tab_model.h"
#include "chrome/browser/ui/android/tab_model/tab_model_list.h"
-@@ -449,8 +450,7 @@ void TabAndroid::InitializeAutofillIfNecessary(JNIEnv* env) {
+@@ -447,8 +448,7 @@ void TabAndroid::InitializeAutofillIfNecessary(JNIEnv* env) {
->MaybeInitKeyboardSuppressor();
return;
}
@@ -344,7 +344,7 @@ diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillThirdPartyModeContentProvider.java b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillThirdPartyModeContentProvider.java
--- a/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillThirdPartyModeContentProvider.java
+++ b/chrome/browser/autofill/android/java/src/org/chromium/chrome/browser/autofill/AutofillThirdPartyModeContentProvider.java
-@@ -74,6 +74,7 @@ public final class AutofillThirdPartyModeContentProvider extends ContentProvider
+@@ -75,6 +75,7 @@ public final class AutofillThirdPartyModeContentProvider extends ContentProvider
@Nullable String selection,
String @Nullable [] selectionArgs,
@Nullable String sortOrder) {
@@ -355,7 +355,7 @@ diff --git a/chrome/browser/autofill/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
-@@ -314,6 +314,12 @@ CHAR_LIMIT guidelines:
+@@ -317,6 +317,12 @@ CHAR_LIMIT guidelines:
You and Google
@@ -495,7 +495,7 @@ diff --git a/chrome/browser/ui/autofill/autofill_client_provider.h b/chrome/brow
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
-@@ -400,9 +400,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
+@@ -406,9 +406,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
web_contents);
ChainedBackNavigationTracker::CreateForWebContents(web_contents);
chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents);
@@ -509,7 +509,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
diff --git a/components/android_autofill/browser/BUILD.gn b/components/android_autofill/browser/BUILD.gn
--- a/components/android_autofill/browser/BUILD.gn
+++ b/components/android_autofill/browser/BUILD.gn
-@@ -41,6 +41,7 @@ android_library("java") {
+@@ -42,6 +42,7 @@ android_library("java") {
"java/src/org/chromium/components/autofill/AutofillRequest.java",
"java/src/org/chromium/components/autofill/AutofillSelectionActionMenuDelegate.java",
"java/src/org/chromium/components/autofill/AutofillSelectionMenuItemHelper.java",
@@ -745,7 +745,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver.h b/com
diff --git a/components/autofill/content/browser/content_autofill_driver_factory.cc b/components/autofill/content/browser/content_autofill_driver_factory.cc
--- a/components/autofill/content/browser/content_autofill_driver_factory.cc
+++ b/components/autofill/content/browser/content_autofill_driver_factory.cc
-@@ -24,6 +24,12 @@
+@@ -25,6 +25,12 @@
#include "content/public/browser/web_contents.h"
#include "third_party/blink/public/common/features.h"
@@ -758,7 +758,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver_factory
namespace autofill {
class ScopedAutofillManagersObservation;
-@@ -128,6 +134,12 @@ ContentAutofillDriver* ContentAutofillDriverFactory::DriverForFrame(
+@@ -134,6 +140,12 @@ ContentAutofillDriver* ContentAutofillDriverFactory::DriverForFrame(
return nullptr;
}
driver = std::make_unique(render_frame_host, this);
@@ -774,7 +774,7 @@ diff --git a/components/autofill/content/browser/content_autofill_driver_factory
diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components/autofill/content/renderer/autofill_agent.cc
--- a/components/autofill/content/renderer/autofill_agent.cc
+++ b/components/autofill/content/renderer/autofill_agent.cc
-@@ -1545,14 +1545,19 @@ void AutofillAgent::ShowSuggestions(
+@@ -1547,14 +1547,19 @@ void AutofillAgent::ShowSuggestions(
password_generation_agent_->ShowPasswordGenerationSuggestions(
input_element, form_cache)) {
is_popup_possibly_visible_ = true;
@@ -797,7 +797,7 @@ diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components
diff --git a/components/autofill/content/renderer/password_autofill_agent.cc b/components/autofill/content/renderer/password_autofill_agent.cc
--- a/components/autofill/content/renderer/password_autofill_agent.cc
+++ b/components/autofill/content/renderer/password_autofill_agent.cc
-@@ -858,7 +858,10 @@ void PasswordAutofillAgent::UpdatePasswordStateForTextChange(
+@@ -851,7 +851,10 @@ void PasswordAutofillAgent::UpdatePasswordStateForTextChange(
void PasswordAutofillAgent::TrackAutofilledElement(
const WebFormControlElement& element) {
@@ -838,7 +838,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_driver_factor
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
-@@ -236,6 +236,8 @@ class AutofillManager
+@@ -238,6 +238,8 @@ class AutofillManager
LifecycleState new_state,
base::PassKey pass_key);
@@ -850,7 +850,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/c
diff --git a/components/autofill/core/browser/foundations/browser_autofill_manager.cc b/components/autofill/core/browser/foundations/browser_autofill_manager.cc
--- a/components/autofill/core/browser/foundations/browser_autofill_manager.cc
+++ b/components/autofill/core/browser/foundations/browser_autofill_manager.cc
-@@ -827,6 +827,8 @@ base::WeakPtr BrowserAutofillManager::GetWeakPtr() {
+@@ -828,6 +828,8 @@ base::WeakPtr BrowserAutofillManager::GetWeakPtr() {
return weak_ptr_factory_.GetWeakPtr();
}
@@ -862,7 +862,7 @@ diff --git a/components/autofill/core/browser/foundations/browser_autofill_manag
diff --git a/components/autofill/core/browser/foundations/browser_autofill_manager.h b/components/autofill/core/browser/foundations/browser_autofill_manager.h
--- a/components/autofill/core/browser/foundations/browser_autofill_manager.h
+++ b/components/autofill/core/browser/foundations/browser_autofill_manager.h
-@@ -458,6 +458,8 @@ class BrowserAutofillManager : public AutofillManager {
+@@ -460,6 +460,8 @@ class BrowserAutofillManager : public AutofillManager {
// latter check is needed because IPC messages can arrive out of order.
void UpdateInitialInteractionTimestamp(base::TimeTicks interaction_timestamp);
@@ -874,7 +874,7 @@ diff --git a/components/autofill/core/browser/foundations/browser_autofill_manag
diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc
--- a/components/autofill/core/common/autofill_features.cc
+++ b/components/autofill/core/common/autofill_features.cc
-@@ -797,7 +797,6 @@ BASE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid,
+@@ -871,7 +871,6 @@ BASE_FEATURE(kAutofillEnableSecurityTouchEventFilteringAndroid,
// virtual view structures to third party providers.
BASE_FEATURE(kAutofillThirdPartyModeContentProvider,
base::FEATURE_ENABLED_BY_DEFAULT);
@@ -885,7 +885,7 @@ diff --git a/components/autofill/core/common/autofill_features.cc b/components/a
diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/autofill/core/common/autofill_prefs.cc
--- a/components/autofill/core/common/autofill_prefs.cc
+++ b/components/autofill/core/common/autofill_prefs.cc
-@@ -69,6 +69,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -75,6 +75,8 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(kAutofillCreditCardFidoAuthOfferCheckboxState,
true);
#endif
@@ -894,7 +894,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
registry->RegisterIntegerPref(kAutocompleteLastVersionRetentionPolicy, 0);
registry->RegisterStringPref(kAutofillUploadEncodingSeed, "");
registry->RegisterDictionaryPref(kAutofillVoteUploadEvents);
-@@ -108,7 +110,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -114,7 +116,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_ANDROID)
@@ -906,7 +906,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
diff --git a/components/autofill/core/common/autofill_prefs.h b/components/autofill/core/common/autofill_prefs.h
--- a/components/autofill/core/common/autofill_prefs.h
+++ b/components/autofill/core/common/autofill_prefs.h
-@@ -128,6 +128,11 @@ inline constexpr char kAutofillWasNameAndEmailProfileUsed[] =
+@@ -140,6 +140,11 @@ inline constexpr char kAutofillWasNameAndEmailProfileUsed[] =
// retention policy was run.
inline constexpr char kAutocompleteLastVersionRetentionPolicy[] =
"autocomplete.retention_policy_last_version";
diff --git a/build/patches/Enable-network-isolation-features.patch b/build/patches/Enable-network-isolation-features.patch
index e0f3ca12..2b91edde 100644
--- a/build/patches/Enable-network-isolation-features.patch
+++ b/build/patches/Enable-network-isolation-features.patch
@@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc
--- a/chrome/browser/net/profile_network_context_service.cc
+++ b/chrome/browser/net/profile_network_context_service.cc
-@@ -446,8 +446,8 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) {
+@@ -454,8 +454,8 @@ bool GetHttpCacheBackendResetParam(PrefService* local_state) {
experiment_parts.push_back(kDiskCacheExperimentNameNone);
// SplitCacheByIncludeCredentials experiment:
experiment_parts.push_back(credentials_field_trial
@@ -55,7 +55,7 @@ new file mode 100644
diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
--- a/net/http/http_cache.cc
+++ b/net/http/http_cache.cc
-@@ -705,7 +705,7 @@ bool HttpCache::CanGenerateCacheKeyForRequest(const HttpRequestInfo* request) {
+@@ -705,7 +705,7 @@ bool HttpCache::CanGenerateCacheKeyForRequest(const HttpRequestInfo& request) {
// static
// Generate a key that can be used inside the cache.
@@ -64,7 +64,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
const GURL& url,
int load_flags,
const NetworkIsolationKey& network_isolation_key,
-@@ -743,8 +743,8 @@ std::string HttpCache::GenerateCacheKey(
+@@ -744,8 +744,8 @@ std::string HttpCache::GenerateCacheKey(
const bool is_initiator_cross_site =
!net::SchemefulSite::IsSameSite(*initiator, url::Origin::Create(url));
if (is_initiator_cross_site) {
@@ -75,29 +75,30 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
}
}
isolation_key = base::StrCat(
-@@ -759,9 +759,11 @@ std::string HttpCache::GenerateCacheKey(
+@@ -764,10 +764,12 @@ std::string HttpCache::GenerateCacheKey(
// Strip out the reference, username, and password sections of the URL and
// concatenate with the credential_key, the post_key, and the network
// isolation key if we are splitting the cache.
-- return base::StringPrintf("%c/%" PRId64 "/%s%s", credential_key,
-+ auto key = base::StringPrintf("%c/%" PRId64 "/%s%s", credential_key,
- upload_data_identifier, isolation_key.c_str(),
- HttpUtil::SpecForRequest(url).c_str());
+- return base::StringPrintf(
++ auto key = base::StringPrintf(
+ "%c/%" PRId64 "/%s%s", credential_key, upload_data_identifier,
+ isolation_key.c_str(),
+ include_url ? HttpUtil::SpecForRequest(url).c_str() : "");
+ // LOG(INFO) << "---key=" << key;
+ return key;
}
// static
-@@ -784,11 +786,13 @@ HttpCache::GenerateCacheKeyForRequestWithAlternateURL(
+@@ -788,11 +790,13 @@ std::optional HttpCache::GenerateCacheKeyInternal(
const int64_t upload_data_identifier =
- request->upload_data_stream ? request->upload_data_stream->identifier()
- : int64_t(0);
+ request.upload_data_stream ? request.upload_data_stream->identifier()
+ : int64_t{0};
- return GenerateCacheKey(
+ auto key = GenerateCacheKey2(
- url, request->load_flags, request->network_isolation_key,
- upload_data_identifier, request->is_subframe_document_resource,
- request->is_main_frame_navigation, request->is_shared_resource,
- request->initiator);
+ url, request.load_flags, request.network_isolation_key,
+ upload_data_identifier, request.is_subframe_document_resource,
+ request.is_main_frame_navigation, request.is_shared_resource,
+ request.initiator, include_url);
+ if (key.empty()) return std::nullopt;
+ return key;
}
@@ -106,7 +107,7 @@ diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc
diff --git a/net/http/http_cache.h b/net/http/http_cache.h
--- a/net/http/http_cache.h
+++ b/net/http/http_cache.h
-@@ -533,7 +533,7 @@ class NET_EXPORT HttpCache : public HttpTransactionFactory {
+@@ -546,7 +546,7 @@ class NET_EXPORT HttpCache : public HttpTransactionFactory {
// Generates a cache key given the various pieces used to construct the key.
// Must not be called if a corresponding `CanGenerateCacheKeyForRequest`
// returns false.
diff --git a/build/patches/Enable-platform-aac-audio-and-h264-video.patch b/build/patches/Enable-platform-aac-audio-and-h264-video.patch
index f39aab5c..5381b2ee 100644
--- a/build/patches/Enable-platform-aac-audio-and-h264-video.patch
+++ b/build/patches/Enable-platform-aac-audio-and-h264-video.patch
@@ -13,14 +13,14 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
media/BUILD.gn | 2 ++
.../src/org/chromium/media/AudioManagerAndroid.java | 2 ++
media/base/android/media_codec_util.cc | 4 ++++
- media/base/win/mf_helpers.cc | 5 +++++
+ media/base/win/mf_helpers.cc | 4 ++++
media/filters/ffmpeg_audio_decoder.cc | 10 ++++++++++
media/filters/ffmpeg_demuxer.cc | 1 +
media/filters/ffmpeg_video_decoder.cc | 11 +++++++++++
media/filters/win/media_foundation_audio_decoder.cc | 9 +++++++++
media/gpu/windows/supported_profile_helpers.cc | 13 ++++++++++++-
media/media_options.gni | 8 ++++++++
- 11 files changed, 71 insertions(+), 1 deletion(-)
+ 11 files changed, 70 insertions(+), 1 deletion(-)
create mode 100644 cromite_flags/media/base/media_switches_cc/Enable-platform-aac-audio-and-h264-video.inc
diff --git a/cromite_flags/media/base/media_switches_cc/Enable-platform-aac-audio-and-h264-video.inc b/cromite_flags/media/base/media_switches_cc/Enable-platform-aac-audio-and-h264-video.inc
@@ -50,7 +50,7 @@ diff --git a/media/BUILD.gn b/media/BUILD.gn
diff --git a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java b/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
--- a/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
+++ b/media/base/android/java/src/org/chromium/media/AudioManagerAndroid.java
-@@ -668,6 +668,8 @@ class AudioManagerAndroid {
+@@ -669,6 +669,8 @@ class AudioManagerAndroid {
break;
}
}
@@ -70,7 +70,7 @@ diff --git a/media/base/android/media_codec_util.cc b/media/base/android/media_c
#include "media/base/android/media_codec_bridge.h"
#include "media/base/video_codecs.h"
#include "third_party/re2/src/re2/re2.h"
-@@ -107,6 +108,9 @@ std::string MediaCodecUtil::CodecToAndroidMimeType(AudioCodec codec) {
+@@ -103,6 +104,9 @@ std::string MediaCodecUtil::CodecToAndroidMimeType(AudioCodec codec) {
// static
std::string MediaCodecUtil::CodecToAndroidMimeType(AudioCodec codec,
SampleFormat sample_format) {
@@ -83,15 +83,7 @@ diff --git a/media/base/android/media_codec_util.cc b/media/base/android/media_c
diff --git a/media/base/win/mf_helpers.cc b/media/base/win/mf_helpers.cc
--- a/media/base/win/mf_helpers.cc
+++ b/media/base/win/mf_helpers.cc
-@@ -28,6 +28,7 @@
- #include "gpu/command_buffer/service/shared_image/shared_image_manager.h"
- #include "gpu/command_buffer/service/shared_image/shared_image_representation.h"
- #include "gpu/ipc/common/dxgi_helpers.h"
-+#include "media/media_buildflags.h"
- #include "media/base/audio_codecs.h"
- #include "media/base/audio_decoder_config.h"
- #include "media/base/channel_layout.h"
-@@ -479,7 +480,11 @@ HRESULT GetAacAudioType(const AudioDecoderConfig& decoder_config,
+@@ -483,7 +483,11 @@ HRESULT GetAacAudioType(const AudioDecoderConfig& decoder_config,
size_t extra_size = wave_format_size - sizeof(WAVEFORMATEX);
aac_wave_format->wfx.cbSize = static_cast(extra_size);
@@ -126,7 +118,7 @@ diff --git a/media/filters/ffmpeg_audio_decoder.cc b/media/filters/ffmpeg_audio_
diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
--- a/media/filters/ffmpeg_demuxer.cc
+++ b/media/filters/ffmpeg_demuxer.cc
-@@ -808,6 +808,7 @@ void FFmpegDemuxerStream::InitBitstreamConverter() {
+@@ -725,6 +725,7 @@ void FFmpegDemuxerStream::InitBitstreamConverter() {
// FFmpeg doesn't understand xHE-AAC profiles yet, which can't be put in
// ADTS anyways, so skip bitstream conversion when the profile is
// unknown.
@@ -165,7 +157,7 @@ diff --git a/media/filters/ffmpeg_video_decoder.cc b/media/filters/ffmpeg_video_
diff --git a/media/filters/win/media_foundation_audio_decoder.cc b/media/filters/win/media_foundation_audio_decoder.cc
--- a/media/filters/win/media_foundation_audio_decoder.cc
+++ b/media/filters/win/media_foundation_audio_decoder.cc
-@@ -106,11 +106,15 @@ std::optional GetTypeInfo(
+@@ -102,11 +102,15 @@ std::optional GetTypeInfo(
#endif
#if BUILDFLAG(USE_PROPRIETARY_CODECS)
case AudioCodec::kAAC:
@@ -181,7 +173,7 @@ diff --git a/media/filters/win/media_foundation_audio_decoder.cc b/media/filters
#endif
#if BUILDFLAG(ENABLE_PLATFORM_AC4_AUDIO)
case AudioCodec::kAC4:
-@@ -332,8 +336,13 @@ void MediaFoundationAudioDecoder::Reset(base::OnceClosure reset_cb) {
+@@ -328,8 +332,13 @@ void MediaFoundationAudioDecoder::Reset(base::OnceClosure reset_cb) {
}
bool MediaFoundationAudioDecoder::NeedsBitstreamConversion() const {
diff --git a/build/patches/Enable-search-engine-settings-desktop-ui.patch b/build/patches/Enable-search-engine-settings-desktop-ui.patch
index bf872cf7..e786d1e6 100644
--- a/build/patches/Enable-search-engine-settings-desktop-ui.patch
+++ b/build/patches/Enable-search-engine-settings-desktop-ui.patch
@@ -142,7 +142,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
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
-@@ -2249,6 +2249,9 @@
+@@ -2297,6 +2297,9 @@
URL with %s in place of query
@@ -420,7 +420,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
-@@ -3718,6 +3718,9 @@ static_library("browser") {
+@@ -3714,6 +3714,9 @@ static_library("browser") {
"//components/user_scripts/android",
]
}
@@ -433,7 +433,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc b/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc
--- a/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc
+++ b/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc
-@@ -366,6 +366,9 @@ void PopulateChromeWebUIFrameBindersPartsDesktop(
+@@ -370,6 +370,9 @@ void PopulateChromeWebUIFrameBindersPartsDesktop(
#endif // !BUILDFLAG(IS_CHROMEOS)
>(map);
@@ -442,7 +442,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop
+#endif
RegisterWebUIControllerInterfaceBinder<
help_bubble::mojom::HelpBubbleHandlerFactory, UserEducationInternalsUI,
- settings::SettingsUI, ReadingListUI, NewTabPageUI, CustomizeChromeUI,
+ ReadingListUI, NewTabPageUI, CustomizeChromeUI, PasswordManagerUI,
diff --git a/chrome/browser/extensions/extension_util.h b/chrome/browser/extensions/extension_util.h
--- a/chrome/browser/extensions/extension_util.h
+++ b/chrome/browser/extensions/extension_util.h
@@ -872,7 +872,7 @@ diff --git a/chrome/browser/search_engines/android/java/src/org/chromium/chrome/
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
-@@ -684,7 +684,11 @@ static_library("ui") {
+@@ -687,7 +687,11 @@ static_library("ui") {
deps += [ "//chrome/browser/ui/android/extensions/windowing/internal" ]
}
}
@@ -885,7 +885,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
# TODO(crbug.com/413572035): Move into build files of the actual
# modules depending on this. eg: autofill, user_education.
if (is_chrome_branded) {
-@@ -1012,6 +1016,25 @@ static_library("ui") {
+@@ -1023,6 +1027,25 @@ static_library("ui") {
"//extensions/browser:extension_action_enums",
]
}
@@ -1107,7 +1107,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
-@@ -443,4 +448,7 @@ void RegisterChromeWebUIConfigs() {
+@@ -445,4 +450,7 @@ void RegisterChromeWebUIConfigs() {
#if BUILDFLAG(ENTERPRISE_WATERMARK)
map.AddWebUIConfig(std::make_unique());
#endif
@@ -1324,7 +1324,7 @@ diff --git a/chrome/browser/ui/webui/settings/search_engines_handler.h b/chrome/
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
-@@ -2586,6 +2586,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) {
+@@ -2743,6 +2743,8 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) {
{"searchEnginesQueryURL", IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL},
{"searchEnginesQueryURLExplanation",
IDS_SETTINGS_SEARCH_ENGINES_QUERY_URL_EXPLANATION},
@@ -1333,7 +1333,7 @@ diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provide
{"searchEnginesMakeDefault", IDS_SETTINGS_SEARCH_ENGINES_MAKE_DEFAULT},
{"searchEnginesActivate", IDS_SETTINGS_SEARCH_ENGINES_ACTIVATE},
{"searchEnginesDeactivate", IDS_SETTINGS_SEARCH_ENGINES_DEACTIVATE},
-@@ -3879,7 +3881,11 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
+@@ -4042,7 +4044,11 @@ void AddLocalizedStrings(content::WebUIDataSource* html_source,
AddSiteSettingsStrings(html_source, profile);
AddSiteDataPageStrings(html_source, profile);
AddStorageAccessStrings(html_source);
@@ -1893,7 +1893,7 @@ diff --git a/components/search_engines/search_engines_switches.cc b/components/s
diff --git a/components/search_engines/template_url.cc b/components/search_engines/template_url.cc
--- a/components/search_engines/template_url.cc
+++ b/components/search_engines/template_url.cc
-@@ -2149,6 +2149,10 @@ void TemplateURL::SetURL(const std::string& url) {
+@@ -2158,6 +2158,10 @@ void TemplateURL::SetURL(const std::string& url) {
url_ref().InvalidateCachedValues();
}
@@ -1907,7 +1907,7 @@ diff --git a/components/search_engines/template_url.cc b/components/search_engin
diff --git a/components/search_engines/template_url.h b/components/search_engines/template_url.h
--- a/components/search_engines/template_url.h
+++ b/components/search_engines/template_url.h
-@@ -1012,6 +1012,7 @@ class TemplateURL {
+@@ -1014,6 +1014,7 @@ class TemplateURL {
bool CreatedByRegulatoryProgram() const;
void SetURL(const std::string& url);
@@ -1918,7 +1918,7 @@ diff --git a/components/search_engines/template_url.h b/components/search_engine
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
-@@ -804,13 +804,15 @@ TemplateURL* TemplateURLService::AddWithOverrides(
+@@ -803,13 +803,15 @@ TemplateURL* TemplateURLService::AddWithOverrides(
std::unique_ptr template_url,
const std::u16string& short_name,
const std::u16string& keyword,
@@ -1935,7 +1935,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear
return Add(std::move(template_url));
}
-@@ -1031,7 +1033,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) {
+@@ -1030,7 +1032,8 @@ void TemplateURLService::IncrementUsageCount(TemplateURL* url) {
void TemplateURLService::ResetTemplateURL(TemplateURL* url,
const std::u16string& title,
const std::u16string& keyword,
@@ -1945,7 +1945,7 @@ diff --git a/components/search_engines/template_url_service.cc b/components/sear
DCHECK(!IsCreatedByExtension(*url));
DCHECK(!keyword.empty());
DCHECK(!search_url.empty());
-@@ -1051,6 +1054,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url,
+@@ -1050,6 +1053,7 @@ void TemplateURLService::ResetTemplateURL(TemplateURL* url,
// The urls have changed, reset the favicon url.
data.favicon_url = GURL();
}
@@ -2335,7 +2335,7 @@ diff --git a/ui/webui/resources/css/BUILD.gn b/ui/webui/resources/css/BUILD.gn
diff --git a/ui/webui/resources/images/BUILD.gn b/ui/webui/resources/images/BUILD.gn
--- a/ui/webui/resources/images/BUILD.gn
+++ b/ui/webui/resources/images/BUILD.gn
-@@ -59,7 +59,7 @@ generate_grd("build_grdp") {
+@@ -60,7 +60,7 @@ generate_grd("build_grdp") {
]
}
diff --git a/build/patches/Enable-share-intent.patch b/build/patches/Enable-share-intent.patch
index b40cf07b..0e9d3b0a 100644
--- a/build/patches/Enable-share-intent.patch
+++ b/build/patches/Enable-share-intent.patch
@@ -34,7 +34,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
-@@ -588,6 +588,7 @@ chrome_java_resources = [
+@@ -597,6 +597,7 @@ chrome_java_resources = [
"java/res/layout/shopping_accessory_view_layout.xml",
"java/res/layout/status_indicator_container.xml",
"java/res/layout/suggestions_tile_view_condensed.xml",
@@ -45,7 +45,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
-@@ -1007,6 +1007,7 @@ chrome_java_sources = [
+@@ -1022,6 +1022,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/signin/SigninCheckerProvider.java",
"java/src/org/chromium/chrome/browser/signin/SigninFirstRunFragment.java",
"java/src/org/chromium/chrome/browser/signin/SigninManagerImpl.java",
@@ -56,7 +56,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
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
-@@ -260,12 +260,6 @@ by a child template that "extends" this file.
+@@ -271,12 +271,6 @@ by a child template that "extends" this file.
@@ -69,7 +69,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
-@@ -344,6 +338,10 @@ by a child template that "extends" this file.
+@@ -355,6 +349,10 @@ by a child template that "extends" this file.
@@ -80,7 +80,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
-@@ -380,6 +378,24 @@ by a child template that "extends" this file.
+@@ -391,6 +389,24 @@ by a child template that "extends" this file.
@@ -211,7 +211,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
/** A hash code for the URL to verify intent data hasn't been modified. */
public static final String EXTRA_DATA_HASH_CODE = "org.chromium.chrome.browser.data_hash";
-@@ -1533,6 +1536,17 @@ public class IntentHandler {
+@@ -1536,6 +1539,17 @@ public class IntentHandler {
return IntentUtils.safeGetIntExtra(intent, EXTRA_DEST_TAB_ID, Tab.INVALID_TAB_ID);
}
@@ -229,7 +229,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
/**
* Creates an Intent that will launch a ChromeTabbedActivity on the new tab page. The Intent
* will be trusted and therefore able to launch Incognito tabs.
-@@ -1734,7 +1748,7 @@ public class IntentHandler {
+@@ -1737,7 +1751,7 @@ public class IntentHandler {
String headers = getExtraHeadersFromIntent(intent);
headers = maybeAddAdditionalContentHeaders(intent, url, headers);
@@ -241,7 +241,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.j
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
-@@ -48,6 +48,7 @@ import org.chromium.chrome.browser.notifications.NotificationPlatformBridge;
+@@ -52,6 +52,7 @@ import org.chromium.chrome.browser.notifications.NotificationPlatformBridge;
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.profiles.ProfileManager;
@@ -249,7 +249,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
import org.chromium.chrome.browser.searchwidget.SearchActivity;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityClient;
-@@ -224,11 +225,22 @@ public class LaunchIntentDispatcher {
+@@ -229,11 +230,22 @@ public class LaunchIntentDispatcher {
String query = null;
final String action = intent.getAction();
@@ -272,7 +272,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
// Only the ChromeLauncherActivity can handle search intents. Drop the intent and abort the
// launch.
-@@ -507,8 +519,8 @@ public class LaunchIntentDispatcher {
+@@ -511,8 +523,8 @@ public class LaunchIntentDispatcher {
/*incognito*/true);
newIntent.setData(mIntent.getData());
newIntent.setPackage(applicationContext.getPackageName());
@@ -285,7 +285,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/LaunchIntentDis
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
-@@ -106,6 +106,7 @@ import org.chromium.chrome.browser.tabmodel.TabPersistentStore;
+@@ -107,6 +107,7 @@ import org.chromium.chrome.browser.tabmodel.TabPersistentStoreImpl;
import org.chromium.chrome.browser.ui.cars.DrivingRestrictionsManager;
import org.chromium.chrome.browser.ui.hats.SurveyClientFactory;
import org.chromium.chrome.browser.ui.searchactivityutils.SearchActivityPreferencesManager;
@@ -293,7 +293,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni
import org.chromium.chrome.browser.usb.UsbNotificationManager;
import org.chromium.chrome.browser.util.AfterStartupTaskUtils;
import org.chromium.chrome.browser.webapps.ChromeWebApkHost;
-@@ -719,6 +720,7 @@ public class ProcessInitializationHandler {
+@@ -730,6 +731,7 @@ public class ProcessInitializationHandler {
tasks.add(WebApkUninstallTracker::runDeferredTasks);
@@ -468,7 +468,7 @@ new file mode 100644
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
-@@ -403,6 +403,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
+@@ -408,6 +408,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kRelatedSearchesAllLanguage,
&kRelatedSearchesSwitch,
&kReloadTabUiResourcesIfChanged,
@@ -479,7 +479,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
-@@ -573,6 +573,7 @@ public abstract class ChromeFeatureList {
+@@ -578,6 +578,7 @@ public abstract class ChromeFeatureList {
"ReadAloudIPHMenuButtonHighlightCCT";
public static final String READALOUD_PLAYBACK = "ReadAloudPlayback";
public static final String READALOUD_TAP_TO_SEEK = "ReadAloudTapToSeek";
@@ -490,7 +490,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
-@@ -6089,6 +6089,19 @@ To change this setting, BEGIN_LINKdelete the Chrome d
+@@ -6326,6 +6326,19 @@ To change this setting, BEGIN_LINKdelete the Chrome d
Make sure a phone app is enabled on this device
diff --git a/build/patches/Enable-snackbar-swipe.patch b/build/patches/Enable-snackbar-swipe.patch
index c5e31df6..0efad72a 100644
--- a/build/patches/Enable-snackbar-swipe.patch
+++ b/build/patches/Enable-snackbar-swipe.patch
@@ -74,7 +74,7 @@ diff --git a/chrome/browser/ui/messages/android/java/src/org/chromium/chrome/bro
mSnackbarView = mContainerView.findViewById(R.id.snackbar);
mAnimationDuration =
mContainerView.getResources().getInteger(android.R.integer.config_mediumAnimTime);
-@@ -503,4 +523,58 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
+@@ -505,4 +525,58 @@ public class SnackbarView implements InsetObserver.WindowInsetObserver {
public @Nullable EdgeToEdgePadAdjuster getEdgeToEdgePadAdjusterForTesting() {
return mEdgeToEdgePadAdjuster;
}
diff --git a/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch b/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch
index 7da4ab16..e2d7f654 100644
--- a/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch
+++ b/build/patches/Enables-deactivation-of-the-js-debugger-statement.patch
@@ -28,7 +28,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts b/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts
--- a/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts
+++ b/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.ts
-@@ -183,6 +183,9 @@ export class DebuggerModel extends SDKModel {
+@@ -187,6 +187,9 @@ export class DebuggerModel extends SDKModel {
Common.Settings.Settings.instance()
.moduleSetting('disable-async-stack-traces')
.addChangeListener(this.asyncStackTracesStateChanged, this);
@@ -38,7 +38,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.
Common.Settings.Settings.instance()
.moduleSetting('breakpoints-active')
.addChangeListener(this.breakpointsActiveChanged, this);
-@@ -196,6 +199,7 @@ export class DebuggerModel extends SDKModel {
+@@ -200,6 +203,7 @@ export class DebuggerModel extends SDKModel {
Common.Settings.Settings.instance()
.moduleSetting('js-source-maps-enabled')
.addChangeListener(event => this.#sourceMapManager.setEnabled((event.data as boolean)));
@@ -46,7 +46,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/DebuggerModel.
const resourceTreeModel = (target.model(ResourceTreeModel) as ResourceTreeModel);
if (resourceTreeModel) {
-@@ -387,6 +391,11 @@ export class DebuggerModel extends SDKModel {
+@@ -391,6 +395,11 @@ export class DebuggerModel extends SDKModel {
return this.agent.invoke_setAsyncCallStackDepth({maxDepth});
}
@@ -101,7 +101,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/core/sdk/sdk-meta.ts b/
diff --git a/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.js b/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.js
--- a/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.js
+++ b/third_party/devtools-frontend/src/front_end/generated/InspectorBackendCommands.js
-@@ -1483,6 +1483,10 @@ inspectorBackend.registerCommand("Debugger.resume", [{"name": "terminateOnResume
+@@ -1481,6 +1481,10 @@ inspectorBackend.registerCommand("Debugger.resume", [{"name": "terminateOnResume
inspectorBackend.registerCommand("Debugger.searchInContent", [{"name": "scriptId", "type": "string", "optional": false, "description": "Id of the script to search in.", "typeRef": "Runtime.ScriptId"}, {"name": "query", "type": "string", "optional": false, "description": "String to search for.", "typeRef": null}, {"name": "caseSensitive", "type": "boolean", "optional": true, "description": "If true, search is case sensitive.", "typeRef": null}, {"name": "isRegex", "type": "boolean", "optional": true, "description": "If true, treats string parameter as regex.", "typeRef": null}], ["result"], "Searches for given string in script content.");
inspectorBackend.registerCommand("Debugger.setAsyncCallStackDepth", [{"name": "maxDepth", "type": "number", "optional": false, "description": "Maximum depth of async call stacks. Setting to `0` will effectively disable collecting async call stacks (default).", "typeRef": null}], [], "Enables or disables async call stacks tracking.");
inspectorBackend.registerCommand("Debugger.setBlackboxExecutionContexts", [{"name": "uniqueIds", "type": "array", "optional": false, "description": "Array of execution context unique ids for the debugger to ignore.", "typeRef": "string"}], [], "Replace previous blackbox execution contexts with passed ones. Forces backend to skip stepping/pausing in scripts in these execution contexts. VM will try to leave blackboxed script by performing 'step in' several times, finally resorting to 'step out' if unsuccessful.");
@@ -115,7 +115,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/InspectorBack
diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts b/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts
--- a/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts
+++ b/third_party/devtools-frontend/src/front_end/generated/protocol-mapping.d.ts
-@@ -5158,6 +5158,10 @@ export namespace ProtocolMapping {
+@@ -5150,6 +5150,10 @@ export namespace ProtocolMapping {
paramsType: [Protocol.Debugger.SetBlackboxExecutionContextsRequest];
returnType: void;
};
@@ -129,7 +129,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-mapp
diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts b/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts
--- a/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts
+++ b/third_party/devtools-frontend/src/front_end/generated/protocol-proxy-api.d.ts
-@@ -4619,6 +4619,8 @@ declare namespace ProtocolProxyApi {
+@@ -4606,6 +4606,8 @@ declare namespace ProtocolProxyApi {
*/
invoke_setBlackboxExecutionContexts(params: Protocol.Debugger.SetBlackboxExecutionContextsRequest): Promise;
@@ -141,7 +141,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol-prox
diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol.ts b/third_party/devtools-frontend/src/front_end/generated/protocol.ts
--- a/third_party/devtools-frontend/src/front_end/generated/protocol.ts
+++ b/third_party/devtools-frontend/src/front_end/generated/protocol.ts
-@@ -19935,6 +19935,10 @@ export namespace Debugger {
+@@ -19882,6 +19882,10 @@ export namespace Debugger {
uniqueIds: string[];
}
@@ -155,7 +155,7 @@ diff --git a/third_party/devtools-frontend/src/front_end/generated/protocol.ts b
diff --git a/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json b/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json
--- a/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json
+++ b/third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json
-@@ -30279,8 +30279,17 @@
+@@ -30227,8 +30227,17 @@
"$ref": "WasmDisassemblyChunk"
}
]
@@ -175,7 +175,7 @@ diff --git a/third_party/devtools-frontend/src/third_party/blink/public/devtools
"name": "nextWasmDisassemblyChunk",
"description": "Disassemble the next chunk of lines for the module corresponding to the\nstream. If disassembly is complete, this API will invalidate the streamId\nand return an empty chunk. Any subsequent calls for the now invalid stream\nwill return errors.",
"experimental": true,
-@@ -33470,4 +33479,4 @@
+@@ -33418,4 +33427,4 @@
]
}
]
@@ -199,7 +199,7 @@ diff --git a/v8/include/js_protocol.pdl b/v8/include/js_protocol.pdl
diff --git a/v8/src/common/message-template.h b/v8/src/common/message-template.h
--- a/v8/src/common/message-template.h
+++ b/v8/src/common/message-template.h
-@@ -759,6 +759,7 @@ namespace internal {
+@@ -761,6 +761,7 @@ namespace internal {
/* AggregateError */ \
T(AllPromisesRejected, "All promises were rejected") \
T(CannotDeepFreezeObject, "Cannot DeepFreeze object of type %") \
diff --git a/build/patches/Experimental-support-for-extensions-on-Android.patch b/build/patches/Experimental-support-for-extensions-on-Android.patch
index 1bf121f6..cb745a27 100644
--- a/build/patches/Experimental-support-for-extensions-on-Android.patch
+++ b/build/patches/Experimental-support-for-extensions-on-Android.patch
@@ -13,20 +13,19 @@ folder in case of a crash on startup.
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
android_webview/BUILD.gn | 2 +-
- base/android/device_info.cc | 6 ++-
+ base/android/device_info.cc | 6 +-
base/android/device_info.h | 3 +-
- .../src/org/chromium/base/DeviceInfo.java | 6 ++-
+ .../src/org/chromium/base/DeviceInfo.java | 6 +-
build/BUILD.gn | 2 +-
build/config/android/rules.gni | 4 +-
- build/config/chrome_build.gni | 7 +--
+ build/config/chrome_build.gni | 7 +-
build/config/compiler/BUILD.gn | 2 +-
build/config/compiler/pgo/BUILD.gn | 2 +-
- chrome/android/BUILD.gn | 6 +--
+ chrome/android/BUILD.gn | 6 +-
chrome/android/chrome_public_apk_tmpl.gni | 2 +-
- .../java/res/layout/manage_space_activity.xml | 14 ++++-
- .../java/res/xml/developer_preferences.xml | 6 +++
+ .../java/res/layout/manage_space_activity.xml | 14 +++-
+ .../java/res/xml/developer_preferences.xml | 6 ++
.../browser/ChromeBaseAppCompatActivity.java | 2 +-
- .../chrome/browser/SwipeRefreshHandler.java | 2 +-
.../AppMenuPropertiesDelegateImpl.java | 2 +-
.../settings/AppearanceSettingsFragment.java | 2 +-
.../overlays/strip/StripLayoutUtils.java | 2 +-
@@ -35,81 +34,81 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../MediaCaptureNotificationServiceImpl.java | 8 +--
.../browser/multiwindow/MultiWindowUtils.java | 2 +-
.../ChromeSiteSettingsDelegate.java | 2 +-
- .../site_settings/ManageSpaceActivity.java | 20 +++++++
+ .../site_settings/ManageSpaceActivity.java | 20 ++++++
...InterceptNavigationDelegateClientImpl.java | 2 +-
- .../browser/tab/RequestDesktopUtils.java | 6 +--
+ .../browser/tab/RequestDesktopUtils.java | 6 +-
.../tab/TabContextMenuItemDelegate.java | 4 +-
.../TabbedAppMenuPropertiesDelegate.java | 2 +-
.../tabbed_mode/TabbedRootUiCoordinator.java | 2 +-
.../chrome/browser/ui/RootUiCoordinator.java | 2 +-
- chrome/app/extensions_strings.grdp | 7 +++
+ chrome/app/extensions_strings.grdp | 7 ++
chrome/app/theme/theme_resources.grd | 4 +-
chrome/browser/BUILD.gn | 8 +--
chrome/browser/about_flags.cc | 4 ++
...chrome_selection_dropdown_menu_delegate.cc | 4 +-
- .../bookmarks/bar/BookmarkBarUtils.java | 6 +--
+ .../bookmarks/bar/BookmarkBarUtils.java | 6 +-
.../bar/BookmarkBarVisibilityProvider.java | 2 +-
chrome/browser/browser_process_impl.cc | 2 +-
- chrome/browser/chrome_browser_field_trials.cc | 54 +++++++++----------
+ chrome/browser/chrome_browser_field_trials.cc | 72 +++++++++----------
.../chrome_browser_interface_binders_webui.cc | 4 +-
.../browser/chrome_content_browser_client.cc | 4 +-
chrome/browser/devtools/BUILD.gn | 2 +-
.../chrome_download_manager_delegate.cc | 2 +-
- chrome/browser/extensions/BUILD.gn | 12 ++++-
+ chrome/browser/extensions/BUILD.gn | 12 +++-
.../chrome_extensions_api_client_android.cc | 2 +-
.../extensions/extension_management.cc | 8 ++-
.../browser/extensions/extension_management.h | 2 +-
- chrome/browser/extensions/extension_util.cc | 11 ++++
+ chrome/browser/extensions/extension_util.cc | 11 +++
.../feedback/DeviceInfoFeedbackSource.java | 2 +-
chrome/browser/media/router/BUILD.gn | 4 +-
.../browser/media/router/discovery/BUILD.gn | 2 +-
- .../media/router/media_router_feature.cc | 10 ++--
+ .../media/router/media_router_feature.cc | 10 +--
.../media/router/media_router_feature.h | 2 +-
.../media/webrtc/webrtc_event_log_manager.cc | 4 +-
.../policy_value_and_status_aggregator.cc | 2 +-
...hrome_browser_main_extra_parts_profiles.cc | 2 +-
- .../profiles/off_the_record_profile_impl.cc | 9 +++-
+ .../profiles/off_the_record_profile_impl.cc | 9 ++-
chrome/browser/profiles/profile_destroyer.cc | 2 +-
chrome/browser/resources/BUILD.gn | 2 +-
chrome/browser/resources/discards/BUILD.gn | 2 +-
- .../resources/extensions/detail_view.css | 6 +++
+ .../resources/extensions/detail_view.css | 6 ++
.../resources/extensions/extensions.html | 8 ++-
- .../resources/extensions/item_list.css | 11 ++++
- .../resources/extensions/toolbar.html.ts | 7 ---
+ .../resources/extensions/item_list.css | 11 +++
+ .../resources/extensions/toolbar.html.ts | 7 --
...omeProvidedSharingOptionsProviderBase.java | 4 +-
- chrome/browser/startup_data.cc | 6 +--
- chrome/browser/startup_data.h | 6 +--
+ chrome/browser/startup_data.cc | 6 +-
+ chrome/browser/startup_data.h | 6 +-
.../common/task_manager_features.cc | 2 +-
- chrome/browser/ui/BUILD.gn | 6 +--
- .../browser/ui/android/context_menu_helper.cc | 6 +--
+ chrome/browser/ui/BUILD.gn | 6 +-
+ .../browser/ui/android/context_menu_helper.cc | 6 +-
.../browser/ui/android/context_menu_helper.h | 4 +-
chrome/browser/ui/android/extensions/BUILD.gn | 4 +-
- .../extensions/extension_actions_bridge.cc | 23 ++++++++
+ .../extensions/extension_actions_bridge.cc | 23 ++++++
.../extensions/extension_actions_bridge.h | 1 +
.../res/layout/extensions_menu_footer.xml | 3 +-
.../extensions/java/res/values/dimens.xml | 1 +
- .../ui/extensions/ExtensionActionsBridge.java | 6 +++
+ .../ui/extensions/ExtensionActionsBridge.java | 6 ++
.../extensions/windowing/internal/BUILD.gn | 2 +-
- .../Enable-extensions-Android.grdp | 15 ++++++
- .../Extensions-Android.grdp | 9 ++++
+ .../Enable-extensions-Android.grdp | 15 ++++
+ .../Extensions-Android.grdp | 9 +++
chrome/browser/ui/android/tab_model/BUILD.gn | 4 +-
- .../browser/ui/android/tab_model/tab_model.cc | 6 +--
+ .../browser/ui/android/tab_model/tab_model.cc | 6 +-
.../browser/ui/android/tab_model/tab_model.h | 2 +-
- .../android/tab_model/tab_model_jni_bridge.cc | 12 ++---
+ .../android/tab_model/tab_model_jni_bridge.cc | 12 ++--
.../android/tab_model/tab_model_test_helper.h | 2 +-
- .../toolbar/java/res/layout/toolbar_phone.xml | 6 +++
+ .../toolbar/java/res/layout/toolbar_phone.xml | 6 ++
.../ExtensionActionListContainer.java | 8 ++-
- .../ExtensionToolbarCoordinatorImpl.java | 10 +++-
- .../extensions/ExtensionsMenuCoordinator.java | 7 ++-
+ .../ExtensionToolbarCoordinatorImpl.java | 10 ++-
+ .../extensions/ExtensionsMenuCoordinator.java | 7 +-
.../ExtensionsMenuItemProperties.java | 5 +-
.../ExtensionsMenuItemViewBinder.java | 2 +
- .../extensions/ExtensionsMenuMediator.java | 9 +++-
+ .../extensions/ExtensionsMenuMediator.java | 9 ++-
chrome/browser/ui/browser_navigator_params.cc | 4 +-
chrome/browser/ui/browser_navigator_params.h | 4 +-
chrome/browser/ui/browser_window/BUILD.gn | 2 +-
.../ui/browser_window/internal/BUILD.gn | 2 +-
chrome/browser/ui/prefs/BUILD.gn | 4 +-
- chrome/browser/ui/prefs/prefs_tab_helper.cc | 10 ++--
+ chrome/browser/ui/prefs/prefs_tab_helper.cc | 10 +--
chrome/browser/ui/tabs/tab_list_interface.h | 4 +-
chrome/browser/ui/webid/BUILD.gn | 2 +-
.../browser/ui/webui/chrome_web_ui_configs.cc | 4 +-
@@ -119,12 +118,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
chrome/common/BUILD.gn | 2 +-
chrome/common/chrome_switches.cc | 2 +-
chrome/common/chrome_switches.h | 2 +-
- chrome/common/extensions/api/api_sources.gni | 7 +++
+ chrome/common/extensions/api/api_sources.gni | 7 ++
chrome/common/webui_url_constants.cc | 2 +-
chrome/common/webui_url_constants.h | 2 +-
- chrome/test/BUILD.gn | 14 ++---
+ chrome/test/BUILD.gn | 14 ++--
chrome/version.gni | 2 +-
- .../core/browser/host_content_settings_map.cc | 6 +++
+ .../core/browser/host_content_settings_map.cc | 6 ++
.../embedder_support/view/ContentView.java | 2 +-
.../browser/android/media_router_android.cc | 2 +-
.../browser/android/media_router_android.h | 2 +-
@@ -135,22 +134,22 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../cloud/user_policy_signin_service_base.cc | 2 +-
.../common/cloud/cloud_policy_constants.cc | 2 +-
.../service/variations_service_client.cc | 2 +-
- .../installable/installable_icon_fetcher.cc | 6 +--
+ .../installable/installable_icon_fetcher.cc | 6 +-
.../installable/installable_icon_fetcher.h | 2 +-
.../version/resources/about_version.html | 2 +-
content/browser/browser_main_loop.cc | 2 +-
.../media/video_capture_manager.cc | 4 +-
- .../media/video_capture_manager.h | 6 +--
- .../browser/ContentUiEventHandler.java | 7 +--
+ .../media/video_capture_manager.h | 6 +-
+ .../browser/ContentUiEventHandler.java | 7 +-
content/public/common/content_features.cc | 2 +-
- .../about_flags_cc/Extensions-Android.inc | 12 +++++
+ .../about_flags_cc/Extensions-Android.inc | 12 ++++
.../about_flags_cc/Webstore-protection.inc | 8 +--
extensions/browser/BUILD.gn | 4 +-
...browser_context_keyed_service_factories.cc | 2 +-
extensions/browser/api/system_cpu/BUILD.gn | 2 +-
.../api/web_request/permission_helper.cc | 2 +-
extensions/browser/extension_frame_host.cc | 8 +++
- extensions/browser/extension_host.cc | 24 +++++++--
+ extensions/browser/extension_host.cc | 24 ++++++-
extensions/buildflags/BUILD.gn | 3 +-
extensions/buildflags/buildflags.gni | 4 +-
extensions/common/api/schema.gni | 2 +-
@@ -160,24 +159,23 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
extensions/common/features/feature.cc | 2 +-
.../renderer/bindings/api_binding_util.cc | 2 +-
gpu/config/gpu_finch_features.cc | 4 +-
- gpu/vulkan/vulkan_util.cc | 2 +-
net/features.gni | 4 +-
skia/features.gni | 2 +-
third_party/blink/common/features.cc | 2 +-
.../renderer/modules/modules_initializer.cc | 4 +-
tools/grit/grit_args.gni | 3 +-
.../cpp_bundle_generator.py | 2 +-
- .../ui/widget/PopupSpecCalculator.java | 9 +++-
+ .../ui/widget/PopupSpecCalculator.java | 9 ++-
.../ui/test/util/UiDisableIfSkipCheck.java | 2 +-
.../chromium/ui/test/util/UiRestriction.java | 2 +-
ui/base/accelerators/command.cc | 2 +-
ui/base/device_form_factor_android.cc | 2 +-
- ui/gl/features.gni | 4 +-
+ ui/gl/features.gni | 2 +-
ui/gl/gl_switches.cc | 4 +-
ui/resources/ui_resources.grd | 2 +-
ui/webui/resources/BUILD.gn | 4 +-
- .../cr_elements/cr_toolbar/cr_toolbar.css | 6 +++
- 165 files changed, 539 insertions(+), 268 deletions(-)
+ .../cr_elements/cr_toolbar/cr_toolbar.css | 6 ++
+ 163 files changed, 545 insertions(+), 274 deletions(-)
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Enable-extensions-Android.grdp
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Extensions-Android.grdp
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/Extensions-Android.inc
@@ -185,7 +183,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/android_webview/BUILD.gn b/android_webview/BUILD.gn
--- a/android_webview/BUILD.gn
+++ b/android_webview/BUILD.gn
-@@ -1306,7 +1306,7 @@ declare_args() {
+@@ -1303,7 +1303,7 @@ declare_args() {
# logic more easily on an emulator, so the decision to use the arm64
# orderfile for x64 (instead of arm32) is somewhat arbitrary. We just
# needed to use some real orderfile.
@@ -229,7 +227,7 @@ diff --git a/base/android/device_info.h b/base/android/device_info.h
diff --git a/base/android/java/src/org/chromium/base/DeviceInfo.java b/base/android/java/src/org/chromium/base/DeviceInfo.java
--- a/base/android/java/src/org/chromium/base/DeviceInfo.java
+++ b/base/android/java/src/org/chromium/base/DeviceInfo.java
-@@ -113,10 +113,14 @@ public final class DeviceInfo {
+@@ -119,10 +119,14 @@ public final class DeviceInfo {
return getInstance().mIDeviceInfo.isFoldable;
}
@@ -260,7 +258,7 @@ diff --git a/build/BUILD.gn b/build/BUILD.gn
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
-@@ -2017,8 +2017,8 @@ if (!is_robolectric && enable_java_templates) {
+@@ -2027,8 +2027,8 @@ if (!is_robolectric && enable_java_templates) {
} else {
defines += [ "_LOGTAG_PREFIX=cr_" ]
}
@@ -274,7 +272,7 @@ diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
diff --git a/build/config/chrome_build.gni b/build/config/chrome_build.gni
--- a/build/config/chrome_build.gni
+++ b/build/config/chrome_build.gni
-@@ -26,7 +26,8 @@ declare_args() {
+@@ -31,7 +31,8 @@ declare_args() {
# Set to true to set defaults that enable features on Android that are more
# typically available on desktop.
@@ -284,7 +282,7 @@ diff --git a/build/config/chrome_build.gni b/build/config/chrome_build.gni
if (is_android) {
# By default, Trichrome channels are compiled using separate package names.
-@@ -44,12 +45,12 @@ declare_args() {
+@@ -53,12 +54,12 @@ is_internal_chrome_branded = enable_src_internal && is_chrome_branded
# Ensure !is_android implies !is_high_end_android.
is_high_end_android = is_high_end_android && is_android
@@ -302,7 +300,7 @@ diff --git a/build/config/chrome_build.gni b/build/config/chrome_build.gni
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
-@@ -236,7 +236,7 @@ if (is_android) {
+@@ -241,7 +241,7 @@ if (is_android) {
# logic more easily on an emulator, so the decision to use the arm64
# orderfile for x64 (instead of arm32) is somewhat arbitrary. We just
# needed to use some real orderfile.
@@ -326,7 +324,7 @@ diff --git a/build/config/compiler/pgo/BUILD.gn b/build/config/compiler/pgo/BUIL
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
-@@ -969,7 +969,7 @@ if (_is_default_toolchain) {
+@@ -971,7 +971,7 @@ if (_is_default_toolchain) {
"//chrome/browser/password_entry_edit/android/internal:java",
]
@@ -335,7 +333,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
deps += [
"//chrome/browser/ui/android/extensions/windowing/internal:java",
"//chrome/browser/ui/browser_window/internal:java",
-@@ -1230,7 +1230,7 @@ if (_is_default_toolchain) {
+@@ -1235,7 +1235,7 @@ if (_is_default_toolchain) {
deps += [ "//chrome/browser/ui/android/extensions:junit" ]
}
@@ -344,7 +342,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
deps += [ "//chrome/browser/ui/browser_window/internal:junit" ]
}
}
-@@ -2435,7 +2435,7 @@ if (_is_default_toolchain) {
+@@ -2441,7 +2441,7 @@ if (_is_default_toolchain) {
"//components/ip_protection/android/android_auth_client_lib/javatests:ip_protection_auth_javatests",
]
@@ -405,7 +403,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/ChromeBaseAppCompatActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
-@@ -567,7 +567,7 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity
+@@ -580,7 +580,7 @@ public class ChromeBaseAppCompatActivity extends AppCompatActivity
applySingleThemeOverlay(R.style.ThemeOverlay_BrowserUI_OptOutEdgeToEdge);
}
@@ -414,22 +412,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCo
applySingleThemeOverlay(R.style.ThemeOverlay_BrowserUI_DesktopDensity);
}
-diff --git a/chrome/android/java/src/org/chromium/chrome/browser/SwipeRefreshHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/SwipeRefreshHandler.java
---- a/chrome/android/java/src/org/chromium/chrome/browser/SwipeRefreshHandler.java
-+++ b/chrome/android/java/src/org/chromium/chrome/browser/SwipeRefreshHandler.java
-@@ -445,7 +445,7 @@ public class SwipeRefreshHandler extends TabWebContentsUserData
- @VisibleForTesting
- boolean isRefreshOnOverscrollSupported() {
- // TODO(https://crbug.com/422413654) Remove this after long-term fix
-- if (DeviceInfo.isDesktop()) {
-+ if (DeviceInfo.isDesktopFalse()) {
- return !DeviceInput.supportsPrecisionPointer();
- } else {
- return true;
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
-@@ -1138,7 +1138,7 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
+@@ -1137,7 +1137,7 @@ public abstract class AppMenuPropertiesDelegateImpl implements AppMenuProperties
&& !shouldShowReaderModePrefs(currentTab)
&& currentTab != null
&& currentTab.getWebContents() != null
@@ -441,7 +427,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/appearance/settings/AppearanceSettingsFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/appearance/settings/AppearanceSettingsFragment.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/appearance/settings/AppearanceSettingsFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appearance/settings/AppearanceSettingsFragment.java
-@@ -55,7 +55,7 @@ public class AppearanceSettingsFragment extends ChromeBaseSettingsFragment
+@@ -58,7 +58,7 @@ public class AppearanceSettingsFragment extends ChromeBaseSettingsFragment
// This fragment may be used on Desktop or tablets. For Desktop we use the current Profile's
// UserPrefs. For tablets, we use the local device preference.
@@ -528,19 +514,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/media/MediaCapt
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
-@@ -214,7 +214,7 @@ public class MultiWindowUtils implements ActivityStateListener {
+@@ -221,7 +221,7 @@ public class MultiWindowUtils implements ActivityStateListener {
return TabWindowManager.MAX_SELECTORS_S;
}
-- if (DeviceInfo.isDesktop() || XrUtils.isXrDevice()) {
-+ if (DeviceInfo.isDesktopFalse() || XrUtils.isXrDevice()) {
+- if (DeviceInfo.isDesktop() || DeviceInfo.isXr()) {
++ if (DeviceInfo.isDesktopFalse() || DeviceInfo.isXr()) {
return TabWindowManager.MAX_SELECTORS;
}
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
-@@ -173,7 +173,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
+@@ -174,7 +174,7 @@ public class ChromeSiteSettingsDelegate implements SiteSettingsDelegate {
return PermissionUtil.handTrackingNeedsAdditionalPermissions();
case SiteSettingsCategory.Type.REQUEST_DESKTOP_SITE:
// Desktop Android always requests desktop sites, so hide the category.
@@ -603,7 +589,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/M
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateClientImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateClientImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateClientImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateClientImpl.java
-@@ -204,7 +204,7 @@ public class InterceptNavigationDelegateClientImpl implements InterceptNavigatio
+@@ -205,7 +205,7 @@ public class InterceptNavigationDelegateClientImpl implements InterceptNavigatio
// TODO(crbug.com/417047079): Replace the following desktop windowing checks with a better
// approach.
// return MultiWindowUtils.getInstance().isInMultiWindowMode(getActivity());
@@ -645,9 +631,9 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/RequestDesk
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
-@@ -282,7 +282,9 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
- public void openInOtherWindow(GURL url, @Nullable Referrer referrer, boolean incognito) {
- ChromeAsyncTabLauncher chromeAsyncTabLauncher = new ChromeAsyncTabLauncher(incognito);
+@@ -304,7 +304,9 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
+ public void openInAnotherWindow(GURL url, @Nullable Referrer referrer, boolean isIncognito) {
+ ChromeAsyncTabLauncher chromeAsyncTabLauncher = new ChromeAsyncTabLauncher(isIncognito);
LoadUrlParams loadUrlParams = new LoadUrlParams(url.getSpec());
- loadUrlParams.setReferrer(referrer);
+ if (!incognito) {
@@ -655,11 +641,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextM
+ }
Activity activity = TabUtils.getActivity(mTab);
assumeNonNull(activity);
- Activity otherWindowActivity =
+ // null if there are no foreground window activities.
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
-@@ -779,7 +779,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
+@@ -790,7 +790,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
// PDF.
NativePage nativePage = currentTab.getNativePage();
boolean isPdfPage = nativePage != null && nativePage.isPdf();
@@ -671,22 +657,22 @@ 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
-@@ -1944,7 +1944,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
- return true;
+@@ -1928,7 +1928,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
} else if (id == R.id.toggle_bookmark_bar) {
+ // isActivityStateBookmarkBarCompatible already checks the flag sAndroidBookmarkBar.
if (BookmarkBarUtils.isActivityStateBookmarkBarCompatible(mActivity)) {
- if (DeviceInfo.isDesktop()) {
+ if (DeviceInfo.isDesktopCromite()) {
+ // Desktop uses the synced UserPref.
BookmarkBarUtils.toggleUserPrefsShowBookmarksBar(
mProfileSupplier.get(), /* fromKeyboardShortcut= */ true);
- } else {
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
-@@ -612,7 +612,7 @@ public class RootUiCoordinator
-
- if (ChromeFeatureList.sLockTopControlsOnLargeTabletsV2.isEnabled()) {
+@@ -682,7 +682,7 @@ public class RootUiCoordinator
+ }
+ if (BrowserControlsUtils.doSyncMinHeightWithTotalHeightV2()) {
- if (DeviceInfo.isDesktop()
+ if (DeviceInfo.isDesktopFalse()
|| BrowserControlsUtils.doSyncMinHeightWithTotalHeight(mActivity)) {
@@ -715,7 +701,7 @@ diff --git a/chrome/app/extensions_strings.grdp b/chrome/app/extensions_strings.
diff --git a/chrome/app/theme/theme_resources.grd b/chrome/app/theme/theme_resources.grd
--- a/chrome/app/theme/theme_resources.grd
+++ b/chrome/app/theme/theme_resources.grd
-@@ -375,7 +375,7 @@
+@@ -370,7 +370,7 @@
@@ -724,7 +710,7 @@ diff --git a/chrome/app/theme/theme_resources.grd b/chrome/app/theme/theme_resou
-@@ -384,7 +384,7 @@
+@@ -379,7 +379,7 @@
@@ -736,7 +722,7 @@ diff --git a/chrome/app/theme/theme_resources.grd b/chrome/app/theme/theme_resou
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
-@@ -4889,7 +4889,7 @@ static_library("browser") {
+@@ -4906,7 +4906,7 @@ static_library("browser") {
}
}
@@ -745,7 +731,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
deps += [ "//chrome/browser/ui/browser_window" ]
}
-@@ -7650,7 +7650,7 @@ static_library("browser") {
+@@ -7648,7 +7648,7 @@ static_library("browser") {
deps += [ "//media/mojo/mojom:remoting" ]
}
@@ -754,7 +740,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
sources += [ "download/download_crx_util_android.cc" ]
}
-@@ -7968,7 +7968,7 @@ static_library("browser") {
+@@ -7962,7 +7962,7 @@ static_library("browser") {
# TODO(https://crbug.com/356905053): Add more dependencies here and merge this
# block with the `enable_extensions` block above.
@@ -763,7 +749,7 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
sources += [
# TODO(https://crbug.com/356905053): These files are temporary workarounds
# allow for a lightweight extensions runtime in desktop-android builds.
-@@ -8765,7 +8765,7 @@ static_library("browser_generated_files") {
+@@ -8725,7 +8725,7 @@ static_library("browser_generated_files") {
[ "//chrome/browser/ui/webui/new_tab_page/foo:mojo_bindings" ]
}
}
@@ -775,9 +761,9 @@ diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
-@@ -367,6 +367,10 @@
+@@ -365,6 +365,10 @@
#include "extensions/common/switches.h"
- #endif // BUILDFLAG(ENABLE_EXTENSIONS)
+ #endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
+#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
+#include "extensions/common/extension_features.h"
@@ -810,16 +796,16 @@ diff --git a/chrome/browser/android/selection/chrome_selection_dropdown_menu_del
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarUtils.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarUtils.java
--- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarUtils.java
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarUtils.java
-@@ -208,7 +208,7 @@ public class BookmarkBarUtils {
- }
-
- // On Desktop, we sync with the UserPrefs, but on tablets we use a local device preference.
+@@ -209,7 +209,7 @@ public class BookmarkBarUtils {
+ // On Desktop, we sync with the UserPrefs.
+ // On tablets we use the device preference logic (policy (pref service) > local pref
+ // (shared pref) > FeatureParam).
- return DeviceInfo.isDesktop()
+ return DeviceInfo.isDesktopFalse()
? isUserPrefsShowBookmarksBarEnabled(profile)
- : isDevicePrefShowBookmarksBarEnabled();
+ : isDevicePrefShowBookmarksBarEnabled(profile);
}
-@@ -325,13 +325,13 @@ public class BookmarkBarUtils {
+@@ -427,13 +427,13 @@ public class BookmarkBarUtils {
boolean isCurrentlyVisible = isBookmarkBarVisible(context, profile);
// Record if the Bookmark Bar is visible, but not in cases of a forced feature param.
@@ -838,7 +824,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarVisibilityProvider.java b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarVisibilityProvider.java
--- a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarVisibilityProvider.java
+++ b/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/browser/bookmarks/bar/BookmarkBarVisibilityProvider.java
-@@ -91,7 +91,7 @@ public class BookmarkBarVisibilityProvider {
+@@ -92,7 +92,7 @@ public class BookmarkBarVisibilityProvider {
mProfileSupplier.addObserver(mProfileSupplierObserver);
// On tablets we use local device prefs.
@@ -850,7 +836,7 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
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
-@@ -337,7 +337,7 @@ void BrowserProcessImpl::Init() {
+@@ -348,7 +348,7 @@ void BrowserProcessImpl::Init() {
// TODO(devlin): Move this block out of BrowserProcessImpl to somewhere like
// //chrome/browser/initialize_extensions_browser_client, analogous to
// `EnsureExtensionsClientInitialized()` above?
@@ -863,15 +849,15 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro
--- a/chrome/browser/chrome_browser_field_trials.cc
+++ b/chrome/browser/chrome_browser_field_trials.cc
@@ -124,7 +124,7 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
- // Update child process binding state before unbinding.
- // TODO(crbug.com/427087091): Remove when webview rollout is complete.
- feature_overrides.EnableFeature(base::features::kUpdateStateBeforeUnbinding);
+ feature_overrides.DisableFeature(features::kEyeDropper);
+ }
+ #elif BUILDFLAG(IS_ANDROID) // BUILDFLAG(IS_LINUX)
-#if BUILDFLAG(IS_DESKTOP_ANDROID)
+#if BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
// Nota bene: Anything here is expected to be short-lived, unless deemed too
// risky to launch to non-desktop platforms. New features being added here
// should be the exception, and not the norm. Instead, you should place the
-@@ -133,8 +133,8 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
+@@ -133,13 +133,13 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
// If enabled, then use desktop page webprefs for Android devices that have
// large displays, specifically tablets and desktops.
@@ -880,9 +866,15 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro
+ // feature_overrides.EnableFeature(
+ // blink::features::kAndroidDesktopWebPrefsLargeDisplays);
+ // Enables the caret browsing a11y feature - can use arrow keys to navigate
+ // through web pages.
+ // TODO(crbug.com/369139090): Remove when rollout is complete
+- feature_overrides.EnableFeature(features::kAndroidCaretBrowsing);
++ // feature_overrides.EnableFeature(features::kAndroidCaretBrowsing);
+
// If enabled, render processes associated only with tabs in unfocused windows
// will be downgraded to "vis" priority, rather than remaining at "fg". This
-@@ -149,8 +149,8 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
+@@ -154,8 +154,8 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
// Enables media capture (tab+window+screen sharing).
// TODO(crbug.com/352187279): Remove when tablet rollout is complete.
@@ -893,7 +885,7 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro
// Enable desktop tab management features.
// TODO(crbug.com/422902940): Remove when tablet rollout is complete.
-@@ -166,7 +166,7 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
+@@ -171,7 +171,7 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
feature_overrides.EnableFeature(features::kRendererProcessLimitOnAndroid);
// Enable V8 optimizations for high-end Android Desktop devices.
// TODO(crbug.com/425860368): Remove when the feature is stable.
@@ -902,7 +894,7 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro
// TODO(b/432367402): Use a new Android API to replace this hack with a proper
// solution.
feature_overrides.EnableFeature(features::kAndroidCaptureKeyEvents);
-@@ -175,53 +175,53 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
+@@ -180,74 +180,74 @@ void ChromeBrowserFieldTrials::RegisterFeatureOverrides(
feature_overrides.EnableFeature(features::kAndroidDevToolsFrontend);
// TODO(crbug.com/430304112): Remove when rollout is complete to all form
// factors.
@@ -914,12 +906,8 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro
// implemented.
- feature_overrides.EnableFeature(
- chrome::android::kLockTopControlsOnLargeTablets);
-- feature_overrides.EnableFeature(
-- chrome::android::kLockTopControlsOnLargeTabletsV2);
+ // feature_overrides.EnableFeature(
-+ // chrome::android::kLockTopControlsOnLargeTablets);
-+ // feature_overrides.EnableFeature(
-+ // chrome::android::kLockTopControlsOnLargeTabletsV2);
++ // chrome::android::kLockTopControlsOnLargeTablets);
// Bypass the WebAudio output buffer, to reduce audio latency.
// TODO(crbug.com/436988695): Remove when the long term solution is
// implemented.
@@ -974,13 +962,46 @@ diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chro
- chrome::android::kAndroidPinnedTabsTabletTabStrip);
+ // feature_overrides.EnableFeature(
+ // chrome::android::kAndroidPinnedTabsTabletTabStrip);
+ // TODO(crbug.com/433879656): Remove when this feature on LFF device is
+ // stable.
+- feature_overrides.EnableFeature(features::kFluidResize);
++ // feature_overrides.EnableFeature(features::kFluidResize);
+
+ // Three flags are required for the bookmarks bar feature.
+ // TODO(crbug.com/430059235): Remove once feature is launched to 100% on all
+- // form factors.
+- feature_overrides.EnableFeature(chrome::android::kAndroidBookmarkBar);
+- feature_overrides.EnableFeature(chrome::android::kAndroidAppearanceSettings);
+- feature_overrides.EnableFeature(chrome::android::kTopControlsRefactor);
++ // // form factors.
++ // feature_overrides.EnableFeature(chrome::android::kAndroidBookmarkBar);
++ // feature_overrides.EnableFeature(chrome::android::kAndroidAppearanceSettings);
++ // feature_overrides.EnableFeature(chrome::android::kTopControlsRefactor);
+
+ // Enable ANGLE/Vulkan features.
+ // TODO (crbug.com//376280554): Enable these features with runtime checks
+ // instead.
+- feature_overrides.EnableFeature(::features::kSkipVulkanBlocklist);
+- feature_overrides.EnableFeature(::features::kDefaultANGLEVulkan);
+- feature_overrides.EnableFeature(::features::kVulkanFromANGLE);
+- feature_overrides.EnableFeature(::features::kDefaultPassthroughCommandDecoder);
++ // feature_overrides.EnableFeature(::features::kSkipVulkanBlocklist);
++ // feature_overrides.EnableFeature(::features::kDefaultANGLEVulkan);
++ // feature_overrides.EnableFeature(::features::kVulkanFromANGLE);
++ // feature_overrides.EnableFeature(::features::kDefaultPassthroughCommandDecoder);
+
+ // Enable site-per-process by default for desktop platforms.
+ // TODO(crbug.com/453856709): Remove when we determine how to ensure
+ // SitePerProcess is enabled for all necessary or eligible Android devices.
+- feature_overrides.EnableFeature(::features::kSitePerProcess);
++ // feature_overrides.EnableFeature(::features::kSitePerProcess);
#endif // BUILDFLAG(IS_DESKTOP_ANDROID)
// Desktop-first features which are past incubation should either end up here,
// or to a finch trial that enables it for all form factors.
diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/browser/chrome_browser_interface_binders_webui.cc
--- a/chrome/browser/chrome_browser_interface_binders_webui.cc
+++ b/chrome/browser/chrome_browser_interface_binders_webui.cc
-@@ -36,7 +36,7 @@
+@@ -40,7 +40,7 @@
#include "mojo/public/cpp/bindings/binder_map.h"
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
@@ -989,7 +1010,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/b
#include "chrome/browser/ui/webui/discards/discards.mojom.h"
#include "chrome/browser/ui/webui/discards/discards_ui.h"
#include "chrome/browser/ui/webui/discards/site_data.mojom.h"
-@@ -128,7 +128,7 @@ void PopulateChromeWebUIFrameBinders(
+@@ -135,7 +135,7 @@ void PopulateChromeWebUIFrameBinders(
#endif // BUILDFLAG(IS_CHROMEOS)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
@@ -1001,7 +1022,7 @@ diff --git a/chrome/browser/chrome_browser_interface_binders_webui.cc b/chrome/b
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
-@@ -4388,7 +4388,7 @@ base::OnceClosure ChromeContentBrowserClient::SelectClientCertificate(
+@@ -4283,7 +4283,7 @@ base::OnceClosure ChromeContentBrowserClient::SelectClientCertificate(
// TODO(wenz): This should instead proceed with the selected certificate
// when there are matching certificates in the OS.
#if BUILDFLAG(ENABLE_EXTENSIONS) && \
@@ -1010,7 +1031,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
if (matching_certificates.empty() && nonmatching_certificates.empty()) {
extensions::ProcessMap* process_map =
extensions::ProcessMap::Get(profile);
-@@ -4578,7 +4578,7 @@ void ChromeContentBrowserClient::OverrideWebPreferences(
+@@ -4507,7 +4507,7 @@ void ChromeContentBrowserClient::OverrideWebPreferences(
// Fill font preferences. These are not registered on Android unless we're built
// with extensions (the chrome.fontSettings API can change these).
// - http://crbug.com/308033, http://crbug.com/696364.
@@ -1034,7 +1055,7 @@ diff --git a/chrome/browser/devtools/BUILD.gn b/chrome/browser/devtools/BUILD.gn
diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrome/browser/download/chrome_download_manager_delegate.cc
--- a/chrome/browser/download/chrome_download_manager_delegate.cc
+++ b/chrome/browser/download/chrome_download_manager_delegate.cc
-@@ -708,7 +708,7 @@ bool ChromeDownloadManagerDelegate::DetermineDownloadTarget(
+@@ -742,7 +742,7 @@ bool ChromeDownloadManagerDelegate::DetermineDownloadTarget(
DownloadPathReservationTracker::FilenameConflictAction action =
kDefaultPlatformConflictAction;
#if BUILDFLAG(IS_ANDROID)
@@ -1046,7 +1067,7 @@ diff --git a/chrome/browser/download/chrome_download_manager_delegate.cc b/chrom
diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn
--- a/chrome/browser/extensions/BUILD.gn
+++ b/chrome/browser/extensions/BUILD.gn
-@@ -1738,7 +1738,7 @@ source_set("chrome_extensions_browser_client") {
+@@ -1736,7 +1736,7 @@ source_set("chrome_extensions_browser_client") {
"//extensions/browser/updater:keepalive",
]
@@ -1055,7 +1076,7 @@ diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUIL
sources += [ "chrome_extensions_browser_client_android.cc" ]
deps += [
-@@ -1753,6 +1753,16 @@ source_set("chrome_extensions_browser_client") {
+@@ -1751,6 +1751,16 @@ source_set("chrome_extensions_browser_client") {
"//extensions/browser",
"//extensions/browser/kiosk",
]
@@ -1098,10 +1119,10 @@ diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/
+ return base::FeatureList::IsEnabled(
+ extensions_features::kEnableExtensionsAndroid);
+ }
- // Disable extensions only for specific domains.
- // This check keeps many tests from failing.
- std::string user_name = profile_->GetProfileUserName();
-@@ -197,7 +201,7 @@ bool ExtensionManagement::ExtensionsEnabledForDesktopAndroid() const {
+ // If Finch has enabled extensions for corp, allow them.
+ if (base::FeatureList::IsEnabled(
+ extensions_features::kEnableExtensionsForCorpDesktopAndroid)) {
+@@ -202,7 +206,7 @@ bool ExtensionManagement::ExtensionsEnabledForDesktopAndroid() const {
ManagedInstallationMode ExtensionManagement::GetInstallationMode(
const ExtensionId& extension_id,
const std::string& update_url) {
@@ -1125,8 +1146,8 @@ diff --git a/chrome/browser/extensions/extension_management.h b/chrome/browser/e
diff --git a/chrome/browser/extensions/extension_util.cc b/chrome/browser/extensions/extension_util.cc
--- a/chrome/browser/extensions/extension_util.cc
+++ b/chrome/browser/extensions/extension_util.cc
-@@ -56,6 +56,10 @@
- #include "chrome/browser/ui/browser.h"
+@@ -51,6 +51,10 @@
+ #include "chromeos/ash/components/file_manager/app_id.h"
#endif
+#if BUILDFLAG(IS_ANDROID)
@@ -1136,7 +1157,7 @@ diff --git a/chrome/browser/extensions/extension_util.cc b/chrome/browser/extens
static_assert(BUILDFLAG(ENABLE_EXTENSIONS_CORE));
namespace extensions::util {
-@@ -356,6 +360,13 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -351,6 +355,13 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
bool AreExtensionsDisabled(const base::CommandLine& command_line,
content::BrowserContext* context) {
@@ -1153,9 +1174,9 @@ diff --git a/chrome/browser/extensions/extension_util.cc b/chrome/browser/extens
diff --git a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java
--- a/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java
+++ b/chrome/browser/feedback/android/java/src/org/chromium/chrome/browser/feedback/DeviceInfoFeedbackSource.java
-@@ -37,7 +37,7 @@ class DeviceInfoFeedbackSource implements FeedbackSource {
+@@ -36,7 +36,7 @@ class DeviceInfoFeedbackSource implements FeedbackSource {
type = TYPE_AUTO;
- } else if (XrUtils.isXrDevice()) {
+ } else if (DeviceInfo.isXr()) {
type = TYPE_XR;
- } else if (DeviceInfo.isDesktop()) {
+ } else if (DeviceInfo.isDesktopFalse()) {
@@ -1291,7 +1312,7 @@ diff --git a/chrome/browser/policy/policy_value_and_status_aggregator.cc b/chrom
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
-@@ -660,7 +660,7 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -663,7 +663,7 @@ void ChromeBrowserMainExtraPartsProfiles::
chromeos_extensions::EnsureBrowserContextKeyedServiceFactoriesBuilt();
#endif
extensions::EnsureBrowserContextKeyedServiceFactoriesBuilt();
@@ -1303,7 +1324,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
diff --git a/chrome/browser/profiles/off_the_record_profile_impl.cc b/chrome/browser/profiles/off_the_record_profile_impl.cc
--- a/chrome/browser/profiles/off_the_record_profile_impl.cc
+++ b/chrome/browser/profiles/off_the_record_profile_impl.cc
-@@ -107,6 +107,8 @@
+@@ -108,6 +108,8 @@
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
#include "chrome/browser/extensions/extension_special_storage_policy.h"
#include "chrome/browser/ui/webui/extensions/extension_icon_source.h"
@@ -1312,7 +1333,7 @@ diff --git a/chrome/browser/profiles/off_the_record_profile_impl.cc b/chrome/bro
#endif
#if BUILDFLAG(ENABLE_EXTENSIONS)
-@@ -213,7 +215,10 @@ void OffTheRecordProfileImpl::Init() {
+@@ -216,7 +218,10 @@ void OffTheRecordProfileImpl::Init() {
this, std::make_unique(profile_));
#endif
@@ -1324,7 +1345,7 @@ diff --git a/chrome/browser/profiles/off_the_record_profile_impl.cc b/chrome/bro
extensions::WebRequestEventRouter::OnOTRBrowserContextCreated(profile_, this);
#endif
-@@ -272,7 +277,7 @@ OffTheRecordProfileImpl::~OffTheRecordProfileImpl() {
+@@ -275,7 +280,7 @@ OffTheRecordProfileImpl::~OffTheRecordProfileImpl() {
SimpleKeyMap::GetInstance()->Dissociate(this);
@@ -1348,7 +1369,7 @@ diff --git a/chrome/browser/profiles/profile_destroyer.cc b/chrome/browser/profi
diff --git a/chrome/browser/resources/BUILD.gn b/chrome/browser/resources/BUILD.gn
--- a/chrome/browser/resources/BUILD.gn
+++ b/chrome/browser/resources/BUILD.gn
-@@ -124,7 +124,7 @@ group("resources") {
+@@ -125,7 +125,7 @@ group("resources") {
]
}
@@ -1544,7 +1565,7 @@ diff --git a/chrome/browser/task_manager/common/task_manager_features.cc b/chrom
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
-@@ -668,7 +668,7 @@ static_library("ui") {
+@@ -671,7 +671,7 @@ static_library("ui") {
"//v8:v8_version",
]
@@ -1553,7 +1574,7 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
sources += [
"browser_navigator.h",
"incognito_allowed_url.cc",
-@@ -683,7 +683,7 @@ static_library("ui") {
+@@ -686,7 +686,7 @@ static_library("ui") {
]
# Desktop-Android-only dependencies.
@@ -1562,8 +1583,8 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
sources += [ "//chrome/browser/ui/android/browser_navigator_android.cc" ]
deps += [ "//chrome/browser/ui/android/extensions/windowing/internal" ]
}
-@@ -2872,7 +2872,7 @@ static_library("ui") {
- ]
+@@ -2897,7 +2897,7 @@ static_library("ui") {
+ allow_circular_includes_from += [ "//chrome/browser/ui/wallet" ]
}
- if (is_win || is_mac || is_linux || is_chromeos || is_desktop_android) {
@@ -1791,7 +1812,7 @@ new file mode 100644
diff --git a/chrome/browser/ui/android/tab_model/BUILD.gn b/chrome/browser/ui/android/tab_model/BUILD.gn
--- a/chrome/browser/ui/android/tab_model/BUILD.gn
+++ b/chrome/browser/ui/android/tab_model/BUILD.gn
-@@ -63,7 +63,7 @@ source_set("impl") {
+@@ -65,7 +65,7 @@ source_set("impl") {
"//ui/base:types",
]
@@ -1800,7 +1821,7 @@ diff --git a/chrome/browser/ui/android/tab_model/BUILD.gn b/chrome/browser/ui/an
deps += [
"//chrome/browser/ui/browser_window",
"//chrome/browser/ui/browser_window/internal",
-@@ -93,7 +93,7 @@ source_set("test_support") {
+@@ -95,7 +95,7 @@ source_set("test_support") {
"//chrome/browser/ui/android/tab_model",
]
@@ -1854,7 +1875,7 @@ diff --git a/chrome/browser/ui/android/tab_model/tab_model.h b/chrome/browser/ui
diff --git a/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc b/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc
--- a/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc
+++ b/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc
-@@ -42,7 +42,7 @@
+@@ -43,7 +43,7 @@
// "chrome/browser/ui/browser_window" is available on desktop Android, but not
// other Android builds.
@@ -1863,7 +1884,7 @@ diff --git a/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc b/chrom
#include "chrome/browser/ui/browser_window/internal/android/android_browser_window.h" // nogncheck
#include "chrome/browser/ui/browser_window/public/browser_window_interface.h" // nogncheck
#include "chrome/browser/ui/browser_window/public/browser_window_interface_iterator.h" // nogncheck
-@@ -75,7 +75,7 @@ std::vector GetAllTabsFromHandles(
+@@ -76,7 +76,7 @@ std::vector GetAllTabsFromHandles(
return tabs;
}
@@ -1872,7 +1893,7 @@ diff --git a/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc b/chrom
AndroidBrowserWindow* GetAndroidBrowserWindow(SessionID session_id) {
for (BrowserWindowInterface* window : GetAllBrowserWindowInterfaces()) {
if (window->GetSessionID() == session_id) {
-@@ -114,7 +114,7 @@ void TabModelJniBridge::AssociateWithBrowserWindow(
+@@ -115,7 +115,7 @@ void TabModelJniBridge::AssociateWithBrowserWindow(
long native_android_browser_window) {
// BrowserWindowInterface is available on desktop Android, but not other Android
// builds. For non-desktop Android, this function should be a no-op.
@@ -1881,7 +1902,7 @@ diff --git a/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc b/chrom
BrowserWindowInterface* android_browser_window =
reinterpret_cast(native_android_browser_window);
CHECK(android_browser_window != nullptr);
-@@ -151,7 +151,7 @@ void TabModelJniBridge::MoveTabToWindowForTesting(
+@@ -152,7 +152,7 @@ void TabModelJniBridge::MoveTabToWindowForTesting(
TabAndroid* tab,
long android_browser_window_ptr,
int new_index) {
@@ -1890,7 +1911,7 @@ diff --git a/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc b/chrom
SessionID destination_window_id =
reinterpret_cast(android_browser_window_ptr)
->GetSessionID();
-@@ -166,7 +166,7 @@ void TabModelJniBridge::MoveTabGroupToWindowForTesting(
+@@ -167,7 +167,7 @@ void TabModelJniBridge::MoveTabGroupToWindowForTesting(
const base::Token& group_id,
long android_browser_window_ptr,
int new_index) {
@@ -1899,7 +1920,7 @@ diff --git a/chrome/browser/ui/android/tab_model/tab_model_jni_bridge.cc b/chrom
SessionID destination_window_id =
reinterpret_cast(android_browser_window_ptr)
->GetSessionID();
-@@ -611,7 +611,7 @@ void TabModelJniBridge::MoveTabGroupToWindow(tab_groups::TabGroupId group_id,
+@@ -631,7 +631,7 @@ void TabModelJniBridge::MoveTabGroupToWindow(tab_groups::TabGroupId group_id,
ScopedJavaLocalRef TabModelJniBridge::GetActivityForWindow(
SessionID window_id) {
ScopedJavaLocalRef jactivity;
@@ -2023,7 +2044,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
mContext = context;
mCurrentTabSupplier = currentTabSupplier;
mTabCreator = tabCreator;
-@@ -156,7 +158,8 @@ public class ExtensionsMenuCoordinator implements Destroyable {
+@@ -160,7 +162,8 @@ public class ExtensionsMenuCoordinator implements Destroyable {
mExtensionsMenuButton.setVisibility(visibility);
mExtensionsMenuTabSwitcherDivider.setVisibility(visibility);
},
@@ -2113,28 +2134,28 @@ diff --git a/chrome/browser/ui/browser_navigator_params.cc b/chrome/browser/ui/b
#include "chrome/browser/ui/browser_window/public/browser_window_interface.h" // nogncheck
#endif
-@@ -39,7 +39,7 @@ NavigateParams::NavigateParams(Browser* a_browser,
- : contents_to_insert(std::move(contents_to_insert)), browser(a_browser) {}
- #endif // BUILDFLAG(IS_ANDROID)
+@@ -30,7 +30,7 @@ NavigateParams::NavigateParams(std::unique_ptr contents_to_insert)
+ : contents_to_insert(std::move(contents_to_insert)) {}
+ #endif
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID)
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
- NavigateParams::NavigateParams(BrowserWindowInterface* a_bwi,
+ NavigateParams::NavigateParams(BrowserWindowInterface* a_browser,
const GURL& a_url,
ui::PageTransition a_transition)
diff --git a/chrome/browser/ui/browser_navigator_params.h b/chrome/browser/ui/browser_navigator_params.h
--- a/chrome/browser/ui/browser_navigator_params.h
+++ b/chrome/browser/ui/browser_navigator_params.h
-@@ -86,7 +86,7 @@ struct NavigateParams {
- std::unique_ptr contents_to_insert);
+@@ -77,7 +77,7 @@ struct NavigateParams {
+ std::unique_ptr contents_to_insert);
#endif
-#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID)
+#if !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
- // TODO(http://crbug.com/443062679): Unused in WML's Navigate().
- NavigateParams(BrowserWindowInterface* a_bwi,
+ NavigateParams(BrowserWindowInterface* a_browser,
const GURL& a_url,
-@@ -274,7 +274,7 @@ struct NavigateParams {
+ ui::PageTransition a_transition);
+@@ -264,7 +264,7 @@ struct NavigateParams {
};
PathBehavior path_behavior = RESPECT;
@@ -2239,7 +2260,7 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre
diff --git a/chrome/browser/ui/tabs/tab_list_interface.h b/chrome/browser/ui/tabs/tab_list_interface.h
--- a/chrome/browser/ui/tabs/tab_list_interface.h
+++ b/chrome/browser/ui/tabs/tab_list_interface.h
-@@ -17,7 +17,7 @@
+@@ -18,7 +18,7 @@
// BrowserWindowInterface is available on desktop Android, but not other Android
// builds.
@@ -2248,7 +2269,7 @@ diff --git a/chrome/browser/ui/tabs/tab_list_interface.h b/chrome/browser/ui/tab
class BrowserWindowInterface;
#endif
-@@ -34,7 +34,7 @@ class TabListInterface {
+@@ -35,7 +35,7 @@ class TabListInterface {
TabListInterface(const TabListInterface& other) = delete;
void operator=(const TabListInterface& other) = delete;
@@ -2272,7 +2293,7 @@ diff --git a/chrome/browser/ui/webid/BUILD.gn b/chrome/browser/ui/webid/BUILD.gn
diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
--- a/chrome/browser/ui/webui/chrome_web_ui_configs.cc
+++ b/chrome/browser/ui/webui/chrome_web_ui_configs.cc
-@@ -179,7 +179,7 @@
+@@ -180,7 +180,7 @@
// BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
@@ -2281,7 +2302,7 @@ diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/u
#include "chrome/browser/ui/webui/discards/discards_ui.h"
#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
// BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID)
-@@ -406,7 +406,7 @@ void RegisterChromeWebUIConfigs() {
+@@ -408,7 +408,7 @@ void RegisterChromeWebUIConfigs() {
// BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
@@ -2344,7 +2365,7 @@ diff --git a/chrome/browser/ui/webui/discards/discards_ui.cc b/chrome/browser/ui
diff --git a/chrome/chrome_paks.gni b/chrome/chrome_paks.gni
--- a/chrome/chrome_paks.gni
+++ b/chrome/chrome_paks.gni
-@@ -507,7 +507,7 @@ template("chrome_extra_paks") {
+@@ -509,7 +509,7 @@ template("chrome_extra_paks") {
deps += [ "//chrome/browser/resources/app_settings:resources" ]
}
@@ -2368,7 +2389,7 @@ diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
-@@ -789,7 +789,7 @@ const char kMarketUrlForTesting[] = "market-url-for-testing";
+@@ -784,7 +784,7 @@ const char kMarketUrlForTesting[] = "market-url-for-testing";
const char kRequestDesktopSites[] = "request-desktop-sites";
#endif // BUILDFLAG(IS_ANDROID)
@@ -2380,7 +2401,7 @@ diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
--- a/chrome/common/chrome_switches.h
+++ b/chrome/common/chrome_switches.h
-@@ -232,7 +232,7 @@ extern const char kMarketUrlForTesting[];
+@@ -231,7 +231,7 @@ extern const char kMarketUrlForTesting[];
extern const char kRequestDesktopSites[];
#endif // BUILDFLAG(IS_ANDROID)
@@ -2392,7 +2413,7 @@ diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h
diff --git a/chrome/common/extensions/api/api_sources.gni b/chrome/common/extensions/api/api_sources.gni
--- a/chrome/common/extensions/api/api_sources.gni
+++ b/chrome/common/extensions/api/api_sources.gni
-@@ -63,6 +63,13 @@ uncompiled_sources_ = [
+@@ -64,6 +64,13 @@ uncompiled_sources_ = [
"top_sites.json",
]
@@ -2409,7 +2430,7 @@ diff --git a/chrome/common/extensions/api/api_sources.gni b/chrome/common/extens
diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_constants.cc
--- a/chrome/common/webui_url_constants.cc
+++ b/chrome/common/webui_url_constants.cc
-@@ -201,7 +201,7 @@ base::span ChromeURLHosts() {
+@@ -204,7 +204,7 @@ base::span ChromeURLHosts() {
kChromeUIInternetDetailDialogHost,
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
@@ -2421,7 +2442,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
-@@ -558,7 +558,7 @@ inline constexpr char kChromeUIOsUrlAppURL[] = "chrome://internal/";
+@@ -565,7 +565,7 @@ inline constexpr char kChromeUIOsUrlAppURL[] = "chrome://internal/";
#endif // BUILDFLAG(IS_CHROMEOS)
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
@@ -2433,7 +2454,7 @@ diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_const
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
-@@ -371,7 +371,7 @@ static_library("test_support") {
+@@ -367,7 +367,7 @@ static_library("test_support") {
]
}
@@ -2442,7 +2463,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
public_deps += [
"//extensions/browser:test_support",
"//extensions/common:test_support",
-@@ -488,7 +488,7 @@ static_library("test_support") {
+@@ -484,7 +484,7 @@ static_library("test_support") {
# TODO(https://crbug.com/356905053): Continue pulling more common test
# support pieces into here and eventually merge this with the
# `enable_extensions` block above.
@@ -2451,7 +2472,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
deps += [ "//chrome/renderer/extensions" ]
public_deps += [
-@@ -1535,7 +1535,7 @@ source_set("platform_browser_tests") {
+@@ -1527,7 +1527,7 @@ source_set("platform_browser_tests") {
sources += [ "../browser/enterprise/remote_commands/user_remote_commands_service_browsertest.cc" ]
}
@@ -2460,7 +2481,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
deps += [ "//chrome/browser/ui/prefs:browser_tests" ]
}
-@@ -1765,7 +1765,7 @@ source_set("platform_browser_tests") {
+@@ -1777,7 +1777,7 @@ source_set("platform_browser_tests") {
"//chrome/browser/ui/browser_window",
]
}
@@ -2469,7 +2490,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
sources +=
[ "../browser/devtools/global_confirm_info_bar_browsertest.cc" ]
}
-@@ -2049,7 +2049,7 @@ if (is_android) {
+@@ -2065,7 +2065,7 @@ if (is_android) {
extra_args = []
@@ -2478,7 +2499,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
sources +=
[ "../browser/ui/android/browser_navigator_android_browsertest.cc" ]
deps += [
-@@ -2145,7 +2145,7 @@ if (is_android) {
+@@ -2161,7 +2161,7 @@ if (is_android) {
]
}
@@ -2487,7 +2508,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
sources += [
# These API tests can't be part of platform_browser_tests because they
# run in interactive_ui_tests on Win/Mac/Linux.
-@@ -8038,7 +8038,7 @@ test("unit_tests") {
+@@ -8043,7 +8043,7 @@ test("unit_tests") {
deps += [ "//chrome/browser/android/extensions:android" ]
}
@@ -2499,7 +2520,7 @@ diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
diff --git a/chrome/version.gni b/chrome/version.gni
--- a/chrome/version.gni
+++ b/chrome/version.gni
-@@ -347,7 +347,7 @@ if (is_android) {
+@@ -355,7 +355,7 @@ if (is_android) {
} else {
true_true_true_true = trichrome_64_32_version_code
}
@@ -2511,7 +2532,7 @@ diff --git a/chrome/version.gni b/chrome/version.gni
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
-@@ -330,6 +330,12 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
+@@ -329,6 +329,12 @@ HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs,
RecordExceptionMetrics();
}
@@ -2717,7 +2738,7 @@ diff --git a/components/webui/version/resources/about_version.html b/components/
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc
--- a/content/browser/browser_main_loop.cc
+++ b/content/browser/browser_main_loop.cc
-@@ -849,7 +849,7 @@ int BrowserMainLoop::PreCreateThreads() {
+@@ -851,7 +851,7 @@ int BrowserMainLoop::PreCreateThreads() {
base::UmaHistogramBoolean("SiteIsolation.IsSitePerProcessOrStricter",
SiteIsolationPolicy::IsSitePerProcessOrStricter());
@@ -2729,7 +2750,7 @@ diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main
diff --git a/content/browser/renderer_host/media/video_capture_manager.cc b/content/browser/renderer_host/media/video_capture_manager.cc
--- a/content/browser/renderer_host/media/video_capture_manager.cc
+++ b/content/browser/renderer_host/media/video_capture_manager.cc
-@@ -122,7 +122,7 @@ void VideoCaptureManager::RegisterListener(
+@@ -121,7 +121,7 @@ void VideoCaptureManager::RegisterListener(
DCHECK_CURRENTLY_ON(BrowserThread::IO);
DCHECK(listener);
listeners_.AddObserver(listener);
@@ -2738,7 +2759,7 @@ diff --git a/content/browser/renderer_host/media/video_capture_manager.cc b/cont
application_state_has_running_activities_ = true;
app_status_listener_ =
base::android::ApplicationStatusListener::New(base::BindRepeating(
-@@ -953,7 +953,7 @@ VideoCaptureManager::GetOrCreateController(
+@@ -951,7 +951,7 @@ VideoCaptureManager::GetOrCreateController(
return new_controller;
}
@@ -2750,8 +2771,8 @@ diff --git a/content/browser/renderer_host/media/video_capture_manager.cc b/cont
diff --git a/content/browser/renderer_host/media/video_capture_manager.h b/content/browser/renderer_host/media/video_capture_manager.h
--- a/content/browser/renderer_host/media/video_capture_manager.h
+++ b/content/browser/renderer_host/media/video_capture_manager.h
-@@ -39,7 +39,7 @@
- #include "mojo/public/cpp/bindings/remote.h"
+@@ -36,7 +36,7 @@
+ #include "media/capture/video_capture_types.h"
#include "ui/gfx/native_ui_types.h"
-#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_DESKTOP_ANDROID)
@@ -2759,7 +2780,7 @@ diff --git a/content/browser/renderer_host/media/video_capture_manager.h b/conte
#include "base/android/application_status_listener.h"
#endif
-@@ -217,7 +217,7 @@ class CONTENT_EXPORT VideoCaptureManager
+@@ -208,7 +208,7 @@ class CONTENT_EXPORT VideoCaptureManager
void TakePhoto(const base::UnguessableToken& session_id,
VideoCaptureDevice::TakePhotoCallback callback);
@@ -2768,7 +2789,7 @@ diff --git a/content/browser/renderer_host/media/video_capture_manager.h b/conte
// Some devices had troubles when stopped and restarted quickly, so the device
// is only stopped when Chrome is sent to background and not when, e.g., a tab
// is hidden, see http://crbug.com/582295.
-@@ -333,7 +333,7 @@ class CONTENT_EXPORT VideoCaptureManager
+@@ -324,7 +324,7 @@ class CONTENT_EXPORT VideoCaptureManager
void ReleaseDevices();
void ResumeDevices();
@@ -2797,7 +2818,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/Conten
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
-@@ -545,7 +545,7 @@ BASE_FEATURE(kLoadingPredictorLimitPreconnectSocketCount,
+@@ -577,7 +577,7 @@ BASE_FEATURE(kLoadingPredictorLimitPreconnectSocketCount,
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kLogJsConsoleMessages,
@@ -2851,8 +2872,8 @@ diff --git a/cromite_flags/chrome/browser/about_flags_cc/Webstore-protection.inc
diff --git a/extensions/browser/BUILD.gn b/extensions/browser/BUILD.gn
--- a/extensions/browser/BUILD.gn
+++ b/extensions/browser/BUILD.gn
-@@ -9,7 +9,7 @@ import("//extensions/buildflags/buildflags.gni")
- import("//pdf/features.gni")
+@@ -9,7 +9,7 @@ import("//pdf/features.gni")
+ import("//rlz/buildflags/buildflags.gni")
import("//testing/libfuzzer/fuzzer_test.gni")
-if (enable_desktop_android_extensions) {
@@ -2860,7 +2881,7 @@ diff --git a/extensions/browser/BUILD.gn b/extensions/browser/BUILD.gn
import("//build/config/android/rules.gni")
}
-@@ -1079,7 +1079,7 @@ source_set("unit_tests") {
+@@ -1094,7 +1094,7 @@ source_set("unit_tests") {
configs += [ "//build/config/compiler:no_exit_time_destructors" ]
}
@@ -3025,12 +3046,12 @@ diff --git a/extensions/common/command.cc b/extensions/common/command.cc
-#elif BUILDFLAG(IS_DESKTOP_ANDROID)
+#elif BUILDFLAG(IS_DESKTOP_ANDROID_CROMITE)
// For now, we use linux keybindings on desktop android.
- // TODO(https://crbug.com/356905053): Should this be ChromeOS keybindings?
return ui::kKeybindingPlatformLinux;
+ #else
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
-@@ -143,7 +143,7 @@ BASE_FEATURE(kDisableExtensionsOnChromeUrlsSwitch,
+@@ -150,7 +150,7 @@ BASE_FEATURE(kDisableExtensionsOnChromeUrlsSwitch,
// TODO (crbug.com/426554244): Determine if this switch should be
// removed for desktop-android builds as well.
#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && !BUILDFLAG(IS_CHROMEOS) && \
@@ -3039,7 +3060,7 @@ diff --git a/extensions/common/extension_features.cc b/extensions/common/extensi
base::FEATURE_ENABLED_BY_DEFAULT
#else
base::FEATURE_DISABLED_BY_DEFAULT
-@@ -179,4 +179,10 @@ CROMITE_FEATURE(kEnableExtensionAutoupdate,
+@@ -189,4 +189,10 @@ CROMITE_FEATURE(kEnableExtensionAutoupdate,
CROMITE_FEATURE(kEnableExtensionManagementToChromeStore,
"EnableExtensionToChromeStore",
base::FEATURE_DISABLED_BY_DEFAULT);
@@ -3053,7 +3074,7 @@ diff --git a/extensions/common/extension_features.cc b/extensions/common/extensi
diff --git a/extensions/common/extension_features.h b/extensions/common/extension_features.h
--- a/extensions/common/extension_features.h
+++ b/extensions/common/extension_features.h
-@@ -297,6 +297,10 @@ BASE_DECLARE_FEATURE(kEnableExtensionAutoupdate);
+@@ -310,6 +310,10 @@ BASE_DECLARE_FEATURE(kEnableExtensionAutoupdate);
// Allows the installation of new extensions.
// If active, exposes all features to the chrome web store like chromium.
BASE_DECLARE_FEATURE(kEnableExtensionManagementToChromeStore);
@@ -3091,7 +3112,7 @@ diff --git a/extensions/renderer/bindings/api_binding_util.cc b/extensions/rende
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
-@@ -589,7 +589,7 @@ bool IsSkiaGraphiteSupportedByDevice(const base::CommandLine* command_line) {
+@@ -572,7 +572,7 @@ bool IsSkiaGraphiteSupportedByDevice(const base::CommandLine* command_line) {
// Desktop Android isn't ready to pick up the fieldtrial_testing_config.json
// change that enables graphite. However, it's the same platform as regular
// Android and does. Skip enabling the feature there for now.
@@ -3100,7 +3121,7 @@ diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
return false;
}
-@@ -702,7 +702,7 @@ bool ShouldEnableDrDc() {
+@@ -685,7 +685,7 @@ bool ShouldEnableDrDc() {
// Chrome on Android desktop aims to be Vulkan-only, which can result
// in crashes when enabled together with DrDc. Re-enable DrDc after
// crbug.com/380295059 is fixed if it is shown beneficial on desktop.
@@ -3109,18 +3130,6 @@ diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
return false;
}
#endif
-diff --git a/gpu/vulkan/vulkan_util.cc b/gpu/vulkan/vulkan_util.cc
---- a/gpu/vulkan/vulkan_util.cc
-+++ b/gpu/vulkan/vulkan_util.cc
-@@ -322,7 +322,7 @@ bool IsVulkanV3EnabledForAdreno(
-
- bool SkipVulkanBlocklist() {
- // Expectation is for all desktop android devices to use vulkan
-- return BUILDFLAG(IS_DESKTOP_ANDROID);
-+ return false; //BUILDFLAG(IS_DESKTOP_ANDROID_FALSE);
- }
-
- #endif
diff --git a/net/features.gni b/net/features.gni
--- a/net/features.gni
+++ b/net/features.gni
@@ -3150,7 +3159,7 @@ diff --git a/skia/features.gni b/skia/features.gni
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
-@@ -2330,7 +2330,7 @@ BASE_FEATURE(kStopInBackground,
+@@ -2386,7 +2386,7 @@ BASE_FEATURE(kStopInBackground,
// b/248036988 - Disable this for Chromecast on Android builds to prevent apps
// that play audio in the background from stopping.
#if BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CAST_ANDROID) && \
@@ -3275,8 +3284,8 @@ diff --git a/ui/base/device_form_factor_android.cc b/ui/base/device_form_factor_
diff --git a/ui/gl/features.gni b/ui/gl/features.gni
--- a/ui/gl/features.gni
+++ b/ui/gl/features.gni
-@@ -13,7 +13,7 @@ declare_args() {
- # Also controls linking Dawn dependencies in such as SPIRV-Tools/SPIRV-Cross.
+@@ -14,7 +14,7 @@ declare_args() {
+ # Vulkan Validation Layers.
use_dawn = is_apple || is_win || is_chromeos || (is_linux && !is_castos) ||
(is_android && target_cpu != "x86" && target_cpu != "x64") ||
- is_desktop_android
@@ -3284,15 +3293,6 @@ diff --git a/ui/gl/features.gni b/ui/gl/features.gni
# Should Dawn test binaries (unittests, end2end_tests, perf_tests) be built?
# Independent of use_dawn, which controls whether Dawn is used in Chromium.
-@@ -21,7 +21,7 @@ declare_args() {
-
- # desktop android devices exclusively use angle and thus should not use
- # the validating command decoder
-- enable_validating_command_decoder = is_android && !is_desktop_android
-+ enable_validating_command_decoder = is_android && !is_desktop_android_false
- }
-
- declare_args() {
diff --git a/ui/gl/gl_switches.cc b/ui/gl/gl_switches.cc
--- a/ui/gl/gl_switches.cc
+++ b/ui/gl/gl_switches.cc
diff --git a/build/patches/Experimental-user-scripts-support.patch b/build/patches/Experimental-user-scripts-support.patch
index 464e8938..3c251bd0 100644
--- a/build/patches/Experimental-user-scripts-support.patch
+++ b/build/patches/Experimental-user-scripts-support.patch
@@ -242,7 +242,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
":chrome_base_module_resources",
":ui_locale_string_resources",
"//chrome/android/webapk/libs/common:splash_resources",
-@@ -707,6 +711,7 @@ if (_is_default_toolchain) {
+@@ -709,6 +713,7 @@ if (_is_default_toolchain) {
"//components/ukm/android:java",
"//components/url_formatter/android:url_formatter_java",
"//components/user_prefs/android:java",
@@ -250,7 +250,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//components/variations:variations_java",
"//components/variations/android:variations_java",
"//components/viz/service:service_java",
-@@ -1707,6 +1712,7 @@ if (_is_default_toolchain) {
+@@ -1712,6 +1717,7 @@ if (_is_default_toolchain) {
java_group("chrome_public_non_pak_assets") {
deps = [
"//chrome/android/webapk/libs/runtime_library:runtime_library_assets",
@@ -299,7 +299,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/download/Downlo
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
-@@ -154,6 +154,8 @@ import java.util.Date;
+@@ -157,6 +157,8 @@ import java.util.Date;
import java.util.List;
import java.util.Locale;
@@ -308,7 +308,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessIni
/**
* Handles the initialization dependences of the browser process. This is meant to handle the
* initialization that is not tied to any particular Activity, and the logic that should only be
-@@ -658,6 +660,8 @@ public class ProcessInitializationHandler {
+@@ -667,6 +669,8 @@ public class ProcessInitializationHandler {
DefaultBrowserInfo.initBrowserFetcher();
@@ -337,7 +337,7 @@ diff --git a/chrome/android/java_sources.gni b/chrome/android/java_sources.gni
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
-@@ -3702,6 +3702,13 @@ static_library("browser") {
+@@ -3698,6 +3698,13 @@ static_library("browser") {
]
deps += [ "//chrome/android/modules/dev_ui/provider:native" ]
}
@@ -365,7 +365,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
-@@ -279,6 +279,7 @@
+@@ -283,6 +283,7 @@
#include "components/ntp_tiles/popular_sites_impl.h"
#include "components/permissions/contexts/geolocation_permission_context_android.h"
#include "components/webapps/browser/android/install_prompt_prefs.h"
@@ -373,7 +373,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
#else // BUILDFLAG(IS_ANDROID)
#include "chrome/browser/contextual_cueing/contextual_cueing_prefs.h"
#include "chrome/browser/gcm/gcm_product_util.h"
-@@ -2149,6 +2150,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
+@@ -1968,6 +1969,9 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
registry);
omnibox::RegisterProfilePrefs(registry);
ZeroSuggestProvider::RegisterProfilePrefs(registry);
@@ -386,7 +386,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse
diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn
--- a/chrome/browser/profiles/BUILD.gn
+++ b/chrome/browser/profiles/BUILD.gn
-@@ -83,6 +83,9 @@ source_set("profile") {
+@@ -84,6 +84,9 @@ source_set("profile") {
"//content/public/browser",
"//extensions/buildflags",
]
@@ -399,7 +399,7 @@ diff --git a/chrome/browser/profiles/BUILD.gn b/chrome/browser/profiles/BUILD.gn
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
-@@ -599,6 +599,11 @@
+@@ -602,6 +602,11 @@
#include "chrome/browser/net/nss_service_factory.h"
#endif
@@ -411,7 +411,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
void AddProfilesExtraParts(ChromeBrowserMainParts* main_parts) {
main_parts->AddParts(std::make_unique());
}
-@@ -1443,6 +1448,10 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -1457,6 +1462,10 @@ void ChromeBrowserMainExtraPartsProfiles::
#endif
WebDataServiceFactory::GetInstance();
webrtc_event_logging::WebRtcEventLogManagerKeyedServiceFactory::GetInstance();
@@ -436,7 +436,7 @@ diff --git a/chrome/browser/profiles/profile_manager.cc b/chrome/browser/profile
#if BUILDFLAG(ENABLE_SESSION_SERVICE)
#include "chrome/browser/sessions/app_session_service_factory.h"
#include "chrome/browser/sessions/session_service_factory.h"
-@@ -1474,6 +1478,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile,
+@@ -1494,6 +1498,13 @@ void ProfileManager::DoFinalInitForServices(Profile* profile,
// initializing the supervised flag if necessary).
ChildAccountServiceFactory::GetForProfile(profile)->Init();
ListFamilyMembersServiceFactory::GetForProfile(profile)->Init();
@@ -524,7 +524,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"
-@@ -434,7 +437,9 @@ void RegisterChromeWebUIConfigs() {
+@@ -436,7 +439,9 @@ void RegisterChromeWebUIConfigs() {
map.AddWebUIConfig(
std::make_unique());
#endif
@@ -568,7 +568,7 @@ diff --git a/chrome/common/renderer_configuration.mojom b/chrome/common/renderer
diff --git a/chrome/renderer/BUILD.gn b/chrome/renderer/BUILD.gn
--- a/chrome/renderer/BUILD.gn
+++ b/chrome/renderer/BUILD.gn
-@@ -243,6 +243,12 @@ static_library("renderer") {
+@@ -242,6 +242,12 @@ static_library("renderer") {
deps += [ "//components/webapps/isolated_web_apps:scheme" ]
}
@@ -627,7 +627,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
#if BUILDFLAG(ENABLE_PAINT_PREVIEW)
new paint_preview::PaintPreviewRecorderImpl(render_frame);
#endif
-@@ -1448,6 +1470,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
+@@ -1449,6 +1471,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentStart(
render_frame);
// |render_frame| might be dead by now.
#endif
@@ -645,7 +645,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
}
void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
-@@ -1457,6 +1490,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
+@@ -1458,6 +1491,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentEnd(
render_frame);
// |render_frame| might be dead by now.
#endif
@@ -663,7 +663,7 @@ diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer
}
void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
-@@ -1466,6 +1510,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
+@@ -1467,6 +1511,17 @@ void ChromeContentRendererClient::RunScriptsAtDocumentIdle(
render_frame);
// |render_frame| might be dead by now.
#endif
@@ -714,8 +714,8 @@ diff --git a/components/components_strings.grd b/components/components_strings.g
+
+
-
diff --git a/components/user_scripts/README.md b/components/user_scripts/README.md
new file mode 100644
--- /dev/null
@@ -11493,7 +11493,7 @@ new file mode 100644
diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
--- a/tools/gritsettings/resource_ids.spec
+++ b/tools/gritsettings/resource_ids.spec
-@@ -1216,6 +1216,12 @@
+@@ -1228,6 +1228,12 @@
"META": {"sizes": {"includes": [30],}},
"includes": [7480],
},
diff --git a/build/patches/Eyeo-Adblock-for-Cromite.patch b/build/patches/Eyeo-Adblock-for-Cromite.patch
index be8fc981..9c7cd736 100644
--- a/build/patches/Eyeo-Adblock-for-Cromite.patch
+++ b/build/patches/Eyeo-Adblock-for-Cromite.patch
@@ -220,7 +220,7 @@ diff --git a/chrome/browser/adblock/adblock_chrome_content_browser_client.h b/ch
diff --git a/chrome/browser/adblock/android/BUILD.gn b/chrome/browser/adblock/android/BUILD.gn
--- a/chrome/browser/adblock/android/BUILD.gn
+++ b/chrome/browser/adblock/android/BUILD.gn
-@@ -113,6 +113,7 @@ android_library("adblock_ui_java") {
+@@ -34,6 +34,7 @@ android_library("adblock_ui_java") {
"//build/android:build_java",
"//chrome/browser/preferences:java",
"//chrome/browser/profiles/android:java",
@@ -228,7 +228,7 @@ diff --git a/chrome/browser/adblock/android/BUILD.gn b/chrome/browser/adblock/an
"//components/adblock/android:adblock_controller_java",
"//components/browser_ui/settings/android:java",
"//components/prefs/android:java",
-@@ -148,7 +149,7 @@ android_resources("java_ui_resources") {
+@@ -69,7 +70,7 @@ android_resources("java_ui_resources") {
"java/res/layout/adblock_custom_item_settings.xml",
"java/res/layout/adblock_filter_lists_list_item.xml",
"java/res/xml/adblock_more_options.xml",
@@ -878,7 +878,7 @@ diff --git a/chrome/browser/adblock/android/java/src/org/chromium/chrome/browser
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
-@@ -6516,7 +6516,9 @@ ChromeContentBrowserClient::
+@@ -6446,7 +6446,9 @@ ChromeContentBrowserClient::
}
bool ChromeContentBrowserClient::WillInterceptWebSocket(
@@ -889,7 +889,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
if (!frame) {
return false;
-@@ -6539,9 +6541,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket(
+@@ -6469,9 +6471,11 @@ bool ChromeContentBrowserClient::WillInterceptWebSocket(
}
void ChromeContentBrowserClient::CreateWebSocket(
@@ -904,7 +904,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/chrome/browser/chrome_content_browser_client.h b/chrome/browser/chrome_content_browser_client.h
--- a/chrome/browser/chrome_content_browser_client.h
+++ b/chrome/browser/chrome_content_browser_client.h
-@@ -713,11 +713,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
+@@ -727,11 +727,15 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
content::FrameTreeNodeId frame_tree_node_id,
const network::ResourceRequest& resource_request) override;
@@ -1171,7 +1171,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
#include "components/autofill/core/common/autofill_prefs.h"
#include "components/bookmarks/common/bookmark_pref_names.h"
#include "components/browsing_data/core/pref_names.h"
-@@ -184,6 +185,19 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
+@@ -183,6 +184,19 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
}
s_allowlist = new PrefsUtil::TypedPrefMap();
@@ -1194,7 +1194,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
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
-@@ -260,7 +260,6 @@
+@@ -261,7 +261,6 @@
#include "chrome/common/buildflags.h"
#include "chrome/common/chrome_features.h"
#include "components/adblock/content/browser/factories/adblock_request_throttle_factory.h"
@@ -1202,7 +1202,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
#include "components/adblock/content/browser/factories/content_security_policy_injector_factory.h"
#include "components/adblock/content/browser/factories/element_hider_factory.h"
#include "components/adblock/content/browser/factories/resource_classification_runner_factory.h"
-@@ -960,7 +959,6 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -972,7 +971,6 @@ void ChromeBrowserMainExtraPartsProfiles::
// Makes manual testing possible.
FakeSmartCardDeviceServiceFactory::GetInstance();
#endif
@@ -1221,7 +1221,7 @@ diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resourc
"appearance_page/appearance_fonts_page.ts",
"appearance_page/appearance_page_index.ts",
"appearance_page/appearance_page.ts",
-@@ -431,6 +432,7 @@ build_webui("build") {
+@@ -440,6 +441,7 @@ build_webui("build") {
ts_definitions = [
"//tools/typescript/definitions/autofill_private.d.ts",
"//tools/typescript/definitions/chrome_event.d.ts",
@@ -1782,15 +1782,15 @@ diff --git a/chrome/browser/resources/settings/page_visibility.ts b/chrome/brows
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
--- a/chrome/browser/resources/settings/route.ts
+++ b/chrome/browser/resources/settings/route.ts
-@@ -226,6 +226,10 @@ function createRoutes(): SettingsRoutes {
- r.FONTS = r.APPEARANCE.createChild('/fonts');
- }
-
+@@ -242,6 +242,10 @@ function createRoutes(): SettingsRoutes {
+ r.PASSKEYS = r.YOUR_SAVED_INFO.createChild('/passkeys');
+ //
+ }
+ if (visibility.adblock !== false) {
+ r.ADBLOCK = r.BASIC.createSection('/adblock', 'adblock');
+ }
+
- if (visibility.autofill !== false) {
+ } else if (visibility.autofill !== false) {
r.AUTOFILL = r.BASIC.createSection(
'/autofill', 'autofill', loadTimeData.getString('autofillPageTitle'));
diff --git a/chrome/browser/resources/settings/router.ts b/chrome/browser/resources/settings/router.ts
@@ -1807,8 +1807,8 @@ diff --git a/chrome/browser/resources/settings/router.ts b/chrome/browser/resour
diff --git a/chrome/browser/resources/settings/settings.ts b/chrome/browser/resources/settings/settings.ts
--- a/chrome/browser/resources/settings/settings.ts
+++ b/chrome/browser/resources/settings/settings.ts
-@@ -55,6 +55,7 @@ export {SettingsAppearancePageIndexElement} from './appearance_page/appearance_p
- export {HomeUrlInputElement} from './appearance_page/home_url_input.js';
+@@ -56,6 +56,7 @@ export {HomeUrlInputElement} from './appearance_page/home_url_input.js';
+ export {SettingsAutofillAiEntriesListElement} from './autofill_page/autofill_ai_entries_list.js';
export {SettingsAutofillPageElement} from './autofill_page/autofill_page.js';
export {SettingsAutofillPageIndexElement} from './autofill_page/autofill_page_index.js';
+export {SettingsAdblockPageElement} from './adblock_page/adblock_page.js';
@@ -1888,7 +1888,7 @@ diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/com
"autofillPrivate": {
"channel": "trunk",
"extension_types": ["extension", "platform_app"],
-@@ -426,13 +419,6 @@
+@@ -424,13 +417,6 @@
// "desktop_android" is not supported.
"platforms": ["chromeos", "linux", "mac", "win"]
},
@@ -12819,7 +12819,7 @@ new file mode 100644
diff --git a/components/error_page_strings.grdp b/components/error_page_strings.grdp
--- a/components/error_page_strings.grdp
+++ b/components/error_page_strings.grdp
-@@ -266,6 +266,22 @@
+@@ -263,6 +263,22 @@
Your organization doesn’t allow you to view this site
@@ -12881,7 +12881,7 @@ diff --git a/content/browser/websockets/websocket_connector_impl.cc b/content/br
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
-@@ -1132,7 +1132,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory(
+@@ -1156,7 +1156,7 @@ void ContentBrowserClient::WillCreateURLLoaderFactory(
DCHECK(browser_context);
}
@@ -12890,7 +12890,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
return false;
}
-@@ -1141,9 +1141,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) {
+@@ -1165,9 +1165,11 @@ uint32_t ContentBrowserClient::GetWebSocketOptions(RenderFrameHost* frame) {
}
void ContentBrowserClient::CreateWebSocket(
@@ -12905,7 +12905,7 @@ diff --git a/content/public/browser/content_browser_client.cc b/content/public/b
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
--- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h
-@@ -2126,7 +2126,7 @@ class CONTENT_EXPORT ContentBrowserClient {
+@@ -2149,7 +2149,7 @@ class CONTENT_EXPORT ContentBrowserClient {
scoped_refptr navigation_response_task_runner);
// Returns true when the embedder wants to intercept a websocket connection.
@@ -12914,7 +12914,7 @@ diff --git a/content/public/browser/content_browser_client.h b/content/public/br
// Returns the WebSocket creation options.
virtual uint32_t GetWebSocketOptions(RenderFrameHost* frame);
-@@ -2148,9 +2148,11 @@ class CONTENT_EXPORT ContentBrowserClient {
+@@ -2171,9 +2171,11 @@ class CONTENT_EXPORT ContentBrowserClient {
// Always called on the UI thread and only when the Network Service is
// enabled.
virtual void CreateWebSocket(
@@ -13034,7 +13034,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_document.cc b/third_pa
diff --git a/third_party/blink/renderer/core/html/html_element.cc b/third_party/blink/renderer/core/html/html_element.cc
--- a/third_party/blink/renderer/core/html/html_element.cc
+++ b/third_party/blink/renderer/core/html/html_element.cc
-@@ -2673,13 +2673,7 @@ void HTMLElement::setSpellcheck(bool enable) {
+@@ -2642,13 +2642,7 @@ void HTMLElement::setSpellcheck(bool enable) {
}
void HTMLElement::click() {
diff --git a/build/patches/Fix-chromium-build-bugs.patch b/build/patches/Fix-chromium-build-bugs.patch
index d0135c27..79b43ac9 100644
--- a/build/patches/Fix-chromium-build-bugs.patch
+++ b/build/patches/Fix-chromium-build-bugs.patch
@@ -19,7 +19,7 @@ https://bugs.chromium.org/p/chromium/issues/detail?id=1491776#c10
diff --git a/BUILD.gn b/BUILD.gn
--- a/BUILD.gn
+++ b/BUILD.gn
-@@ -411,7 +411,6 @@ group("gn_all") {
+@@ -412,7 +412,6 @@ group("gn_all") {
"//android_webview:empty_group",
"//android_webview/test",
"//android_webview/tools/automated_ui_tests:webview_ui_test_app_test_apk",
@@ -42,7 +42,7 @@ diff --git a/chrome/browser/navigation_predictor/navigation_predictor_metrics_do
diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsing/BUILD.gn
--- a/chrome/browser/safe_browsing/BUILD.gn
+++ b/chrome/browser/safe_browsing/BUILD.gn
-@@ -300,6 +300,7 @@ static_library("safe_browsing") {
+@@ -299,6 +299,7 @@ static_library("safe_browsing") {
"//components/version_info",
"//content/public/browser",
"//services/preferences/public/mojom",
@@ -53,7 +53,7 @@ diff --git a/chrome/browser/safe_browsing/BUILD.gn b/chrome/browser/safe_browsin
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
-@@ -60,6 +60,7 @@ static_library("installer_policies_no_content_deps") {
+@@ -57,6 +57,7 @@ static_library("installer_policies_no_content_deps") {
"//components/update_client",
"//mojo/public/cpp/base:protobuf_support",
"//services/network/public/cpp",
@@ -119,7 +119,7 @@ diff --git a/components/safe_browsing/content/renderer/phishing_classifier/phish
diff --git a/content/browser/browser_interface_binders.cc b/content/browser/browser_interface_binders.cc
--- a/content/browser/browser_interface_binders.cc
+++ b/content/browser/browser_interface_binders.cc
-@@ -356,6 +356,7 @@ void BindDateTimeChooserForFrame(
+@@ -358,6 +358,7 @@ void BindDateTimeChooserForFrame(
void BindTextSuggestionHostForFrame(
RenderFrameHost* host,
mojo::PendingReceiver receiver) {
diff --git a/build/patches/Fix-chromium-vanilla.patch b/build/patches/Fix-chromium-vanilla.patch
index 24257fed..2f703bce 100644
--- a/build/patches/Fix-chromium-vanilla.patch
+++ b/build/patches/Fix-chromium-vanilla.patch
@@ -23,7 +23,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstR
diff --git a/components/safe_browsing/android/java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java b/components/safe_browsing/android/java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java
--- a/components/safe_browsing/android/java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java
+++ b/components/safe_browsing/android/java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java
-@@ -267,6 +267,7 @@ public final class SafeBrowsingApiBridge {
+@@ -281,6 +281,7 @@ public final class SafeBrowsingApiBridge {
@CalledByNative
private static void startUriLookupBySafeBrowsingApi(
long callbackId, String uri, int[] threatTypes, int protocol) {
diff --git a/build/patches/Fonts-fingerprinting-mitigation.patch b/build/patches/Fonts-fingerprinting-mitigation.patch
index 87b3b4ad..5fb33d53 100644
--- a/build/patches/Fonts-fingerprinting-mitigation.patch
+++ b/build/patches/Fonts-fingerprinting-mitigation.patch
@@ -120,7 +120,7 @@ diff --git a/skia/ext/skia_utils_win.h b/skia/ext/skia_utils_win.h
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
-@@ -243,6 +243,10 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(int,
+@@ -246,6 +246,10 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE_PARAM(int,
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kLessAggressiveParkableString);
BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kCombineNewWindowIPCs);
@@ -134,7 +134,7 @@ diff --git a/third_party/blink/public/common/features.h b/third_party/blink/publ
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -812,6 +812,7 @@ component("platform") {
+@@ -804,6 +804,7 @@ component("platform") {
"fonts/simple_font_data.cc",
"fonts/simple_font_data.h",
"fonts/skia/font_cache_skia.cc",
@@ -530,7 +530,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc b
diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc b/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc
--- a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc
+++ b/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.cc
-@@ -446,6 +446,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData(
+@@ -441,6 +441,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData(
sk_sp typeface;
std::string name;
@@ -538,7 +538,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c
if (alternate_font_name == AlternateFontName::kLocalUniqueFace &&
RuntimeEnabledFeatures::FontSrcLocalMatchingEnabled()) {
-@@ -457,7 +458,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData(
+@@ -452,7 +453,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData(
return nullptr;
} else {
@@ -547,7 +547,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c
// For a family match, Windows will always give us a valid pointer here,
// even if the face name is non-existent. We have to double-check and see if
-@@ -491,7 +492,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData(
+@@ -486,7 +487,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData(
FontDescription adjusted_font_description = font_description;
adjusted_font_description.SetWeight(variant_weight);
typeface =
@@ -556,7 +556,7 @@ diff --git a/third_party/blink/renderer/platform/fonts/win/font_cache_skia_win.c
if (!typeface ||
!TypefacesMatchesFamily(typeface.get(), adjusted_name)) {
return nullptr;
-@@ -503,7 +504,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData(
+@@ -498,7 +499,7 @@ const FontPlatformData* FontCache::CreateFontPlatformData(
FontDescription adjusted_font_description = font_description;
adjusted_font_description.SetStretch(variant_stretch);
typeface =
diff --git a/build/patches/Force-use-vpython3-for-some-scripts.patch b/build/patches/Force-use-vpython3-for-some-scripts.patch
index cf810c30..94bd80f9 100644
--- a/build/patches/Force-use-vpython3-for-some-scripts.patch
+++ b/build/patches/Force-use-vpython3-for-some-scripts.patch
@@ -22,7 +22,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni
--- a/build/config/android/internal_rules.gni
+++ b/build/config/android/internal_rules.gni
-@@ -610,12 +610,15 @@ template("write_build_config") {
+@@ -627,12 +627,15 @@ template("write_build_config") {
} else {
action_with_pydeps(target_name) {
forward_variables_from(invoker, [ "testonly" ])
@@ -39,7 +39,7 @@ diff --git a/build/config/android/internal_rules.gni b/build/config/android/inte
"--output",
rebase_path(invoker.build_config, root_build_dir),
"--depfile",
-@@ -3018,17 +3021,18 @@ if (enable_java_templates) {
+@@ -3031,17 +3034,18 @@ if (enable_java_templates) {
}
action_with_pydeps(target_name) {
@@ -61,7 +61,7 @@ diff --git a/build/config/android/internal_rules.gni b/build/config/android/inte
inputs = javac_paths_for_inputs
}
-@@ -3044,7 +3048,10 @@ if (enable_java_templates) {
+@@ -3057,7 +3061,10 @@ if (enable_java_templates) {
deps += invoker.deps
}
@@ -73,7 +73,7 @@ diff --git a/build/config/android/internal_rules.gni b/build/config/android/inte
if (invoker.enable_errorprone) {
_stamp_file = "$target_out_dir/$target_name.stamp"
outputs = [ _stamp_file ]
-@@ -3242,7 +3249,8 @@ if (enable_java_templates) {
+@@ -3256,7 +3263,8 @@ if (enable_java_templates) {
}
action_with_pydeps(target_name) {
@@ -83,7 +83,7 @@ diff --git a/build/config/android/internal_rules.gni b/build/config/android/inte
depfile = "$target_gen_dir/$target_name.d"
deps = _srcjar_deps
if (defined(invoker.deps)) {
-@@ -3271,6 +3279,8 @@ if (enable_java_templates) {
+@@ -3285,6 +3293,8 @@ if (enable_java_templates) {
"$target_gen_dir/${invoker.main_target_name}/generated_java",
root_build_dir)
args = [
diff --git a/build/patches/Guard-for-user-agent-reduction.patch b/build/patches/Guard-for-user-agent-reduction.patch
index 2ca0bb82..5fa27780 100644
--- a/build/patches/Guard-for-user-agent-reduction.patch
+++ b/build/patches/Guard-for-user-agent-reduction.patch
@@ -12,7 +12,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
-@@ -1487,7 +1487,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
+@@ -1467,7 +1467,7 @@ void ChromeContentBrowserClient::RegisterProfilePrefs(
registry->RegisterIntegerPref(
prefs::kUserAgentReduction,
static_cast(
@@ -24,7 +24,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
--- a/components/embedder_support/user_agent_utils.cc
+++ b/components/embedder_support/user_agent_utils.cc
-@@ -902,6 +902,7 @@ std::string BuildUserAgentFromProduct(const std::string& product) {
+@@ -897,6 +897,7 @@ std::string BuildUserAgentFromProduct(const std::string& product) {
}
std::string BuildModelInfo() {
@@ -32,7 +32,7 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
#if BUILDFLAG(IS_ANDROID)
// Model information is not exposed on Android desktop.
if (ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_DESKTOP) {
-@@ -944,6 +945,10 @@ std::string GetAndroidOSInfo(
+@@ -939,6 +940,10 @@ std::string GetAndroidOSInfo(
IncludeAndroidModel include_android_model) {
std::string android_info_str;
@@ -46,7 +46,7 @@ diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedd
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
-@@ -4037,9 +4037,9 @@
+@@ -4056,9 +4056,9 @@
// If enabled, the deviceModel will be reduced to "K" and the
// androidVersion will be reduced to a static "10" string in android
// User-Agent string.
@@ -59,7 +59,7 @@ diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5
},
// If enabled, the platform version in User-Agent Data will be removed.
// This feature is limited to Linux only.
-@@ -4051,15 +4051,15 @@
+@@ -4070,15 +4070,15 @@
// This User-Agent Reduction feature has been enabled starting from M101,
// but we still keep this flag for future phase tests.
{
diff --git a/build/patches/Hardening-against-incognito-mode-detection.patch b/build/patches/Hardening-against-incognito-mode-detection.patch
index db89635f..ea556f3a 100644
--- a/build/patches/Hardening-against-incognito-mode-detection.patch
+++ b/build/patches/Hardening-against-incognito-mode-detection.patch
@@ -11,7 +11,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/storage/browser/quota/quota_manager_impl.cc b/storage/browser/quota/quota_manager_impl.cc
--- a/storage/browser/quota/quota_manager_impl.cc
+++ b/storage/browser/quota/quota_manager_impl.cc
-@@ -1776,7 +1776,7 @@ int64_t QuotaManagerImpl::GetQuotaForStorageKey(
+@@ -1777,7 +1777,7 @@ int64_t QuotaManagerImpl::GetQuotaForStorageKey(
return kNoLimit;
}
@@ -20,7 +20,7 @@ diff --git a/storage/browser/quota/quota_manager_impl.cc b/storage/browser/quota
storage_key.origin().GetURL())) {
return settings.session_only_per_storage_key_quota;
}
-@@ -2445,7 +2445,7 @@ void QuotaManagerImpl::SimulateStoragePressure(const url::Origin& origin_url) {
+@@ -2446,7 +2446,7 @@ void QuotaManagerImpl::SimulateStoragePressure(const url::Origin& origin_url) {
void QuotaManagerImpl::IsSimulateStoragePressureAvailable(
IsSimulateStoragePressureAvailableCallback callback) {
// We assume this is only the case in incognito. If it changes, update this.
diff --git a/build/patches/History-number-of-days-privacy-setting.patch b/build/patches/History-number-of-days-privacy-setting.patch
index 18f645db..08f864f8 100644
--- a/build/patches/History-number-of-days-privacy-setting.patch
+++ b/build/patches/History-number-of-days-privacy-setting.patch
@@ -165,7 +165,7 @@ diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chro
#include "components/embedder_support/pref_names.h"
#include "components/language/core/browser/pref_names.h"
#include "components/live_caption/pref_names.h"
-@@ -231,6 +232,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
+@@ -234,6 +235,9 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
(*s_allowlist)[::prefs::kSplitViewDragAndDropEnabled] =
settings_api::PrefType::kBoolean;
@@ -190,7 +190,7 @@ diff --git a/chrome/browser/history/history_service_factory.cc b/chrome/browser/
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
-@@ -380,6 +380,7 @@ std::unique_ptr Profile::CreateProfile(const base::FilePath& path,
+@@ -377,6 +377,7 @@ std::unique_ptr Profile::CreateProfile(const base::FilePath& path,
void ProfileImpl::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kSavingBrowserHistoryDisabled, false);
@@ -202,8 +202,8 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
@@ -76,6 +76,15 @@
- sub-label="$i18n{permissionsPageDescription}"
- on-click="onPermissionsPageClick_"
+ sub-label="$i18n{siteSettingsSublabel}"
+ on-click="onSiteSettingsLinkRowClick_"
role-description="$i18n{subpageArrowRoleDescription}">
+
+
@@ -255,7 +255,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
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
-@@ -1252,6 +1252,18 @@ Your Google account may have other forms of browsing history like searches and a
+@@ -1261,6 +1261,18 @@ Your Google account may have other forms of browsing history like searches and a
Browsing history
@@ -277,7 +277,7 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
-@@ -2076,6 +2076,11 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
+@@ -2226,6 +2226,11 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
IDS_SETTINGS_SAFEBROWSING_ENHANCED_THINGS_TO_CONSIDER_BULLET_THREE},
{"safeBrowsingStandard", IDS_SETTINGS_SAFEBROWSING_STANDARD},
{"safeBrowsingStandardDesc", IDS_SETTINGS_SAFEBROWSING_STANDARD_DESC},
@@ -369,7 +369,7 @@ diff --git a/components/browser_ui/settings/android/java/res/layout/preference_s
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
-@@ -8,6 +8,7 @@ import static org.chromium.build.NullUtil.assumeNonNull;
+@@ -9,6 +9,7 @@ import static org.chromium.components.browser_ui.widget.containment.ContainmentU
import android.content.Context;
import android.content.res.TypedArray;
@@ -377,7 +377,7 @@ diff --git a/components/browser_ui/settings/android/widget/java/src/org/chromium
import android.util.AttributeSet;
import android.view.View;
import android.widget.AdapterView;
-@@ -95,6 +96,12 @@ public class SpinnerPreference extends Preference implements Preference.OnPrefer
+@@ -105,6 +106,12 @@ public class SpinnerPreference extends Preference
super.onBindViewHolder(holder);
((TextView) holder.findViewById(R.id.title)).setText(getTitle());
@@ -416,7 +416,7 @@ new file mode 100644
diff --git a/components/history/core/browser/expire_history_backend.cc b/components/history/core/browser/expire_history_backend.cc
--- a/components/history/core/browser/expire_history_backend.cc
+++ b/components/history/core/browser/expire_history_backend.cc
-@@ -390,7 +390,7 @@ const ExpiringVisitsReader*
+@@ -391,7 +391,7 @@ const ExpiringVisitsReader*
void ExpireHistoryBackend::StartExpiringOldStuff(
base::TimeDelta expiration_threshold) {
@@ -425,7 +425,7 @@ diff --git a/components/history/core/browser/expire_history_backend.cc b/compone
// Remove all readers, just in case this was method was called before.
readers_.clear();
-@@ -406,6 +406,11 @@ void ExpireHistoryBackend::StartExpiringOldStuff(
+@@ -407,6 +407,11 @@ void ExpireHistoryBackend::StartExpiringOldStuff(
ScheduleExpire();
}
@@ -437,7 +437,7 @@ diff --git a/components/history/core/browser/expire_history_backend.cc b/compone
void ExpireHistoryBackend::DeleteFaviconsIfPossible(DeleteEffects* effects) {
if (!favicon_db_)
return;
-@@ -651,6 +656,12 @@ void ExpireHistoryBackend::DoExpireIteration() {
+@@ -655,6 +660,12 @@ void ExpireHistoryBackend::DoExpireIteration() {
return;
}
@@ -476,7 +476,7 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his
// The maximum number of days for which domain visit metrics are computed
// each time HistoryBackend::GetDomainDiversity() is called.
constexpr int kDomainDiversityMaxBacktrackedDays = 7;
-@@ -1338,6 +1342,19 @@ void HistoryBackend::InitImpl(
+@@ -1336,6 +1340,19 @@ void HistoryBackend::InitImpl(
expirer_.StartExpiringOldStuff(base::Days(kExpireDaysThreshold));
}
@@ -494,12 +494,12 @@ diff --git a/components/history/core/browser/history_backend.cc b/components/his
+}
+
void HistoryBackend::OnMemoryPressure(
- base::MemoryPressureListener::MemoryPressureLevel memory_pressure_level) {
+ base::MemoryPressureLevel memory_pressure_level) {
// TODO(sebmarchand): Check if MEMORY_PRESSURE_LEVEL_MODERATE should also be
diff --git a/components/history/core/browser/history_backend.h b/components/history/core/browser/history_backend.h
--- a/components/history/core/browser/history_backend.h
+++ b/components/history/core/browser/history_backend.h
-@@ -206,10 +206,6 @@ class HistoryBackend : public base::RefCountedThreadSafe
,
+@@ -208,10 +208,6 @@ class HistoryBackend : public base::RefCountedThreadSafe,
// Check if the transition should increment the typed_count of a visit.
static bool IsTypedIncrement(ui::PageTransition transition);
@@ -510,7 +510,7 @@ diff --git a/components/history/core/browser/history_backend.h b/components/hist
// Init must be called to complete object creation. This object can be
// constructed on any thread, but all other functions including Init() must
// be called on the history thread.
-@@ -237,6 +233,8 @@ class HistoryBackend : public base::RefCountedThreadSafe,
+@@ -239,6 +235,8 @@ class HistoryBackend : public base::RefCountedThreadSafe,
void Init(bool force_fail,
const HistoryDatabaseParams& history_database_params);
@@ -566,7 +566,7 @@ diff --git a/components/history/core/browser/history_service.cc b/components/his
void HistoryService::ScheduleDBTaskForUI(
base::OnceCallback callback) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-@@ -1420,6 +1450,9 @@ void HistoryService::Cleanup() {
+@@ -1436,6 +1466,9 @@ void HistoryService::Cleanup() {
return;
}
@@ -597,7 +597,7 @@ diff --git a/components/history/core/browser/history_service.h b/components/hist
// Triggers the backend to load if it hasn't already, and then returns whether
// it's finished loading.
// Note: Virtual needed for mocking.
-@@ -1169,6 +1173,10 @@ class HistoryService : public KeyedService,
+@@ -1173,6 +1177,10 @@ class HistoryService : public KeyedService,
raw_ptr local_device_info_provider_ =
nullptr;
diff --git a/build/patches/Improve-the-browser-sandbox.patch b/build/patches/Improve-the-browser-sandbox.patch
index 7ad45ee2..1ac78823 100644
--- a/build/patches/Improve-the-browser-sandbox.patch
+++ b/build/patches/Improve-the-browser-sandbox.patch
@@ -7,10 +7,10 @@ using the new flags on android
License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
---
- .../common/features_cc/Improve-the-browser-sandbox.inc | 2 ++
- .../content_features_cc/Improve-the-browser-sandbox.inc | 1 +
- sandbox/policy/features.cc | 9 +++++++++
- 3 files changed, 12 insertions(+)
+ .../common/features_cc/Improve-the-browser-sandbox.inc | 2 ++
+ .../content_features_cc/Improve-the-browser-sandbox.inc | 1 +
+ sandbox/policy/features.cc | 8 ++++++++
+ 3 files changed, 11 insertions(+)
create mode 100644 cromite_flags/content/common/features_cc/Improve-the-browser-sandbox.inc
create mode 100644 cromite_flags/content/public/common/content_features_cc/Improve-the-browser-sandbox.inc
@@ -30,11 +30,10 @@ new file mode 100644
diff --git a/sandbox/policy/features.cc b/sandbox/policy/features.cc
--- a/sandbox/policy/features.cc
+++ b/sandbox/policy/features.cc
-@@ -176,4 +176,13 @@ bool IsParallelLaunchEnabled() {
- return base::FeatureList::IsEnabled(kWinSboxParallelProcessLaunch);
+@@ -167,4 +167,12 @@ bool IsNetworkSandboxEnabled() {
+ #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA)
}
- #endif // BUILDFLAG(IS_WIN)
-+
+
+#if BUILDFLAG(IS_ANDROID)
+SET_CROMITE_FEATURE_ENABLED(kUseRendererProcessPolicy);
+SET_CROMITE_FEATURE_ENABLED(kRestrictRendererPoliciesInBaseline);
diff --git a/build/patches/Increase-number-of-autocomplete-matches-to-10.patch b/build/patches/Increase-number-of-autocomplete-matches-to-10.patch
index 1599f42e..4dd1df61 100644
--- a/build/patches/Increase-number-of-autocomplete-matches-to-10.patch
+++ b/build/patches/Increase-number-of-autocomplete-matches-to-10.patch
@@ -13,7 +13,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/omnibox/browser/autocomplete_result.cc b/components/omnibox/browser/autocomplete_result.cc
--- a/components/omnibox/browser/autocomplete_result.cc
+++ b/components/omnibox/browser/autocomplete_result.cc
-@@ -112,10 +112,11 @@ omnibox::ChromeAimEntryPoint GetAimActionEntrypointID() {
+@@ -113,10 +113,11 @@ omnibox::ChromeAimEntryPoint GetAimActionEntrypointID() {
size_t AutocompleteResult::GetMaxMatches(
bool is_zero_suggest,
AutocompleteInput::FeaturedKeywordMode featured_keyword_mode) {
diff --git a/build/patches/Internal-firewall.patch b/build/patches/Internal-firewall.patch
index ad2c4c93..c875c255 100644
--- a/build/patches/Internal-firewall.patch
+++ b/build/patches/Internal-firewall.patch
@@ -60,7 +60,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
-@@ -2577,6 +2577,7 @@ static_library("browser") {
+@@ -2565,6 +2565,7 @@ static_library("browser") {
"//third_party/ungoogled:switches",
"//services/device/public/mojom",
"//services/device/public/mojom:usb",
@@ -82,7 +82,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/download/android/download_controller.cc b/chrome/browser/download/android/download_controller.cc
--- a/chrome/browser/download/android/download_controller.cc
+++ b/chrome/browser/download/android/download_controller.cc
-@@ -243,6 +243,36 @@ void LogAppVerificationPromptToPrefs(download::DownloadItem* item) {
+@@ -190,6 +190,36 @@ void LogAppVerificationPromptToPrefs(download::DownloadItem* item) {
update->Append(base::TimeToValue(base::Time::Now()));
}
@@ -118,8 +118,8 @@ diff --git a/chrome/browser/download/android/download_controller.cc b/chrome/bro
+
} // namespace
- static void JNI_DownloadController_OnAcquirePermissionResult(
-@@ -298,7 +328,7 @@ static void JNI_DownloadController_DownloadUrl(
+ static void JNI_DownloadController_CancelDownload(JNIEnv* env,
+@@ -224,7 +254,7 @@ static void JNI_DownloadController_DownloadUrl(
std::unique_ptr dl_params =
content::DownloadRequestUtils::CreateDownloadForWebContentsMainFrame(
web_contents, GURL(url),
@@ -131,8 +131,8 @@ diff --git a/chrome/browser/download/android/download_controller.cc b/chrome/bro
diff --git a/chrome/browser/offline_pages/android/downloads/offline_page_download_bridge.cc b/chrome/browser/offline_pages/android/downloads/offline_page_download_bridge.cc
--- a/chrome/browser/offline_pages/android/downloads/offline_page_download_bridge.cc
+++ b/chrome/browser/offline_pages/android/downloads/offline_page_download_bridge.cc
-@@ -270,13 +270,43 @@ content::WebContents::Getter GetWebContentsGetter(
- web_contents->GetPrimaryMainFrame()->GetRoutingID());
+@@ -242,13 +242,43 @@ void DuplicateCheckDone(const GURL& url,
+ base::BindOnce(&OnDuplicateDialogConfirmed, std::move(callback)));
}
+const net::NetworkTrafficAnnotationTag traffic_annotation =
@@ -301,8 +301,8 @@ new file mode 100644
diff --git a/net/BUILD.gn b/net/BUILD.gn
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
-@@ -1176,6 +1176,7 @@ component("net") {
- "//components/network_time/time_tracker",
+@@ -1181,6 +1181,7 @@ component("net") {
+ "//components/unexportable_keys",
"//components/network_session_configurator/common",
"//net/http:transport_security_state_generated_files",
+ "//services/firewall/public:firewall_builders",
@@ -1677,7 +1677,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
#include "services/network/brokered_client_socket_factory.h"
#include "services/network/connection_change_observer.h"
#include "services/network/cookie_manager.h"
-@@ -1856,6 +1857,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() {
+@@ -1857,6 +1858,9 @@ void NetworkContext::OnNewSCTAuditingReportSent() {
void NetworkContext::CreateUDPSocket(
mojo::PendingReceiver receiver,
mojo::PendingRemote listener) {
@@ -1687,7 +1687,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateUDPSocket(std::move(receiver), std::move(listener));
}
-@@ -1869,6 +1873,17 @@ void NetworkContext::CreateRestrictedUDPSocket(
+@@ -1870,6 +1874,17 @@ void NetworkContext::CreateRestrictedUDPSocket(
bool allow_multicast,
CreateRestrictedUDPSocketCallback callback) {
// SimpleHostResolver is transitively owned by |this|.
@@ -1705,7 +1705,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateRestrictedUDPSocket(
addr, mode, traffic_annotation, std::move(params), std::move(receiver),
std::move(listener), SimpleHostResolver::Create(this), allow_multicast,
-@@ -1881,6 +1896,17 @@ void NetworkContext::CreateTCPServerSocket(
+@@ -1882,6 +1897,17 @@ void NetworkContext::CreateTCPServerSocket(
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
mojo::PendingReceiver receiver,
CreateTCPServerSocketCallback callback) {
@@ -1723,7 +1723,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateTCPServerSocket(
local_addr, std::move(options),
static_cast(traffic_annotation),
-@@ -1895,6 +1921,21 @@ void NetworkContext::CreateTCPConnectedSocket(
+@@ -1896,6 +1922,21 @@ void NetworkContext::CreateTCPConnectedSocket(
mojo::PendingReceiver receiver,
mojo::PendingRemote observer,
CreateTCPConnectedSocketCallback callback) {
@@ -1745,7 +1745,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateTCPConnectedSocket(
local_addr, remote_addr_list, std::move(tcp_connected_socket_options),
static_cast(traffic_annotation),
-@@ -1906,6 +1947,20 @@ void NetworkContext::CreateTCPBoundSocket(
+@@ -1907,6 +1948,20 @@ void NetworkContext::CreateTCPBoundSocket(
const net::MutableNetworkTrafficAnnotationTag& traffic_annotation,
mojo::PendingReceiver receiver,
CreateTCPBoundSocketCallback callback) {
@@ -1766,7 +1766,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
socket_factory_->CreateTCPBoundSocket(
local_addr,
static_cast(traffic_annotation),
-@@ -1973,6 +2028,24 @@ void NetworkContext::CreateWebSocket(
+@@ -1974,6 +2029,24 @@ void NetworkContext::CreateWebSocket(
mojo::PendingRemote auth_handler,
mojo::PendingRemote header_client,
const std::optional& throttling_profile_id) {
diff --git a/build/patches/JIT-site-settings.patch b/build/patches/JIT-site-settings.patch
index 0703e066..72a148bb 100644
--- a/build/patches/JIT-site-settings.patch
+++ b/build/patches/JIT-site-settings.patch
@@ -279,7 +279,7 @@ new file mode 100644
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
--- a/components/content_settings/core/browser/content_settings_registry.cc
+++ b/components/content_settings/core/browser/content_settings_registry.cc
-@@ -610,7 +610,7 @@ void ContentSettingsRegistry::Init() {
+@@ -589,7 +589,7 @@ void ContentSettingsRegistry::Init() {
PermissionSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
Register(ContentSettingsType::JAVASCRIPT_JIT, "javascript-jit",
@@ -291,7 +291,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
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
-@@ -4201,12 +4201,17 @@ UrlInfo NavigationRequest::GetUrlInfo() {
+@@ -4222,12 +4222,17 @@ UrlInfo NavigationRequest::GetUrlInfo() {
// Compute the WebExposedIsolationInfo that will be bundled into UrlInfo.
auto web_exposed_isolation_info = ComputeWebExposedIsolationInfo();
@@ -313,7 +313,7 @@ diff --git a/content/browser/renderer_host/navigation_request.cc b/content/brows
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -3479,6 +3479,9 @@ void RenderProcessHostImpl::AppendRendererCommandLine(
+@@ -3580,6 +3580,9 @@ void RenderProcessHostImpl::AppendRendererCommandLine(
if (IsJitDisabled()) {
AppendToCommaSeparatedSwitch(
command_line, blink::switches::kJavaScriptFlags, "--jitless");
@@ -326,7 +326,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
diff --git a/content/browser/site_info.cc b/content/browser/site_info.cc
--- a/content/browser/site_info.cc
+++ b/content/browser/site_info.cc
-@@ -310,6 +310,13 @@ SiteInfo SiteInfo::Create(const IsolationContext& isolation_context,
+@@ -302,6 +302,13 @@ SiteInfo SiteInfo::Create(const IsolationContext& isolation_context,
is_jitless =
is_jitless || GetContentClient()->browser()->IsJitDisabledForSite(
browser_context, agent_cluster_url_or_default);
@@ -337,9 +337,9 @@ diff --git a/content/browser/site_info.cc b/content/browser/site_info.cc
+ is_jitless = false;
+ }
+ }
- are_v8_optimizations_disabled = CheckAndCacheShouldDisableV8Optimization(
+ are_v8_optimizations_disabled = CheckShouldDisableV8Optimization(
browser_context, isolation_context.browsing_instance_id(),
- url::Origin::Create(agent_cluster_url_or_default));
+ agent_cluster_url_or_default);
diff --git a/content/browser/url_info.cc b/content/browser/url_info.cc
--- a/content/browser/url_info.cc
+++ b/content/browser/url_info.cc
@@ -351,7 +351,7 @@ diff --git a/content/browser/url_info.cc b/content/browser/url_info.cc
is_sandboxed(init.is_sandboxed_),
unique_sandbox_id(init.unique_sandbox_id_),
storage_partition_config(init.storage_partition_config_),
-@@ -146,6 +147,11 @@ UrlInfoInit& UrlInfoInit::WithOrigin(const url::Origin& origin) {
+@@ -148,6 +149,11 @@ UrlInfoInit& UrlInfoInit::WithOrigin(const url::Origin& origin) {
return *this;
}
@@ -366,7 +366,7 @@ diff --git a/content/browser/url_info.cc b/content/browser/url_info.cc
diff --git a/content/browser/url_info.h b/content/browser/url_info.h
--- a/content/browser/url_info.h
+++ b/content/browser/url_info.h
-@@ -126,6 +126,7 @@ struct CONTENT_EXPORT UrlInfo {
+@@ -127,6 +127,7 @@ struct CONTENT_EXPORT UrlInfo {
// and origin checks that require a UrlInfo. Investigate whether there's a
// cleaner way to organize these checks. See https://crbug.com/1320402.
std::optional origin;
@@ -374,7 +374,7 @@ diff --git a/content/browser/url_info.h b/content/browser/url_info.h
// If url is being loaded in a frame that is in a origin-restricted sandboxed,
// then this flag will be true.
-@@ -187,6 +188,7 @@ class CONTENT_EXPORT UrlInfoInit {
+@@ -201,6 +202,7 @@ class CONTENT_EXPORT UrlInfoInit {
UrlInfoInit& WithCOOPSiteIsolation(bool requests_coop_isolation);
UrlInfoInit& WithCrossSitePrefetchContamination(bool contaminated);
UrlInfoInit& WithOrigin(const url::Origin& origin);
@@ -382,7 +382,7 @@ diff --git a/content/browser/url_info.h b/content/browser/url_info.h
UrlInfoInit& WithSandbox(bool is_sandboxed);
UrlInfoInit& WithUniqueSandboxId(int unique_sandbox_id);
UrlInfoInit& WithStoragePartitionConfig(
-@@ -210,6 +212,7 @@ class CONTENT_EXPORT UrlInfoInit {
+@@ -226,6 +228,7 @@ class CONTENT_EXPORT UrlInfoInit {
bool requests_coop_isolation_ = false;
bool is_prefetch_with_cross_site_contamination_ = false;
std::optional origin_;
diff --git a/build/patches/Keep-ComputePressure-disabled.patch b/build/patches/Keep-ComputePressure-disabled.patch
index bfeeed17..35b2fa60 100644
--- a/build/patches/Keep-ComputePressure-disabled.patch
+++ b/build/patches/Keep-ComputePressure-disabled.patch
@@ -10,8 +10,8 @@ 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
-@@ -1099,11 +1099,9 @@
- status: "experimental",
+@@ -1170,11 +1170,9 @@
+ status: "stable",
},
{
- name: "ComputePressure",
diff --git a/build/patches/Keep-Manta-Service-Disabled.patch b/build/patches/Keep-Manta-Service-Disabled.patch
index 3634ea4f..587dee20 100644
--- a/build/patches/Keep-Manta-Service-Disabled.patch
+++ b/build/patches/Keep-Manta-Service-Disabled.patch
@@ -10,7 +10,7 @@ Subject: Keep Manta Service Disabled
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
-@@ -1035,7 +1035,6 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -1050,7 +1050,6 @@ void ChromeBrowserMainExtraPartsProfiles::
#if !BUILDFLAG(IS_ANDROID)
ManagedConfigurationAPIFactory::GetInstance();
#endif
diff --git a/build/patches/Keep-disabled-FetchLaterAPI.patch b/build/patches/Keep-disabled-FetchLaterAPI.patch
index e130261e..9361e2f7 100644
--- a/build/patches/Keep-disabled-FetchLaterAPI.patch
+++ b/build/patches/Keep-disabled-FetchLaterAPI.patch
@@ -79,7 +79,7 @@ diff --git a/content/browser/loader/keep_alive_url_loader.cc b/content/browser/l
diff --git a/content/browser/loader/keep_alive_url_loader.h b/content/browser/loader/keep_alive_url_loader.h
--- a/content/browser/loader/keep_alive_url_loader.h
+++ b/content/browser/loader/keep_alive_url_loader.h
-@@ -429,9 +429,6 @@ class CONTENT_EXPORT KeepAliveURLLoader
+@@ -430,9 +430,6 @@ class CONTENT_EXPORT KeepAliveURLLoader
// disconnected from the remote of URLLoader in the renderer.
base::OneShotTimer disconnected_loader_timer_;
@@ -190,7 +190,7 @@ diff --git a/third_party/blink/renderer/platform/loader/child_url_loader_factory
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
--- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
-@@ -3108,7 +3108,7 @@ void ResourceFetcher::PrepareForLeakDetection() {
+@@ -3115,7 +3115,7 @@ void ResourceFetcher::PrepareForLeakDetection() {
void ResourceFetcher::StopFetchingInternal(StopFetchingTarget target) {
// TODO(toyoshim): May want to suspend scheduler while canceling loaders so
// that the cancellations below do not awake unnecessary scheduling.
@@ -202,7 +202,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.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
-@@ -2233,8 +2233,8 @@
+@@ -2319,8 +2319,8 @@
{
// The Blink runtime-enabled feature name for the API's IDL.
// https://chromestatus.com/feature/4654499737632768
diff --git a/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch b/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch
index 722d1afe..88ac492a 100644
--- a/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch
+++ b/build/patches/Keep-disabled-WebViewMediaIntegrityApi.patch
@@ -15,7 +15,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/android_webview/renderer/aw_content_renderer_client.cc b/android_webview/renderer/aw_content_renderer_client.cc
--- a/android_webview/renderer/aw_content_renderer_client.cc
+++ b/android_webview/renderer/aw_content_renderer_client.cc
-@@ -207,11 +207,6 @@ void AwContentRendererClient::
+@@ -227,11 +227,6 @@ void AwContentRendererClient::
autofill::features::kAutofillSharedAutofill)) {
blink::WebRuntimeFeatures::EnableSharedAutofill(true);
}
diff --git a/build/patches/Keep-empty-tabs-between-sessions.patch b/build/patches/Keep-empty-tabs-between-sessions.patch
index 9c565cc6..73b5d368 100644
--- a/build/patches/Keep-empty-tabs-between-sessions.patch
+++ b/build/patches/Keep-empty-tabs-between-sessions.patch
@@ -5,26 +5,27 @@ Subject: Keep empty tabs between sessions
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
---
- .../browser/multiwindow/MultiWindowUtils.java | 2 +-
- .../browser/tabmodel/TabPersistentStore.java | 18 ------------------
- 2 files changed, 1 insertion(+), 19 deletions(-)
+ .../chrome/browser/multiwindow/MultiWindowUtils.java | 2 +-
+ .../browser/tabmodel/TabPersistentStoreImpl.java | 7 -------
+ .../chrome/browser/tabmodel/TabPersistenceUtils.java | 10 ----------
+ 3 files changed, 1 insertion(+), 18 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/multiwindow/MultiWindowUtils.java
-@@ -1063,7 +1063,7 @@ public class MultiWindowUtils implements ActivityStateListener {
+@@ -1088,7 +1088,7 @@ public class MultiWindowUtils implements ActivityStateListener {
int totalCount = 0;
for (TabModel model : models) {
for (Tab tab : model) {
-- if (!TabPersistentStore.shouldSkipTab(tab)) {
+- if (!TabPersistenceUtils.shouldSkipTab(tab)) {
+ if ((true)) {
totalCount++;
}
}
-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
-@@ -2118,30 +2118,12 @@ public class TabPersistentStore {
+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
+@@ -2000,13 +2000,6 @@ public class TabPersistentStoreImpl implements TabPersistentStore {
continue;
}
@@ -32,15 +33,19 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
- // If any non-active NTPs have been skipped, the serialized tab model index
- // needs to be adjusted.
- modelInfo.index = modelInfo.ids.size();
-- } else if (shouldSkipTab(tab)) {
+- } else if (TabPersistenceUtils.shouldSkipTab(tab)) {
- continue;
- }
modelInfo.ids.add(tab.getId());
modelInfo.urls.add(tab.getUrl().getSpec());
}
- return modelInfo;
- }
-
+diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistenceUtils.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistenceUtils.java
+--- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistenceUtils.java
++++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabPersistenceUtils.java
+@@ -17,16 +17,6 @@ public class TabPersistenceUtils {
+ * @param tab The tab to check.
+ * @return True if the tab should be skipped, false otherwise.
+ */
- public static boolean shouldSkipTab(Tab tab) {
- // Don't skip the tab if it is pinned.
- if (tab.getIsPinned()) return false;
@@ -51,8 +56,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabPer
- // Only skip NTP tabs that are not in a tab group.
- return tab.getTabGroupId() == null;
- }
--
- /**
- * @return The shared pref APP_LAUNCH_LAST_KNOWN_ACTIVE_TAB_STATE. This is used when we need to
- * know the last known tab state before the active tab from the tab state is read.
+
+ private TabPersistenceUtils() {}
+ }
--
diff --git a/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch b/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch
index ad1ec499..73f0cbe8 100644
--- a/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch
+++ b/build/patches/Keep-flag-to-allow-screenshots-in-Incognito-mode.patch
@@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/incognito/Incog
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
-@@ -5981,10 +5981,10 @@
+@@ -6025,10 +6025,10 @@
"expiry_milestone": -1
},
{
diff --git a/build/patches/Keyboard-protection-flag.patch b/build/patches/Keyboard-protection-flag.patch
index 099b88fd..e3b77a4f 100644
--- a/build/patches/Keyboard-protection-flag.patch
+++ b/build/patches/Keyboard-protection-flag.patch
@@ -23,7 +23,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
-@@ -1004,6 +1004,11 @@ public final class ProductionSupportedFlagList {
+@@ -965,6 +965,11 @@ public final class ProductionSupportedFlagList {
+ " retried without a restart.\n"
+ " Note: WebViewUseStartupTasksLogicP2 and kWebViewStartupTasksYieldToNative"
+ " also enable the same behaviour as this flag."),
diff --git a/build/patches/Lock-Profile-Cookie-Database.patch b/build/patches/Lock-Profile-Cookie-Database.patch
index dea6fd01..e3a15d47 100644
--- a/build/patches/Lock-Profile-Cookie-Database.patch
+++ b/build/patches/Lock-Profile-Cookie-Database.patch
@@ -16,7 +16,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc
--- a/chrome/browser/net/profile_network_context_service.cc
+++ b/chrome/browser/net/profile_network_context_service.cc
-@@ -1373,6 +1373,14 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
+@@ -1419,6 +1419,14 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
network_context_params->file_paths->cookie_database_name =
base::FilePath(chrome::kCookieFilename);
@@ -56,7 +56,7 @@ new file mode 100644
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
-@@ -3227,7 +3227,7 @@ NetworkContext::MakeSessionCleanupCookieStore() const {
+@@ -3247,7 +3247,7 @@ NetworkContext::MakeSessionCleanupCookieStore() const {
#if BUILDFLAG(IS_WIN)
const bool enable_exclusive_access =
@@ -68,7 +68,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
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
-@@ -362,6 +362,14 @@ struct NetworkContextParams {
+@@ -361,6 +361,14 @@ struct NetworkContextParams {
// If true, cookies will be stored encrypted.
bool enable_encrypted_cookies = true;
diff --git a/build/patches/Log-dangling-attributes-in-some-html-elements.patch b/build/patches/Log-dangling-attributes-in-some-html-elements.patch
index 83ce0b5b..f3fc7355 100644
--- a/build/patches/Log-dangling-attributes-in-some-html-elements.patch
+++ b/build/patches/Log-dangling-attributes-in-some-html-elements.patch
@@ -42,7 +42,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
-@@ -5092,6 +5092,14 @@ void Document::ProcessBaseElement() {
+@@ -5093,6 +5093,14 @@ void Document::ProcessBaseElement() {
KURL base_element_url;
if (href) {
String stripped_href = StripLeadingAndTrailingHTMLSpaces(*href);
@@ -57,7 +57,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
if (!stripped_href.empty())
base_element_url = KURL(FallbackBaseURL(), stripped_href);
}
-@@ -5109,6 +5117,14 @@ void Document::ProcessBaseElement() {
+@@ -5110,6 +5118,14 @@ void Document::ProcessBaseElement() {
!GetExecutionContext()->GetSecurityOrigin()->CanRequest(
base_element_url)) {
UseCounter::Count(*this, WebFeature::kBaseWithCrossOriginHref);
@@ -72,7 +72,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
}
}
-@@ -5139,6 +5155,8 @@ void Document::ProcessBaseElement() {
+@@ -5140,6 +5156,8 @@ void Document::ProcessBaseElement() {
if (target->Contains('<'))
UseCounter::Count(*this, WebFeature::kBaseWithOpenBracketInTarget);
base_target_ = *target;
@@ -84,7 +84,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/renderer/core/dom/element.cc
--- a/third_party/blink/renderer/core/dom/element.cc
+++ b/third_party/blink/renderer/core/dom/element.cc
-@@ -3729,8 +3729,26 @@ void Element::StripScriptingAttributes(
+@@ -3825,8 +3825,26 @@ void Element::StripScriptingAttributes(
attribute_vector.Shrink(destination);
}
@@ -115,7 +115,7 @@ diff --git a/third_party/blink/renderer/core/dom/element.cc b/third_party/blink/
diff --git a/third_party/blink/renderer/core/dom/element.h b/third_party/blink/renderer/core/dom/element.h
--- a/third_party/blink/renderer/core/dom/element.h
+++ b/third_party/blink/renderer/core/dom/element.h
-@@ -777,7 +777,8 @@ class CORE_EXPORT Element : public ContainerNode, public Animatable {
+@@ -779,7 +779,8 @@ class CORE_EXPORT Element : public ContainerNode, public Animatable {
virtual bool HasLegalLinkAttribute(const QualifiedName&) const;
// Only called by the parser immediately after element construction.
@@ -334,7 +334,7 @@ diff --git a/third_party/blink/renderer/core/page/frame_tree.cc b/third_party/bl
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
-@@ -3098,6 +3098,12 @@
+@@ -3151,6 +3151,12 @@
name: "MacDisableCtrlHomeEnd",
status: "stable",
},
diff --git a/build/patches/Logcat-crash-reports-UI.patch b/build/patches/Logcat-crash-reports-UI.patch
index 7fe71f92..b2847bda 100644
--- a/build/patches/Logcat-crash-reports-UI.patch
+++ b/build/patches/Logcat-crash-reports-UI.patch
@@ -153,7 +153,7 @@ diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
-@@ -635,6 +635,7 @@ static_library("ui") {
+@@ -638,6 +638,7 @@ static_library("ui") {
"//third_party/re2",
"//third_party/webrtc_overrides:webrtc_component",
"//third_party/zlib",
diff --git a/build/patches/Media-fingerprinting-mitigations.patch b/build/patches/Media-fingerprinting-mitigations.patch
index 3b88245a..4203452d 100644
--- a/build/patches/Media-fingerprinting-mitigations.patch
+++ b/build/patches/Media-fingerprinting-mitigations.patch
@@ -13,7 +13,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/third_party/blink/renderer/modules/webcodecs/video_decoder.cc b/third_party/blink/renderer/modules/webcodecs/video_decoder.cc
--- a/third_party/blink/renderer/modules/webcodecs/video_decoder.cc
+++ b/third_party/blink/renderer/modules/webcodecs/video_decoder.cc
-@@ -301,7 +301,7 @@ ScriptPromise VideoDecoder::isConfigSupported(
+@@ -299,7 +299,7 @@ ScriptPromise VideoDecoder::isConfigSupported(
auto* config_copy = CopyConfig(*config);
// Run the "Check Configuration Support" algorithm.
diff --git a/build/patches/Modify-default-preferences.patch b/build/patches/Modify-default-preferences.patch
index 87884bc8..bf047600 100644
--- a/build/patches/Modify-default-preferences.patch
+++ b/build/patches/Modify-default-preferences.patch
@@ -31,7 +31,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
-@@ -86,6 +86,7 @@
+@@ -87,6 +87,7 @@
#include "components/autofill/core/common/autofill_payments_features.h"
#include "components/autofill/core/common/autofill_switches.h"
#include "components/autofill/core/common/autofill_util.h"
@@ -42,7 +42,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/chrome/browser/background/extensions/background_mode_manager.cc b/chrome/browser/background/extensions/background_mode_manager.cc
--- a/chrome/browser/background/extensions/background_mode_manager.cc
+++ b/chrome/browser/background/extensions/background_mode_manager.cc
-@@ -350,7 +350,7 @@ BackgroundModeManager::~BackgroundModeManager() {
+@@ -349,7 +349,7 @@ BackgroundModeManager::~BackgroundModeManager() {
// static
void BackgroundModeManager::RegisterPrefs(PrefRegistrySimple* registry) {
@@ -54,7 +54,7 @@ diff --git a/chrome/browser/background/extensions/background_mode_manager.cc b/c
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
-@@ -1439,7 +1439,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
+@@ -1419,7 +1419,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePrefs(
void ChromeContentBrowserClient::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
@@ -78,7 +78,7 @@ diff --git a/chrome/browser/preloading/preloading_prefs.h b/chrome/browser/prelo
diff --git a/chrome/browser/profiles/profile.cc b/chrome/browser/profiles/profile.cc
--- a/chrome/browser/profiles/profile.cc
+++ b/chrome/browser/profiles/profile.cc
-@@ -326,7 +326,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
+@@ -328,7 +328,7 @@ const char Profile::kProfileKey[] = "__PROFILE__";
void Profile::RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(
prefs::kSearchSuggestEnabled,
@@ -102,7 +102,7 @@ diff --git a/chrome/browser/resources/settings/reset_page/reset_profile_dialog.h
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
-@@ -125,10 +125,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -128,10 +128,10 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true);
registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true);
registry->RegisterBooleanPref(
@@ -115,7 +115,7 @@ diff --git a/chrome/browser/ui/browser_ui_prefs.cc b/chrome/browser/ui/browser_u
registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacement);
registry->RegisterDictionaryPref(prefs::kBrowserWindowPlacementPopup);
registry->RegisterDictionaryPref(prefs::kAppWindowPlacement);
-@@ -202,7 +202,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -205,7 +205,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) {
#endif
registry->RegisterBooleanPref(
@@ -245,7 +245,7 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
/*allowlisted_primary_schemes=*/{},
/*valid_settings=*/{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK},
WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
-@@ -391,7 +391,7 @@ void ContentSettingsRegistry::Init() {
+@@ -370,7 +370,7 @@ void ContentSettingsRegistry::Init() {
// TODO(crbug.com/40602007): Update this to "SECURE_ONLY" once
// DeviceOrientationEvents and DeviceMotionEvents are only fired in secure
// contexts.
@@ -281,7 +281,7 @@ diff --git a/components/payments/core/payment_prefs.cc b/components/payments/cor
diff --git a/components/safe_browsing/core/common/safe_browsing_prefs.cc b/components/safe_browsing/core/common/safe_browsing_prefs.cc
--- a/components/safe_browsing/core/common/safe_browsing_prefs.cc
+++ b/components/safe_browsing/core/common/safe_browsing_prefs.cc
-@@ -217,13 +217,13 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
+@@ -238,13 +238,13 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(
prefs::kSafeBrowsingSawInterstitialScoutReporting, false);
registry->RegisterBooleanPref(
diff --git a/build/patches/Move-some-account-settings-back-to-privacy-settings.patch b/build/patches/Move-some-account-settings-back-to-privacy-settings.patch
index 6c63a9e9..99808903 100644
--- a/build/patches/Move-some-account-settings-back-to-privacy-settings.patch
+++ b/build/patches/Move-some-account-settings-back-to-privacy-settings.patch
@@ -108,7 +108,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
-@@ -436,6 +436,10 @@ For more settings that use data to improve your Chrome experience, go to
diff --git a/build/patches/Multi-Screen-Window-Placement-API-fix.patch b/build/patches/Multi-Screen-Window-Placement-API-fix.patch
index 3d32f403..322bc482 100644
--- a/build/patches/Multi-Screen-Window-Placement-API-fix.patch
+++ b/build/patches/Multi-Screen-Window-Placement-API-fix.patch
@@ -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/core/frame/screen.cc b/third_party/blink/renderer/core/frame/screen.cc
--- a/third_party/blink/renderer/core/frame/screen.cc
+++ b/third_party/blink/renderer/core/frame/screen.cc
-@@ -211,7 +211,7 @@ bool Screen::isExtended() const {
+@@ -157,7 +157,7 @@ bool Screen::isExtended() const {
return false;
}
@@ -26,9 +26,9 @@ diff --git a/third_party/blink/renderer/core/frame/screen.cc b/third_party/blink
diff --git a/third_party/blink/renderer/core/frame/screen.h b/third_party/blink/renderer/core/frame/screen.h
--- a/third_party/blink/renderer/core/frame/screen.h
+++ b/third_party/blink/renderer/core/frame/screen.h
-@@ -34,10 +34,14 @@
+@@ -33,10 +33,14 @@
+ #include "third_party/blink/renderer/core/dom/events/event_target.h"
#include "third_party/blink/renderer/core/execution_context/execution_context_lifecycle_observer.h"
- #include "third_party/blink/renderer/core/frame/cached_permission_status.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
+#include "third_party/blink/public/mojom/permissions/permission.mojom-blink.h"
+#include "third_party/blink/renderer/platform/mojo/heap_mojo_remote.h"
diff --git a/build/patches/Multiple-fingerprinting-mitigations.patch b/build/patches/Multiple-fingerprinting-mitigations.patch
index dc63384a..5ae14eab 100644
--- a/build/patches/Multiple-fingerprinting-mitigations.patch
+++ b/build/patches/Multiple-fingerprinting-mitigations.patch
@@ -55,7 +55,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
-@@ -2557,6 +2557,7 @@ static_library("browser") {
+@@ -2545,6 +2545,7 @@ static_library("browser") {
"//services/device/public/cpp/bluetooth",
"//services/device/public/cpp/geolocation",
"//services/device/public/cpp/usb",
@@ -78,7 +78,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
-@@ -301,6 +301,7 @@ source_set("browser") {
+@@ -298,6 +298,7 @@ source_set("browser") {
"//third_party/re2",
"//third_party/snappy",
"//third_party/sqlite",
@@ -97,7 +97,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
#if BUILDFLAG(IS_ANDROID)
#include "base/android/child_process_binding_types.h"
#include "content/browser/font_unique_name_lookup/font_unique_name_lookup_service.h"
-@@ -3551,6 +3552,8 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
+@@ -3658,6 +3659,8 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kDisableBestEffortTasks,
switches::kDisableBreakpad,
switches::kDisableFileSystem,
@@ -109,7 +109,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn
--- a/content/child/BUILD.gn
+++ b/content/child/BUILD.gn
-@@ -110,6 +110,7 @@ target(link_target_type, "child") {
+@@ -109,6 +109,7 @@ target(link_target_type, "child") {
"//third_party/blink/public/common:buildflags",
"//third_party/blink/public/strings",
"//third_party/ced",
@@ -120,7 +120,7 @@ diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc
--- a/content/child/runtime_features.cc
+++ b/content/child/runtime_features.cc
-@@ -49,6 +49,8 @@
+@@ -50,6 +50,8 @@
#include "ui/native_theme/features/native_theme_features.h"
#include "ui/native_theme/native_theme.h"
@@ -129,7 +129,7 @@ diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.
#if BUILDFLAG(IS_ANDROID)
#include "base/android/android_info.h"
#endif
-@@ -516,6 +518,10 @@ void SetRuntimeFeaturesFromCommandLine(const base::CommandLine& command_line) {
+@@ -518,6 +520,10 @@ void SetRuntimeFeaturesFromCommandLine(const base::CommandLine& command_line) {
// as a last resort.
void SetCustomizedRuntimeFeaturesFromCombinedArgs(
const base::CommandLine& command_line) {
@@ -180,7 +180,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
#include "base/task/single_thread_task_runner.h"
#include "base/time/time.h"
#include "base/trace_event/trace_event.h"
-@@ -1087,6 +1088,16 @@ Document::Document(const DocumentInit& initializer,
+@@ -1089,6 +1090,16 @@ Document::Document(const DocumentInit& initializer,
TRACE_EVENT_WITH_FLOW0("blink", "Document::Document", TRACE_ID_LOCAL(this),
TRACE_EVENT_FLAG_FLOW_OUT);
DCHECK(agent_);
@@ -197,7 +197,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink
if (base::FeatureList::IsEnabled(features::kDelayAsyncScriptExecution) &&
features::kDelayAsyncScriptExecutionDelayByDefaultParam.Get()) {
script_runner_delayer_->Activate();
-@@ -2814,6 +2825,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() {
+@@ -2816,6 +2827,14 @@ void Document::UpdateStyleAndLayoutTreeForThisDocument() {
#endif
}
@@ -226,7 +226,7 @@ diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/
V8VisibilityState visibilityState() const;
String visibilityStateAsString() const;
bool IsPageVisible() const;
-@@ -2795,6 +2799,9 @@ class CORE_EXPORT Document : public ContainerNode,
+@@ -2810,6 +2814,9 @@ class CORE_EXPORT Document : public ContainerNode,
base::ElapsedTimer start_time_;
@@ -260,9 +260,9 @@ diff --git a/third_party/blink/renderer/core/html/canvas/canvas_async_blob_creat
diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.cc b/third_party/blink/renderer/core/html/canvas/text_metrics.cc
--- a/third_party/blink/renderer/core/html/canvas/text_metrics.cc
+++ b/third_party/blink/renderer/core/html/canvas/text_metrics.cc
-@@ -106,6 +106,24 @@ const ShapeResult* ShapeWord(const TextRun& word_run, const Font& font) {
+@@ -89,6 +89,24 @@ TextMetrics::TextMetrics(const Font* font,
+ Update(font, direction, baseline, align, text, text_painter);
}
- } // namespace
+void TextMetrics::Shuffle(const double factor) {
+ // x-direction
@@ -288,7 +288,7 @@ diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.cc b/third
diff --git a/third_party/blink/renderer/core/html/canvas/text_metrics.h b/third_party/blink/renderer/core/html/canvas/text_metrics.h
--- a/third_party/blink/renderer/core/html/canvas/text_metrics.h
+++ b/third_party/blink/renderer/core/html/canvas/text_metrics.h
-@@ -111,6 +111,8 @@ class CORE_EXPORT TextMetrics final : public ScriptWrappable {
+@@ -109,6 +109,8 @@ class CORE_EXPORT TextMetrics final : public ScriptWrappable {
float x_position_;
};
@@ -377,7 +377,7 @@ diff --git a/third_party/blink/renderer/core/svg/svg_text_content_element.cc b/t
diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
--- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
+++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc
-@@ -104,6 +104,10 @@
+@@ -103,6 +103,10 @@
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
#include "ui/gfx/geometry/skia_conversions.h"
@@ -388,7 +388,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c
// Including "base/time/time.h" triggers a bug in IWYU.
// https://github.com/include-what-you-use/include-what-you-use/issues/1122
// IWYU pragma: no_include "base/numerics/clamped_math.h"
-@@ -555,6 +559,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal(
+@@ -554,6 +558,10 @@ ImageData* BaseRenderingContext2D::getImageDataInternal(
snapshot->PaintImageForCurrentFrame().GetSkImageInfo().bounds();
DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh)));
}
@@ -399,18 +399,14 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c
}
return image_data;
-@@ -1252,13 +1260,27 @@ TextMetrics* BaseRenderingContext2D::measureText(const String& text) {
+@@ -1233,9 +1241,23 @@ TextMetrics* BaseRenderingContext2D::measureText(const String& text) {
TextDirection direction =
ToTextDirection(state.GetDirection(), host, computed_style);
- return MakeGarbageCollected(
+ auto* text_metrics = MakeGarbageCollected(
font, direction, state.GetTextBaseline().AsEnum(),
- state.GetTextAlign().AsEnum(), text,
- RuntimeEnabledFeatures::CanvasTextNgEnabled(
- host->GetTopExecutionContext())
- ? &host->GetPlainTextPainter()
- : nullptr);
+ state.GetTextAlign().AsEnum(), text, host->GetPlainTextPainter());
+ // Scale text metrics if enabled
+ if (RuntimeEnabledFeatures::FingerprintingCanvasMeasureTextNoiseEnabled()) {
+ OffscreenCanvas* offscreen_canvas = HostAsOffscreenCanvas();
@@ -431,7 +427,7 @@ diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_c
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -1757,7 +1757,9 @@ component("platform") {
+@@ -1753,7 +1753,9 @@ component("platform") {
"//third_party/blink/renderer:non_test_config",
]
@@ -442,7 +438,7 @@ diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/re
allow_circular_includes_from = [
"//third_party/blink/renderer/platform/blob",
-@@ -1841,6 +1843,7 @@ component("platform") {
+@@ -1837,6 +1839,7 @@ component("platform") {
"//third_party/blink/public/strings",
"//third_party/blink/renderer/platform/wtf",
"//third_party/ced",
@@ -673,7 +669,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.cc
diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h b/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
--- a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
+++ b/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
-@@ -39,6 +39,8 @@ class PLATFORM_EXPORT StaticBitmapImage : public Image {
+@@ -38,6 +38,8 @@ class PLATFORM_EXPORT StaticBitmapImage : public Image {
StaticBitmapImage(ImageOrientation orientation) : orientation_(orientation) {}
@@ -685,7 +681,7 @@ diff --git a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -3412,6 +3412,12 @@
+@@ -3455,6 +3455,12 @@
status: {"Mac": "test", "default": "stable"},
base_feature: "none",
},
@@ -705,10 +701,10 @@ diff --git a/third_party/skia/include/core/SkPixmap.h b/third_party/skia/include
@return readable unsigned 8-bit pointer to pixel at (x, y)
*/
const uint8_t* addr8(int x, int y) const {
-- SkASSERT((unsigned)x < (unsigned)fInfo.width());
-- SkASSERT((unsigned)y < (unsigned)fInfo.height());
-+ SkASSERT_RELEASE((unsigned)x < (unsigned)fInfo.width());
-+ SkASSERT_RELEASE((unsigned)y < (unsigned)fInfo.height());
+- SkASSERTF(x >= 0 && x < this->width(), "x=%d; width=%d\n", x, fInfo.width());
+- SkASSERTF(y >= 0 && y < this->height(), "y=%d; height=%d\n", y, fInfo.height());
++ SkASSERTF_RELEASE(x >= 0 && x < this->width(), "x=%d; width=%d\n", x, fInfo.width());
++ SkASSERTF_RELEASE(y >= 0 && y < this->height(), "y=%d; height=%d\n", y, fInfo.height());
return (const uint8_t*)((const char*)this->addr8() + (size_t)y * fRowBytes + (x << 0));
}
@@ -716,10 +712,10 @@ diff --git a/third_party/skia/include/core/SkPixmap.h b/third_party/skia/include
@return readable unsigned 16-bit pointer to pixel at (x, y)
*/
const uint16_t* addr16(int x, int y) const {
-- SkASSERT((unsigned)x < (unsigned)fInfo.width());
-- SkASSERT((unsigned)y < (unsigned)fInfo.height());
-+ SkASSERT_RELEASE((unsigned)x < (unsigned)fInfo.width());
-+ SkASSERT_RELEASE((unsigned)y < (unsigned)fInfo.height());
+- SkASSERTF(x >= 0 && x < this->width(), "x=%d; width=%d\n", x, fInfo.width());
+- SkASSERTF(y >= 0 && y < this->height(), "y=%d; height=%d\n", y, fInfo.height());
++ SkASSERTF_RELEASE(x >= 0 && x < this->width(), "x=%d; width=%d\n", x, fInfo.width());
++ SkASSERTF_RELEASE(y >= 0 && y < this->height(), "y=%d; height=%d\n", y, fInfo.height());
return (const uint16_t*)((const char*)this->addr16() + (size_t)y * fRowBytes + (x << 1));
}
@@ -727,10 +723,10 @@ diff --git a/third_party/skia/include/core/SkPixmap.h b/third_party/skia/include
@return readable unsigned 32-bit pointer to pixel at (x, y)
*/
const uint32_t* addr32(int x, int y) const {
-- SkASSERT((unsigned)x < (unsigned)fInfo.width());
-- SkASSERT((unsigned)y < (unsigned)fInfo.height());
-+ SkASSERT_RELEASE((unsigned)x < (unsigned)fInfo.width());
-+ SkASSERT_RELEASE((unsigned)y < (unsigned)fInfo.height());
+- SkASSERTF(x >= 0 && x < this->width(), "x=%d; width=%d\n", x, fInfo.width());
+- SkASSERTF(y >= 0 && y < this->height(), "y=%d; height=%d\n", y, fInfo.height());
++ SkASSERTF_RELEASE(x >= 0 && x < this->width(), "x=%d; width=%d\n", x, fInfo.width());
++ SkASSERTF_RELEASE(y >= 0 && y < this->height(), "y=%d; height=%d\n", y, fInfo.height());
return (const uint32_t*)((const char*)this->addr32() + (size_t)y * fRowBytes + (x << 2));
}
@@ -738,10 +734,10 @@ diff --git a/third_party/skia/include/core/SkPixmap.h b/third_party/skia/include
@return readable unsigned 64-bit pointer to pixel at (x, y)
*/
const uint64_t* addr64(int x, int y) const {
-- SkASSERT((unsigned)x < (unsigned)fInfo.width());
-- SkASSERT((unsigned)y < (unsigned)fInfo.height());
-+ SkASSERT_RELEASE((unsigned)x < (unsigned)fInfo.width());
-+ SkASSERT_RELEASE((unsigned)y < (unsigned)fInfo.height());
+- SkASSERTF(x >= 0 && x < this->width(), "x=%d; width=%d\n", x, fInfo.width());
+- SkASSERTF(y >= 0 && y < this->height(), "y=%d; height=%d\n", y, fInfo.height());
++ SkASSERTF_RELEASE(x >= 0 && x < this->width(), "x=%d; width=%d\n", x, fInfo.width());
++ SkASSERTF_RELEASE(y >= 0 && y < this->height(), "y=%d; height=%d\n", y, fInfo.height());
return (const uint64_t*)((const char*)this->addr64() + (size_t)y * fRowBytes + (x << 3));
}
diff --git a/build/patches/Never-treat-Proguard-warnings-as-errors.patch b/build/patches/Never-treat-Proguard-warnings-as-errors.patch
index 2df536fc..3fd1bd95 100644
--- a/build/patches/Never-treat-Proguard-warnings-as-errors.patch
+++ b/build/patches/Never-treat-Proguard-warnings-as-errors.patch
@@ -9,7 +9,7 @@ Subject: Never treat Proguard warnings as errors
diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni
--- a/build/config/android/internal_rules.gni
+++ b/build/config/android/internal_rules.gni
-@@ -1288,9 +1288,9 @@ if (enable_java_templates) {
+@@ -1302,9 +1302,9 @@ if (enable_java_templates) {
_source_file_template,
"--proguard-configs=@FileArg($_rebased_build_config:proguard_all_configs)",
]
diff --git a/build/patches/OpenSearch-miscellaneous.patch b/build/patches/OpenSearch-miscellaneous.patch
index b4092a31..ed1f8630 100644
--- a/build/patches/OpenSearch-miscellaneous.patch
+++ b/build/patches/OpenSearch-miscellaneous.patch
@@ -76,7 +76,7 @@ diff --git a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc b/chro
+ // elements and update TemplateURL to look for keywords using the path.
// See http://b/issue?id=863583.
- if (!(url.SchemeIs(url::kHttpScheme) || url.SchemeIs(url::kHttpsScheme)) ||
-- (url.path().length() > 1)) {
+- (url.GetPath().length() > 1)) {
+ if (!(url.SchemeIs(url::kHttpScheme) || url.SchemeIs(url::kHttpsScheme))) {
+ LOG(INFO) << "OpenSearch: invalid scheme for entry " << entry->GetURL();
return std::u16string();
@@ -176,7 +176,7 @@ diff --git a/chrome/renderer/chrome_render_frame_observer.cc b/chrome/renderer/c
#include "base/metrics/histogram_macros.h"
#include "base/no_destructor.h"
#include "base/strings/string_number_conversions.h"
-@@ -263,6 +264,7 @@ void ChromeRenderFrameObserver::DidFinishLoad() {
+@@ -276,6 +277,7 @@ void ChromeRenderFrameObserver::DidFinishLoad() {
GURL osdd_url = frame->GetDocument().OpenSearchDescriptionURL();
if (!osdd_url.is_empty()) {
@@ -321,7 +321,7 @@ diff --git a/components/search_engines/template_url_service.h b/components/searc
// regardless of |url| if the default search provider is managed by policy or
// controlled by an extension.
bool CanMakeDefault(const TemplateURL* url) const;
-@@ -778,9 +781,6 @@ class TemplateURLService final : public WebDataServiceConsumer,
+@@ -781,9 +784,6 @@ class TemplateURLService final : public WebDataServiceConsumer,
// SetKeywordSearchTermsForURL is invoked.
void UpdateKeywordSearchTermsForURL(const URLVisitedDetails& details);
diff --git a/build/patches/Override-Navigator-Language.patch b/build/patches/Override-Navigator-Language.patch
index c8e7bcf6..30668761 100644
--- a/build/patches/Override-Navigator-Language.patch
+++ b/build/patches/Override-Navigator-Language.patch
@@ -69,7 +69,7 @@ diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content
#include "components/metrics/single_sample_metrics.h"
#include "components/services/storage/privileged/mojom/indexed_db_control.mojom.h"
#include "components/services/storage/public/cpp/buckets/bucket_id.h"
-@@ -3461,8 +3462,11 @@ void RenderProcessHostImpl::AppendRendererCommandLine(
+@@ -3562,8 +3563,11 @@ void RenderProcessHostImpl::AppendRendererCommandLine(
PropagateBrowserCommandLineToRenderer(browser_command_line, command_line);
// Pass on the browser locale.
diff --git a/build/patches/Partition-Blink-memory-cache.patch b/build/patches/Partition-Blink-memory-cache.patch
index 776fb62c..9d134474 100644
--- a/build/patches/Partition-Blink-memory-cache.patch
+++ b/build/patches/Partition-Blink-memory-cache.patch
@@ -41,7 +41,7 @@ diff --git a/third_party/blink/renderer/core/html/parser/html_srcset_parser.cc b
diff --git a/third_party/blink/renderer/core/inspector/inspector_network_agent.cc b/third_party/blink/renderer/core/inspector/inspector_network_agent.cc
--- a/third_party/blink/renderer/core/inspector/inspector_network_agent.cc
+++ b/third_party/blink/renderer/core/inspector/inspector_network_agent.cc
-@@ -2676,7 +2676,7 @@ bool InspectorNetworkAgent::FetchResourceContent(Document* document,
+@@ -2747,7 +2747,7 @@ bool InspectorNetworkAgent::FetchResourceContent(Document* document,
if (!cached_resource) {
cached_resource = MemoryCache::Get()->ResourceForURL(
url, document->Fetcher()->GetCacheIdentifier(
@@ -78,7 +78,7 @@ diff --git a/third_party/blink/renderer/core/loader/image_loader.cc b/third_part
diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc b/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc
--- a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc
-@@ -295,7 +295,7 @@ void MemoryCache::RemoveInternal(ResourceMap* resource_map,
+@@ -343,7 +343,7 @@ void MemoryCache::RemoveInternal(ResourceMap* resource_map,
}
bool MemoryCache::Contains(const Resource* resource) const {
@@ -87,7 +87,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc b/
return false;
const auto resource_maps_it =
-@@ -311,13 +311,9 @@ bool MemoryCache::Contains(const Resource* resource) const {
+@@ -359,13 +359,9 @@ bool MemoryCache::Contains(const Resource* resource) const {
return resource == resources_it->value->GetResource();
}
@@ -105,7 +105,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.cc b/
diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.h b/third_party/blink/renderer/platform/loader/fetch/memory_cache.h
--- a/third_party/blink/renderer/platform/loader/fetch/memory_cache.h
+++ b/third_party/blink/renderer/platform/loader/fetch/memory_cache.h
-@@ -122,10 +122,7 @@ class PLATFORM_EXPORT MemoryCache final : public GarbageCollected,
+@@ -124,10 +124,7 @@ class PLATFORM_EXPORT MemoryCache final : public GarbageCollected,
// Do not use this method outside test purposes.
// A resourfe URL is not enough to do a correct MemoryCache lookup, and
// relying on the method would likely yield wrong results.
@@ -116,8 +116,8 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.h b/t
void Add(Resource*);
void Remove(Resource*);
-@@ -168,6 +165,8 @@ class PLATFORM_EXPORT MemoryCache final : public GarbageCollected,
- base::MemoryPressureListener::MemoryPressureLevel) override;
+@@ -173,6 +170,8 @@ class PLATFORM_EXPORT MemoryCache final : public GarbageCollected,
+ void OnUpdateMemoryLimit() override;
private:
+ HeapVector> ResourcesForURL(const KURL&) const;
@@ -128,7 +128,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/memory_cache.h b/t
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
--- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
-@@ -1025,7 +1025,8 @@ Resource* ResourceFetcher::CreateResourceForStaticData(
+@@ -1032,7 +1032,8 @@ Resource* ResourceFetcher::CreateResourceForStaticData(
const String cache_identifier =
GetCacheIdentifier(factory.GetType(), url,
@@ -138,7 +138,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
// Most off-main-thread resource fetches use Resource::kRaw and don't reach
// this point, but off-main-thread module fetches might.
-@@ -1459,7 +1460,8 @@ Resource* ResourceFetcher::RequestResource(FetchParameters& params,
+@@ -1466,7 +1467,8 @@ Resource* ResourceFetcher::RequestResource(FetchParameters& params,
} else if (IsMainThread()) {
const String cache_identifier = GetCacheIdentifier(
resource_type, params.GetResourceRequest().Url(),
@@ -148,7 +148,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
resource =
MemoryCache::Get()->ResourceForURL(params.Url(), cache_identifier);
-@@ -1783,7 +1785,8 @@ Resource* ResourceFetcher::CreateResourceForLoading(
+@@ -1790,7 +1792,8 @@ Resource* ResourceFetcher::CreateResourceForLoading(
const ResourceFactory& factory) {
const String cache_identifier =
GetCacheIdentifier(factory.GetType(), params.GetResourceRequest().Url(),
@@ -158,7 +158,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
DCHECK(!IsMainThread() || params.IsStaleRevalidation() ||
!MemoryCache::Get()->ResourceForURL(params.GetResourceRequest().Url(),
cache_identifier));
-@@ -2923,11 +2926,47 @@ void ResourceFetcher::UpdateImagePrioritiesAndSpeculativeDecodes() {
+@@ -2930,11 +2933,47 @@ void ResourceFetcher::UpdateImagePrioritiesAndSpeculativeDecodes() {
}
String ResourceFetcher::GetCacheIdentifier(const KURL& url,
@@ -211,7 +211,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
}
// Requests that can be satisfied via `archive_` (i.e. MHTML) or
-@@ -2942,12 +2981,13 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url,
+@@ -2949,12 +2988,13 @@ String ResourceFetcher::GetCacheIdentifier(const KURL& url,
return bundle->GetCacheIdentifier();
}
@@ -227,7 +227,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
// For SVG resource documents, use the SVG-specific cache identifier when the
// feature is enabled and a cache identifier is available from the fetch
// context.
-@@ -2960,7 +3000,7 @@ String ResourceFetcher::GetCacheIdentifier(ResourceType type,
+@@ -2967,7 +3007,7 @@ String ResourceFetcher::GetCacheIdentifier(ResourceType type,
}
// Fallback to the standard cache identifier logic.
@@ -261,7 +261,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -4892,7 +4892,7 @@
+@@ -4902,7 +4902,7 @@
},
{
name: "SvgPartitionSVGDocumentResourcesInMemoryCache",
diff --git a/build/patches/Partition-HSTS-cache-by-NAK.patch b/build/patches/Partition-HSTS-cache-by-NAK.patch
index 4e15b21a..69f89c2b 100644
--- a/build/patches/Partition-HSTS-cache-by-NAK.patch
+++ b/build/patches/Partition-HSTS-cache-by-NAK.patch
@@ -32,12 +32,12 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/ssl/https_upgrades_interceptor.cc b/chrome/browser/ssl/https_upgrades_interceptor.cc
--- a/chrome/browser/ssl/https_upgrades_interceptor.cc
+++ b/chrome/browser/ssl/https_upgrades_interceptor.cc
-@@ -414,6 +414,7 @@ void HttpsUpgradesInterceptor::MaybeCreateLoader(
+@@ -415,6 +415,7 @@ void HttpsUpgradesInterceptor::MaybeCreateLoader(
CHECK(tentative_resource_request.trusted_params);
network_context->IsHSTSActiveForHost(
+ tentative_resource_request.trusted_params->isolation_info.network_anonymization_key(),
- tentative_resource_request.url.host(),
+ tentative_resource_request.url.GetHost(),
tentative_resource_request.trusted_params->isolation_info
.IsOutermostMainFrameRequest(),
diff --git a/chrome/browser/ui/webui/net_internals/net_internals_ui.cc b/chrome/browser/ui/webui/net_internals/net_internals_ui.cc
@@ -716,12 +716,12 @@ diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc
}
void SpdySession::EnqueueStreamWrite(
-@@ -3101,7 +3103,8 @@ void SpdySession::OnAltSvc(
+@@ -3102,7 +3104,8 @@ void SpdySession::OnAltSvc(
return;
}
if (!CanPool(transport_security_state_, ssl_info, *ssl_config_service_,
-- host_port_pair().host(), gurl.host_piece())) {
-+ host_port_pair().host(), gurl.host_piece(),
+- host_port_pair().host(), gurl.host())) {
++ host_port_pair().host(), gurl.host(),
+ spdy_session_key_.network_anonymization_key())) {
return;
}
@@ -771,15 +771,15 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
request->context()->transport_security_state()) {
upgrade_decision = hsts->GetSSLUpgradeDecision(
+ request->isolation_info().network_anonymization_key(),
- url.host(),
+ url.GetHost(),
/*is_top_level_nav=*/
request->isolation_info().IsOutermostMainFrameRequest(),
@@ -1278,7 +1279,7 @@ void URLRequestHttpJob::ProcessStrictTransportSecurityHeader() {
std::optional value;
if ((value =
headers->EnumerateHeader(nullptr, "Strict-Transport-Security"))) {
-- security_state->AddHSTSHeader(request_info_.url.host(), *value);
-+ security_state->AddHSTSHeader(request_info_.network_anonymization_key, request_info_.url.host(), *value);
+- security_state->AddHSTSHeader(request_info_.url.GetHost(), *value);
++ security_state->AddHSTSHeader(request_info_.network_anonymization_key, request_info_.url.GetHost(), *value);
}
}
@@ -787,15 +787,15 @@ diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_reque
TransportSecurityState* state = context->transport_security_state();
NotifySSLCertificateError(
result, transaction_->GetResponseInfo()->ssl_info,
-- state->ShouldSSLErrorsBeFatal(request_info_.url.host()) &&
-+ state->ShouldSSLErrorsBeFatal(request_->isolation_info().network_anonymization_key(), request_info_.url.host()) &&
+- state->ShouldSSLErrorsBeFatal(request_info_.url.GetHost()) &&
++ state->ShouldSSLErrorsBeFatal(request_->isolation_info().network_anonymization_key(), request_info_.url.GetHost()) &&
result != ERR_CERT_KNOWN_INTERCEPTION_BLOCKED);
} else if (result == ERR_SSL_CLIENT_AUTH_CERT_NEEDED) {
NotifyCertificateRequested(
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
-@@ -2089,6 +2089,7 @@ void NetworkContext::CreateHostResolver(
+@@ -2095,6 +2095,7 @@ void NetworkContext::CreateHostResolver(
void NetworkContext::VerifyCertInternal(
const scoped_refptr& certificate,
const net::HostPortPair& host_port,
@@ -803,7 +803,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
const std::string& ocsp_result,
const std::string& sct_list,
CTVerificationMode ct_verification_mode,
-@@ -2100,6 +2101,7 @@ void NetworkContext::VerifyCertInternal(
+@@ -2106,6 +2107,7 @@ void NetworkContext::VerifyCertInternal(
pending_cert_verify->result = std::make_unique();
pending_cert_verify->certificate = certificate;
pending_cert_verify->host_port = host_port;
@@ -811,7 +811,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
net::CertVerifier* cert_verifier =
g_cert_verifier_for_testing ? g_cert_verifier_for_testing
: url_request_context_->cert_verifier();
-@@ -2130,20 +2132,22 @@ void NetworkContext::VerifyCertInternal(
+@@ -2136,20 +2138,22 @@ void NetworkContext::VerifyCertInternal(
void NetworkContext::VerifyCert(
const scoped_refptr& certificate,
const net::HostPortPair& host_port,
@@ -836,7 +836,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
CTVerificationMode::kSignedExchange, std::move(callback));
}
-@@ -2184,17 +2188,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin(
+@@ -2190,17 +2194,19 @@ void NetworkContext::SetCorsOriginAccessListsForOrigin(
std::move(callback).Run();
}
@@ -859,7 +859,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
bool is_top_level_nav,
IsHSTSActiveForHostCallback callback) {
net::TransportSecurityState* security_state =
-@@ -2206,10 +2212,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host,
+@@ -2212,10 +2218,10 @@ void NetworkContext::IsHSTSActiveForHost(const std::string& host,
}
std::move(callback).Run(
@@ -872,7 +872,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
GetHSTSStateCallback callback) {
base::Value::Dict result;
-@@ -2247,10 +2253,10 @@ void NetworkContext::GetHSTSState(const std::string& domain,
+@@ -2253,10 +2259,10 @@ void NetworkContext::GetHSTSState(const std::string& domain,
net::TransportSecurityState::STSState dynamic_sts_state;
net::TransportSecurityState::PKPState dynamic_pkp_state;
bool found_sts_dynamic = transport_security_state->GetDynamicSTSState(
@@ -885,7 +885,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
if (found_sts_dynamic) {
result.Set("dynamic_upgrade_mode",
static_cast(dynamic_sts_state.upgrade_mode));
-@@ -2288,6 +2294,7 @@ void NetworkContext::GetHSTSState(const std::string& domain,
+@@ -2294,6 +2300,7 @@ void NetworkContext::GetHSTSState(const std::string& domain,
}
void NetworkContext::DeleteDynamicDataForHost(
@@ -893,7 +893,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
const std::string& host,
DeleteDynamicDataForHostCallback callback) {
net::TransportSecurityState* transport_security_state =
-@@ -2298,7 +2305,7 @@ void NetworkContext::DeleteDynamicDataForHost(
+@@ -2304,7 +2311,7 @@ void NetworkContext::DeleteDynamicDataForHost(
}
std::move(callback).Run(
@@ -902,7 +902,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
}
void NetworkContext::EnableStaticKeyPinningForTesting(
-@@ -2353,7 +2360,7 @@ void NetworkContext::PreconnectSockets(
+@@ -2359,7 +2366,7 @@ void NetworkContext::PreconnectSockets(
DCHECK(!require_network_anonymization_key_ ||
!network_anonymization_key.IsEmpty());
@@ -911,7 +911,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
// |PreconnectSockets| may receive arguments from the renderer, which is not
// guaranteed to validate them.
-@@ -3197,7 +3204,9 @@ void NetworkContext::OnConnectionError() {
+@@ -3217,7 +3224,9 @@ void NetworkContext::OnConnectionError() {
}
}
@@ -922,15 +922,15 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
// TODO(lilyhoughton) This needs to be gotten rid of once explicit
// construction with a URLRequestContext is no longer supported.
-@@ -3223,6 +3232,7 @@ GURL NetworkContext::GetHSTSRedirectForPreconnect(const GURL& original_url) {
+@@ -3243,6 +3252,7 @@ GURL NetworkContext::GetHSTSRedirectForPreconnect(const GURL& original_url) {
// top-level navigation so we need to disallow HSTS upgrades for every
// preconnect.
if (!url_request_context_->transport_security_state()->ShouldUpgradeToSSL(
+ network_anonymization_key,
- original_url.host(), /*is_top_level_nav=*/false)) {
+ original_url.GetHost(), /*is_top_level_nav=*/false)) {
RecordHSTSPreconnectUpgradeReason(
HSTSRedirectUpgradeReason::kNotUpgradedNoHSTSPin);
-@@ -3276,7 +3286,8 @@ void NetworkContext::OnVerifyCertComplete(uint64_t cert_verify_id, int result) {
+@@ -3304,7 +3314,8 @@ void NetworkContext::OnVerifyCertComplete(uint64_t cert_verify_id, int result) {
url_request_context_->transport_security_state()->CheckPublicKeyPins(
pending_cert_verify->host_port.host(),
pending_cert_verify->result->is_issued_by_known_root,
@@ -943,7 +943,7 @@ diff --git a/services/network/network_context.cc b/services/network/network_cont
diff --git a/services/network/network_context.h b/services/network/network_context.h
--- a/services/network/network_context.h
+++ b/services/network/network_context.h
-@@ -430,12 +430,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
+@@ -432,12 +432,14 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
mojo::PendingReceiver receiver) override;
void VerifyCert(const scoped_refptr& certificate,
const net::HostPortPair& host_port,
@@ -958,7 +958,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
const std::string& ocsp_result,
const std::string& sct_list,
VerifyCertCallback callback) override;
-@@ -444,16 +446,18 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
+@@ -446,16 +448,18 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
const std::string& hostname,
const scoped_refptr& tls_certificate,
Verify2QwacCertBindingCallback callback) override;
@@ -980,7 +980,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
const std::string& host,
DeleteDynamicDataForHostCallback callback) override;
void SetCorsOriginAccessListsForOrigin(
-@@ -811,7 +815,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
+@@ -817,7 +821,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
mojo::PendingRemote cookie_observer,
net::FirstPartySetMetadata first_party_set_metadata);
@@ -990,7 +990,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
#if BUILDFLAG(IS_P2P_ENABLED)
void DestroySocketManager(P2PSocketManager* socket_manager);
-@@ -823,6 +828,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
+@@ -829,6 +834,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
void VerifyCertInternal(
const scoped_refptr& certificate,
const net::HostPortPair& host_port,
@@ -998,7 +998,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
const std::string& ocsp_result,
const std::string& sct_list,
CTVerificationMode ct_verification_mode,
-@@ -1008,6 +1014,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
+@@ -1014,6 +1020,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
VerifyCertCallback callback;
scoped_refptr certificate;
net::HostPortPair host_port;
@@ -1009,7 +1009,7 @@ diff --git a/services/network/network_context.h b/services/network/network_conte
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
-@@ -1631,6 +1631,7 @@ interface NetworkContext {
+@@ -1635,6 +1635,7 @@ interface NetworkContext {
// Checks the given certificate against the CertVerifier and CTVerifier.
VerifyCert(X509Certificate certificate,
HostPortPair host_port,
@@ -1017,7 +1017,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
string ocsp_response,
string sct_list)
=> (int32 error_code, CertVerifyResult cv_result, bool pkp_bypassed);
-@@ -1639,6 +1640,7 @@ interface NetworkContext {
+@@ -1643,6 +1644,7 @@ interface NetworkContext {
// This implementation is specific for use by Signed Exchange.
VerifyCertForSignedExchange(X509Certificate certificate,
HostPortPair host_port,
@@ -1025,7 +1025,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
string ocsp_response,
string sct_list)
=> (int32 error_code, CertVerifyResult cv_result, bool pkp_bypassed);
-@@ -1652,18 +1654,18 @@ interface NetworkContext {
+@@ -1656,18 +1658,18 @@ interface NetworkContext {
// Adds explicitly-specified data as if it was processed from an
// HSTS header. Used by tests and implementation of chrome://net-internals.
@@ -1047,7 +1047,7 @@ diff --git a/services/network/public/mojom/network_context.mojom b/services/netw
// Sets allowed and blocked origins respectively for the URLLoaderFactory
// consumers to access beyond the same-origin policy. The list is managed per
-@@ -1682,7 +1684,7 @@ interface NetworkContext {
+@@ -1686,7 +1688,7 @@ interface NetworkContext {
// Deletes any dynamic data stored for |host| from the transport
// security state. Returns true iff an entry was deleted.
// See net::TransportSecurityState::DeleteDynamicDataForHost for more detail.
diff --git a/build/patches/Partition-blobs-by-top-frame-URL.patch b/build/patches/Partition-blobs-by-top-frame-URL.patch
index dd2f7879..984fdb01 100644
--- a/build/patches/Partition-blobs-by-top-frame-URL.patch
+++ b/build/patches/Partition-blobs-by-top-frame-URL.patch
@@ -23,7 +23,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.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
-@@ -13000,6 +13000,8 @@ void RenderFrameHostImpl::ReportBlockingCrossPartitionBlobURL(
+@@ -13150,6 +13150,8 @@ void RenderFrameHostImpl::ReportBlockingCrossPartitionBlobURL(
}
bool RenderFrameHostImpl::IsFullCookieAccessAllowed() {
diff --git a/build/patches/Private-network-access-content-settings.patch b/build/patches/Private-network-access-content-settings.patch
index 4afecaa9..03b17945 100644
--- a/build/patches/Private-network-access-content-settings.patch
+++ b/build/patches/Private-network-access-content-settings.patch
@@ -25,7 +25,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
-@@ -1368,6 +1368,31 @@ bool IsDefaultSearchEngine(Profile* profile, const GURL& url) {
+@@ -4126,6 +4126,31 @@ bool ShouldPromptOnMultipleMatchingCertificates(const Profile* profile) {
return false;
}
@@ -56,8 +56,8 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
+}
} // namespace
- // static
-@@ -7710,12 +7735,17 @@ content::ContentBrowserClient::PrivateNetworkRequestPolicyOverride
+ base::OnceClosure ChromeContentBrowserClient::SelectClientCertificate(
+@@ -7665,12 +7690,17 @@ content::ContentBrowserClient::PrivateNetworkRequestPolicyOverride
ChromeContentBrowserClient::ShouldOverridePrivateNetworkRequestPolicy(
content::BrowserContext* browser_context,
const url::Origin& origin) {
diff --git a/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch b/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch
index 34f3c3d0..260cd7d2 100644
--- a/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch
+++ b/build/patches/PublicKeyCredential-fingerprinting-mitigations.patch
@@ -13,7 +13,7 @@ the Windows platform
diff --git a/content/browser/webauth/authenticator_common_impl.cc b/content/browser/webauth/authenticator_common_impl.cc
--- a/content/browser/webauth/authenticator_common_impl.cc
+++ b/content/browser/webauth/authenticator_common_impl.cc
-@@ -1898,6 +1898,7 @@ void AuthenticatorCommonImpl::GetClientCapabilities(
+@@ -1920,6 +1920,7 @@ void AuthenticatorCommonImpl::GetClientCapabilities(
base::FeatureList::IsEnabled(device::kWebAuthnPasskeyUpgrade)));
IsHybridTransportSupported(
@@ -21,7 +21,7 @@ diff --git a/content/browser/webauth/authenticator_common_impl.cc b/content/brow
base::BindOnce(&MakeCapability, client_capabilities::kHybridTransport)
.Then(barrier_callback));
-@@ -1925,11 +1926,25 @@ void AuthenticatorCommonImpl::GetClientCapabilities(
+@@ -1947,11 +1948,25 @@ void AuthenticatorCommonImpl::GetClientCapabilities(
}
void AuthenticatorCommonImpl::IsHybridTransportSupported(
@@ -47,7 +47,7 @@ diff --git a/content/browser/webauth/authenticator_common_impl.cc b/content/brow
device::BluetoothAdapterFactory::Get()->GetAdapter(
base::BindOnce([](scoped_refptr adapter) {
-@@ -1975,6 +1990,13 @@ void AuthenticatorCommonImpl::ContinueIsUvpaaAfterOverrideCheck(
+@@ -1997,6 +2012,13 @@ void AuthenticatorCommonImpl::ContinueIsUvpaaAfterOverrideCheck(
IsUserVerifyingPlatformAuthenticatorAvailableCallback callback,
bool is_get_client_capabilities_call,
std::optional is_uvpaa_override) {
diff --git a/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch b/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
index 11fa5e58..95d54d76 100644
--- a/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
+++ b/build/patches/Re-introduce-modal-dialog-flag-to-close-all-tabs.patch
@@ -45,18 +45,18 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
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
-@@ -252,6 +252,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
+@@ -259,6 +259,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kAsyncNotificationManagerForDownload,
&kAutomotiveBackButtonBarStreamline,
&kAuxiliarySearchDonation,
+ &kCloseAllTabsModalDialog,
- &kBatchTabRestore,
+ &kAuxiliarySearchHistoryDonation,
&kBlockIntentsWhileLocked,
&kBookmarkPaneAndroid,
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
-@@ -363,6 +363,7 @@ public abstract class ChromeFeatureList {
+@@ -367,6 +367,7 @@ public abstract class ChromeFeatureList {
"ClearBrowsingDataAndroidSurvey";
public static final String CLEAR_INSTANCE_INFO_WHEN_CLOSED_INTENTIONALLY =
"ClearInstanceInfoWhenClosedIntentionally";
diff --git a/build/patches/Re-introduce-override_build_timestamp.patch b/build/patches/Re-introduce-override_build_timestamp.patch
index d618d06b..d280d5d6 100644
--- a/build/patches/Re-introduce-override_build_timestamp.patch
+++ b/build/patches/Re-introduce-override_build_timestamp.patch
@@ -16,7 +16,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/base/BUILD.gn b/base/BUILD.gn
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
-@@ -4377,8 +4377,12 @@ if (current_toolchain == default_toolchain) {
+@@ -4395,8 +4395,12 @@ if (current_toolchain == default_toolchain) {
outputs = [ _build_date_header_internal ]
args = [
rebase_path(_build_date_header_internal, root_build_dir),
@@ -33,7 +33,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn
diff --git a/build_overrides/build.gni b/build_overrides/build.gni
--- a/build_overrides/build.gni
+++ b/build_overrides/build.gni
-@@ -46,6 +46,11 @@ declare_args() {
+@@ -45,6 +45,11 @@ declare_args() {
# //third_party/robolectric .
limit_android_deps = false
diff --git a/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch b/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch
index 9d365e9d..2d2ec0f9 100644
--- a/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch
+++ b/build/patches/Remove-HTTP-referrals-in-cross-origin-navigation.patch
@@ -44,7 +44,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
-@@ -652,6 +652,8 @@ chrome_java_resources = [
+@@ -664,6 +664,8 @@ chrome_java_resources = [
"java/res/xml/personalize_google_services_preferences.xml",
"java/res/xml/incognito_preferences.xml",
"java/res/xml/privacy_preferences.xml",
@@ -56,10 +56,10 @@ 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
-@@ -941,6 +941,8 @@ chrome_java_sources = [
+@@ -950,6 +950,8 @@ chrome_java_sources = [
+ "java/src/org/chromium/chrome/browser/privacy_sandbox/ChromeTrackingProtectionDelegate.java",
+ "java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandbox3pcdRollbackMessageController.java",
"java/src/org/chromium/chrome/browser/privacy_sandbox/PrivacySandboxSurveyController.java",
- "java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionSnackbarController.java",
- "java/src/org/chromium/chrome/browser/privacy_sandbox/TrackingProtectionSnackbarLimiter.java",
+ "java/src/org/chromium/chrome/browser/privacy/settings/RefererSettingsFragment.java",
+ "java/src/org/chromium/chrome/browser/privacy/settings/RadioButtonGroupRefererSettings.java",
"java/src/org/chromium/chrome/browser/provider/BaseColumns.java",
@@ -395,7 +395,7 @@ new file mode 100644
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
-@@ -235,6 +235,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
+@@ -238,6 +238,11 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlistedKeys() {
(*s_allowlist)[::prefs::kExpireDaysThreshold] =
settings_api::PrefType::kNumber;
@@ -504,7 +504,7 @@ diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.ts b/ch
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
-@@ -1080,6 +1080,30 @@ For more settings that use data to improve your Chrome experience, go to
@@ -562,7 +562,7 @@ diff --git a/chrome/browser/ui/prefs/prefs_tab_helper.cc b/chrome/browser/ui/pre
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
-@@ -2081,6 +2081,10 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
+@@ -2231,6 +2231,10 @@ void AddPrivacyStrings(content::WebUIDataSource* html_source,
{"dayHistory", IDS_SETTINGS_DAY_HISTORY_DESCRIPTION},
{"daysHistory", IDS_SETTINGS_DAYS_HISTORY_DESCRIPTION},
{"foreverHistory", IDS_SETTINGS_FOREVER_HISTORY_DESCRIPTION},
diff --git a/build/patches/Remove-blocklisted-URLs-upon-bookmark-creation.patch b/build/patches/Remove-blocklisted-URLs-upon-bookmark-creation.patch
index 5f08e3eb..5e209d20 100644
--- a/build/patches/Remove-blocklisted-URLs-upon-bookmark-creation.patch
+++ b/build/patches/Remove-blocklisted-URLs-upon-bookmark-creation.patch
@@ -23,15 +23,15 @@ diff --git a/chrome/browser/bookmarks/android/java/src/org/chromium/chrome/brows
/**
* Helper class for managing the UI flow for bookmarking the active tab and kicking off the backend.
* Shows a snackbar if a new bookmark was added. If the bookmark already exists, kicks off edit
-@@ -36,6 +42,7 @@ public class TabBookmarker {
- private final Supplier mSnackbarManagerSupplier;
+@@ -37,6 +43,7 @@ public class TabBookmarker {
private final BookmarkManagerOpener mBookmarkManagerOpener;
private final Supplier mPriceDropNotificationManagerSupplier;
+ private final Supplier mBookmarkBarVisibilitySupplier;
+ private MostVisitedSites mMostVisitedSites;
/**
* Constructor.
-@@ -119,6 +126,13 @@ public class TabBookmarker {
+@@ -122,6 +129,13 @@ public class TabBookmarker {
return;
}
diff --git a/build/patches/Remove-detection-of-captive-portals.patch b/build/patches/Remove-detection-of-captive-portals.patch
index c754a078..4a6b5683 100644
--- a/build/patches/Remove-detection-of-captive-portals.patch
+++ b/build/patches/Remove-detection-of-captive-portals.patch
@@ -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/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc
--- a/chrome/browser/net/profile_network_context_service.cc
+++ b/chrome/browser/net/profile_network_context_service.cc
-@@ -599,7 +599,7 @@ void ProfileNetworkContextService::ConfigureNetworkContextParams(
+@@ -619,7 +619,7 @@ void ProfileNetworkContextService::ConfigureNetworkContextParams(
void ProfileNetworkContextService::RegisterProfilePrefs(
user_prefs::PrefRegistrySyncable* registry) {
registry->RegisterBooleanPref(embedder_support::kAlternateErrorPagesEnabled,
diff --git a/build/patches/Remove-help-menu-item.patch b/build/patches/Remove-help-menu-item.patch
index cdaa261d..329f5f83 100644
--- a/build/patches/Remove-help-menu-item.patch
+++ b/build/patches/Remove-help-menu-item.patch
@@ -26,10 +26,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/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
-@@ -1134,9 +1134,6 @@ public class KeyboardShortcuts {
- currentTab.goForward();
+@@ -1172,9 +1172,6 @@ public class KeyboardShortcuts {
+ return true;
}
- return true;
+ return false;
- case KeyboardShortcutsSemanticMeaning.OPEN_HELP:
- menuOrKeyboardActionController.onMenuOrKeyboardAction(R.id.help_id, false);
- return true;
@@ -39,7 +39,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcu
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java
-@@ -2544,15 +2544,6 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
+@@ -2603,15 +2603,6 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
final Tab currentTab = getActivityTab();
@@ -58,7 +58,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/autofill/settings/AutofillPaymentMethodsFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/settings/AutofillPaymentMethodsFragment.java
-@@ -137,6 +137,7 @@ public class AutofillPaymentMethodsFragment extends ChromeBaseSettingsFragment
+@@ -138,6 +138,7 @@ public class AutofillPaymentMethodsFragment extends ChromeBaseSettingsFragment
MenuItem help =
menu.add(Menu.NONE, R.id.menu_id_targeted_help, Menu.NONE, R.string.menu_help);
help.setIcon(R.drawable.ic_help_and_feedback);
@@ -91,7 +91,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/browsing_data/C
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
-@@ -1153,7 +1153,6 @@ public abstract class BaseCustomTabActivity extends ChromeActivity {
+@@ -1173,7 +1173,6 @@ public abstract class BaseCustomTabActivity extends ChromeActivity {
// Disable creating new tabs, bookmark, print, help, focus_url, etc.
if (id == R.id.focus_url_bar
|| id == R.id.all_bookmarks_menu_id
@@ -113,7 +113,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/setting
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/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
-@@ -701,6 +701,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
+@@ -765,6 +765,7 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity
help.setIcon(
TraceEventVectorDrawableCompat.create(
getResources(), R.drawable.ic_help_and_feedback, getTheme()));
@@ -135,7 +135,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/G
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/ManageSyncSettings.java
-@@ -318,6 +318,7 @@ public class ManageSyncSettings extends ChromeBaseSettingsFragment
+@@ -311,6 +311,7 @@ public class ManageSyncSettings extends ChromeBaseSettingsFragment
MenuItem help =
menu.add(Menu.NONE, R.id.menu_id_targeted_help, Menu.NONE, R.string.menu_help);
help.setIcon(R.drawable.ic_help_and_feedback);
@@ -146,7 +146,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/settings/M
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
-@@ -399,7 +399,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
+@@ -407,7 +407,7 @@ public class TabbedAppMenuPropertiesDelegate extends AppMenuPropertiesDelegateIm
}
// Help
diff --git a/build/patches/Remove-segmentation-platform.patch b/build/patches/Remove-segmentation-platform.patch
index b02d30cb..0a955948 100644
--- a/build/patches/Remove-segmentation-platform.patch
+++ b/build/patches/Remove-segmentation-platform.patch
@@ -47,7 +47,7 @@ diff --git a/chrome/browser/segmentation_platform/chrome_browser_main_extra_part
diff --git a/components/segmentation_platform/public/features.cc b/components/segmentation_platform/public/features.cc
--- a/components/segmentation_platform/public/features.cc
+++ b/components/segmentation_platform/public/features.cc
-@@ -281,4 +281,7 @@ constexpr base::FeatureParam kNewFeatures{&kAndroidTipsNotifications,
+@@ -291,4 +291,7 @@ constexpr base::FeatureParam kNewFeatures{&kAndroidTipsNotifications,
"new_features",
/*default_value=*/false};
diff --git a/build/patches/Remove-support-for-device-memory-and-cpu-recovery.patch b/build/patches/Remove-support-for-device-memory-and-cpu-recovery.patch
index 533a60cd..0f9a6d7d 100644
--- a/build/patches/Remove-support-for-device-memory-and-cpu-recovery.patch
+++ b/build/patches/Remove-support-for-device-memory-and-cpu-recovery.patch
@@ -10,11 +10,11 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
.../browser/blob/blob_memory_controller.cc | 20 ++++++++++---------
.../browser/quota/quota_device_info_helper.cc | 17 ++++++++++++++--
.../approximated_device_memory.cc | 7 ++++++-
- .../frame/navigator_concurrent_hardware.cc | 20 ++++++-------------
+ .../frame/navigator_concurrent_hardware.cc | 8 ++++++--
.../measure_memory_controller.cc | 5 +++++
.../blink/renderer/core/timing/memory_info.cc | 14 ++++++++++---
.../core/timing/window_performance.cc | 2 +-
- 10 files changed, 66 insertions(+), 30 deletions(-)
+ 10 files changed, 66 insertions(+), 18 deletions(-)
create mode 100644 cromite_flags/third_party/blink/common/features_cc/Remove-support-for-device-memory-and-cpu-recovery.inc
create mode 100644 cromite_flags/third_party/blink/common/features_h/Remove-support-for-device-memory-and-cpu-recovery.inc
@@ -82,7 +82,7 @@ diff --git a/storage/browser/blob/blob_memory_controller.cc b/storage/browser/bl
- : base::SysInfo::AmountOfPhysicalMemory().InBytesUnsigned();
+ : approximated_device_memory_gb_.InBytesUnsigned();
if (disk_enabled && CreateBlobDirectory(storage_dir) == base::File::FILE_OK)
-- disk_size = base::SysInfo::AmountOfTotalDiskSpace(storage_dir);
+- disk_size = base::SysInfo::AmountOfTotalDiskSpace(storage_dir).value_or(-1);
+ disk_size = approximated_device_disk_size;
BlobStorageLimits limits;
@@ -124,7 +124,7 @@ diff --git a/storage/browser/quota/quota_device_info_helper.cc b/storage/browser
int64_t QuotaDeviceInfoHelper::AmountOfTotalDiskSpace(
const base::FilePath& path) const {
-- int64_t disk_space = base::SysInfo::AmountOfTotalDiskSpace(path);
+- int64_t disk_space = base::SysInfo::AmountOfTotalDiskSpace(path).value_or(-1);
+ int64_t disk_space = approximated_device_disk_size;
UMA_HISTOGRAM_BOOLEAN("Quota.TotalDiskSpaceIsZero", disk_space <= 0);
return disk_space;
@@ -162,30 +162,17 @@ diff --git a/third_party/blink/common/device_memory/approximated_device_memory.c
diff --git a/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc b/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc
--- a/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc
+++ b/third_party/blink/renderer/core/frame/navigator_concurrent_hardware.cc
-@@ -3,26 +3,18 @@
+@@ -3,13 +3,17 @@
// found in the LICENSE file.
#include "third_party/blink/renderer/core/frame/navigator_concurrent_hardware.h"
-
+#include "build/build_config.h"
#include "base/system/sys_info.h"
- #include "third_party/blink/renderer/platform/runtime_enabled_features.h"
namespace blink {
--namespace {
--
--// TODO(435582603): Hard-coding this to a common value is a reasonable start,
--// but it likely makes sense to vary the hard-coded number by platform and
--// form-factor in order to maintain plausibility over time.
--constexpr unsigned kReducedHardwareConcurrencyValue = 8u;
--
--} // namespace
--
unsigned NavigatorConcurrentHardware::hardwareConcurrency() const {
-- if (RuntimeEnabledFeatures::ReduceHardwareConcurrencyEnabled()) {
-- return kReducedHardwareConcurrencyValue;
-- }
- return static_cast(base::SysInfo::NumberOfProcessors());
+#if BUILDFLAG(IS_ANDROID)
+ return static_cast(4);
diff --git a/build/patches/Remove-voice-recognition-integration.patch b/build/patches/Remove-voice-recognition-integration.patch
index 466d492e..feaa38dc 100644
--- a/build/patches/Remove-voice-recognition-integration.patch
+++ b/build/patches/Remove-voice-recognition-integration.patch
@@ -24,12 +24,13 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../suggestions/AutocompleteMediator.java | 10 ---
.../omnibox/voice/VoiceRecognitionUtil.java | 1 +
chrome/browser/ui/android/toolbar/BUILD.gn | 1 -
- 20 files changed, 10 insertions(+), 260 deletions(-)
+ .../toolbar/VoiceToolbarButtonController.java | 1 +
+ 21 files changed, 11 insertions(+), 260 deletions(-)
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java
-@@ -496,7 +496,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator {
+@@ -492,7 +492,7 @@ public class BaseCustomTabRootUiCoordinator extends RootUiCoordinator {
mIntentDataProvider.get(),
AppCompatResources.getDrawable(mActivity, R.drawable.ic_open_in_new_white_24dp),
mOpenInBrowserRunnable,
@@ -41,15 +42,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/Base
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
-@@ -75,7 +75,6 @@ import org.chromium.chrome.browser.ntp_customization.NtpCustomizationUtils;
- import org.chromium.chrome.browser.ntp_customization.edge_to_edge.TopInsetCoordinator;
+@@ -79,7 +79,6 @@ import org.chromium.chrome.browser.ntp_customization.edge_to_edge.TopInsetCoordi
+ import org.chromium.chrome.browser.ntp_customization.theme.BackgroundImageInfo;
import org.chromium.chrome.browser.omnibox.OmniboxFocusReason;
import org.chromium.chrome.browser.omnibox.OmniboxStub;
-import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler;
import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.readaloud.ReadAloudController;
-@@ -138,7 +137,6 @@ public class NewTabPage
+@@ -142,7 +141,6 @@ public class NewTabPage
TemplateUrlServiceObserver,
BrowserControlsStateProvider.Observer,
FeedSurfaceDelegate,
@@ -57,7 +58,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
ModuleDelegateHost {
private static final String TAG = "NewTabPage";
-@@ -172,7 +170,6 @@ public class NewTabPage
+@@ -176,7 +174,6 @@ public class NewTabPage
protected boolean mIsDefaultSearchEngineGoogle;
protected @Nullable OmniboxStub mOmniboxStub;
@@ -65,7 +66,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
// The timestamp at which the constructor was called.
protected final long mConstructedTimeNs;
-@@ -385,8 +382,7 @@ public class NewTabPage
+@@ -390,8 +387,7 @@ public class NewTabPage
@Override
public boolean isVoiceSearchEnabled() {
@@ -75,7 +76,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
}
@Override
-@@ -394,24 +390,6 @@ public class NewTabPage
+@@ -399,24 +395,6 @@ public class NewTabPage
if (mIsDestroyed) return;
FeedReliabilityLogger feedReliabilityLogger =
mFeedSurfaceProvider.getReliabilityLogger();
@@ -100,7 +101,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
}
@Override
-@@ -1001,12 +979,6 @@ public class NewTabPage
+@@ -1055,12 +1033,6 @@ public class NewTabPage
mOmniboxStub.addUrlFocusChangeListener(feedReliabilityLogger);
}
}
@@ -113,7 +114,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
}
/**
-@@ -1025,11 +997,6 @@ public class NewTabPage
+@@ -1079,11 +1051,6 @@ public class NewTabPage
}
}
@@ -125,7 +126,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
/** Adds an observer to be notified on most visited tile clicks. */
public void addMostVisitedTileClickObserver(MostVisitedTileClickObserver observer) {
mMostVisitedTileClickObservers.addObserver(observer);
-@@ -1115,9 +1082,6 @@ public class NewTabPage
+@@ -1169,9 +1136,6 @@ public class NewTabPage
mOmniboxStub.removeUrlFocusChangeListener(feedReliabilityLogger);
}
mFeedSurfaceProvider.destroy();
@@ -138,10 +139,10 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/SearchBoxMediator.java
-@@ -92,7 +92,6 @@ class SearchBoxMediator implements DestroyObserver, NativeInitObserver {
+@@ -91,7 +91,6 @@ class SearchBoxMediator implements DestroyObserver, NativeInitObserver {
+ mModel.set(SearchBoxProperties.VOICE_SEARCH_DRAWABLE, drawable);
- ColorStateList colorStateList =
- ThemeUtils.getThemedToolbarIconTint(mContext, BrandedColorScheme.APP_DEFAULT);
+ ColorStateList colorStateList = NtpCustomizationUtils.getSearchBoxIconColorTint(mContext);
- mModel.set(SearchBoxProperties.VOICE_SEARCH_COLOR_STATE_LIST, colorStateList);
}
@@ -149,17 +150,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/search/Sear
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
-@@ -69,7 +69,6 @@ import org.chromium.chrome.browser.rlz.RevenueStats;
- import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
- import org.chromium.chrome.browser.tab.Tab;
+@@ -70,7 +70,6 @@ import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
+ import org.chromium.chrome.browser.tab.TabFavicon;
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
+ import org.chromium.chrome.browser.tabwindow.TabWindowInfo;
-import org.chromium.chrome.browser.toolbar.VoiceToolbarButtonController;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarManageable;
import org.chromium.chrome.browser.ui.native_page.NativePage;
@@ -332,7 +331,7 @@ public class SearchActivity extends AsyncInitializationActivity
+ this::bringTabGroupToFront,
/*omniboxUma*/ (url, transition, isNtp) -> {},
- TabWindowManagerSingleton::getInstance,
/* bookmarkState= */ (url) -> false,
- VoiceToolbarButtonController::isToolbarMicEnabled,
+ /* isToolbarMicEnabled */ () -> false,
@@ -194,7 +195,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/Se
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
-@@ -996,7 +996,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
+@@ -980,7 +980,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
mTabBookmarkerSupplier,
mBookmarkModelSupplier,
mActivityTabProvider,
@@ -202,11 +203,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
+ () -> {},
groupSuggestionsButtonControllerSupplier,
mTabModelSelectorSupplier,
- mModalDialogManagerSupplier);
+ mModalDialogManagerSupplier,
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
-@@ -109,7 +109,6 @@ import org.chromium.chrome.browser.omnibox.OmniboxStub;
+@@ -119,7 +119,6 @@ import org.chromium.chrome.browser.omnibox.OmniboxStub;
import org.chromium.chrome.browser.omnibox.OverrideUrlLoadingDelegateImpl;
import org.chromium.chrome.browser.omnibox.UrlFocusChangeListener;
import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener;
@@ -214,7 +215,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/Toolbar
import org.chromium.chrome.browser.page_info.ChromePageInfo;
import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
-@@ -3177,10 +3176,6 @@ public class ToolbarManager
+@@ -3266,10 +3265,6 @@ public class ToolbarManager
return mLocationBar.getOmniboxStub();
}
@@ -314,15 +315,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/AdaptiveTool
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
-@@ -107,7 +107,6 @@ import org.chromium.chrome.browser.ntp_customization.edge_to_edge.TopInsetCoordi
+@@ -117,7 +117,6 @@ import org.chromium.chrome.browser.ntp_customization.edge_to_edge.TopInsetCoordi
+ import org.chromium.chrome.browser.omnibox.OmniboxActionDelegateImpl;
import org.chromium.chrome.browser.omnibox.OmniboxFocusReason;
import org.chromium.chrome.browser.omnibox.geo.GeolocationHeader;
- import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionDelegateImpl;
-import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler;
import org.chromium.chrome.browser.paint_preview.DemoPaintPreview;
import org.chromium.chrome.browser.password_manager.ManagePasswordsReferrer;
import org.chromium.chrome.browser.password_manager.PasswordManagerLauncher;
-@@ -308,7 +307,6 @@ public class RootUiCoordinator
+@@ -325,7 +324,6 @@ public class RootUiCoordinator
private LayoutManagerImpl mLayoutManager;
protected OneshotSupplier mIntentMetadataOneshotSupplier;
protected OneshotSupplierImpl mPromoShownOneshotSupplier = new OneshotSupplierImpl<>();
@@ -330,17 +331,17 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
private MediaCaptureOverlayController mCaptureController;
private @Nullable ScrollCaptureManager mScrollCaptureManager;
protected final ActivityLifecycleDispatcher mActivityLifecycleDispatcher;
-@@ -708,9 +706,6 @@ public class RootUiCoordinator
+@@ -778,9 +776,6 @@ public class RootUiCoordinator
}
if (mToolbarManager != null) {
- if (mMicStateObserver != null && mToolbarManager.getVoiceRecognitionHandler() != null) {
- mToolbarManager.getVoiceRecognitionHandler().removeObserver(mMicStateObserver);
- }
- mTopControlsStacker.removeControl(mToolbarContainer);
mToolbarManager.destroy();
mToolbarManager = null;
-@@ -1672,23 +1667,10 @@ public class RootUiCoordinator
+ }
+@@ -1746,23 +1741,10 @@ public class RootUiCoordinator
if (!mSupportsAppMenuSupplier.getAsBoolean()) {
mToolbarManager.getToolbar().disableMenuButton();
}
@@ -367,7 +368,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordi
diff --git a/chrome/browser/ui/android/omnibox/BUILD.gn b/chrome/browser/ui/android/omnibox/BUILD.gn
--- a/chrome/browser/ui/android/omnibox/BUILD.gn
+++ b/chrome/browser/ui/android/omnibox/BUILD.gn
-@@ -160,7 +160,6 @@ android_library("java") {
+@@ -162,7 +162,6 @@ android_library("java") {
"java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionView.java",
"java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionViewBinder.java",
"java/src/org/chromium/chrome/browser/omnibox/suggestions/tail/TailSuggestionViewProperties.java",
@@ -384,9 +385,9 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsVisualState;
-import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler;
import org.chromium.chrome.browser.tab.Tab;
+ import org.chromium.components.browser_ui.accessibility.PageZoomUtils;
- /** Container that holds the {@link UrlBar} and SSL state related with the current {@link Tab}. */
-@@ -76,11 +75,6 @@ public interface LocationBar {
+@@ -77,11 +76,6 @@ public interface LocationBar {
*/
View getSecurityIconView();
@@ -401,7 +402,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/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
-@@ -48,7 +48,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.OmniboxLoadUrlParams;
+@@ -50,7 +50,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.OmniboxLoadUrlParams;
import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsDropdownScrollListener;
import org.chromium.chrome.browser.omnibox.suggestions.OmniboxSuggestionsVisualState;
import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState;
@@ -409,7 +410,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
import org.chromium.chrome.browser.share.ShareDelegate;
-@@ -526,12 +525,6 @@ public class LocationBarCoordinator
+@@ -560,12 +559,6 @@ public class LocationBarCoordinator
return mLocationBarLayout.getSecurityIconView();
}
@@ -422,7 +423,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
@Override
public @Nullable OmniboxStub getOmniboxStub() {
return mLocationBarMediator;
-@@ -695,7 +688,7 @@ public class LocationBarCoordinator
+@@ -729,7 +722,7 @@ public class LocationBarCoordinator
public void startAutocompletePrefetch() {
if (!mNativeInitialized) return;
mAutocompleteCoordinator.prefetchZeroSuggestResults(
@@ -431,7 +432,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
}
/**
-@@ -861,11 +854,6 @@ public class LocationBarCoordinator
+@@ -895,11 +888,6 @@ public class LocationBarCoordinator
// End tablet-specific methods.
@@ -454,7 +455,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
import org.chromium.components.browser_ui.widget.CompositeTouchDelegate;
import org.chromium.components.embedder_support.util.UrlUtilities;
import org.chromium.ui.base.DeviceFormFactor;
-@@ -449,11 +448,6 @@ public class LocationBarLayout extends ConstraintLayout {
+@@ -458,11 +457,6 @@ public class LocationBarLayout extends ConstraintLayout {
mSearchEngineUtils = searchEngineUtils;
}
@@ -469,7 +470,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/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
-@@ -66,7 +66,6 @@ import org.chromium.chrome.browser.omnibox.status.StatusCoordinator;
+@@ -67,7 +67,6 @@ import org.chromium.chrome.browser.omnibox.status.StatusCoordinator;
import org.chromium.chrome.browser.omnibox.styles.OmniboxResourceProvider;
import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator;
import org.chromium.chrome.browser.omnibox.suggestions.OmniboxLoadUrlParams;
@@ -477,7 +478,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesSettingsBridge;
import org.chromium.chrome.browser.prefetch.settings.PreloadPagesState;
import org.chromium.chrome.browser.profiles.Profile;
-@@ -114,8 +113,6 @@ import java.util.function.Supplier;
+@@ -117,8 +116,6 @@ import java.util.function.Supplier;
class LocationBarMediator
implements LocationBarDataProvider.Observer,
OmniboxStub,
@@ -486,7 +487,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
UrlBarDelegate,
OnKeyListener,
ComponentCallbacks,
-@@ -174,7 +171,6 @@ class LocationBarMediator
+@@ -177,7 +174,6 @@ class LocationBarMediator
};
private final LocationBarLayout mLocationBarLayout;
@@ -494,7 +495,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
private final LocationBarDataProvider mLocationBarDataProvider;
private final @Nullable BrowserControlsStateProvider mBrowserControlsStateProvider;
private final LocationBarEmbedderUiOverrides mEmbedderUiOverrides;
-@@ -256,8 +252,6 @@ class LocationBarMediator
+@@ -266,8 +262,6 @@ class LocationBarMediator
mEmbedderUiOverrides = embedderUiOverrides;
mOverrideUrlLoadingDelegate = overrideUrlLoadingDelegate;
mLocaleManager = localeManager;
@@ -503,7 +504,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
mProfileSupplier = profileSupplier;
mProfileSupplier.addObserver(mCallbackController.makeCancelable(this::setProfile));
mTemplateUrlServiceSupplier = templateUrlServiceSupplier;
-@@ -312,9 +306,6 @@ class LocationBarMediator
+@@ -356,9 +350,6 @@ class LocationBarMediator
mStatusCoordinator = null;
mAutocompleteCoordinator = null;
mUrlCoordinator = null;
@@ -513,7 +514,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
mLocationBarDataProvider.removeObserver(this);
mDeferredNativeRunnables.clear();
mUrlFocusChangeListeners.clear();
-@@ -451,11 +442,6 @@ class LocationBarMediator
+@@ -500,11 +491,6 @@ class LocationBarMediator
mLocationBarLayout.setUnfocusedWidth(unfocusedWidth);
}
@@ -525,7 +526,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
/* package */ void setLensControllerForTesting(LensController lensController) {
mLensController = lensController;
}
-@@ -763,10 +749,6 @@ class LocationBarMediator
+@@ -811,10 +797,6 @@ class LocationBarMediator
// Hide keyboard before launch voice search to avoid keyboard action announcement in
// TalkBack to be picked up by voice search.
mUrlCoordinator.setKeyboardVisibility(false, false);
@@ -536,7 +537,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
}
/** package */
-@@ -1345,10 +1327,7 @@ class LocationBarMediator
+@@ -1459,10 +1441,7 @@ class LocationBarMediator
}
if (shouldShowDeleteButton()) return false;
@@ -548,15 +549,15 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
return false;
}
boolean isToolbarMicEnabled = mIsToolbarMicEnabledSupplier.getAsBoolean();
-@@ -1366,6 +1345,7 @@ class LocationBarMediator
+@@ -1480,6 +1459,7 @@ class LocationBarMediator
@VisibleForTesting
boolean shouldShowLensButton() {
+ if ((true)) return false;
- if (mNavigationFulfillmentTypeSupplier.get() != NavigationFulfillmentType.DEFAULT) {
+ if (mAutocompleteRequestTypeSupplier.get() != AutocompleteRequestType.SEARCH) {
return false;
}
-@@ -1656,11 +1636,6 @@ class LocationBarMediator
+@@ -1788,11 +1768,6 @@ class LocationBarMediator
}
}
@@ -568,7 +569,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
@Override
public void addUrlFocusChangeListener(UrlFocusChangeListener listener) {
mUrlFocusChangeListeners.addObserver(listener);
-@@ -1676,31 +1651,13 @@ class LocationBarMediator
+@@ -1808,31 +1783,13 @@ class LocationBarMediator
return mUrlHasFocus;
}
@@ -602,7 +603,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
public void setSearchQuery(String query) {
if (TextUtils.isEmpty(query)) return;
-@@ -1723,20 +1680,6 @@ class LocationBarMediator
+@@ -1855,20 +1812,6 @@ class LocationBarMediator
mUrlCoordinator.setKeyboardVisibility(true, false);
}
@@ -657,9 +658,9 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
import org.chromium.chrome.browser.omnibox.OmniboxMetrics;
-import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler.VoiceResult;
import org.chromium.chrome.browser.profiles.Profile;
- import org.chromium.chrome.browser.tab.Tab;
import org.chromium.components.omnibox.AutocompleteInput;
-@@ -333,25 +332,6 @@ public class AutocompleteController {
+ import org.chromium.components.omnibox.AutocompleteMatch;
+@@ -331,25 +330,6 @@ public class AutocompleteController {
mNativeController, match.getNativeObjectRef(), matchIndex, webContents);
}
@@ -685,9 +686,9 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
/**
* Updates searchbox stats parameters on the selected match that we will navigate to and
* returns the updated URL.
-@@ -471,11 +451,6 @@ public class AutocompleteController {
- Tab getMatchingTabForSuggestion(
- long nativeAutocompleteControllerAndroid, long nativeAutocompleteMatch);
+@@ -453,11 +433,6 @@ public class AutocompleteController {
+ long nativeAutocompleteMatch,
+ long elapsedTimeSinceInputChange);
- void setVoiceMatches(
- long nativeAutocompleteControllerAndroid,
@@ -700,7 +701,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java
-@@ -33,7 +33,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteController.On
+@@ -35,7 +35,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteController.On
import org.chromium.chrome.browser.omnibox.suggestions.SuggestionListViewBinder.SuggestionListViewHolder;
import org.chromium.chrome.browser.omnibox.suggestions.base.BaseSuggestionViewBinder;
import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState;
@@ -708,7 +709,7 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.share.ShareDelegate;
import org.chromium.chrome.browser.tab.Tab;
-@@ -308,13 +307,6 @@ public class AutocompleteCoordinator
+@@ -305,13 +304,6 @@ public class AutocompleteCoordinator
}
}
@@ -725,15 +726,15 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java
-@@ -45,7 +45,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteCoordinator.O
- import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteDelegate.AutocompleteLoadCallback;
+@@ -45,7 +45,6 @@ import org.chromium.chrome.browser.omnibox.suggestions.AutocompleteDelegate.Auto
import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionFactoryImpl;
+ import org.chromium.chrome.browser.omnibox.suggestions.action.OmniboxActionInSuggest;
import org.chromium.chrome.browser.omnibox.suggestions.basic.BasicSuggestionProcessor.BookmarkState;
-import org.chromium.chrome.browser.omnibox.voice.VoiceRecognitionHandler;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.share.ShareDelegate;
import org.chromium.chrome.browser.tab.Tab;
-@@ -510,15 +509,6 @@ class AutocompleteMediator
+@@ -519,15 +518,6 @@ class AutocompleteMediator
mShouldPreventOmniboxAutocomplete = prevent;
}
@@ -771,4 +772,15 @@ diff --git a/chrome/browser/ui/android/toolbar/BUILD.gn b/chrome/browser/ui/andr
"java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveButtonActionMenuCoordinator.java",
"java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarBehavior.java",
"java/src/org/chromium/chrome/browser/toolbar/adaptive/AdaptiveToolbarBridge.java",
+diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/VoiceToolbarButtonController.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/VoiceToolbarButtonController.java
+--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/VoiceToolbarButtonController.java
++++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/VoiceToolbarButtonController.java
+@@ -134,6 +134,7 @@ public class VoiceToolbarButtonController extends BaseButtonDataProvider {
+
+ /** Returns whether the feature flags allow showing the mic icon in the toolbar. */
+ public static boolean isToolbarMicEnabled() {
++ if ((true)) return false;
+ if (!FeatureList.isInitialized()) return false;
+ return AdaptiveToolbarFeatures.isCustomizationEnabled();
+ }
--
diff --git a/build/patches/Remove-window-name-on-cross-origin-navigation.patch b/build/patches/Remove-window-name-on-cross-origin-navigation.patch
index 2e8db53d..b62abfee 100644
--- a/build/patches/Remove-window-name-on-cross-origin-navigation.patch
+++ b/build/patches/Remove-window-name-on-cross-origin-navigation.patch
@@ -34,7 +34,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
-@@ -2989,7 +2989,8 @@ void DocumentLoader::CommitNavigation() {
+@@ -2976,7 +2976,8 @@ void DocumentLoader::CommitNavigation() {
// that the name would be nulled and if the name is accessed after we will
// fire a UseCounter. If we decide to move forward with this change, we'd
// actually clean the name here.
@@ -44,7 +44,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p
frame_->Tree().ExperimentalSetNulledName();
}
-@@ -3000,6 +3001,7 @@ void DocumentLoader::CommitNavigation() {
+@@ -2987,6 +2988,7 @@ void DocumentLoader::CommitNavigation() {
// TODO(shuuran): CrossSiteCrossBrowsingContextGroupSetNulledName will just
// record the fact that the name would be nulled and if the name is accessed
// after we will fire a UseCounter.
diff --git a/build/patches/Restore-LastTabStandingTracker.patch b/build/patches/Restore-LastTabStandingTracker.patch
index 602dee0f..4416526b 100644
--- a/build/patches/Restore-LastTabStandingTracker.patch
+++ b/build/patches/Restore-LastTabStandingTracker.patch
@@ -27,7 +27,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
-@@ -1625,6 +1625,16 @@ static_library("browser") {
+@@ -1588,6 +1588,16 @@ static_library("browser") {
"webdata_services/web_data_service_factory.cc",
]
@@ -391,7 +391,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
#include "chrome/browser/permissions/notifications_engagement_service_factory.h"
#include "chrome/browser/permissions/one_time_permissions_tracker_factory.h"
#include "chrome/browser/permissions/origin_keyed_permission_action_service_factory.h"
-@@ -1122,6 +1123,7 @@ void ChromeBrowserMainExtraPartsProfiles::
+@@ -1132,6 +1133,7 @@ void ChromeBrowserMainExtraPartsProfiles::
#if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
OnDeviceTailModelServiceFactory::GetInstance();
#endif
@@ -402,7 +402,7 @@ diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
--- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc
-@@ -51,6 +51,7 @@
+@@ -50,6 +50,7 @@
#include "chrome/browser/page_info/page_info_features.h"
#include "chrome/browser/page_load_metrics/page_load_metrics_initialize.h"
#include "chrome/browser/password_manager/chrome_password_manager_client.h"
@@ -410,7 +410,7 @@ diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
#include "chrome/browser/permissions/one_time_permissions_tracker_helper.h"
#include "chrome/browser/picture_in_picture/auto_picture_in_picture_tab_helper.h"
#include "chrome/browser/predictors/loading_predictor_factory.h"
-@@ -444,6 +445,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
+@@ -450,6 +451,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
HistoryEmbeddingsTabHelper::CreateForWebContents(web_contents);
HttpsOnlyModeTabHelper::CreateForWebContents(web_contents);
webapps::InstallableManager::CreateForWebContents(web_contents);
diff --git a/build/patches/Restore-Search-Ready-Omnibox-flag.patch b/build/patches/Restore-Search-Ready-Omnibox-flag.patch
index fc884bbc..873e128c 100644
--- a/build/patches/Restore-Search-Ready-Omnibox-flag.patch
+++ b/build/patches/Restore-Search-Ready-Omnibox-flag.patch
@@ -11,11 +11,11 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
chrome/browser/flags/android/chrome_feature_list.cc | 1 +
.../chrome/browser/flags/ChromeFeatureList.java | 1 +
- .../DropdownItemViewInfoListBuilder.java | 9 ++++++++-
+ .../DropdownItemViewInfoListBuilder.java | 8 +++++++-
.../restore-Search-Ready-Omnibox-flag.inc | 13 +++++++++++++
.../restore-Search-Ready-Omnibox-flag.inc | 3 +++
.../restore-Search-Ready-Omnibox-flag.inc | 1 +
- 6 files changed, 27 insertions(+), 1 deletion(-)
+ 6 files changed, 26 insertions(+), 1 deletion(-)
create mode 100644 cromite_flags/chrome/browser/about_flags_cc/restore-Search-Ready-Omnibox-flag.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_cc/restore-Search-Ready-Omnibox-flag.inc
create mode 100644 cromite_flags/chrome/browser/flags/android/chrome_feature_list_h/restore-Search-Ready-Omnibox-flag.inc
@@ -23,8 +23,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
-@@ -394,6 +394,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
- &kReadAloudIPHMenuButtonHighlightCCT,
+@@ -399,6 +399,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
+ &kReadAloudTapToSeek,
&kRecordSuppressionMetrics,
&kReengagementNotification,
+ &kSearchReadyOmniboxFeature,
@@ -34,7 +34,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
-@@ -489,6 +489,7 @@ public abstract class ChromeFeatureList {
+@@ -495,6 +495,7 @@ public abstract class ChromeFeatureList {
public static final String MITIGATE_LEGACY_SEARCH_ENGINE_PROMO_OVERLAP =
"MitigateLegacySearchEnginePromoOverlap";
public static final String MOST_VISITED_TILES_CUSTOMIZATION = "MostVisitedTilesCustomization";
@@ -45,23 +45,15 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java
--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java
+++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/DropdownItemViewInfoListBuilder.java
-@@ -9,6 +9,7 @@ import android.text.TextUtils;
-
- import androidx.annotation.VisibleForTesting;
-
-+import org.chromium.chrome.browser.flags.ChromeFeatureList;
- import org.chromium.build.annotations.Initializer;
- import org.chromium.build.annotations.NullMarked;
- import org.chromium.build.annotations.Nullable;
-@@ -55,6 +56,7 @@ class DropdownItemViewInfoListBuilder {
- private Optional mImageSupplier;
+@@ -57,6 +57,7 @@ class DropdownItemViewInfoListBuilder {
+ private @Nullable OmniboxImageSupplier mImageSupplier;
private final BookmarkState mBookmarkState;
- private final Supplier<@ControlsPosition Integer> mToolbarPositionSupplier;
+ private final ObservableSupplier<@ControlsPosition Integer> mToolbarPositionSupplier;
+ private EditUrlSuggestionProcessor mEditUrlSuggestionProcessor;
DropdownItemViewInfoListBuilder(
Supplier<@Nullable Tab> tabSupplier,
-@@ -109,10 +111,12 @@ class DropdownItemViewInfoListBuilder {
+@@ -109,10 +110,12 @@ class DropdownItemViewInfoListBuilder {
mGroupSeparatorProcessor = new GroupSeparatorProcessor(uiContext.context);
mHeaderProcessor = new HeaderProcessor(uiContext.context);
@@ -75,9 +67,9 @@ diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/brow
registerSuggestionProcessor(new TailSuggestionProcessor(uiContext));
registerSuggestionProcessor(new MostVisitedTilesProcessor(uiContext));
if (OmniboxFeatures.sAndroidHubSearchTabGroups.isEnabled()) {
-@@ -192,6 +196,9 @@ class DropdownItemViewInfoListBuilder {
- mHeaderProcessor.onNativeInitialized();
- mImageSupplier.ifPresent(s -> s.onNativeInitialized());
+@@ -200,6 +203,9 @@ class DropdownItemViewInfoListBuilder {
+ mImageSupplier.onNativeInitialized();
+ }
+ if (ChromeFeatureList.isEnabled(ChromeFeatureList.SEARCH_READY_OMNIBOX) == false) {
+ mPriorityOrderedSuggestionProcessors.remove(mEditUrlSuggestionProcessor);
diff --git a/build/patches/Restore-Simplified-NTP-launch.patch b/build/patches/Restore-Simplified-NTP-launch.patch
index edc03b17..17173e3f 100644
--- a/build/patches/Restore-Simplified-NTP-launch.patch
+++ b/build/patches/Restore-Simplified-NTP-launch.patch
@@ -30,7 +30,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../chrome/browser/ntp/NewTabPage.java | 8 +-
.../chrome/browser/ntp/NewTabPageLayout.java | 33 +-
.../suggestions/SuggestionsConfig.java | 2 +-
- .../SuggestionsNavigationDelegate.java | 27 +-
+ .../SuggestionsNavigationDelegate.java | 28 +-
.../tile/MostVisitedTilesCoordinator.java | 6 +-
.../tile/MostVisitedTilesGridLayout.java | 287 ++++++++++++++++++
.../tile/MostVisitedTilesMediator.java | 8 +-
@@ -49,7 +49,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
.../Restore-Simplified-NTP-launch.inc | 12 +
.../Restore-Simplified-NTP-launch.inc | 10 +
.../Restore-Simplified-NTP-launch.inc | 1 +
- 43 files changed, 648 insertions(+), 61 deletions(-)
+ 43 files changed, 649 insertions(+), 61 deletions(-)
create mode 100644 chrome/android/java/res/drawable-hdpi/ic_most_visited_placeholder.png
create mode 100644 chrome/android/java/res/drawable-mdpi/ic_most_visited_placeholder.png
create mode 100644 chrome/android/java/res/drawable-xhdpi/ic_most_visited_placeholder.png
@@ -67,7 +67,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
-@@ -53,6 +53,11 @@ chrome_java_resources = [
+@@ -55,6 +55,11 @@ chrome_java_resources = [
"java/res/drawable-hdpi/ic_exit_to_app_white_24dp.png",
"java/res/drawable-hdpi/ic_file_download_white_24dp.png",
"java/res/drawable-hdpi/ic_link_grey600_36dp.png",
@@ -79,7 +79,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
"java/res/drawable-hdpi/ic_phone_googblue_36dp.png",
"java/res/drawable-hdpi/ic_photo_camera.png",
"java/res/drawable-hdpi/ic_place_googblue_36dp.png",
-@@ -538,6 +543,7 @@ chrome_java_resources = [
+@@ -547,6 +552,7 @@ chrome_java_resources = [
"java/res/layout/manage_sync_settings_bottom_bar.xml",
"java/res/layout/material_tooltip.xml",
"java/res/layout/multiline_spinner_item.xml",
@@ -87,7 +87,7 @@ diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_ja
"java/res/layout/mv_tiles_layout.xml",
"java/res/layout/navigation_bubble.xml",
"java/res/layout/navigation_sheet.xml",
-@@ -547,8 +553,10 @@ chrome_java_resources = [
+@@ -556,8 +562,10 @@ chrome_java_resources = [
"java/res/layout/new_custom_tab_toolbar.xml",
"java/res/layout/new_tab_page_incognito.xml",
"java/res/layout/new_tab_page_layout.xml",
@@ -101,7 +101,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
-@@ -617,6 +617,7 @@ chrome_java_sources = [
+@@ -623,6 +623,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/feedback/FeedFeedbackCollector.java",
"java/src/org/chromium/chrome/browser/feedback/HelpAndFeedbackLauncherImpl.java",
"java/src/org/chromium/chrome/browser/feedback/ScreenshotTask.java",
@@ -109,7 +109,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
"java/src/org/chromium/chrome/browser/findinpage/FindToolbar.java",
"java/src/org/chromium/chrome/browser/findinpage/FindToolbarManager.java",
"java/src/org/chromium/chrome/browser/findinpage/FindToolbarObserver.java",
-@@ -1031,6 +1032,7 @@ chrome_java_sources = [
+@@ -1046,6 +1047,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/suggestions/mostvisited/MostVisitedSitesMetadataUtils.java",
"java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesCoordinator.java",
"java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesLayout.java",
@@ -575,12 +575,12 @@ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res
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
-@@ -3482,7 +3482,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
- mTopInsetCoordinatorSupplier,
+@@ -3458,7 +3458,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
getStartupMetricsTracker(),
mRootUiCoordinator.getExclusiveAccessManager(),
-- mBackPressManager);
-+ mBackPressManager,
+ mBackPressManager,
+- mMultiInstanceManager);
++ mMultiInstanceManager,
+ mBookmarkManagerOpenerSupplier);
}
return mTabDelegateFactory;
@@ -596,7 +596,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
import org.chromium.chrome.browser.contextmenu.ChromeContextMenuPopulator;
-@@ -55,6 +56,8 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
+@@ -56,6 +57,8 @@ import org.chromium.ui.modaldialog.ModalDialogManager;
import java.util.List;
import java.util.function.Supplier;
@@ -605,7 +605,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
/**
* {@link TabDelegateFactory} class to be used in all {@link Tab} instances owned by a {@link
* ChromeTabbedActivity}.
-@@ -88,6 +91,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
+@@ -89,6 +92,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
private final ObservableSupplier mTopInsetCoordinatorSupplier;
private final StartupMetricsTracker mStartupMetricsTracker;
private final @Nullable ExclusiveAccessManager mExclusiveAccessManager;
@@ -613,31 +613,31 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/TabbedModeTabDe
+
private @Nullable NativePageFactory mNativePageFactory;
private final BackPressManager mBackPressManager;
-
-@@ -119,7 +124,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
- ObservableSupplier topInsetCoordinatorSupplier,
+ private final MultiInstanceManager mMultiInstanceManager;
+@@ -122,7 +127,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
StartupMetricsTracker startupMetricsTracker,
@Nullable ExclusiveAccessManager exclusiveAccessManager,
-- BackPressManager backPressManager) {
-+ BackPressManager backPressManager,
+ BackPressManager backPressManager,
+- MultiInstanceManager multiInstanceManager) {
++ MultiInstanceManager multiInstanceManager,
+ @NonNull ObservableSupplier bookmarkManagerOpenerSupplier) {
mActivity = activity;
mAppBrowserControlsVisibilityDelegate = appBrowserControlsVisibilityDelegate;
mShareDelegateSupplier = shareDelegateSupplier;
-@@ -148,6 +154,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
- mStartupMetricsTracker = startupMetricsTracker;
+@@ -152,6 +158,7 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
mExclusiveAccessManager = exclusiveAccessManager;
mBackPressManager = backPressManager;
+ mMultiInstanceManager = multiInstanceManager;
+ mBookmarkManagerOpenerSupplier = bookmarkManagerOpenerSupplier;
}
@Override
-@@ -218,7 +225,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
- mEdgeToEdgeControllerSupplier,
+@@ -224,7 +231,8 @@ public class TabbedModeTabDelegateFactory implements TabDelegateFactory {
mTopInsetCoordinatorSupplier,
mStartupMetricsTracker,
-- mBackPressManager);
-+ mBackPressManager,
+ mBackPressManager,
+- mMultiInstanceManager);
++ mMultiInstanceManager,
+ mBookmarkManagerOpenerSupplier);
}
return mNativePageFactory.createNativePage(url, candidatePage, tab, pdfInfo);
@@ -730,7 +730,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
import org.chromium.chrome.browser.browser_controls.BrowserControlsMarginSupplier;
import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
-@@ -95,6 +97,7 @@ public class NativePageFactory {
+@@ -96,6 +98,7 @@ public class NativePageFactory {
private final ObservableSupplier mEdgeToEdgeControllerSupplier;
private final ObservableSupplier mTopInsetCoordinatorSupplier;
private final StartupMetricsTracker mStartupMetricsTracker;
@@ -738,38 +738,38 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
private @Nullable NewTabPageCreationTracker mNewTabPageCreationTracker;
private @Nullable NativePageBuilder mNativePageBuilder;
-@@ -119,7 +122,8 @@ public class NativePageFactory {
- ObservableSupplier edgeToEdgeControllerSupplier,
+@@ -122,7 +125,8 @@ public class NativePageFactory {
ObservableSupplier topInsetCoordinatorSupplier,
StartupMetricsTracker startupMetricsTracker,
-- BackPressManager backPressManager) {
-+ BackPressManager backPressManager,
+ BackPressManager backPressManager,
+- MultiInstanceManager multiInstanceManager) {
++ MultiInstanceManager multiInstanceManager,
+ @NonNull ObservableSupplier bookmarkManagerOpenerSupplier) {
mActivity = activity;
mBottomSheetController = sheetController;
mBrowserControlsManager = browserControlsManager;
-@@ -138,6 +142,7 @@ public class NativePageFactory {
- mTopInsetCoordinatorSupplier = topInsetCoordinatorSupplier;
+@@ -142,6 +146,7 @@ public class NativePageFactory {
mStartupMetricsTracker = startupMetricsTracker;
mBackPressManager = backPressManager;
+ mMultiInstanceManager = multiInstanceManager;
+ mBookmarkManagerOpenerSupplier = bookmarkManagerOpenerSupplier;
}
private NativePageBuilder getBuilder() {
-@@ -162,7 +167,8 @@ public class NativePageFactory {
- mEdgeToEdgeControllerSupplier,
+@@ -167,7 +172,8 @@ public class NativePageFactory {
mTopInsetCoordinatorSupplier,
mStartupMetricsTracker,
-- mBackPressManager);
-+ mBackPressManager,
+ mBackPressManager,
+- mMultiInstanceManager);
++ mMultiInstanceManager,
+ mBookmarkManagerOpenerSupplier);
}
return mNativePageBuilder;
}
-@@ -196,9 +202,10 @@ public class NativePageFactory {
- private final ObservableSupplier mTopInsetCoordinatorSupplier;
+@@ -202,9 +208,10 @@ public class NativePageFactory {
private final StartupMetricsTracker mStartupMetricsTracker;
private final BackPressManager mBackPressManager;
+ private final MultiInstanceManager mMultiInstanceManager;
+ private final ObservableSupplier mBookmarkManagerOpenerSupplier;
public NativePageBuilder(
@@ -778,30 +778,30 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
Supplier newTabPageCreationTracker,
BottomSheetController sheetController,
BrowserControlsManager browserControlsManager,
-@@ -216,7 +223,8 @@ public class NativePageFactory {
- ObservableSupplier edgeToEdgeControllerSupplier,
+@@ -223,7 +230,8 @@ public class NativePageFactory {
ObservableSupplier topInsetCoordinatorSupplier,
StartupMetricsTracker startupMetricsTracker,
-- BackPressManager backPressManager) {
-+ BackPressManager backPressManager,
+ BackPressManager backPressManager,
+- MultiInstanceManager multiInstanceManager) {
++ MultiInstanceManager multiInstanceManager,
+ @NonNull ObservableSupplier bookmarkManagerOpenerSupplier) {
mActivity = activity;
mNewTabPageCreationTracker = newTabPageCreationTracker;
mBottomSheetController = sheetController;
-@@ -236,6 +244,7 @@ public class NativePageFactory {
- mTopInsetCoordinatorSupplier = topInsetCoordinatorSupplier;
+@@ -244,6 +252,7 @@ public class NativePageFactory {
mStartupMetricsTracker = startupMetricsTracker;
mBackPressManager = backPressManager;
+ mMultiInstanceManager = multiInstanceManager;
+ mBookmarkManagerOpenerSupplier = bookmarkManagerOpenerSupplier;
}
protected NativePage buildNewTabPage(Tab tab, String url) {
-@@ -273,7 +282,8 @@ public class NativePageFactory {
- mModuleRegistrySupplier,
+@@ -282,7 +291,8 @@ public class NativePageFactory {
mEdgeToEdgeControllerSupplier,
mTopInsetCoordinatorSupplier,
-- mStartupMetricsTracker);
-+ mStartupMetricsTracker,
+ mStartupMetricsTracker,
+- mMultiInstanceManager);
++ mMultiInstanceManager,
+ mBookmarkManagerOpenerSupplier);
}
@@ -809,7 +809,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/native_page/NativePageNavigationDelegateImpl.java
-@@ -28,7 +28,7 @@ import org.chromium.ui.mojom.WindowOpenDisposition;
+@@ -29,7 +29,7 @@ import org.chromium.ui.mojom.WindowOpenDisposition;
/** {@link NativePageNavigationDelegate} implementation. */
@NullMarked
public class NativePageNavigationDelegateImpl implements NativePageNavigationDelegate {
@@ -821,7 +821,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/native_page/Nat
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java
-@@ -126,6 +126,9 @@ import org.chromium.ui.base.DeviceFormFactor;
+@@ -130,6 +130,9 @@ import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.url.GURL;
@@ -831,29 +831,29 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.
import java.util.List;
import java.util.function.Supplier;
-@@ -502,7 +505,8 @@ public class NewTabPage
- OneshotSupplier moduleRegistrySupplier,
+@@ -510,7 +513,8 @@ public class NewTabPage
ObservableSupplier edgeToEdgeControllerSupplier,
ObservableSupplier topInsetCoordinatorSupplier,
-- StartupMetricsTracker startupMetricsTracker) {
-+ StartupMetricsTracker startupMetricsTracker,
+ StartupMetricsTracker startupMetricsTracker,
+- MultiInstanceManager multiInstanceManager) {
++ MultiInstanceManager multiInstanceManager,
+ @NonNull ObservableSupplier bookmarkManagerOpenerSupplier) {
mConstructedTimeNs = System.nanoTime();
TraceEvent.begin(TAG);
-@@ -526,7 +530,7 @@ public class NewTabPage
-
- SuggestionsNavigationDelegate navigationDelegate =
- new SuggestionsNavigationDelegate(
-- activity, profile, nativePageHost, tabModelSelector, mTab);
-+ activity, profile, nativePageHost, tabModelSelector, mTab, bookmarkManagerOpenerSupplier);
+@@ -539,7 +543,7 @@ public class NewTabPage
+ nativePageHost,
+ tabModelSelector,
+ mTab,
+- multiInstanceManager);
++ multiInstanceManager, bookmarkManagerOpenerSupplier);
mNewTabPageManager =
new NewTabPageManagerImpl(
navigationDelegate, profile, nativePageHost, snackbarManager);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java
-@@ -12,6 +12,7 @@ import android.graphics.Rect;
+@@ -13,6 +13,7 @@ import android.graphics.Rect;
import android.text.Editable;
import android.util.AttributeSet;
import android.view.DragEvent;
@@ -861,7 +861,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewStub;
-@@ -40,6 +41,7 @@ import org.chromium.chrome.browser.feed.FeedSurfaceScrollDelegate;
+@@ -41,6 +42,7 @@ import org.chromium.chrome.browser.feed.FeedSurfaceScrollDelegate;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.incognito.IncognitoUtils;
import org.chromium.chrome.browser.lens.LensEntryPoint;
@@ -869,15 +869,15 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
import org.chromium.chrome.browser.lens.LensMetrics;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.logo.LogoBridge.Logo;
-@@ -58,6 +60,7 @@ import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesCoordinator;
+@@ -60,6 +62,7 @@ import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesCoordinator;
import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesLayout;
import org.chromium.chrome.browser.suggestions.tile.TileGroup;
import org.chromium.chrome.browser.suggestions.tile.TileGroup.Delegate;
+import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesGridLayout;
import org.chromium.chrome.browser.tab_ui.InvalidationAwareThumbnailProvider;
import org.chromium.chrome.browser.ui.native_page.TouchEnabledDelegate;
- import org.chromium.chrome.browser.util.BrowserUiUtils;
-@@ -104,6 +107,8 @@ public class NewTabPageLayout extends LinearLayout
+ import org.chromium.chrome.browser.ui.signin.signin_promo.NtpSigninPromoCoordinator;
+@@ -111,6 +114,8 @@ public class NewTabPageLayout extends LinearLayout
private @Nullable DisplayStyleObserver mDisplayStyleObserver;
private CallbackController mCallbackController = new CallbackController();
@@ -886,7 +886,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
/**
* Whether the tiles shown in the layout have finished loading.
* With {@link #mHasShownView}, it's one of the 2 flags used to track initialisation progress.
-@@ -116,7 +121,7 @@ public class NewTabPageLayout extends LinearLayout
+@@ -123,7 +128,7 @@ public class NewTabPageLayout extends LinearLayout
*/
private boolean mHasShownView;
@@ -895,7 +895,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
private boolean mSearchProviderIsGoogle;
private boolean mShowingNonStandardGoogleLogo;
private boolean mIsOmniboxMobileParityUpdateV2Enabled;
-@@ -124,7 +129,7 @@ public class NewTabPageLayout extends LinearLayout
+@@ -131,7 +136,7 @@ public class NewTabPageLayout extends LinearLayout
private boolean mInitialized;
private float mUrlFocusChangePercent;
@@ -904,7 +904,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
private boolean mIsViewMoving;
/** Flag used to request some layout changes after the next layout pass is completed. */
-@@ -299,6 +304,7 @@ public class NewTabPageLayout extends LinearLayout
+@@ -305,6 +310,7 @@ public class NewTabPageLayout extends LinearLayout
initializeMostVisitedTilesCoordinator(
mProfile, lifecycleDispatcher, tileGroupDelegate, touchEnabledDelegate);
initializeDseIconView(shouldShowDseIcon());
@@ -912,7 +912,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
initializeSearchBoxTextView();
initializeVoiceSearchButton();
initializeLensButton();
-@@ -686,8 +692,8 @@ public class NewTabPageLayout extends LinearLayout
+@@ -730,8 +736,8 @@ public class NewTabPageLayout extends LinearLayout
private void calculateTabletMvtWidth(int totalWidth) {
if (mMvTilesContainerLayout.getVisibility() == GONE) return;
@@ -923,7 +923,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
updateMvtOnTablet();
}
-@@ -737,7 +743,7 @@ public class NewTabPageLayout extends LinearLayout
+@@ -781,7 +787,7 @@ public class NewTabPageLayout extends LinearLayout
&& mInitialized) {
return;
}
@@ -932,7 +932,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
mSearchProviderIsGoogle = isGoogle;
if (!mSearchProviderIsGoogle) {
-@@ -786,6 +792,7 @@ public class NewTabPageLayout extends LinearLayout
+@@ -830,6 +836,7 @@ public class NewTabPageLayout extends LinearLayout
* @param disable Whether to disable the animations.
*/
void setUrlFocusAnimationsDisabled(boolean disable) {
@@ -940,7 +940,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageL
if (disable == mDisableUrlFocusChangeAnimations) return;
mDisableUrlFocusChangeAnimations = disable;
if (!disable) onUrlFocusAnimationChanged();
-@@ -1188,6 +1195,22 @@ public class NewTabPageLayout extends LinearLayout
+@@ -1232,6 +1239,22 @@ public class NewTabPageLayout extends LinearLayout
return mMostVisitedTilesCoordinator;
}
@@ -978,7 +978,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/SuggestionsNavigationDelegate.java
-@@ -23,17 +23,42 @@ import org.chromium.ui.base.PageTransition;
+@@ -24,18 +24,44 @@ import org.chromium.ui.base.PageTransition;
import org.chromium.ui.mojom.WindowOpenDisposition;
import org.chromium.url.GURL;
@@ -1001,10 +1001,11 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
Profile profile,
NativePageHost host,
TabModelSelector tabModelSelector,
-- Tab tab) {
-+ Tab tab,
+ Tab tab,
+- MultiInstanceManager multiInstanceManager) {
++ MultiInstanceManager multiInstanceManager,
+ @NonNull ObservableSupplier bookmarkManagerOpenerSupplier) {
- super(activity, profile, host, tabModelSelector, tab);
+ super(activity, profile, host, tabModelSelector, tab, multiInstanceManager);
+ mBookmarkManagerOpenerSupplier = bookmarkManagerOpenerSupplier;
+ }
+
@@ -1019,6 +1020,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/Sug
+ otrProfileID = mProfile.getOtrProfileId();
+ }
+ DownloadUtils.showDownloadManager(mActivity, mTab, otrProfileID, DownloadOpenSource.NEW_TAB_PAGE);
++>>>>>>> replacement
}
/**
@@ -1337,8 +1339,8 @@ new file mode 100644
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java
--- a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/suggestions/tile/MostVisitedTilesMediator.java
-@@ -44,7 +44,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
-
+@@ -46,7 +46,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
+ private final Context mContext;
private final Resources mResources;
private final UiConfig mUiConfig;
- private final MostVisitedTilesLayout mMvTilesLayout;
@@ -1346,16 +1348,16 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
private final PropertyModel mModel;
private final boolean mIsTablet;
private final int mTileViewLandscapePadding;
-@@ -67,7 +67,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
+@@ -69,7 +69,7 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
public MostVisitedTilesMediator(
- Resources resources,
+ Context context,
UiConfig uiConfig,
- MostVisitedTilesLayout mvTilesLayout,
+ MostVisitedTilesGridLayout mvTilesLayout,
TileRenderer renderer,
PropertyModel propertyModel,
boolean isTablet,
-@@ -211,12 +211,10 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
+@@ -214,12 +214,10 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
@Override
public void onCustomTileCreation(Tile tile) {
@@ -1368,7 +1370,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/suggestions/til
}
public void onConfigurationChanged() {
-@@ -326,7 +324,5 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
+@@ -329,7 +327,5 @@ public class MostVisitedTilesMediator implements TileGroup.Observer {
double firstTileScore = mTileGroup.getSuggestionScore(firstTile.getUrl());
if (firstTileScore < MVT_CUSTOMIZATION_IPH_TILE_SCORE_THRESHOULD) return;
@@ -1515,18 +1517,18 @@ diff --git a/chrome/browser/engagement/important_sites_util.cc b/chrome/browser/
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
-@@ -349,6 +349,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
- &kIncognitoThemeOverlayTesting,
+@@ -352,6 +352,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kInstanceSwitcherV2,
&kKeyboardEscBackNavigation,
+ &kLegacyTabStateDeprecation,
+ &kSimplifiedNTP,
&kLensOnQuickActionSearchWidget,
+ &kLoadAllTabsAtStartup,
&kLoadNativeEarly,
- &kMagicStackAndroid,
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
-@@ -490,6 +490,7 @@ public abstract class ChromeFeatureList {
+@@ -496,6 +496,7 @@ public abstract class ChromeFeatureList {
public static final String MITIGATE_LEGACY_SEARCH_ENGINE_PROMO_OVERLAP =
"MitigateLegacySearchEnginePromoOverlap";
public static final String MOST_VISITED_TILES_CUSTOMIZATION = "MostVisitedTilesCustomization";
@@ -1534,10 +1536,10 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f
public static final String SEARCH_READY_OMNIBOX = "SearchReadyOmnibox";
public static final String MOST_VISITED_TILES_RESELECT = "MostVisitedTilesReselect";
public static final String MULTI_INSTANCE_APPLICATION_STATUS_CLEANUP =
-@@ -980,7 +981,7 @@ public abstract class ChromeFeatureList {
- // TODO(https://crbug.com/438970923): Remove the use of BuildConfig by 2025 EoY.
+@@ -969,7 +970,7 @@ public abstract class ChromeFeatureList {
+ newCachedFlag(LOCK_BACK_PRESS_HANDLER_AT_START, true);
public static final CachedFlag sLockTopControlsOnLargeTabletsV2 =
- newCachedFlag(LOCK_TOP_CONTROLS_ON_LARGE_TABLETS_V2, BuildConfig.IS_DESKTOP_ANDROID);
+ newCachedFlag(LOCK_TOP_CONTROLS_ON_LARGE_TABLETS_V2, false);
- public static final CachedFlag sMagicStackAndroid = newCachedFlag(MAGIC_STACK_ANDROID, true);
+ public static final CachedFlag sMagicStackAndroid = newCachedFlag(MAGIC_STACK_ANDROID, false);
public static final CachedFlag sMaliciousApkDownloadCheck =
@@ -1557,7 +1559,7 @@ diff --git a/chrome/browser/segmentation_platform/android/java/src/org/chromium/
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
-@@ -3908,6 +3908,12 @@ To change this setting, BEGIN_LINKdelete the Chrome d
+@@ -3965,6 +3965,12 @@ To change this setting, BEGIN_LINKdelete the Chrome d
Recent tabs
@@ -1567,8 +1569,8 @@ diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chro
+
+ Your most visited pages will appear here
+
-
- Item removed
+
+ This site won't be shown again
diff --git a/components/history/core/browser/top_sites_constants.h b/components/history/core/browser/top_sites_constants.h
--- a/components/history/core/browser/top_sites_constants.h
@@ -1597,7 +1599,7 @@ diff --git a/components/ntp_tiles/custom_links_store.cc b/components/ntp_tiles/c
diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/common/omnibox_features.cc
--- a/components/omnibox/common/omnibox_features.cc
+++ b/components/omnibox/common/omnibox_features.cc
-@@ -219,6 +219,7 @@ BASE_FEATURE(kRemoveSearchReadyOmnibox, DISABLED);
+@@ -207,6 +207,7 @@ BASE_FEATURE(kRemoveSearchReadyOmnibox, DISABLED);
BASE_FEATURE(kDefaultTypedNavigationsToHttps,
"OmniboxDefaultTypedNavigationsToHttps",
enable_if(IS_IOS));
@@ -1605,7 +1607,7 @@ diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/
// Override the delay to create a spare renderer when the omnibox is focused
// on Android.
-@@ -305,6 +306,7 @@ BASE_FEATURE(kOmniboxMobileParityUpdate, ENABLED);
+@@ -293,6 +294,7 @@ BASE_FEATURE(kOmniboxMobileParityUpdate, ENABLED);
// Updates various NTP/Omnibox assets and descriptions for visual alignment on
// Android and iOS, V2.
BASE_FEATURE(kOmniboxMobileParityUpdateV2, ENABLED);
diff --git a/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch b/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch
index d2b582b9..1fe605af 100644
--- a/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch
+++ b/build/patches/Restore-adaptive-button-in-top-toolbar-customization.patch
@@ -87,7 +87,7 @@ diff --git a/chrome/browser/segmentation_platform/segmentation_platform_config.c
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
-@@ -4963,6 +4963,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d
+@@ -5034,6 +5034,9 @@ To change this setting, BEGIN_LINKdelete the Chrome d
View
diff --git a/build/patches/Restore-classic-new-tab-page.patch b/build/patches/Restore-classic-new-tab-page.patch
index 97fc2545..597fe35e 100644
--- a/build/patches/Restore-classic-new-tab-page.patch
+++ b/build/patches/Restore-classic-new-tab-page.patch
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/search/search.cc b/chrome/browser/search/search.cc
--- a/chrome/browser/search/search.cc
+++ b/chrome/browser/search/search.cc
-@@ -96,17 +96,6 @@ enum NewTabURLState {
+@@ -95,17 +95,6 @@ enum NewTabURLState {
NEW_TAB_URL_MAX
};
@@ -28,7 +28,7 @@ diff --git a/chrome/browser/search/search.cc b/chrome/browser/search/search.cc
bool IsMatchingServiceWorker(const GURL& my_url, const GURL& document_url) {
// The origin should match.
if (!MatchesOrigin(my_url, document_url)) {
-@@ -143,20 +132,6 @@ bool IsNTPOrRelatedURLHelper(const GURL& url, Profile* profile) {
+@@ -142,20 +131,6 @@ bool IsNTPOrRelatedURLHelper(const GURL& url, Profile* profile) {
IsMatchingServiceWorker(url, new_tab_url));
}
@@ -49,7 +49,7 @@ diff --git a/chrome/browser/search/search.cc b/chrome/browser/search/search.cc
// Used to look up the URL to use for the New Tab page. Also tracks how we
// arrived at that URL so it can be logged with UMA.
struct NewTabURLDetails {
-@@ -179,33 +154,8 @@ struct NewTabURLDetails {
+@@ -178,33 +153,8 @@ struct NewTabURLDetails {
const GURL local_url(default_is_google
? chrome::kChromeUINewTabPageURL
: chrome::kChromeUINewTabPageThirdPartyURL);
diff --git a/build/patches/Restore-offline-indicator-v2-flag.patch b/build/patches/Restore-offline-indicator-v2-flag.patch
index 5aabe246..5ba4bcac 100644
--- a/build/patches/Restore-offline-indicator-v2-flag.patch
+++ b/build/patches/Restore-offline-indicator-v2-flag.patch
@@ -92,7 +92,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
-@@ -1396,7 +1396,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
+@@ -1372,7 +1372,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
private void initStatusIndicatorCoordinator(LayoutManagerImpl layoutManager) {
// TODO(crbug.com/40112282): Disable on tablets for now as we need to do one or two extra
// things for tablets.
@@ -102,7 +102,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
return;
}
-@@ -1430,6 +1431,11 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
+@@ -1406,6 +1407,11 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
hubManager.setStatusIndicatorHeight(mStatusIndicatorHeight);
});
@@ -117,25 +117,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
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
-@@ -367,6 +367,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
- &kNotificationPermissionVariant,
+@@ -377,6 +377,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
&kNotificationPermissionBottomSheet,
+ &kNotificationPermissionVariant,
&kNotificationTrampoline,
+ &kOfflineIndicatorV2,
- &kTinkerTankBottomSheet,
- &kPageAnnotationsService,
- &kPageContentProvider,
+ &kOmahaMinSdkVersionAndroid,
+ &kOmniboxAutofocusOnIncognitoNtp,
+ &kPCCTMinimumHeight,
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
-@@ -511,6 +511,7 @@ public abstract class ChromeFeatureList {
+@@ -514,6 +514,7 @@ public abstract class ChromeFeatureList {
"NotificationPermissionBottomSheet";
public static final String NOTIFICATION_PERMISSION_VARIANT = "NotificationPermissionVariant";
public static final String NOTIFICATION_TRAMPOLINE = "NotificationTrampoline";
+ public static final String OFFLINE_INDICATOR_V2 = "OfflineIndicatorV2";
public static final String OMAHA_MIN_SDK_VERSION_ANDROID = "OmahaMinSdkVersionAndroid";
- public static final String OMNIBOX_CACHE_SUGGESTION_RESOURCES =
- "OmniboxCacheSuggestionResources";
+ public static final String OMNIBOX_AUTOFOCUS_ON_INCOGNITO_NTP =
+ "OmniboxAutofocusOnIncognitoNtp";
diff --git a/cromite_flags/chrome/browser/about_flags_cc/Restore-offline-indicator-v2-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Restore-offline-indicator-v2-flag.inc
new file mode 100644
--- /dev/null
diff --git a/build/patches/Revert-Permit-blocking-of-view-source.patch b/build/patches/Revert-Permit-blocking-of-view-source.patch
index 08a2d8c4..15a06c0c 100644
--- a/build/patches/Revert-Permit-blocking-of-view-source.patch
+++ b/build/patches/Revert-Permit-blocking-of-view-source.patch
@@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/components/policy/content/policy_blocklist_navigation_throttle.cc b/components/policy/content/policy_blocklist_navigation_throttle.cc
--- a/components/policy/content/policy_blocklist_navigation_throttle.cc
+++ b/components/policy/content/policy_blocklist_navigation_throttle.cc
-@@ -56,6 +56,7 @@ PolicyBlocklistNavigationThrottle::~PolicyBlocklistNavigationThrottle() =
+@@ -59,6 +59,7 @@ PolicyBlocklistNavigationThrottle::~PolicyBlocklistNavigationThrottle() =
default;
bool PolicyBlocklistNavigationThrottle::IsBlockedViewSourceNavigation() {
diff --git a/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch b/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch
index 55e9c4ab..8ddf934e 100644
--- a/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch
+++ b/build/patches/Revert-flags-remove-disable-pull-to-refresh-effect.patch
@@ -21,7 +21,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
-@@ -2457,6 +2457,10 @@
+@@ -2513,6 +2513,10 @@
"yangsharon@google.com", "alexmos@google.com", "creis@google.com" ],
"expiry_milestone": 150
},
@@ -49,7 +49,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
-@@ -45,4 +45,10 @@ found in the LICENSE file.
+@@ -50,4 +50,10 @@ found in the LICENSE file.
android:key="image_descriptions"
android:title="@string/image_descriptions_settings_title" />
@@ -113,7 +113,7 @@ diff --git a/ui/android/overscroll_refresh.cc b/ui/android/overscroll_refresh.cc
top_at_scroll_start_(true),
bottom_at_scroll_start_(false),
overflow_y_hidden_(false),
-@@ -95,7 +96,7 @@ void OverscrollRefresh::OnOverscrolled(const cc::OverscrollBehavior& behavior,
+@@ -99,7 +100,7 @@ void OverscrollRefresh::OnOverscrolled(const cc::OverscrollBehavior& behavior,
}
// Pull-to-refresh. Check overscroll-behavior-y
if (ydelta > 0) {
@@ -125,7 +125,7 @@ diff --git a/ui/android/overscroll_refresh.cc b/ui/android/overscroll_refresh.cc
diff --git a/ui/android/overscroll_refresh.h b/ui/android/overscroll_refresh.h
--- a/ui/android/overscroll_refresh.h
+++ b/ui/android/overscroll_refresh.h
-@@ -47,7 +47,7 @@ class UI_ANDROID_EXPORT OverscrollRefresh {
+@@ -48,7 +48,7 @@ class UI_ANDROID_EXPORT OverscrollRefresh {
static constexpr int kDefaultNavigationEdgeWidth = 24;
// LINT.ThenChange(//ui/android/java/src/org/chromium/ui/OverscrollRefreshHandler.java:kDefaultNavigationEdgeWidth)
@@ -134,7 +134,7 @@ diff --git a/ui/android/overscroll_refresh.h b/ui/android/overscroll_refresh.h
OverscrollRefresh(const OverscrollRefresh&) = delete;
OverscrollRefresh& operator=(const OverscrollRefresh&) = delete;
-@@ -105,6 +105,7 @@ class UI_ANDROID_EXPORT OverscrollRefresh {
+@@ -107,6 +107,7 @@ class UI_ANDROID_EXPORT OverscrollRefresh {
bool scrolled_to_top_;
bool scrolled_to_bottom_;
diff --git a/build/patches/Revert-removal-of-execution-context-address-space.patch b/build/patches/Revert-removal-of-execution-context-address-space.patch
index a66f8a45..0eb9d9ce 100644
--- a/build/patches/Revert-removal-of-execution-context-address-space.patch
+++ b/build/patches/Revert-removal-of-execution-context-address-space.patch
@@ -92,7 +92,7 @@ diff --git a/third_party/blink/renderer/core/execution_context/execution_context
#include "services/network/public/mojom/referrer_policy.mojom-blink-forward.h"
#include "third_party/blink/public/common/fingerprinting_protection/noise_token.h"
#include "third_party/blink/public/common/tokens/tokens.h"
-@@ -393,6 +394,9 @@ class CORE_EXPORT ExecutionContext : public Supplementable,
+@@ -386,6 +387,9 @@ class CORE_EXPORT ExecutionContext : public Supplementable,
const String& message = g_empty_string,
const String& source_file = g_empty_string) const {}
@@ -116,7 +116,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_shared_worker_impl.cc
diff --git a/third_party/blink/renderer/core/frame/policy_container.cc b/third_party/blink/renderer/core/frame/policy_container.cc
--- a/third_party/blink/renderer/core/frame/policy_container.cc
+++ b/third_party/blink/renderer/core/frame/policy_container.cc
-@@ -59,12 +59,22 @@ network::mojom::blink::ReferrerPolicy PolicyContainer::GetReferrerPolicy()
+@@ -60,12 +60,22 @@ network::mojom::blink::ReferrerPolicy PolicyContainer::GetReferrerPolicy()
return policies_->referrer_policy;
}
@@ -391,7 +391,7 @@ diff --git a/third_party/blink/renderer/core/workers/global_scope_creation_param
const Vector* inherited_trial_features,
const base::UnguessableToken& parent_devtools_token,
std::unique_ptr worker_settings,
-@@ -78,6 +79,7 @@ GlobalScopeCreationParams::GlobalScopeCreationParams(
+@@ -80,6 +81,7 @@ GlobalScopeCreationParams::GlobalScopeCreationParams(
starter_https_state(starter_https_state),
worker_clients(worker_clients),
content_settings_client(std::move(content_settings_client)),
@@ -410,7 +410,7 @@ diff --git a/third_party/blink/renderer/core/workers/global_scope_creation_param
#include "services/network/public/mojom/referrer_policy.mojom-blink-forward.h"
#include "third_party/blink/public/common/tokens/tokens.h"
#include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
-@@ -64,6 +65,7 @@ struct CORE_EXPORT GlobalScopeCreationParams final {
+@@ -65,6 +66,7 @@ struct CORE_EXPORT GlobalScopeCreationParams final {
HttpsState starter_https_state,
WorkerClients*,
std::unique_ptr,
@@ -418,7 +418,7 @@ diff --git a/third_party/blink/renderer/core/workers/global_scope_creation_param
const Vector* inherited_trial_features,
const base::UnguessableToken& parent_devtools_token,
std::unique_ptr,
-@@ -187,6 +189,11 @@ struct CORE_EXPORT GlobalScopeCreationParams final {
+@@ -190,6 +192,11 @@ struct CORE_EXPORT GlobalScopeCreationParams final {
std::unique_ptr content_settings_client;
@@ -618,7 +618,7 @@ diff --git a/third_party/blink/renderer/core/workers/worker_classic_script_loade
--- a/third_party/blink/renderer/core/workers/worker_classic_script_loader.h
+++ b/third_party/blink/renderer/core/workers/worker_classic_script_loader.h
@@ -32,6 +32,7 @@
- #include "base/memory/scoped_refptr.h"
+
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "services/network/public/mojom/fetch_api.mojom-blink-forward.h"
+#include "services/network/public/mojom/ip_address_space.mojom-blink-forward.h"
@@ -655,7 +655,7 @@ diff --git a/third_party/blink/renderer/core/workers/worker_global_scope.h b/thi
#include "third_party/blink/public/common/tokens/tokens.h"
#include "third_party/blink/public/mojom/loader/code_cache.mojom-blink-forward.h"
#include "third_party/blink/public/mojom/script/script_type.mojom-blink-forward.h"
-@@ -174,6 +175,7 @@ class CORE_EXPORT WorkerGlobalScope
+@@ -177,6 +178,7 @@ class CORE_EXPORT WorkerGlobalScope
virtual void Initialize(
const KURL& response_url,
network::mojom::ReferrerPolicy response_referrer_policy,
@@ -732,7 +732,7 @@ diff --git a/third_party/blink/renderer/modules/csspaint/paint_worklet_global_sc
diff --git a/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc b/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
--- a/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
+++ b/third_party/blink/renderer/modules/exported/web_embedded_worker_impl.cc
-@@ -213,7 +213,9 @@ void WebEmbeddedWorkerImpl::StartWorkerThread(
+@@ -220,7 +220,9 @@ void WebEmbeddedWorkerImpl::StartWorkerThread(
Vector(),
network::mojom::ReferrerPolicy::kDefault, starter_origin.get(),
starter_secure_context, starter_https_state, nullptr /* worker_clients */,
diff --git a/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch b/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch
index a695120a..43358795 100644
--- a/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch
+++ b/build/patches/Revert-remove-allowscript-content-setting-secondary-url.patch
@@ -196,7 +196,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
#include "third_party/blink/renderer/bindings/core/v8/binding_security.h"
#include "third_party/blink/renderer/bindings/core/v8/capture_source_location.h"
#include "third_party/blink/renderer/bindings/core/v8/isolated_world_csp.h"
-@@ -506,7 +507,10 @@ bool LocalDOMWindow::CanExecuteScripts(
+@@ -501,7 +502,10 @@ bool LocalDOMWindow::CanExecuteScripts(
}
return false;
}
@@ -211,7 +211,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
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
-@@ -4163,19 +4163,6 @@ bool LocalFrame::IsSameOrigin() {
+@@ -4146,19 +4146,6 @@ bool LocalFrame::IsSameOrigin() {
return security_origin->IsSameOriginWith(top_security_origin);
}
@@ -234,7 +234,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h
--- a/third_party/blink/renderer/core/frame/local_frame.h
+++ b/third_party/blink/renderer/core/frame/local_frame.h
-@@ -934,12 +934,6 @@ class CORE_EXPORT LocalFrame final
+@@ -930,12 +930,6 @@ class CORE_EXPORT LocalFrame final
return *v8_local_compile_hints_producer_;
}
@@ -264,7 +264,7 @@ diff --git a/third_party/blink/renderer/core/html/html_meta_element.cc b/third_p
diff --git a/third_party/blink/renderer/core/loader/base_fetch_context.cc b/third_party/blink/renderer/core/loader/base_fetch_context.cc
--- a/third_party/blink/renderer/core/loader/base_fetch_context.cc
+++ b/third_party/blink/renderer/core/loader/base_fetch_context.cc
-@@ -273,7 +273,7 @@ BaseFetchContext::CanRequestInternal(
+@@ -274,7 +274,7 @@ BaseFetchContext::CanRequestInternal(
}
if (type == ResourceType::kScript) {
diff --git a/build/patches/Set-caret-blink-interval-to-default.patch b/build/patches/Set-caret-blink-interval-to-default.patch
index 56a4c855..75acbd50 100644
--- a/build/patches/Set-caret-blink-interval-to-default.patch
+++ b/build/patches/Set-caret-blink-interval-to-default.patch
@@ -12,7 +12,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/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
-@@ -3606,9 +3606,7 @@ void WebViewImpl::UpdateRendererPreferences(
+@@ -3617,9 +3617,7 @@ void WebViewImpl::UpdateRendererPreferences(
UpdateFontRenderingFromRendererPrefs();
blink::SetCaretBlinkInterval(
diff --git a/build/patches/Set-the-screen-frame-rate-to-60-Hz.patch b/build/patches/Set-the-screen-frame-rate-to-60-Hz.patch
index e5069fef..93f974ff 100644
--- a/build/patches/Set-the-screen-frame-rate-to-60-Hz.patch
+++ b/build/patches/Set-the-screen-frame-rate-to-60-Hz.patch
@@ -31,7 +31,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/cc/base/features.cc b/cc/base/features.cc
--- a/cc/base/features.cc
+++ b/cc/base/features.cc
-@@ -138,7 +138,7 @@ BASE_FEATURE(kPreventDuplicateImageDecodes, base::FEATURE_DISABLED_BY_DEFAULT);
+@@ -135,7 +135,7 @@ BASE_FEATURE(kPreventDuplicateImageDecodes, base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kInitImageDecodeLastUseTime, base::FEATURE_ENABLED_BY_DEFAULT);
@@ -40,7 +40,7 @@ diff --git a/cc/base/features.cc b/cc/base/features.cc
BASE_FEATURE(kBoostFrameRateForUrgentMainFrame,
base::FEATURE_DISABLED_BY_DEFAULT);
-@@ -166,6 +166,7 @@ BASE_FEATURE(kViewTransitionFloorTransform, base::FEATURE_ENABLED_BY_DEFAULT);
+@@ -163,6 +163,7 @@ BASE_FEATURE(kViewTransitionFloorTransform, base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kRenderThrottleFrameRate, base::FEATURE_ENABLED_BY_DEFAULT);
const base::FeatureParam kRenderThrottledFrameIntervalHz{
&kRenderThrottleFrameRate, "render-throttled-frame-interval-hz", 30};
@@ -101,7 +101,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi
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
-@@ -12030,9 +12030,9 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -12117,9 +12117,9 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(::features::kBlockRootWindowAccessibleNameChangeEvent)},
#endif // BUILDFLAG(IS_MAC)
@@ -112,20 +112,20 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
+ // flag_descriptions::kThrottleMainTo60HzDescription, kOsAll,
+ // FEATURE_VALUE_TYPE(features::kThrottleMainFrameTo60Hz)},
- {"client-side-detection-brand-and-page-intent",
- flag_descriptions::kClientSideDetectionBrandAndIntentForScamDetectionName,
+ #if BUILDFLAG(IS_ANDROID)
+ {"client-side-detection-send-intelligent-scan-info-android",
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
-@@ -53,6 +53,7 @@
+@@ -52,6 +52,7 @@
+ #include "build/branding_buildflags.h"
#include "build/build_config.h"
#include "build/config/chromebox_for_meetings/buildflags.h" // PLATFORM_CFM
- #include "chrome/browser/preloading/search_preload/search_preload_features.h"
+#include "cc/base/features.h"
#include "chrome/browser/after_startup_task_utils.h"
#include "chrome/browser/ai/ai_manager.h"
#include "chrome/browser/app_mode/app_mode_utils.h"
-@@ -304,6 +305,7 @@
+@@ -303,6 +304,7 @@
#include "components/variations/variations_associated_data.h"
#include "components/variations/variations_switches.h"
#include "components/version_info/version_info.h"
@@ -133,7 +133,7 @@ diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/ch
#include "components/webapps/common/web_app_id.h"
#include "components/webui/chrome_urls/pref_names.h"
#include "content/public/browser/attribution_data_model.h"
-@@ -2852,6 +2854,15 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
+@@ -2720,6 +2722,15 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
command_line->AppendSwitchASCII(ash::switches::kHomedir, homedir.value());
#endif
@@ -185,7 +185,7 @@ diff --git a/components/viz/common/frame_sinks/begin_frame_source.cc b/component
namespace viz {
-@@ -239,7 +240,10 @@ BackToBackBeginFrameSource::BackToBackBeginFrameSource(
+@@ -250,7 +251,10 @@ BackToBackBeginFrameSource::BackToBackBeginFrameSource(
time_source_->SetClient(this);
// The time_source_ ticks immediately, so we SetActive(true) for a single
// tick when we need it, and keep it as SetActive(false) otherwise.
@@ -197,7 +197,7 @@ diff --git a/components/viz/common/frame_sinks/begin_frame_source.cc b/component
}
BackToBackBeginFrameSource::~BackToBackBeginFrameSource() = default;
-@@ -297,6 +301,14 @@ void BackToBackBeginFrameSource::OnTimerTick() {
+@@ -308,6 +312,14 @@ void BackToBackBeginFrameSource::OnTimerTick() {
}
base::TimeTicks frame_time = time_source_->LastTickTime();
base::TimeDelta interval = max_vrr_interval_.value_or(vsync_interval_);
@@ -215,7 +215,7 @@ diff --git a/components/viz/common/frame_sinks/begin_frame_source.cc b/component
diff --git a/components/viz/common/frame_sinks/begin_frame_source.h b/components/viz/common/frame_sinks/begin_frame_source.h
--- a/components/viz/common/frame_sinks/begin_frame_source.h
+++ b/components/viz/common/frame_sinks/begin_frame_source.h
-@@ -321,6 +321,7 @@ class VIZ_COMMON_EXPORT BackToBackBeginFrameSource
+@@ -339,6 +339,7 @@ class VIZ_COMMON_EXPORT BackToBackBeginFrameSource
pending_begin_frame_observers_;
uint64_t next_sequence_number_;
base::TimeDelta vsync_interval_ = BeginFrameArgs::DefaultInterval();
@@ -310,7 +310,7 @@ diff --git a/components/viz/service/frame_sinks/external_begin_frame_source_andr
diff --git a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
--- a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
+++ b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
-@@ -20,6 +20,7 @@
+@@ -21,6 +21,7 @@
#include "base/time/time.h"
#include "base/tracing/protos/chrome_track_event.pbzero.h"
#include "build/build_config.h"
@@ -318,7 +318,7 @@ diff --git a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.
#include "components/viz/common/features.h"
#include "components/viz/common/frame_sinks/begin_frame_source.h"
#include "components/viz/service/display/display.h"
-@@ -752,7 +753,10 @@ void RootCompositorFrameSinkImpl::FrameIntervalDeciderResultCallback(
+@@ -753,7 +754,10 @@ void RootCompositorFrameSinkImpl::FrameIntervalDeciderResultCallback(
result);
interval = interval_and_compat.first;
gfx::SurfaceControlFrameRateCompatibility compat = interval_and_compat.second;
@@ -330,7 +330,7 @@ diff --git a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.
if (decided_display_interval_ == interval &&
decided_display_frame_rate_compat_ == compat) {
return;
-@@ -774,7 +778,9 @@ void RootCompositorFrameSinkImpl::FrameIntervalDeciderResultCallback(
+@@ -775,7 +779,9 @@ void RootCompositorFrameSinkImpl::FrameIntervalDeciderResultCallback(
return interval.interval;
}),
result);
diff --git a/build/patches/Show-NTP-at-startup.patch b/build/patches/Show-NTP-at-startup.patch
index a1af195b..9c4411da 100644
--- a/build/patches/Show-NTP-at-startup.patch
+++ b/build/patches/Show-NTP-at-startup.patch
@@ -103,7 +103,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeInactivit
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
-@@ -3108,6 +3108,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
+@@ -3083,6 +3083,8 @@ public class ChromeTabbedActivity extends ChromeActivity {
mInactivityTracker =
new ChromeInactivityTracker(
ChromePreferenceKeys.TABBED_ACTIVITY_LAST_BACKGROUNDED_TIME_MS_PREF);
@@ -158,7 +158,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tasks/ReturnToC
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
-@@ -971,7 +971,7 @@
+@@ -992,7 +992,7 @@
Open a specific page or set of pages
@@ -170,14 +170,14 @@ diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
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
-@@ -418,6 +418,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
- &kSearchInCCTAlternateTapHandlingIfEnabledByEmbedder,
+@@ -423,6 +423,7 @@ const base::Feature* const kFeaturesExposedToJava[] = {
+ &kSearchInCCTIfEnabledByEmbedder,
&kSearchResumptionModuleAndroid,
&kSettingsMultiColumn,
+ &kShowNtpAtStartupAndroid,
&kSettingsSingleActivity,
&kShareCustomActionsInCCT,
- &kShowCloseAllIncognitoTabsButton,
+ &kShortCircuitUnfocusAnimation,
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sShowNtpAtStartupAndroid.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/sShowNtpAtStartupAndroid.java
new file mode 100644
--- /dev/null
@@ -219,7 +219,7 @@ new file mode 100644
diff --git a/chrome/browser/performance_manager/policies/background_tab_loading_policy.cc b/chrome/browser/performance_manager/policies/background_tab_loading_policy.cc
--- a/chrome/browser/performance_manager/policies/background_tab_loading_policy.cc
+++ b/chrome/browser/performance_manager/policies/background_tab_loading_policy.cc
-@@ -386,6 +386,7 @@ base::Value::Dict BackgroundTabLoadingPolicy::DescribeSystemNodeData(
+@@ -395,6 +395,7 @@ base::Value::Dict BackgroundTabLoadingPolicy::DescribeSystemNodeData(
bool BackgroundTabLoadingPolicy::ShouldLoad(
const PageNodeToLoadData& page_node_data) {
@@ -227,7 +227,7 @@ diff --git a/chrome/browser/performance_manager/policies/background_tab_loading_
if (tab_loads_started_ < min_tabs_to_load_) {
return true;
}
-@@ -587,6 +588,7 @@ void BackgroundTabLoadingPolicy::MaybeLoadSomeTabs() {
+@@ -596,6 +597,7 @@ void BackgroundTabLoadingPolicy::MaybeLoadSomeTabs() {
// Continue to load tabs while possible. This is in a loop with a
// recalculation of GetMaxNewTabLoads() as reentrancy can cause conditions
// to change as each tab load is initiated.
@@ -238,7 +238,7 @@ diff --git a/chrome/browser/performance_manager/policies/background_tab_loading_
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
-@@ -915,6 +915,8 @@ public final class ChromePreferenceKeys {
+@@ -940,6 +940,8 @@ public final class ChromePreferenceKeys {
public static final String TABBED_ACTIVITY_LAST_BACKGROUNDED_TIME_MS_PREF =
"ChromeTabbedActivity.BackgroundTimeMs";
@@ -310,7 +310,7 @@ diff --git a/chrome/browser/sessions/session_restore.cc b/chrome/browser/session
diff --git a/chrome/browser/sessions/tab_loader.cc b/chrome/browser/sessions/tab_loader.cc
--- a/chrome/browser/sessions/tab_loader.cc
+++ b/chrome/browser/sessions/tab_loader.cc
-@@ -51,7 +51,7 @@ struct ScoredTabComparator {
+@@ -52,7 +52,7 @@ struct ScoredTabComparator {
};
// Testing seams.
@@ -319,7 +319,7 @@ diff --git a/chrome/browser/sessions/tab_loader.cc b/chrome/browser/sessions/tab
base::RepeatingCallback* g_construction_callback = nullptr;
// Determines if the given browser (can be null) is closing.
-@@ -384,7 +384,7 @@ void TabLoader::OnMemoryPressure(
+@@ -375,7 +375,7 @@ void TabLoader::OnMemoryPressure(
bool TabLoader::ShouldStopLoadingTabs() const {
DCHECK(reentry_depth_ > 0); // This can only be called internally.
@@ -328,7 +328,7 @@ diff --git a/chrome/browser/sessions/tab_loader.cc b/chrome/browser/sessions/tab
scheduled_to_load_count_ >= g_max_loaded_tab_count_for_testing) {
return true;
}
-@@ -426,7 +426,7 @@ size_t TabLoader::GetMaxNewTabLoads() const {
+@@ -417,7 +417,7 @@ size_t TabLoader::GetMaxNewTabLoads() const {
tabs_to_load = std::min(tabs_to_load, tabs_to_load_.size());
// Finally, enforce testing tab load limits.
@@ -337,7 +337,7 @@ diff --git a/chrome/browser/sessions/tab_loader.cc b/chrome/browser/sessions/tab
size_t tabs_remaining_for_testing =
g_max_loaded_tab_count_for_testing - scheduled_to_load_count_;
tabs_to_load = std::min(tabs_to_load, tabs_remaining_for_testing);
-@@ -784,6 +784,7 @@ void TabLoader::MoveToSortedPosition(TabVector::iterator it) {
+@@ -775,6 +775,7 @@ void TabLoader::MoveToSortedPosition(TabVector::iterator it) {
}
size_t TabLoader::MaxSimultaneousLoads() const {
@@ -348,7 +348,7 @@ diff --git a/chrome/browser/sessions/tab_loader.cc b/chrome/browser/sessions/tab
diff --git a/chrome/browser/sessions/tab_loader.h b/chrome/browser/sessions/tab_loader.h
--- a/chrome/browser/sessions/tab_loader.h
+++ b/chrome/browser/sessions/tab_loader.h
-@@ -279,7 +279,7 @@ class TabLoader : public base::RefCounted,
+@@ -282,7 +282,7 @@ class TabLoader : public base::RefCounted,
// This is monotonically increasing, and can never exceed the combined number
// of tabs passed into this TabLoader via StartLoading(). This is only used in
// order to support a combined maximum total number of tab loads for testing.
diff --git a/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch b/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch
index 289ad7f7..a31b5bff 100644
--- a/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch
+++ b/build/patches/Show-site-settings-for-cookies-javascript-and-ads.patch
@@ -15,7 +15,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
-@@ -635,6 +635,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
+@@ -643,6 +643,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
setUpSoundPreference(preference);
} else if (type == ContentSettingsType.JAVASCRIPT) {
setUpJavascriptPreference(preference);
@@ -24,7 +24,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
} else if (type == ContentSettingsType.GEOLOCATION) {
setUpLocationPreference(preference);
} else if (type == ContentSettingsType.GEOLOCATION_WITH_OPTIONS) {
-@@ -1166,17 +1168,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
+@@ -1172,17 +1174,8 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
private void setUpAdsInformationalBanner() {
// Add the informational banner which shows at the top of the UI if ad blocking is
// activated on this site.
@@ -42,7 +42,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
@RequiresNonNull({"mSite"})
-@@ -1496,12 +1489,13 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
+@@ -1528,12 +1521,13 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
@ContentSetting
@Nullable Integer currentValue =
mSite.getContentSetting(browserContextHandle, ContentSettingsType.JAVASCRIPT);
@@ -62,7 +62,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
// Not possible to embargo JAVASCRIPT.
setupContentSettingsPreference(
-@@ -1511,6 +1505,29 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
+@@ -1543,6 +1537,29 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
isOneTime(ContentSettingsType.JAVASCRIPT));
}
@@ -92,7 +92,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
/**
* Updates the ads list preference based on whether the site is a candidate for blocking. This
* has some custom behavior. 1. If the site is a candidate and has activation, the permission
-@@ -1528,9 +1545,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
+@@ -1560,9 +1577,7 @@ public class SingleWebsiteSettings extends BaseSiteSettingsFragment
}
// If the ad blocker is activated, then this site will have ads blocked unless there is an
// explicit permission disallowing the blocking.
diff --git a/build/patches/Site-setting-for-images.patch b/build/patches/Site-setting-for-images.patch
index e37d9734..7bcc26d8 100644
--- a/build/patches/Site-setting-for-images.patch
+++ b/build/patches/Site-setting-for-images.patch
@@ -324,7 +324,7 @@ diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/t
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
-@@ -4150,19 +4150,6 @@ bool LocalFrame::IsSameOrigin() {
+@@ -4133,19 +4133,6 @@ bool LocalFrame::IsSameOrigin() {
return security_origin->IsSameOriginWith(top_security_origin);
}
@@ -347,7 +347,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h
--- a/third_party/blink/renderer/core/frame/local_frame.h
+++ b/third_party/blink/renderer/core/frame/local_frame.h
-@@ -933,12 +933,6 @@ class CORE_EXPORT LocalFrame final
+@@ -929,12 +929,6 @@ class CORE_EXPORT LocalFrame final
return *v8_local_compile_hints_producer_;
}
@@ -454,7 +454,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/fetch_context.h b/
diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
--- a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
+++ b/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.cc
-@@ -830,6 +830,7 @@ ResourceFetcher::ResourceFetcher(const ResourceFetcherInit& init)
+@@ -831,6 +831,7 @@ ResourceFetcher::ResourceFetcher(const ResourceFetcherInit& init)
blob_registry_remote_(init.context_lifecycle_notifier),
context_lifecycle_notifier_(init.context_lifecycle_notifier),
auto_load_images_(true),
@@ -462,7 +462,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
allow_stale_resources_(false),
image_fetched_(false) {
InstanceCounters::IncrementCounter(InstanceCounters::kResourceFetcherCounter);
-@@ -1994,7 +1995,7 @@ bool ResourceFetcher::IsImageResourceDisallowedToBeReused(
+@@ -2001,7 +2002,7 @@ bool ResourceFetcher::IsImageResourceDisallowedToBeReused(
return false;
}
@@ -471,7 +471,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.c
}
ResourceFetcher::RevalidationPolicy
-@@ -2239,8 +2240,20 @@ void ResourceFetcher::SetAutoLoadImages(bool enable) {
+@@ -2246,8 +2247,20 @@ void ResourceFetcher::SetAutoLoadImages(bool enable) {
ReloadImagesIfNotDeferred();
}
@@ -504,7 +504,7 @@ diff --git a/third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h
FetchContext& Context() const;
void ClearContext();
-@@ -712,6 +713,7 @@ class PLATFORM_EXPORT ResourceFetcher
+@@ -716,6 +717,7 @@ class PLATFORM_EXPORT ResourceFetcher
bool is_in_request_resource_ = false;
bool auto_load_images_ : 1;
diff --git a/build/patches/Switch-to-fstack-protector-strong.patch b/build/patches/Switch-to-fstack-protector-strong.patch
index f9d53595..4eb74d5d 100644
--- a/build/patches/Switch-to-fstack-protector-strong.patch
+++ b/build/patches/Switch-to-fstack-protector-strong.patch
@@ -19,7 +19,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
-@@ -443,7 +443,7 @@ config("compiler") {
+@@ -455,7 +455,7 @@ config("compiler") {
} else if (is_posix || is_fuchsia) {
if (current_os != "aix") {
# Not available on aix.
diff --git a/build/patches/Temp-disable-UseContextSnapshot.patch b/build/patches/Temp-disable-UseContextSnapshot.patch
index 37fc5b0a..2805adfc 100644
--- a/build/patches/Temp-disable-UseContextSnapshot.patch
+++ b/build/patches/Temp-disable-UseContextSnapshot.patch
@@ -12,7 +12,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
--- a/content/public/common/content_features.cc
+++ b/content/public/common/content_features.cc
-@@ -1085,6 +1085,7 @@ BASE_FEATURE(kUnrestrictedSharedArrayBuffer, base::FEATURE_DISABLED_BY_DEFAULT);
+@@ -1098,6 +1098,7 @@ BASE_FEATURE(kUnrestrictedSharedArrayBuffer, base::FEATURE_DISABLED_BY_DEFAULT);
#if BUILDFLAG(IS_ANDROID) && BUILDFLAG(INCLUDE_BOTH_V8_SNAPSHOTS)
// If enabled, blink's context snapshot is used rather than the v8 snapshot.
BASE_FEATURE(kUseContextSnapshot, base::FEATURE_ENABLED_BY_DEFAULT);
diff --git a/build/patches/Temp-disable-experimental-web-platform-features.patch b/build/patches/Temp-disable-experimental-web-platform-features.patch
index c2d65593..72020124 100644
--- a/build/patches/Temp-disable-experimental-web-platform-features.patch
+++ b/build/patches/Temp-disable-experimental-web-platform-features.patch
@@ -9,7 +9,7 @@ Subject: Temp disable experimental-web-platform-features
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
-@@ -5260,10 +5260,10 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -5459,10 +5459,10 @@ const FeatureEntry kFeatureEntries[] = {
{"enable-gpu-rasterization", flag_descriptions::kGpuRasterizationName,
flag_descriptions::kGpuRasterizationDescription, kOsAll,
MULTI_VALUE_TYPE(kEnableGpuRasterizationChoices)},
diff --git a/build/patches/Temp-disable-predictive-back-gesture.patch b/build/patches/Temp-disable-predictive-back-gesture.patch
index e325a51e..9edcb260 100644
--- a/build/patches/Temp-disable-predictive-back-gesture.patch
+++ b/build/patches/Temp-disable-predictive-back-gesture.patch
@@ -10,7 +10,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
-@@ -207,7 +207,7 @@ by a child template that "extends" this file.
+@@ -218,7 +218,7 @@ by a child template that "extends" this file.
android:networkSecurityConfig="@xml/network_security_config"
android:allowAudioPlaybackCapture="false"
android:appComponentFactory="org.chromium.chrome.browser.base.SplitCompatAppComponentFactory"
diff --git a/build/patches/Temp-guard-FileSystemAccessPersistentPermissions.patch b/build/patches/Temp-guard-FileSystemAccessPersistentPermissions.patch
index 21c1ba75..886e8275 100644
--- a/build/patches/Temp-guard-FileSystemAccessPersistentPermissions.patch
+++ b/build/patches/Temp-guard-FileSystemAccessPersistentPermissions.patch
@@ -10,7 +10,7 @@ Subject: Temp guard FileSystemAccessPersistentPermissions
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
-@@ -489,7 +489,7 @@ bool ShouldBlockAccessToPath(
+@@ -512,7 +512,7 @@ bool ShouldBlockAccessToPath(
auto should_block_with_rule = [&](const base::FilePath& block_path,
BlockType block_type) -> bool {
if (path == block_path || path.IsParent(block_path)) {
@@ -19,7 +19,7 @@ diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permiss
<< " because it is a parent of " << block_path;
return true;
}
-@@ -538,7 +538,7 @@ bool ShouldBlockAccessToPath(
+@@ -561,7 +561,7 @@ bool ShouldBlockAccessToPath(
}
// The nearest ancestor blocks access to its children, so block access.
diff --git a/build/patches/Timezone-customization.patch b/build/patches/Timezone-customization.patch
index dd2895ba..79643342 100644
--- a/build/patches/Timezone-customization.patch
+++ b/build/patches/Timezone-customization.patch
@@ -386,8 +386,8 @@ new file mode 100755
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreferenceBridge.java
-@@ -509,6 +509,14 @@ public class WebsitePreferenceBridge {
- return WebsitePreferenceBridgeJni.get().toHostOnlyPattern(pattern);
+@@ -521,6 +521,14 @@ public class WebsitePreferenceBridge {
+ .recordHeuristicActionForTesting(browserContextHandle, origin, type, action);
}
+ public static String getCustomTimezone(BrowserContextHandle browserContextHandle) {
@@ -401,7 +401,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
@NativeMethods
public interface Natives {
boolean isNotificationEmbargoedForOrigin(
-@@ -671,5 +679,7 @@ public class WebsitePreferenceBridge {
+@@ -689,5 +697,7 @@ public class WebsitePreferenceBridge {
String toDomainWildcardPattern(String pattern);
String toHostOnlyPattern(String pattern);
@@ -565,7 +565,7 @@ new file mode 100644
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
-@@ -1285,3 +1285,19 @@ JNI_WebsitePreferenceBridge_ToHostOnlyPattern(
+@@ -1351,3 +1351,19 @@ JNI_WebsitePreferenceBridge_ToHostOnlyPattern(
ContentSettingsPattern::FromString(pattern_string));
return ConvertUTF8ToJavaString(env, host_only_pattern.ToString());
}
@@ -661,7 +661,7 @@ new file mode 100644
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
-@@ -98,6 +98,8 @@ void PrefProvider::RegisterProfilePrefs(
+@@ -99,6 +99,8 @@ void PrefProvider::RegisterProfilePrefs(
info->GetPrefRegistrationFlags());
}
@@ -670,7 +670,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
// Obsolete prefs ----------------------------------------------------------
// These prefs have been removed, but need to be registered so they can
-@@ -177,6 +179,10 @@ PrefProvider::PrefProvider(PrefService* prefs,
+@@ -178,6 +180,10 @@ PrefProvider::PrefProvider(PrefService* prefs,
event_args->set_number_of_exceptions(
num_exceptions); // PrefProvider::PrefProvider.
});
@@ -681,7 +681,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
}
PrefProvider::~PrefProvider() {
-@@ -528,4 +534,14 @@ void PrefProvider::SetClockForTesting(const base::Clock* clock) {
+@@ -508,4 +514,14 @@ void PrefProvider::SetClockForTesting(const base::Clock* clock) {
}
}
@@ -699,7 +699,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
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
-@@ -92,6 +92,9 @@ class PrefProvider : public UserModifiableProvider {
+@@ -82,6 +82,9 @@ class PrefProvider : public UserModifiableProvider {
ContentSettingsPref* GetPref(ContentSettingsType type) const;
@@ -709,7 +709,7 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
private:
friend class DeadlockCheckerObserver; // For testing.
-@@ -143,6 +146,7 @@ class PrefProvider : public UserModifiableProvider {
+@@ -130,6 +133,7 @@ class PrefProvider : public UserModifiableProvider {
base::ThreadChecker thread_checker_;
raw_ptr clock_;
@@ -735,7 +735,7 @@ diff --git a/components/content_settings/core/browser/content_settings_utils.cc
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
-@@ -754,6 +754,14 @@ void HostContentSettingsMap::SetClockForTesting(const base::Clock* clock) {
+@@ -750,6 +750,14 @@ void HostContentSettingsMap::SetClockForTesting(const base::Clock* clock) {
}
}
@@ -773,7 +773,7 @@ new file mode 100644
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
-@@ -132,6 +132,7 @@ struct RendererContentSettingRules {
+@@ -131,6 +131,7 @@ struct RendererContentSettingRules {
bool operator==(const RendererContentSettingRules& other) const;
ContentSettingsForOneType mixed_content_rules;
diff --git a/build/patches/Use-64-bit-WebView-processes.patch b/build/patches/Use-64-bit-WebView-processes.patch
index 0410c719..4076a016 100644
--- a/build/patches/Use-64-bit-WebView-processes.patch
+++ b/build/patches/Use-64-bit-WebView-processes.patch
@@ -28,7 +28,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/android_webview/nonembedded/java/AndroidManifest.xml b/android_webview/nonembedded/java/AndroidManifest.xml
--- a/android_webview/nonembedded/java/AndroidManifest.xml
+++ b/android_webview/nonembedded/java/AndroidManifest.xml
-@@ -38,9 +38,6 @@ by a child template that "extends" this file.
+@@ -40,9 +40,6 @@ by a child template that "extends" this file.
android:icon="@{{manifest_package|default('com.android.webview')}}:drawable/icon_webview"
android:name="{{ application_name|default('org.chromium.android_webview.nonembedded.WebViewApkApplication') }}"
android:multiArch="true"
diff --git a/build/patches/Use-browser-navigation-handler.patch b/build/patches/Use-browser-navigation-handler.patch
index 3ea359c4..2fa3faff 100644
--- a/build/patches/Use-browser-navigation-handler.patch
+++ b/build/patches/Use-browser-navigation-handler.patch
@@ -139,7 +139,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Navi
import static org.chromium.chrome.browser.gesturenav.GestureNavigationProperties.EDGE;
import android.app.Activity;
-@@ -290,7 +290,11 @@ class NavigationHandler implements TouchEventObserver {
+@@ -291,7 +291,11 @@ class NavigationHandler implements TouchEventObserver {
boolean forward = isForward();
@@ -152,7 +152,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Navi
mModel.set(EDGE, mInitiatingEdge);
if (canNavigate(forward)) {
// Correct swipe, reset mIncorrectEdgeSwipeCount.
-@@ -528,12 +532,14 @@ class NavigationHandler implements TouchEventObserver {
+@@ -529,12 +533,14 @@ class NavigationHandler implements TouchEventObserver {
}
private boolean isForward() {
@@ -227,7 +227,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/gesturenav/Side
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
-@@ -85,6 +85,7 @@ import org.chromium.chrome.browser.firstrun.FirstRunStatus;
+@@ -86,6 +86,7 @@ import org.chromium.chrome.browser.firstrun.FirstRunStatus;
import org.chromium.chrome.browser.flags.ActivityType;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
@@ -235,7 +235,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/Tab
import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
import org.chromium.chrome.browser.fullscreen.FullscreenManager;
import org.chromium.chrome.browser.gesturenav.BackActionDelegate;
-@@ -826,7 +827,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
+@@ -824,7 +825,8 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator {
@Override
public void onInflationComplete() {
mCoordinator = mActivity.findViewById(R.id.coordinator);
@@ -303,7 +303,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
-@@ -104,4 +104,13 @@ found in the LICENSE file.
+@@ -109,4 +109,13 @@ found in the LICENSE file.
android:summary="@string/selection_popup_smart_text_summary"
android:title="@string/selection_popup_smart_text_title" />
diff --git a/build/patches/Use-list-mode-for-tab-switcher.patch b/build/patches/Use-list-mode-for-tab-switcher.patch
index f1718a26..51fe705d 100644
--- a/build/patches/Use-list-mode-for-tab-switcher.patch
+++ b/build/patches/Use-list-mode-for-tab-switcher.patch
@@ -159,7 +159,7 @@ diff --git a/chrome/android/features/tab_ui/java/res/values/dimens.xml b/chrome/
52dp
-@@ -108,6 +112,7 @@ found in the LICENSE file.
+@@ -107,6 +111,7 @@ found in the LICENSE file.
3dp
8dp
24dp
@@ -212,8 +212,8 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
+import org.chromium.chrome.browser.tab_ui.TabCardThemeUtil;
import org.chromium.chrome.browser.tabmodel.TabClosingSource;
import org.chromium.chrome.browser.tabmodel.TabClosureParamsUtils;
- import org.chromium.chrome.browser.tabmodel.TabGroupModelFilter;
-@@ -908,6 +909,13 @@ public class TabGridDialogMediator
+ import org.chromium.chrome.browser.tabmodel.TabCreatorUtil;
+@@ -909,6 +910,13 @@ public class TabGridDialogMediator
TabGridDialogProperties.DIALOG_UNGROUP_BAR_HOVERED_TEXT_COLOR,
ungroupBarHoveredTextColor);
mModel.set(TabGridDialogProperties.IS_INCOGNITO, isIncognito);
@@ -298,7 +298,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListContainerViewBinder.java
-@@ -153,14 +153,27 @@ class TabListContainerViewBinder {
+@@ -211,14 +211,27 @@ class TabListContainerViewBinder {
}
if (width <= 0 || height <= 0) return 0;
@@ -439,7 +439,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEditorCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEditorCoordinator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEditorCoordinator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListEditorCoordinator.java
-@@ -365,7 +365,7 @@ class TabListEditorCoordinator {
+@@ -364,7 +364,7 @@ public class TabListEditorCoordinator {
mDisplayGroups = displayGroups;
mTabActionState = initialTabActionState;
mTabContentManager = tabContentManager;
@@ -463,7 +463,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListMediator.java
-@@ -2531,8 +2531,26 @@ class TabListMediator implements TabListNotificationHandler {
+@@ -2555,8 +2555,26 @@ class TabListMediator implements TabListNotificationHandler {
private void updateFaviconForTab(
PropertyModel model, Tab tab, @Nullable Bitmap icon, @Nullable GURL iconUrl) {
if (mActionsOnAllRelatedTabs && isTabInTabGroup(tab)) {
@@ -981,7 +981,7 @@ new file mode 100644
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java
-@@ -316,7 +316,7 @@ public abstract class TabSwitcherPaneBase implements Pane, TabSwitcher, TabSwitc
+@@ -333,7 +333,7 @@ public abstract class TabSwitcherPaneBase implements Pane, TabSwitcher, TabSwitc
|| isFullSpaceModeOnAndroidXr;
@Nullable Tab tab = getCurrentTab();
@@ -990,7 +990,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
return FadeHubLayoutAnimationFactory.createFadeInAnimatorProvider(
hubContainerView, HUB_LAYOUT_FADE_DURATION_MS, mOnToolbarAlphaChange);
} else if (isFullSpaceModeOnAndroidXr && getTabListMode() == TabListMode.GRID) {
-@@ -345,7 +345,7 @@ public abstract class TabSwitcherPaneBase implements Pane, TabSwitcher, TabSwitc
+@@ -362,7 +362,7 @@ public abstract class TabSwitcherPaneBase implements Pane, TabSwitcher, TabSwitc
HubContainerView hubContainerView) {
assert !DeviceFormFactor.isNonMultiDisplayContextOnTablet(hubContainerView.getContext());
Tab tab = getCurrentTab();
@@ -1041,7 +1041,7 @@ diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser
diff --git a/chrome/android/features/tab_ui/tab_management_java_sources.gni b/chrome/android/features/tab_ui/tab_management_java_sources.gni
--- a/chrome/android/features/tab_ui/tab_management_java_sources.gni
+++ b/chrome/android/features/tab_ui/tab_management_java_sources.gni
-@@ -186,6 +186,8 @@ internal_tab_management_java_sources = [
+@@ -187,6 +187,8 @@ internal_tab_management_java_sources = [
"//chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListNotificationHandler.java",
"//chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListOnScrollListener.java",
"//chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java",
@@ -1069,7 +1069,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
-@@ -189,6 +189,7 @@ import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver;
+@@ -190,6 +190,7 @@ import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver;
import org.chromium.chrome.browser.tabmodel.TabModelUtils;
import org.chromium.chrome.browser.task_manager.TaskManager;
import org.chromium.chrome.browser.task_manager.TaskManagerFactory;
@@ -1077,7 +1077,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv
import org.chromium.chrome.browser.theme.ThemeModuleUtils;
import org.chromium.chrome.browser.tinker_tank.TinkerTankDelegate;
import org.chromium.chrome.browser.toolbar.ControlContainer;
-@@ -659,8 +660,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
+@@ -668,8 +669,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
new TabContentManager(
this,
mBrowserControlsManagerSupplier.get(),
@@ -1432,7 +1432,7 @@ new file mode 100644
diff --git a/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/tab_ui/TabListFaviconProvider.java b/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/tab_ui/TabListFaviconProvider.java
--- a/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/tab_ui/TabListFaviconProvider.java
+++ b/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/tab_ui/TabListFaviconProvider.java
-@@ -36,6 +36,8 @@ import org.chromium.url.GURL;
+@@ -35,6 +35,8 @@ import org.chromium.url.GURL;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -1441,7 +1441,7 @@ diff --git a/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/
import java.util.Objects;
/** Provider for processed favicons in Tab list. */
-@@ -133,6 +135,28 @@ public class TabListFaviconProvider {
+@@ -132,6 +134,28 @@ public class TabListFaviconProvider {
}
}
@@ -1470,7 +1470,7 @@ diff --git a/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/
@IntDef({
StaticTabFaviconType.UNKNOWN,
StaticTabFaviconType.ROUNDED_GLOBE,
-@@ -253,6 +277,8 @@ public class TabListFaviconProvider {
+@@ -252,6 +276,8 @@ public class TabListFaviconProvider {
private static LazyTabFaviconResolver sRoundedGlobeFavicon;
private static LazyTabFaviconResolver sRoundedGlobeFaviconForStrip;
private static LazyTabFaviconResolver sRoundedGlobeFaviconIncognito;
@@ -1479,7 +1479,7 @@ diff --git a/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/
/** These icons may fail to load. See crbug.com/324996488. */
private static LazyTabFaviconResolver sRoundedChromeFavicon;
-@@ -424,6 +450,51 @@ public class TabListFaviconProvider {
+@@ -423,6 +449,51 @@ public class TabListFaviconProvider {
};
}
@@ -1531,7 +1531,7 @@ diff --git a/chrome/browser/tab_ui/android/java/src/org/chromium/chrome/browser/
/** Returns the rounded Chrome favicon to use for native or internal pages. */
public TabFavicon getRoundedChromeFavicon(boolean isIncognito) {
if (mIsTabStrip) {
-@@ -788,6 +859,46 @@ public class TabListFaviconProvider {
+@@ -785,6 +856,46 @@ public class TabListFaviconProvider {
StaticTabFaviconType.ROUNDED_CHROME_INCOGNITO);
});
}
@@ -1686,7 +1686,7 @@ new file mode 100644
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarPhone.java
-@@ -51,6 +51,7 @@ import org.chromium.build.annotations.NullUnmarked;
+@@ -60,6 +60,7 @@ import org.chromium.build.annotations.NullUnmarked;
import org.chromium.build.annotations.Nullable;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.omnibox.LocationBar;
@@ -1694,7 +1694,7 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
import org.chromium.chrome.browser.omnibox.LocationBarBackgroundDrawable;
import org.chromium.chrome.browser.omnibox.LocationBarBackgroundDrawable.HairlineBehavior;
import org.chromium.chrome.browser.omnibox.LocationBarCoordinator;
-@@ -1808,7 +1809,7 @@ public class ToolbarPhone extends ToolbarLayout
+@@ -1835,7 +1836,7 @@ public class ToolbarPhone extends ToolbarLayout
// On entering the tab switcher, set the focusability of the url bar to be false. This will
// occur at the start of the enter event, and will later be reset to true upon finishing the
// exit event.
@@ -1703,13 +1703,13 @@ diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/brow
mLocationBar.setUrlBarFocusable(false);
}
-@@ -2029,7 +2030,8 @@ public class ToolbarPhone extends ToolbarLayout
-
- updateBackground(hasFocus);
- updateLocationBarForNtp(mVisualState, urlHasFocus());
-- getTabSwitcherButtonCoordinator().getContainerView().setClickable(!hasFocus);
+@@ -2063,7 +2064,8 @@ public class ToolbarPhone extends ToolbarLayout
+ ToggleTabStackButtonCoordinator tabSwitcherButtonCoordinator =
+ getTabSwitcherButtonCoordinator();
+ assumeNonNull(tabSwitcherButtonCoordinator);
+- tabSwitcherButtonCoordinator.getContainerView().setClickable(!hasFocus);
+ if (!sTabSwitcherListMode.getInstance().isEnabled())
-+ getTabSwitcherButtonCoordinator().getContainerView().setClickable(!hasFocus);
++ tabSwitcherButtonCoordinator.getContainerView().setClickable(!hasFocus);
mHomeButtonDisplay.setClickable(!hasFocus);
triggerUrlFocusAnimation(hasFocus);
}
diff --git a/build/patches/User-agent-customization.patch b/build/patches/User-agent-customization.patch
index b17dc8cc..1de68144 100644
--- a/build/patches/User-agent-customization.patch
+++ b/build/patches/User-agent-customization.patch
@@ -56,7 +56,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc
--- a/android_webview/browser/aw_content_browser_client.cc
+++ b/android_webview/browser/aw_content_browser_client.cc
-@@ -197,7 +197,7 @@ base::WeakPtr GetAsyncCheckTracker(
+@@ -201,7 +201,7 @@ base::WeakPtr GetAsyncCheckTracker(
} // anonymous namespace
std::string GetProduct() {
@@ -92,7 +92,7 @@ diff --git a/base/base_switches.h b/base/base_switches.h
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
-@@ -653,6 +653,8 @@ chrome_java_resources = [
+@@ -665,6 +665,8 @@ chrome_java_resources = [
"java/res/xml/search_widget_info.xml",
"java/res/xml/tracing_preferences.xml",
"java/res/xml/unified_account_settings_preferences.xml",
@@ -104,7 +104,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
-@@ -908,6 +908,7 @@ chrome_java_sources = [
+@@ -919,6 +919,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/payments/ui/DimmingDialog.java",
"java/src/org/chromium/chrome/browser/payments/ui/LineItem.java",
"java/src/org/chromium/chrome/browser/payments/ui/PaymentAppComparator.java",
@@ -271,7 +271,7 @@ new file mode 100644
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
-@@ -2716,6 +2716,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
+@@ -2776,6 +2776,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
TabUtils.switchUserAgent(
currentTab,
usingDesktopUserAgent,
@@ -580,7 +580,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils;
import org.chromium.components.embedder_support.contextmenu.ContextMenuPopulatorFactory;
import org.chromium.components.embedder_support.util.UrlConstants;
-@@ -124,6 +127,9 @@ import org.chromium.chrome.browser.preferences.Pref;
+@@ -127,6 +130,9 @@ import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.profiles.ProfileManager;
import org.chromium.components.user_prefs.UserPrefs;
@@ -590,7 +590,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
/**
* Implementation of the interface {@link Tab}. Contains and manages a {@link ContentView}. This
* class is not intended to be extended.
-@@ -2196,9 +2202,6 @@ class TabImpl implements Tab {
+@@ -2318,9 +2324,6 @@ class TabImpl implements Tab {
}
if (mWebContents != null) {
@@ -600,7 +600,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
mWebContents.getNavigationController().loadIfNecessary();
}
mIsBeingRestored = true;
-@@ -2594,6 +2597,11 @@ class TabImpl implements Tab {
+@@ -2720,6 +2723,11 @@ class TabImpl implements Tab {
url = webContents.getVisibleUrl();
}
@@ -612,7 +612,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
boolean shouldRequestDesktopSite =
RequestDesktopUtils.shouldOverrideDesktopSite(mProfile, url, getContext());
-@@ -2623,7 +2631,7 @@ class TabImpl implements Tab {
+@@ -2749,7 +2757,7 @@ class TabImpl implements Tab {
}
boolean usingDesktopUserAgent =
getWebContents().getNavigationController().getUseDesktopUserAgent();
@@ -621,7 +621,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabImpl.jav
}
/** Sets the TabLaunchType for tabs launched with an unset launch type. */
-@@ -2771,6 +2779,54 @@ class TabImpl implements Tab {
+@@ -2899,6 +2907,54 @@ class TabImpl implements Tab {
/* allowDialog= */ false);
}
@@ -922,7 +922,7 @@ diff --git a/chrome/browser/android/preferences/privacy_preferences_manager_impl
diff --git a/chrome/browser/content_settings/request_desktop_site_web_contents_observer_android.cc b/chrome/browser/content_settings/request_desktop_site_web_contents_observer_android.cc
--- a/chrome/browser/content_settings/request_desktop_site_web_contents_observer_android.cc
+++ b/chrome/browser/content_settings/request_desktop_site_web_contents_observer_android.cc
-@@ -10,6 +10,7 @@
+@@ -16,6 +16,7 @@
#include "chrome/browser/flags/android/chrome_feature_list.h"
#include "chrome/browser/preferences/android/chrome_shared_preferences.h"
#include "chrome/browser/profiles/profile.h"
@@ -930,7 +930,7 @@ diff --git a/chrome/browser/content_settings/request_desktop_site_web_contents_o
#include "chrome/common/chrome_switches.h"
#include "components/content_settings/core/common/content_settings_utils.h"
#include "components/content_settings/core/common/pref_names.h"
-@@ -37,6 +38,7 @@ RequestDesktopSiteWebContentsObserverAndroid::
+@@ -45,6 +46,7 @@ RequestDesktopSiteWebContentsObserverAndroid::
host_content_settings_map_ =
HostContentSettingsMapFactory::GetForProfile(profile);
pref_service_ = profile->GetPrefs();
@@ -938,7 +938,7 @@ diff --git a/chrome/browser/content_settings/request_desktop_site_web_contents_o
}
RequestDesktopSiteWebContentsObserverAndroid::
-@@ -51,6 +53,15 @@ void RequestDesktopSiteWebContentsObserverAndroid::DidStartNavigation(
+@@ -59,6 +61,15 @@ void RequestDesktopSiteWebContentsObserverAndroid::DidStartNavigation(
return;
}
@@ -965,10 +965,10 @@ diff --git a/chrome/browser/content_settings/request_desktop_site_web_contents_o
#include "components/content_settings/core/browser/host_content_settings_map.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/browser/web_contents_user_data.h"
-@@ -37,6 +38,7 @@ class RequestDesktopSiteWebContentsObserverAndroid
-
- scoped_refptr host_content_settings_map_;
- raw_ptr pref_service_ = nullptr;
+@@ -40,6 +41,7 @@ class RequestDesktopSiteWebContentsObserverAndroid
+ bool ShouldAllowOnExternalDisplay(bool is_global_setting);
+ raw_ptr host_content_settings_map_;
+ raw_ptr pref_service_;
+ raw_ptr tab_android_ = nullptr;
// The display size threshold in inches for enabling desktop user agent on
@@ -976,7 +976,7 @@ diff --git a/chrome/browser/content_settings/request_desktop_site_web_contents_o
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
-@@ -1212,8 +1212,6 @@ public final class ChromePreferenceKeys {
+@@ -1243,8 +1243,6 @@ public final class ChromePreferenceKeys {
SIGNIN_PROMO_NTP_LAST_SHOWN_TIME,
SYNC_PROMO_TOTAL_SHOW_COUNT,
SEARCH_RESUMPTION_MODULE_COLLAPSE_ON_NTP,
@@ -1006,7 +1006,7 @@ diff --git a/chrome/browser/privacy/settings/java/src/org/chromium/chrome/browse
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.java
-@@ -373,6 +373,8 @@ public interface Tab extends TabLifecycle {
+@@ -388,6 +388,8 @@ public interface Tab extends TabLifecycle {
/** Goes to the navigation entry after the current one. */
void goForward();
@@ -1018,7 +1018,7 @@ diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/Tab.jav
diff --git a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java b/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java
--- a/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java
+++ b/chrome/browser/tabwindow/android/java/src/org/chromium/chrome/browser/tabwindow/TabWindowManager.java
-@@ -165,6 +165,8 @@ public interface TabWindowManager {
+@@ -174,6 +174,8 @@ public interface TabWindowManager {
@Nullable List getGroupedTabsByWindow(
@WindowId int windowId, Token tabGroupId, boolean isIncognito);
@@ -1269,7 +1269,7 @@ diff --git a/content/browser/renderer_host/navigation_controller_android.h b/con
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -3707,6 +3707,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
+@@ -3815,6 +3815,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
#if BUILDFLAG(IS_CHROMEOS)
switches::kSchedulerBoostUrgent,
#endif
@@ -1288,7 +1288,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser
#include "base/check_op.h"
#include "base/command_line.h"
#include "base/containers/contains.h"
-@@ -2451,8 +2452,6 @@ void WebContentsImpl::SetUserAgentOverride(
+@@ -2449,8 +2450,6 @@ void WebContentsImpl::SetUserAgentOverride(
OPTIONAL_TRACE_EVENT2("content", "WebContentsImpl::SetUserAgentOverride",
"ua_override", ua_override.ua_string_override,
"override_in_new_tabs", override_in_new_tabs);
@@ -1297,7 +1297,7 @@ diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser
if (GetUserAgentOverride() == ua_override) {
return;
-@@ -3764,6 +3763,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences(
+@@ -3818,6 +3817,9 @@ const blink::web_pref::WebPreferences WebContentsImpl::ComputeWebPreferences(
#else
prefs.viewport_meta_enabled = false;
#endif
@@ -1318,7 +1318,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/frameh
params.getInitiatorOrigin(),
params.getHasUserGesture(),
params.getShouldClearHistoryList(),
-@@ -436,7 +437,7 @@ import org.chromium.url.Origin;
+@@ -445,7 +446,7 @@ import org.chromium.url.Origin;
@Nullable String dataUrlAsString,
boolean canLoadLocalResources,
boolean isRendererInitiated,
@@ -1330,7 +1330,7 @@ diff --git a/content/public/android/java/src/org/chromium/content/browser/frameh
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
-@@ -858,7 +858,6 @@ void RenderThreadImpl::InitializeRenderer(
+@@ -850,7 +850,6 @@ void RenderThreadImpl::InitializeRenderer(
uint64_t trace_id) {
TRACE_EVENT("navigation", "RenderThreadImpl::InitializeRenderer",
perfetto::TerminatingFlow::Global(trace_id));
diff --git a/build/patches/Viewport-Protection-flag.patch b/build/patches/Viewport-Protection-flag.patch
index 77caa368..764f21d3 100644
--- a/build/patches/Viewport-Protection-flag.patch
+++ b/build/patches/Viewport-Protection-flag.patch
@@ -282,7 +282,7 @@ diff --git a/third_party/blink/public/common/widget/device_emulation_params.h b/
diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5
--- a/third_party/blink/renderer/core/css/css_properties.json5
+++ b/third_party/blink/renderer/core/css/css_properties.json5
-@@ -4349,6 +4349,7 @@
+@@ -4343,6 +4343,7 @@
},
{
name: "opacity",
@@ -290,7 +290,7 @@ diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_pa
property_methods: ["ParseSingleValue", "CSSValueFromComputedStyleInternal"],
interpolable: true,
compositable: true,
-@@ -4356,7 +4357,6 @@
+@@ -4350,7 +4351,6 @@
field_template: "primitive",
default_value: "1.0",
type_name: "float",
@@ -301,7 +301,7 @@ diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_pa
diff --git a/third_party/blink/renderer/core/css/media_values.cc b/third_party/blink/renderer/core/css/media_values.cc
--- a/third_party/blink/renderer/core/css/media_values.cc
+++ b/third_party/blink/renderer/core/css/media_values.cc
-@@ -207,7 +207,7 @@ bool MediaValues::CalculateStrictMode(LocalFrame* frame) {
+@@ -193,7 +193,7 @@ bool MediaValues::CalculateStrictMode(LocalFrame* frame) {
}
float MediaValues::CalculateDevicePixelRatio(LocalFrame* frame) {
@@ -313,7 +313,7 @@ diff --git a/third_party/blink/renderer/core/css/media_values.cc b/third_party/b
diff --git a/third_party/blink/renderer/core/css/resolver/style_resolver.cc b/third_party/blink/renderer/core/css/resolver/style_resolver.cc
--- a/third_party/blink/renderer/core/css/resolver/style_resolver.cc
+++ b/third_party/blink/renderer/core/css/resolver/style_resolver.cc
-@@ -2365,7 +2365,12 @@ ComputedStyleBuilder StyleResolver::InitialStyleBuilderForElement() const {
+@@ -2350,7 +2350,12 @@ ComputedStyleBuilder StyleResolver::InitialStyleBuilderForElement() const {
ComputedStyleBuilder builder = CreateComputedStyleBuilder();
builder.SetRtlOrdering(GetDocument().VisuallyOrdered() ? EOrder::kVisual
: EOrder::kLogical);
@@ -411,7 +411,7 @@ diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_p
diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
-@@ -1620,7 +1620,12 @@ int LocalDOMWindow::outerHeight() const {
+@@ -1606,7 +1606,12 @@ int LocalDOMWindow::outerHeight() const {
if (frame->IsInFencedFrameTree()) {
return innerHeight();
}
@@ -425,7 +425,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
Page* page = frame->GetPage();
if (!page)
return 0;
-@@ -1645,7 +1650,12 @@ int LocalDOMWindow::outerWidth() const {
+@@ -1631,7 +1636,12 @@ int LocalDOMWindow::outerWidth() const {
if (frame->IsInFencedFrameTree()) {
return innerWidth();
}
@@ -439,7 +439,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
Page* page = frame->GetPage();
if (!page)
return 0;
-@@ -1849,7 +1859,8 @@ double LocalDOMWindow::devicePixelRatio() const {
+@@ -1827,7 +1837,8 @@ double LocalDOMWindow::devicePixelRatio() const {
if (!GetFrame())
return 0.0;
@@ -449,7 +449,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
}
ScriptPromise LocalDOMWindow::scrollBy(ScriptState* script_state,
-@@ -2492,6 +2503,23 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
+@@ -2469,6 +2480,23 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
if (!completed_url.IsEmpty() || result.new_window)
result.frame->Navigate(frame_request, WebFrameLoadType::kStandard);
@@ -473,7 +473,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
// TODO(japhet): window-open-noopener.html?_top and several tests in
// html/browsers/windows/browsing-context-names/ appear to require that
// the special case target names (_top, _parent, _self) ignore opener
-@@ -2543,6 +2571,15 @@ DOMWindow* LocalDOMWindow::openPictureInPictureWindow(
+@@ -2520,6 +2548,15 @@ DOMWindow* LocalDOMWindow::openPictureInPictureWindow(
DCHECK(result.new_window);
result.frame->Navigate(frame_request, WebFrameLoadType::kStandard);
@@ -492,7 +492,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_p
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
-@@ -1671,6 +1671,10 @@ void LocalFrame::RestoreScrollOffsets() {
+@@ -1674,6 +1674,10 @@ void LocalFrame::RestoreScrollOffsets() {
saved_scroll_offsets_ = nullptr;
}
@@ -503,7 +503,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
void LocalFrame::SetLayoutZoomFactor(float factor) {
SetZoomFactors(factor, text_zoom_factor_, css_zoom_factor_);
}
-@@ -1857,12 +1861,16 @@ mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() {
+@@ -1860,12 +1864,16 @@ mojom::blink::DevicePostureType LocalFrame::GetDevicePosture() {
return mojo_handler_->GetDevicePosture();
}
@@ -522,7 +522,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/
return ratio;
}
-@@ -3448,6 +3456,11 @@ void LocalFrame::SetScaleFactor(float scale_factor) {
+@@ -3451,6 +3459,11 @@ void LocalFrame::SetScaleFactor(float scale_factor) {
DCHECK(!GetDocument() || !GetDocument()->Printing());
DCHECK(IsMainFrame());
@@ -556,7 +556,7 @@ diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/b
// Informs the local root's document and its local descendant subtree that a
// media query value changed.
-@@ -1095,6 +1096,7 @@ class CORE_EXPORT LocalFrame final
+@@ -1091,6 +1092,7 @@ class CORE_EXPORT LocalFrame final
unsigned did_run_detach_impl_ : 1 = false;
float layout_zoom_factor_;
@@ -662,7 +662,7 @@ diff --git a/third_party/blink/renderer/core/frame/screen_metrics_emulator.h b/t
diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
--- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
+++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
-@@ -1952,6 +1952,15 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
+@@ -1946,6 +1946,15 @@ void WebFrameWidgetImpl::ApplyVisualPropertiesSizing(
if (DeviceEmulator() && widget_base_ && !widget_base_->WillBeDestroyed()) {
DeviceEmulator()->UpdateVisualProperties(visual_properties);
@@ -749,7 +749,7 @@ diff --git a/third_party/blink/renderer/core/page/page.cc b/third_party/blink/re
namespace blink {
namespace {
-@@ -1309,7 +1316,96 @@ void Page::UpdateAcceleratedCompositingSettings() {
+@@ -1313,7 +1320,96 @@ void Page::UpdateAcceleratedCompositingSettings() {
}
}
@@ -875,7 +875,7 @@ diff --git a/third_party/blink/renderer/core/page/page.h b/third_party/blink/ren
diff --git a/third_party/blink/renderer/core/style/computed_style.h b/third_party/blink/renderer/core/style/computed_style.h
--- a/third_party/blink/renderer/core/style/computed_style.h
+++ b/third_party/blink/renderer/core/style/computed_style.h
-@@ -2026,6 +2026,12 @@ class ComputedStyle final : public ComputedStyleBase {
+@@ -2025,6 +2025,12 @@ class ComputedStyle final : public ComputedStyleBase {
IsRunningBackdropFilterAnimationOnCompositor();
}
diff --git a/build/patches/WIN-enable-pdf-plugin.patch b/build/patches/WIN-enable-pdf-plugin.patch
index 81115575..163d3642 100644
--- a/build/patches/WIN-enable-pdf-plugin.patch
+++ b/build/patches/WIN-enable-pdf-plugin.patch
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/third_party/blink/renderer/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
-@@ -2374,7 +2374,9 @@ const mojom::RendererContentSettingsPtr& LocalFrame::GetContentSettings()
+@@ -2377,7 +2377,9 @@ const mojom::RendererContentSettingsPtr& LocalFrame::GetContentSettings()
}
PluginData* LocalFrame::GetPluginData() const {
diff --git a/build/patches/Warning-message-for-unsupported-hardware-aes.patch b/build/patches/Warning-message-for-unsupported-hardware-aes.patch
index 855f8ee0..af6b89a5 100644
--- a/build/patches/Warning-message-for-unsupported-hardware-aes.patch
+++ b/build/patches/Warning-message-for-unsupported-hardware-aes.patch
@@ -51,7 +51,7 @@ diff --git a/base/base_switches.h b/base/base_switches.h
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
--- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn
-@@ -430,6 +430,7 @@ if (is_win) {
+@@ -429,6 +429,7 @@ if (is_win) {
"//components/webapps/isolated_web_apps:scheme",
"//content/public/app",
"//crypto",
@@ -59,7 +59,7 @@ diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
"//headless:headless_non_renderer",
"//headless:headless_shell_browser_lib",
"//net:net_resources",
-@@ -1640,6 +1641,8 @@ if (is_android) {
+@@ -1635,6 +1636,8 @@ if (is_android) {
"//chrome/common/profiler",
"//chrome/gpu",
"//chrome/renderer",
@@ -97,7 +97,7 @@ diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegat
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
-@@ -7252,6 +7252,10 @@ Keep your key file in a safe place. You will need it to create new versions of y
+@@ -7263,6 +7263,10 @@ Keep your key file in a safe place. You will need it to create new versions of y
You are using an unsupported feature flag: $1SignedHTTPExchange. Stability and security will suffer.
@@ -111,7 +111,7 @@ diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources
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
-@@ -259,6 +259,15 @@ void ShowBadFlagsPrompt(content::WebContents* web_contents) {
+@@ -293,6 +293,15 @@ void ShowBadFlagsPrompt(content::WebContents* web_contents) {
return;
}
}
@@ -130,7 +130,7 @@ diff --git a/chrome/browser/ui/startup/bad_flags_prompt.cc b/chrome/browser/ui/s
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
-@@ -3712,6 +3712,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
+@@ -3820,6 +3820,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
switches::kSchedulerBoostUrgent,
#endif
switches::kDesktopModeViewportMetaEnabled,
diff --git a/build/patches/Welcome-screen.patch b/build/patches/Welcome-screen.patch
index 23dd40b5..c1441cb6 100644
--- a/build/patches/Welcome-screen.patch
+++ b/build/patches/Welcome-screen.patch
@@ -31,7 +31,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
-@@ -517,6 +517,7 @@ chrome_java_resources = [
+@@ -526,6 +526,7 @@ chrome_java_resources = [
"java/res/layout/find_in_page.xml",
"java/res/layout/find_toolbar.xml",
"java/res/layout/fre_tos_privacy_disclaimer.xml",
@@ -42,7 +42,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
-@@ -640,6 +640,8 @@ chrome_java_sources = [
+@@ -646,6 +646,8 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/firstrun/LightweightFirstRunActivity.java",
"java/src/org/chromium/chrome/browser/firstrun/SkipTosDialogPolicyListener.java",
"java/src/org/chromium/chrome/browser/firstrun/TosDialogBehaviorSharedPrefInvalidator.java",
@@ -240,7 +240,7 @@ diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res
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
-@@ -337,6 +337,30 @@ found in the LICENSE file.
+@@ -342,6 +342,30 @@ found in the LICENSE file.
- 1
diff --git a/build/patches/add-browser-policy.patch b/build/patches/add-browser-policy.patch
index 10161400..e72df3d9 100644
--- a/build/patches/add-browser-policy.patch
+++ b/build/patches/add-browser-policy.patch
@@ -131,7 +131,7 @@ diff --git a/base/win/win_util.cc b/base/win/win_util.cc
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
-@@ -82,9 +82,7 @@ by a child template that "extends" this file.
+@@ -84,9 +84,7 @@ by a child template that "extends" this file.
@@ -141,7 +141,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
-@@ -101,7 +99,6 @@ by a child template that "extends" this file.
+@@ -112,7 +110,6 @@ by a child template that "extends" this file.
resizeTo, moveBy}|).
-->
@@ -149,7 +149,7 @@ diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/Andro
-@@ -148,7 +145,6 @@ by a child template that "extends" this file.
+@@ -159,7 +156,6 @@ by a child template that "extends" this file.
@@ -228,7 +228,7 @@ diff --git a/chrome/browser/policy/chrome_browser_policy_connector.cc b/chrome/b
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
-@@ -2488,9 +2488,9 @@ bool AreFuturePoliciesEnabledByDefault() {
+@@ -2499,9 +2499,9 @@ bool AreFuturePoliciesEnabledByDefault() {
if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kTestType)) {
return true;
}
@@ -241,7 +241,7 @@ diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
}
} // namespace
-@@ -3320,7 +3320,10 @@ std::unique_ptr BuildHandlerList(
+@@ -3334,7 +3334,10 @@ std::unique_ptr BuildHandlerList(
key::kExtensionInstallCloudPolicyChecksEnabled,
extensions::pref_names::kExtensionInstallCloudPolicyChecksEnabled,
base::Value::Type::BOOLEAN));
@@ -338,7 +338,7 @@ diff --git a/chrome/browser/signin/bound_session_credentials/throttled_gaia_auth
diff --git a/chrome/browser/signin/chrome_signin_client.cc b/chrome/browser/signin/chrome_signin_client.cc
--- a/chrome/browser/signin/chrome_signin_client.cc
+++ b/chrome/browser/signin/chrome_signin_client.cc
-@@ -265,7 +265,9 @@ void ChromeSigninClient::DoFinalInit() {
+@@ -266,7 +266,9 @@ void ChromeSigninClient::DoFinalInit() {
bool ChromeSigninClient::ProfileAllowsSigninCookies(Profile* profile) {
scoped_refptr cookie_settings =
CookieSettingsFactory::GetForProfile(profile);
@@ -349,7 +349,7 @@ diff --git a/chrome/browser/signin/chrome_signin_client.cc b/chrome/browser/sign
}
PrefService* ChromeSigninClient::GetPrefs() {
-@@ -386,6 +388,9 @@ bool ChromeSigninClient::AreNetworkCallsDelayed() {
+@@ -387,6 +389,9 @@ bool ChromeSigninClient::AreNetworkCallsDelayed() {
}
void ChromeSigninClient::DelayNetworkCall(base::OnceClosure callback) {
@@ -371,7 +371,7 @@ diff --git a/chrome/browser/signin/dice_response_handler.cc b/chrome/browser/sig
"Signin.DiceTokenBindingOutcome";
// Used for UMA. Do not reorder, append new values at the end.
-@@ -387,8 +387,10 @@ void DiceResponseHandler::ProcessDiceSignoutHeader(
+@@ -386,8 +386,10 @@ void DiceResponseHandler::ProcessDiceSignoutHeader(
// - If there is a policy restriction on removing the primary account.
bool invalidate_only_primary_account =
identity_manager_->HasPrimaryAccount(signin::ConsentLevel::kSync) ||
@@ -532,7 +532,7 @@ diff --git a/chrome/browser/ui/webui/policy/policy_ui_handler.h b/chrome/browser
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
-@@ -383,7 +383,7 @@
+@@ -386,7 +386,7 @@
@@ -601,7 +601,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm
} // namespace
BASE_FEATURE(kCommerceAllowLocalImages, base::FEATURE_DISABLED_BY_DEFAULT);
-@@ -293,16 +243,15 @@ const base::FeatureParam kRevertIconOnFailure{
+@@ -282,16 +232,15 @@ const base::FeatureParam kRevertIconOnFailure{
&kShoppingList, kRevertIconOnFailureParam, false};
bool IsPartnerMerchant(const GURL& url) {
@@ -621,7 +621,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm
}
bool IsCartDiscountFeatureEnabled() {
-@@ -354,6 +303,7 @@ bool IsEnabledForCountryAndLocale(const base::Feature& feature,
+@@ -343,6 +292,7 @@ bool IsEnabledForCountryAndLocale(const base::Feature& feature,
bool IsRegionLockedFeatureEnabled(const base::Feature& feature,
const std::string& country_code,
const std::string& locale) {
@@ -629,7 +629,7 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm
auto* feature_list = base::FeatureList::GetInstance();
// If the feature has a server-side config, this check will ensure that
-@@ -386,6 +336,7 @@ base::TimeDelta GetDiscountFetchDelay() {
+@@ -375,6 +325,7 @@ base::TimeDelta GetDiscountFetchDelay() {
}
bool IsNoDiscountMerchant(const GURL& url) {
@@ -637,8 +637,8 @@ diff --git a/components/commerce/core/commerce_feature_list.cc b/components/comm
auto* pattern_from_component =
commerce_heuristics::CommerceHeuristicsData::GetInstance()
.GetNoDiscountMerchantPattern();
-@@ -397,4 +348,6 @@ bool IsNoDiscountMerchant(const GURL& url) {
- return RE2::PartialMatch(url.host_piece(), *pattern_from_component);
+@@ -386,4 +337,6 @@ bool IsNoDiscountMerchant(const GURL& url) {
+ return RE2::PartialMatch(url.host(), *pattern_from_component);
}
#endif
+
@@ -999,8 +999,8 @@ diff --git a/components/search/ntp_features.cc b/components/search/ntp_features.
BASE_FEATURE(kNtpChromeCartModule, base::FEATURE_ENABLED_BY_DEFAULT);
+SET_CROMITE_FEATURE_DISABLED(kNtpChromeCartModule);
- #if !defined(OFFICIAL_BUILD)
- // If enabled, dummy modules will be shown.
+ // If enabled, customization of Chrome will be promoted on the NTP.
+ BASE_FEATURE(kNtpCustomizeChromeAutoOpen, base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/components/signin/features.gni b/components/signin/features.gni
--- a/components/signin/features.gni
+++ b/components/signin/features.gni
@@ -1025,7 +1025,7 @@ diff --git a/components/signin/internal/identity_manager/gaia_cookie_manager_ser
DCHECK(!cookie_listener_receiver_.is_bound());
network::mojom::CookieManager* cookie_manager =
-@@ -846,6 +848,8 @@ void GaiaCookieManagerService::OnSetAccountsFinished(
+@@ -859,6 +861,8 @@ void GaiaCookieManagerService::OnSetAccountsFinished(
}
void GaiaCookieManagerService::HandleNextRequest() {
diff --git a/build/patches/allow-the-download-of-clang-for-windows-crossbuild.patch b/build/patches/allow-the-download-of-clang-for-windows-crossbuild.patch
index a4b79efc..3ac09edc 100644
--- a/build/patches/allow-the-download-of-clang-for-windows-crossbuild.patch
+++ b/build/patches/allow-the-download-of-clang-for-windows-crossbuild.patch
@@ -23,7 +23,7 @@ diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
"""
import sys
-@@ -251,7 +253,7 @@ def DownloadAndUnpackClangWinRuntime(output_dir):
+@@ -261,7 +263,7 @@ def DownloadAndUnpackClangWinRuntime(output_dir):
def UpdatePackage(package_name,
@@ -32,7 +32,7 @@ diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
preserve_gcs_signature,
dir=LLVM_BUILD_DIR):
stamp_file = None
-@@ -285,6 +287,8 @@ def UpdatePackage(package_name,
+@@ -295,6 +297,8 @@ def UpdatePackage(package_name,
target_os = env.get('target_os', target_os)
except:
pass
@@ -41,7 +41,7 @@ diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
if os.path.exists(OLD_STAMP_FILE):
# Delete the old stamp file so it doesn't look like an old version of clang
-@@ -302,7 +306,7 @@ def UpdatePackage(package_name,
+@@ -312,7 +316,7 @@ def UpdatePackage(package_name,
# Updating the main clang package nukes the output dir. Any other packages
# need to be updated *after* the clang package.
@@ -50,7 +50,7 @@ diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
RmTree(dir)
DownloadAndUnpackPackage(package_file, dir, host_os)
-@@ -350,6 +354,8 @@ def main():
+@@ -360,6 +364,8 @@ def main():
parser.add_argument('--print-clang-version', action='store_true',
help=('Print current clang release version (e.g. 9.0.0) '
'and exit.'))
@@ -59,7 +59,7 @@ diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
parser.add_argument('--preserve-gcs-signature',
action='store_true',
help='By default, this script removes gcs hash files '
-@@ -392,7 +398,7 @@ def main():
+@@ -402,7 +408,7 @@ def main():
print('--llvm-force-head-revision can only be used for --print-revision')
return 1
diff --git a/build/patches/autofill-miscellaneous.patch b/build/patches/autofill-miscellaneous.patch
index 17a56fa3..55550176 100644
--- a/build/patches/autofill-miscellaneous.patch
+++ b/build/patches/autofill-miscellaneous.patch
@@ -41,7 +41,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/AutofillOptions
diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc
--- a/chrome/browser/password_manager/chrome_password_manager_client.cc
+++ b/chrome/browser/password_manager/chrome_password_manager_client.cc
-@@ -1093,10 +1093,6 @@ ChromePasswordManagerClient::GetHttpAuthManager() {
+@@ -1126,10 +1126,6 @@ ChromePasswordManagerClient::GetHttpAuthManager() {
autofill::AutofillCrowdsourcingManager*
ChromePasswordManagerClient::GetAutofillCrowdsourcingManager() {
@@ -55,7 +55,7 @@ diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b
diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/browser/ui/autofill/chrome_autofill_client.cc
--- a/chrome/browser/ui/autofill/chrome_autofill_client.cc
+++ b/chrome/browser/ui/autofill/chrome_autofill_client.cc
-@@ -403,15 +403,6 @@ ChromeAutofillClient::GetURLLoaderFactory() {
+@@ -456,15 +456,6 @@ ChromeAutofillClient::GetURLLoaderFactory() {
->GetURLLoaderFactoryForBrowserProcess();
}
@@ -74,7 +74,7 @@ diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/brows
diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.h b/chrome/browser/ui/autofill/chrome_autofill_client.h
--- a/chrome/browser/ui/autofill/chrome_autofill_client.h
+++ b/chrome/browser/ui/autofill/chrome_autofill_client.h
-@@ -112,7 +112,6 @@ class ChromeAutofillClient : public ContentAutofillClient,
+@@ -115,7 +115,6 @@ class ChromeAutofillClient : public ContentAutofillClient,
version_info::Channel GetChannel() const final;
bool IsOffTheRecord() const final;
scoped_refptr GetURLLoaderFactory() final;
@@ -112,8 +112,8 @@ diff --git a/components/android_autofill/browser/android_autofill_client.h b/com
scoped_refptr GetURLLoaderFactory() final;
- autofill::AutofillCrowdsourcingManager& GetCrowdsourcingManager() final;
autofill::VotesUploader& GetVotesUploader() override;
+ bool HasPersonalDataManager() const final;
autofill::PersonalDataManager& GetPersonalDataManager() final;
- autofill::ValuablesDataManager* GetValuablesDataManager() override;
diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc b/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc
--- a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc
+++ b/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.cc
@@ -232,7 +232,7 @@ diff --git a/components/autofill/core/browser/crowdsourcing/votes_uploader.cc b/
diff --git a/components/autofill/core/browser/foundations/autofill_client.h b/components/autofill/core/browser/foundations/autofill_client.h
--- a/components/autofill/core/browser/foundations/autofill_client.h
+++ b/components/autofill/core/browser/foundations/autofill_client.h
-@@ -315,10 +315,6 @@ class AutofillClient {
+@@ -321,10 +321,6 @@ class AutofillClient {
// Returns the VotesUploader.
virtual VotesUploader& GetVotesUploader() = 0;
@@ -240,13 +240,13 @@ diff --git a/components/autofill/core/browser/foundations/autofill_client.h b/co
- // Autofill server.
- virtual AutofillCrowdsourcingManager& GetCrowdsourcingManager() = 0;
-
- // Gets the PersonalDataManager instance associated with the original Chrome
- // profile.
- // To distinguish between (non-)incognito mode when deciding to persist data,
+ // Returns whether the client has a PersonalDataManager.
+ //
+ // TODO(crbug.cm/455121491) This is a temporary fix to avoid crashes when
diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/components/autofill/core/browser/foundations/autofill_manager.cc
--- a/components/autofill/core/browser/foundations/autofill_manager.cc
+++ b/components/autofill/core/browser/foundations/autofill_manager.cc
-@@ -305,17 +305,6 @@ void AutofillManager::OnFormsParsed(const std::vector& forms) {
+@@ -306,17 +306,6 @@ void AutofillManager::OnFormsParsed(const std::vector& forms) {
if (base::FeatureList::IsEnabled(features::test::kShowDomNodeIDs)) {
driver().ExposeDomNodeIdsInAllFrames();
}
@@ -258,7 +258,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/
- // server response is processed, to ensure server predictions are not lost.
- client().GetCrowdsourcingManager().StartQueryRequest(
- queryable_forms, driver().GetIsolationInfo(),
-- AfterParsingFinishes(base::BindOnce(
+- AfterParsingFinishesDeprecated(base::BindOnce(
- &AutofillManager::OnLoadedServerPredictions, GetWeakPtr())));
- }
}
@@ -267,7 +267,7 @@ diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/
diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc
--- a/components/autofill/core/common/autofill_features.cc
+++ b/components/autofill/core/common/autofill_features.cc
-@@ -933,6 +933,8 @@ BASE_FEATURE(kAutofillUnionTypesSingleTypeInAutofillInformation,
+@@ -1007,6 +1007,8 @@ BASE_FEATURE(kAutofillUnionTypesSingleTypeInAutofillInformation,
// to be launched.
BASE_FEATURE(kAutofillUploadThrottling, base::FEATURE_ENABLED_BY_DEFAULT);
@@ -288,7 +288,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterIntegerPref(
kAutofillLastVersionDeduped, 0,
-@@ -43,10 +43,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -49,10 +49,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
kAutofillHasSeenIban, false,
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(
@@ -301,7 +301,7 @@ diff --git a/components/autofill/core/common/autofill_prefs.cc b/components/auto
user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);
registry->RegisterBooleanPref(
kAutofillPaymentCardBenefits, true,
-@@ -98,7 +98,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
+@@ -104,7 +104,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
#endif
// Deprecated prefs registered for migration.
diff --git a/build/patches/bromite-build-utils.patch b/build/patches/bromite-build-utils.patch
index c67291a7..4762378a 100644
--- a/build/patches/bromite-build-utils.patch
+++ b/build/patches/bromite-build-utils.patch
@@ -41,24 +41,24 @@ diff --git a/build/android/gyp/java_cpp_enum.py b/build/android/gyp/java_cpp_enu
single_line_comment_re = re.compile(r'\s*//\s*([^\n]*)')
multi_line_comment_start_re = re.compile(r'\s*/\*')
enum_line_re = re.compile(r'^\s*(\w+)(\s*\=\s*([^,\n]+))?,?')
-@@ -236,7 +237,7 @@ class HeaderParser:
+@@ -230,7 +231,7 @@ class HeaderParser:
enum_single_line_re = re.compile(
r'^\s*(?:\[cpp.*\])?\s*enum.*{(?P.*)}.*$')
- def __init__(self, lines, path=''):
+ def __init__(self, lines, options, path=''):
- self._lines = lines
+ self._lines = java_cpp_utils.PreprocessIfBlocks(lines)
self._path = path
self._enum_definitions = []
-@@ -257,6 +258,7 @@ class HeaderParser:
+@@ -240,6 +241,7 @@ class HeaderParser:
self._generator_directives = DirectiveSet()
self._multi_line_generator_directive = None
self._current_enum_entry = ''
+ self._options = options
- def _ShouldIgnoreLine(self):
- return self._in_preprocessor_block and not all(self._in_buildflag_android)
-@@ -303,6 +305,24 @@ class HeaderParser:
+ def _ApplyGeneratorDirectives(self):
+ self._generator_directives.UpdateDefinition(self._current_definition)
+@@ -266,6 +268,24 @@ class HeaderParser:
raise Exception('Multi-line comments in enums are not supported in ' +
self._path)
@@ -83,7 +83,7 @@ diff --git a/build/android/gyp/java_cpp_enum.py b/build/android/gyp/java_cpp_enu
enum_comment = HeaderParser.single_line_comment_re.match(line)
if enum_comment:
comment = enum_comment.groups()[0]
-@@ -404,9 +424,9 @@ class HeaderParser:
+@@ -367,9 +387,9 @@ class HeaderParser:
self._ParseSingleLineEnum(single_line_enum.group('enum_entries'))
@@ -95,7 +95,7 @@ diff --git a/build/android/gyp/java_cpp_enum.py b/build/android/gyp/java_cpp_enu
if not enum_definitions:
raise Exception('No enums found in %s\n'
'Did you forget prefixing enums with '
-@@ -419,9 +439,9 @@ def DoGenerate(source_paths):
+@@ -382,9 +402,9 @@ def DoGenerate(source_paths):
yield output_path, output
@@ -107,7 +107,7 @@ diff --git a/build/android/gyp/java_cpp_enum.py b/build/android/gyp/java_cpp_enu
def GenerateOutput(source_path, enum_definition):
-@@ -507,11 +527,16 @@ def DoMain(argv):
+@@ -470,11 +490,16 @@ def DoMain(argv):
nargs='+',
help='Path to at least one input file.')
@@ -424,7 +424,7 @@ new file mode 100644
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
--- a/build/config/BUILDCONFIG.gn
+++ b/build/config/BUILDCONFIG.gn
-@@ -835,3 +835,5 @@ if (is_component_build) {
+@@ -834,3 +834,5 @@ if (is_component_build) {
set_defaults("component") {
configs = default_component_configs
}
diff --git a/build/patches/disable-WebView-variations-support.patch b/build/patches/disable-WebView-variations-support.patch
index 1f71c2f4..a470dbdf 100644
--- a/build/patches/disable-WebView-variations-support.patch
+++ b/build/patches/disable-WebView-variations-support.patch
@@ -12,7 +12,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java
--- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java
+++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumAwInit.java
-@@ -620,13 +620,6 @@ public class WebViewChromiumAwInit {
+@@ -667,13 +667,6 @@ public class WebViewChromiumAwInit {
}
AwBrowserProcess.configureChildProcessLauncher();
@@ -29,7 +29,7 @@ diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewC
diff --git a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
--- a/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
+++ b/android_webview/glue/java/src/com/android/webview/chromium/WebViewChromiumFactoryProvider.java
-@@ -676,10 +676,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider {
+@@ -687,10 +687,6 @@ public class WebViewChromiumFactoryProvider implements WebViewFactoryProvider {
// This must happen after pref value has been read and SafeMode setup has completed.
setupStartupTaskExperiments(androidXConfig);
diff --git a/build/patches/disable-appending-variations-header.patch b/build/patches/disable-appending-variations-header.patch
index 0395130c..461c58d7 100644
--- a/build/patches/disable-appending-variations-header.patch
+++ b/build/patches/disable-appending-variations-header.patch
@@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
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
-@@ -120,10 +120,7 @@ URLValidationResult GetUrlValidationResult(const GURL& url) {
+@@ -119,10 +119,7 @@ URLValidationResult GetUrlValidationResult(const GURL& url) {
// Also, logs the result of validating |url| in histograms, one of which ends in
// |suffix|.
bool ShouldAppendVariationsHeader(const GURL& url, const std::string& suffix) {
diff --git a/build/patches/do-not-block-build-incompatible-profiles.patch b/build/patches/do-not-block-build-incompatible-profiles.patch
index ddccbac7..31b9f2a7 100644
--- a/build/patches/do-not-block-build-incompatible-profiles.patch
+++ b/build/patches/do-not-block-build-incompatible-profiles.patch
@@ -10,7 +10,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
diff --git a/v8/BUILD.gn b/v8/BUILD.gn
--- a/v8/BUILD.gn
+++ b/v8/BUILD.gn
-@@ -2618,7 +2618,7 @@ template("run_mksnapshot") {
+@@ -2619,7 +2619,7 @@ template("run_mksnapshot") {
# Replace this with --warn-about-builtin-profile-data to see the full
# list of builtins with incompatible profiles.
diff --git a/build/patches/enable-ftrivial-auto-var-init-zero.patch b/build/patches/enable-ftrivial-auto-var-init-zero.patch
index 26c5d0a4..475345ef 100644
--- a/build/patches/enable-ftrivial-auto-var-init-zero.patch
+++ b/build/patches/enable-ftrivial-auto-var-init-zero.patch
@@ -11,7 +11,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
-@@ -459,6 +459,10 @@ config("compiler") {
+@@ -471,6 +471,10 @@ config("compiler") {
cflags += [ "-fwrapv" ]
}
diff --git a/build/patches/eyeo-133.0.6943.49-android_api.patch b/build/patches/eyeo-133.0.6943.49-android_api.patch
index f9c9399a..882b1aeb 100644
--- a/build/patches/eyeo-133.0.6943.49-android_api.patch
+++ b/build/patches/eyeo-133.0.6943.49-android_api.patch
@@ -97,7 +97,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
import("//build/config/android/config.gni")
import("//build/config/cronet/config.gni")
-@@ -555,6 +558,7 @@ if (_is_default_toolchain) {
+@@ -556,6 +559,7 @@ if (_is_default_toolchain) {
"//chrome/browser/xsurface:java",
"//chrome/browser/xsurface_provider:dependency_provider_impl_java",
"//chrome/browser/xsurface_provider:java",
@@ -105,7 +105,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//components/android_autofill/browser:features_java",
"//components/android_autofill/browser:java",
"//components/autofill/android:autofill_features_java",
-@@ -1407,6 +1411,7 @@ if (_is_default_toolchain) {
+@@ -1412,6 +1416,7 @@ if (_is_default_toolchain) {
"javatests:chrome_test_java_org.chromium.chrome.browser.toolbar",
"javatests:chrome_test_java_org.chromium.chrome.browser.webapps",
"javatests:chrome_test_java_various",
@@ -113,7 +113,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//chrome/browser/android/browserservices/verification:javatests",
"//chrome/browser/android/httpclient:javatests",
"//chrome/browser/android/metrics:ukm_javatests",
-@@ -1477,6 +1482,7 @@ if (_is_default_toolchain) {
+@@ -1482,6 +1487,7 @@ if (_is_default_toolchain) {
"//chrome/test/data/translate/",
"//chrome/test/data/webauthn/",
"//chrome/test/media_router/resources/",
@@ -121,7 +121,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
"//components/test/data/autofill/",
"//components/test/data/payments/",
"//content/test/data/browsing_data/",
-@@ -3277,6 +3283,12 @@ if (_is_default_toolchain) {
+@@ -3285,6 +3291,12 @@ if (_is_default_toolchain) {
sources += [ "java/src/org/chromium/chrome/browser/media/MediaCapturePickerDialogBridge.java" ]
}
@@ -134,7 +134,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
# Used for testing only, should not be shipped to end users.
if (enable_offline_pages_harness) {
sources += [ "java/src/org/chromium/chrome/browser/offlinepages/evaluation/OfflinePageEvaluationBridge.java" ]
-@@ -3368,6 +3380,7 @@ if (_is_default_toolchain) {
+@@ -3377,6 +3389,7 @@ if (_is_default_toolchain) {
"//chrome/browser/ui/plus_addresses/android:jni_headers",
"//chrome/browser/util:jni_headers",
"//chrome/browser/webauthn/android:jni_headers",
@@ -155,9 +155,9 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
import("//content/public/common/features.gni")
-@@ -57,6 +60,7 @@ chrome_java_sources = [
- "java/src/org/chromium/chrome/browser/accessibility/PageZoomIphController.java",
+@@ -58,6 +61,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/accessibility/settings/AccessibilitySettingsBridge.java",
+ "java/src/org/chromium/chrome/browser/accessibility/settings/CaretBrowsingDialog.java",
"java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java",
+ "java/src/org/chromium/chrome/browser/adblock/TabIdTranslator.java",
"java/src/org/chromium/chrome/browser/ai/AiAssistantService.java",
@@ -207,7 +207,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
-@@ -3397,6 +3397,10 @@ static_library("browser") {
+@@ -3381,6 +3381,10 @@ static_library("browser") {
]
deps += [ "//chrome/browser/password_entry_edit/android" ]
@@ -267,7 +267,7 @@ new file mode 100644
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
-@@ -1039,6 +1039,12 @@ static_library("ui") {
+@@ -1050,6 +1050,12 @@ static_library("ui") {
deps += [
"//components/themes:ntp_background_proto",
]
diff --git a/build/patches/eyeo-133.0.6943.49-android_settings.patch b/build/patches/eyeo-133.0.6943.49-android_settings.patch
index 1d0c46b5..a0919cfb 100644
--- a/build/patches/eyeo-133.0.6943.49-android_settings.patch
+++ b/build/patches/eyeo-133.0.6943.49-android_settings.patch
@@ -40,7 +40,6 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module and Android API
.../settings/AdblockFilterListsFragment.java | 57 ++++
.../settings/AdblockMoreOptionsFragment.java | 34 +++
.../settings/AdblockSettingsFragment.java | 162 ++++++++++++
- .../adblock/AdblockFilterFragmentTest.java | 129 +++++++++
.../translations/adblock_strings_af.xtb | 4 +
.../translations/adblock_strings_am.xtb | 13 +
.../translations/adblock_strings_ar.xtb | 13 +
@@ -121,7 +120,8 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module and Android API
.../translations/adblock_strings_zh-HK.xtb | 4 +
.../translations/adblock_strings_zh-TW.xtb | 13 +
.../translations/adblock_strings_zu.xtb | 4 +
- 115 files changed, 2349 insertions(+)
+ 114 files changed, 2220 insertions(+)
+ create mode 100644 chrome/browser/adblock/android/BUILD.gn
create mode 100644 chrome/browser/adblock/android/README.md
create mode 100644 chrome/browser/adblock/android/adblock_strings.grd
create mode 100644 chrome/browser/adblock/android/java/res/drawable-hdpi/fragment_adblock_custom_item_add.png
@@ -153,7 +153,6 @@ Pre-requisites: eyeo Browser Ad filtering Solution: Base Module and Android API
create mode 100644 chrome/browser/adblock/android/java/src/org/chromium/chrome/browser/adblock/settings/AdblockFilterListsFragment.java
create mode 100644 chrome/browser/adblock/android/java/src/org/chromium/chrome/browser/adblock/settings/AdblockMoreOptionsFragment.java
create mode 100644 chrome/browser/adblock/android/java/src/org/chromium/chrome/browser/adblock/settings/AdblockSettingsFragment.java
- create mode 100644 chrome/browser/adblock/android/javatests/src/org/chromium/chrome/browser/adblock/AdblockFilterFragmentTest.java
create mode 100644 chrome/browser/adblock/android/translations/adblock_strings_af.xtb
create mode 100644 chrome/browser/adblock/android/translations/adblock_strings_am.xtb
create mode 100644 chrome/browser/adblock/android/translations/adblock_strings_ar.xtb
@@ -249,7 +248,7 @@ diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
if (enable_extensions_core) {
deps += [ "//chrome/browser/ui/android/extensions:java_resources" ]
}
-@@ -815,6 +819,10 @@ if (_is_default_toolchain) {
+@@ -818,6 +822,10 @@ if (_is_default_toolchain) {
"//chrome/browser/password_entry_edit:public_java",
]
@@ -286,36 +285,26 @@ diff --git a/chrome/android/java/res/xml/main_preferences.xml b/chrome/android/j
.
+
-+ deps += [
-+ "//components/messages/android:java",
-+ "//third_party/mockito:mockito_java",
-+ ]
-+
-+ ### Android UI module end
-
- deps += [
- "//base:base_java",
-@@ -76,4 +88,77 @@ android_library("adblock_java_tests") {
- "//url:gurl_java",
- ]
-
-+ ### Android UI module start
-+ deps += [ ":adblock_ui_java" ]
-+
-+ ### Android UI module end
-+}
++import("//build/config/android/rules.gni")
++import("//build/config/locales.gni")
++import("//third_party/jni_zero/jni_zero.gni")
++import("//tools/grit/grit_rule.gni")
+
+### Android UI module start
+android_library("adblock_ui_java") {
@@ -383,7 +372,7 @@ diff --git a/chrome/browser/adblock/android/BUILD.gn b/chrome/browser/adblock/an
+ process_file_template(
+ android_bundle_locales_as_resources,
+ [ "values-{{source_name_part}}/adblock_strings.xml" ])
- }
++}
+### Android UI module end
diff --git a/chrome/browser/adblock/android/README.md b/chrome/browser/adblock/android/README.md
new file mode 100644
@@ -2178,140 +2167,6 @@ new file mode 100644
+ synchronizePreferences();
+ }
+}
-diff --git a/chrome/browser/adblock/android/javatests/src/org/chromium/chrome/browser/adblock/AdblockFilterFragmentTest.java b/chrome/browser/adblock/android/javatests/src/org/chromium/chrome/browser/adblock/AdblockFilterFragmentTest.java
-new file mode 100644
---- /dev/null
-+++ b/chrome/browser/adblock/android/javatests/src/org/chromium/chrome/browser/adblock/AdblockFilterFragmentTest.java
-@@ -0,0 +1,129 @@
-+/*
-+ * This file is part of eyeo Chromium SDK,
-+ * Copyright (C) 2006-present eyeo GmbH
-+ *
-+ * eyeo Chromium SDK is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 3 as
-+ * published by the Free Software Foundation.
-+ *
-+ * eyeo Chromium SDK is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with eyeo Chromium SDK. If not, see .
-+ */
-+
-+package org.chromium.chrome.browser.adblock;
-+
-+import static org.mockito.Mockito.when;
-+
-+import android.util.Pair;
-+import android.view.View;
-+import android.widget.CheckBox;
-+
-+import androidx.test.filters.SmallTest;
-+
-+import org.junit.Assert;
-+import org.junit.Before;
-+import org.junit.Rule;
-+import org.junit.Test;
-+import org.junit.runner.RunWith;
-+import org.mockito.Mock;
-+import org.mockito.MockitoAnnotations;
-+
-+import org.chromium.base.ThreadUtils;
-+import org.chromium.base.test.util.ApplicationTestUtils;
-+import org.chromium.base.test.util.CommandLineFlags;
-+import org.chromium.base.test.util.Feature;
-+import org.chromium.chrome.browser.adblock.settings.AdblockFilterListsFragment;
-+import org.chromium.chrome.browser.flags.ChromeSwitches;
-+import org.chromium.chrome.browser.settings.SettingsActivityTestRule;
-+import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
-+import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
-+import org.chromium.components.adblock.AdblockController;
-+import org.chromium.components.adblock.AdblockController.Subscription;
-+
-+import java.net.MalformedURLException;
-+import java.net.URL;
-+import java.util.Arrays;
-+import java.util.HashMap;
-+import java.util.Map;
-+
-+@RunWith(ChromeJUnit4ClassRunner.class)
-+@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE})
-+public class AdblockFilterFragmentTest {
-+ @Mock private AdblockController mAdblockControllerMock;
-+
-+ @Rule
-+ public final ChromeTabbedActivityTestRule mActivityTestRule =
-+ new ChromeTabbedActivityTestRule();
-+
-+ @Rule
-+ public SettingsActivityTestRule mTestRule =
-+ new SettingsActivityTestRule<>(AdblockFilterListsFragment.class);
-+
-+ @Before
-+ public void setUp() throws Exception {
-+ MockitoAnnotations.initMocks(this);
-+ mActivityTestRule.startMainActivityOnBlankPage();
-+ mTestRule.startSettingsActivity();
-+ ApplicationTestUtils.finishActivity(mTestRule.getActivity());
-+ }
-+
-+ @Test
-+ @SmallTest
-+ @Feature({"adblock"})
-+ public void testLanguageFiltersNotEmpty() {
-+ mTestRule.startSettingsActivity();
-+ final AdblockFilterListsFragment fragment = mTestRule.getFragment();
-+ Assert.assertNotNull(fragment);
-+ Assert.assertNotEquals(0, fragment.getListView().getCount());
-+ }
-+
-+ @Test
-+ @SmallTest
-+ @Feature({"adblock"})
-+ public void testAutoInstalledFilterListsCheckbox() throws MalformedURLException {
-+ AdblockController.setInstanceForTesting(mAdblockControllerMock);
-+ final String autoInstalledUrl = "https://auto_installed.com";
-+ final String manuallyInstalledUrl = "https://manually_installed.com";
-+ final String recommendedUrl = "https://some_recommendation.com";
-+ final Subscription autoInstalled =
-+ new Subscription(new URL(autoInstalledUrl), "auto", "", new String[] {}, true);
-+ final Subscription manuallyInstalled =
-+ new Subscription(
-+ new URL(manuallyInstalledUrl), "manual", "", new String[] {}, false);
-+ final Subscription recommended =
-+ new Subscription(
-+ new URL(recommendedUrl), "recommended", "", new String[] {}, false);
-+ when(mAdblockControllerMock.getRecommendedSubscriptions())
-+ .thenReturn(Arrays.asList(autoInstalled, manuallyInstalled, recommended));
-+ when(mAdblockControllerMock.getInstalledSubscriptions())
-+ .thenReturn(Arrays.asList(autoInstalled, manuallyInstalled));
-+ mTestRule.startSettingsActivity();
-+ final AdblockFilterListsFragment fragment = mTestRule.getFragment();
-+ Assert.assertNotNull(fragment);
-+ Assert.assertEquals(3, fragment.getListView().getCount());
-+
-+ ThreadUtils.runOnUiThreadBlocking(
-+ () -> {
-+ // Map: filter list URL => Pair(checkbox marked, checkbox enabled)
-+ final Map> expectations = new HashMap<>();
-+ expectations.put(autoInstalledUrl, new Pair<>(true, false));
-+ expectations.put(manuallyInstalledUrl, new Pair<>(true, true));
-+ expectations.put(recommendedUrl, new Pair<>(false, true));
-+ for (int i = 0; i < fragment.getListView().getCount(); i++) {
-+ final View view = fragment.getListView().getChildAt(i);
-+ final CheckBox checkBox = view.findViewById(R.id.checkbox);
-+ Assert.assertEquals(
-+ expectations.get(view.getTag().toString()).first,
-+ checkBox.isChecked());
-+ Assert.assertEquals(
-+ expectations.get(view.getTag().toString()).second,
-+ checkBox.isEnabled());
-+ }
-+ });
-+ }
-+}
diff --git a/chrome/browser/adblock/android/translations/adblock_strings_af.xtb b/chrome/browser/adblock/android/translations/adblock_strings_af.xtb
new file mode 100644
--- /dev/null
diff --git a/build/patches/eyeo-133.0.6943.49-base.patch b/build/patches/eyeo-133.0.6943.49-base.patch
index 20e6f1c5..03f40bfb 100644
--- a/build/patches/eyeo-133.0.6943.49-base.patch
+++ b/build/patches/eyeo-133.0.6943.49-base.patch
@@ -700,7 +700,7 @@ Based on Chromium 133.0.6943.49
diff --git a/DEPS b/DEPS
--- a/DEPS
+++ b/DEPS
-@@ -292,6 +292,7 @@ vars = {
+@@ -295,6 +295,7 @@ vars = {
'download_libvpx_testdata': False,
'android_git': 'https://android.googlesource.com',
@@ -708,7 +708,7 @@ diff --git a/DEPS b/DEPS
'aomedia_git': 'https://aomedia.googlesource.com',
'boringssl_git': 'https://boringssl.googlesource.com',
'chrome_git': 'https://chrome-internal.googlesource.com',
-@@ -535,6 +536,11 @@ vars = {
+@@ -538,6 +539,11 @@ vars = {
# and whatever else without interference from each other.
'clusterfuzz_data_revision':'392cb8a05c3db5963d09b615987fe5fcb081088e',
@@ -719,8 +719,8 @@ diff --git a/DEPS b/DEPS
+
# If you change this, also update the libc++ revision in
# //buildtools/deps_revisions.gni.
- 'libcxx_revision': 'b77132b512d5411f8393fd3decb3abaeaf1d3ec8',
-@@ -1623,6 +1629,10 @@ deps = {
+ 'libcxx_revision': '8cd54f6b0741cdef08299711668e6b25fef26406',
+@@ -1626,6 +1632,10 @@ deps = {
'condition': 'checkout_android and checkout_src_internal',
},
@@ -729,7 +729,7 @@ diff --git a/DEPS b/DEPS
+ },
+
'src/docs/website': {
- 'url': Var('chromium_git') + '/website.git' + '@' + '3913dbd6fdde06b914d0e1119fcc884f8115e4f8',
+ 'url': Var('chromium_git') + '/website.git' + '@' + '2acb551cf58ff3b6e6a093fe36deb8c625046900',
},
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
@@ -796,7 +796,7 @@ diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restri
namespace ash {
class LoginEventRecorder;
class StartupCustomizationDocument;
-@@ -656,6 +663,8 @@ class BASE_EXPORT ScopedAllowBlocking {
+@@ -657,6 +664,8 @@ class BASE_EXPORT ScopedAllowBlocking {
friend class ::BrowserStateDirectoryBuilder;
#endif
@@ -808,7 +808,7 @@ diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restri
diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h
--- a/base/trace_event/builtin_categories.h
+++ b/base/trace_event/builtin_categories.h
-@@ -136,6 +136,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS(
+@@ -139,6 +139,7 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS(
"Traces for the extension file (content) verification process at "
"//extensions/browser/content_verifier.").SetTags("debug"),
perfetto::Category("explore_sites"),
@@ -827,7 +827,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
"//components/affiliations/core/browser:unit_tests",
"//components/aggregation_service:unit_tests",
"//components/apdu:unit_tests",
-@@ -982,6 +983,7 @@ test("components_unittests") {
+@@ -986,6 +987,7 @@ test("components_unittests") {
repack("components_tests_pak") {
sources = [
@@ -835,7 +835,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
"$root_gen_dir/components/arc/input_overlay_resources.pak",
"$root_gen_dir/components/autofill/core/browser/geo/autofill_address_rewriter_resources.pak",
"$root_gen_dir/components/components_resources.pak",
-@@ -1000,6 +1002,7 @@ repack("components_tests_pak") {
+@@ -1004,6 +1006,7 @@ repack("components_tests_pak") {
# TODO(b/207518736): Input overlay resources will be changed to proto soon,
# thus not going to move this resource pak to under ash.
"//chromeos/ash/experiences/arc/input_overlay/resources:resources_grit",
@@ -843,7 +843,7 @@ diff --git a/components/BUILD.gn b/components/BUILD.gn
"//components/autofill/core/browser:autofill_address_rewriter_resources",
"//components/metrics:server_urls_grd",
"//components/omnibox/resources:omnibox_pedal_synonyms",
-@@ -1105,6 +1108,7 @@ if (use_blink) {
+@@ -1109,6 +1112,7 @@ if (use_blink) {
deps = [
"//base",
"//base/test:test_support",
@@ -50243,7 +50243,7 @@ diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/brow
#include "content/browser/loader/navigation_url_loader_impl.h"
#include