From 727a2957570dd0f5642477b23f23b0ea3cfbc292 Mon Sep 17 00:00:00 2001 From: AlexeyBarabash Date: Tue, 31 Mar 2026 19:37:06 +0300 Subject: [PATCH] [cr148][Android] MultiInstanceOrchestratorImpl.moveTabsToWindowByIdChecked signature changed New arg bringToFront Chromium change: https://source.chromium.org/chromium/chromium/src/+/15b60a7f51080d75b18d37f6bbf83a7a39151c15 commit 15b60a7f51080d75b18d37f6bbf83a7a39151c15 Author: Lijin Shen Date: Fri Mar 27 14:06:30 2026 -0700 tabs.move on Android: allow moving tabs in the background Fixes a behavior discrepancy between Android and Desktop when moving tabs between windows via the extension API (e.g., chrome.tabs.move). Currently on Android, the destination window is always brought to the front Added a bringToFront boolean parameter to conditionally controls the call to ApiCompatibilityUtils.moveTaskToFront(). This defaults to true such that this CL won't bring any behavior change. This sets false in TabModelSelectorImpl.java such that tab.move won't activate the destination window. Bug: 495516043 Change-Id: I60e7b42794c240023669afcf3cd15f8031c16ded Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7685707 Reviewed-by: Linyu He Reviewed-by: Aishwarya Rajesh Commit-Queue: Lijin Shen Reviewed-by: Calder Kitagawa Cr-Commit-Position: refs/heads/main@{#1606471} --- .../multiwindow/BraveMultiInstanceManagerApi31.java | 6 +++++- .../BraveMultiInstanceOrchestratorImpl.java | 11 ++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/multiwindow/BraveMultiInstanceManagerApi31.java b/android/java/org/chromium/chrome/browser/multiwindow/BraveMultiInstanceManagerApi31.java index 39a84cc096c..ae3c01407b6 100644 --- a/android/java/org/chromium/chrome/browser/multiwindow/BraveMultiInstanceManagerApi31.java +++ b/android/java/org/chromium/chrome/browser/multiwindow/BraveMultiInstanceManagerApi31.java @@ -75,7 +75,11 @@ class BraveMultiInstanceManagerApi31 extends MultiInstanceManagerApi31 { } public void moveTabsToWindowByIdChecked( - int destWindowId, List tabs, int destTabIndex, int destGroupTabId) { + int destWindowId, + List tabs, + int destTabIndex, + int destGroupTabId, + boolean bringToFront) { if (mIsMoveTabsFromSettings && !tabs.isEmpty()) { mIsMoveTabsFromSettings = false; TabModelSelector selector = diff --git a/android/java/org/chromium/chrome/browser/multiwindow/BraveMultiInstanceOrchestratorImpl.java b/android/java/org/chromium/chrome/browser/multiwindow/BraveMultiInstanceOrchestratorImpl.java index 6991f860992..25323a9a061 100644 --- a/android/java/org/chromium/chrome/browser/multiwindow/BraveMultiInstanceOrchestratorImpl.java +++ b/android/java/org/chromium/chrome/browser/multiwindow/BraveMultiInstanceOrchestratorImpl.java @@ -25,12 +25,17 @@ public class BraveMultiInstanceOrchestratorImpl extends MultiInstanceOrchestrato @Override public void moveTabsToWindowByIdChecked( - int destWindowId, List tabs, int destTabIndex, int destGroupTabId) { - super.moveTabsToWindowByIdChecked(destWindowId, tabs, destTabIndex, destGroupTabId); + int destWindowId, + List tabs, + int destTabIndex, + int destGroupTabId, + boolean bringToFront) { + super.moveTabsToWindowByIdChecked( + destWindowId, tabs, destTabIndex, destGroupTabId, bringToFront); if (mBraveMultiInstanceManager != null) { mBraveMultiInstanceManager.moveTabsToWindowByIdChecked( - destWindowId, tabs, destTabIndex, destGroupTabId); + destWindowId, tabs, destTabIndex, destGroupTabId, bringToFront); } } }