[cr147][Android] Replace TabContextMenuItemDelegate to ContextMenuItemDelegate
Chromium changes: https://chromium.googlesource.com/chromium/src/+/08483c4fea866719a9712db5d9a2d1ed531628f4 commit 08483c4fea866719a9712db5d9a2d1ed531628f4 Author: Hitarth Kothari <hitarthkothari@google.com> Date: Mon Feb 23 12:50:37 2026 -0800 [ThinWebView] Add ThinWebViewContextMenuItemDelegate This CL adds context menu support for ThinWebView (used in the Preview/Ephemeral Tab) on Android. Key Changes: New Delegate: Implemented ThinWebViewContextMenuItemDelegate to handle actions like "Copy to clipboard" and "Open in default browser" for ThinWebView. New Menu Mode: Added ContextMenuMode.THIN_WEB_VIEW to ChromeContextMenuPopulator, providing a streamlined menu that excludes standard tab features (like "Read Later" or "Open in New Tab"). Integration: Updated EphemeralTabCoordinator and ThinWebViewImpl to initialize and pass the context menu populator factory through the UI stack. ChromeContextMenuPopulatorTest to verify correct menu item filtering for the new mode. Testing: Added comprehensive unit tests in Bug: 483656137 Change-Id: I4f293a21bd1a7eb74f90b2b06750aa7bb6473b67 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7572842 Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org> Auto-Submit: Hitarth Kothari <hitarthkothari@google.com> Reviewed-by: Jinsuk Kim <jinsukkim@chromium.org> Reviewed-by: Shakti Sahu <shaktisahu@chromium.org> Commit-Queue: Hitarth Kothari <hitarthkothari@google.com> Cr-Commit-Position: refs/heads/main@{#1588868}
This commit is contained in:
+2
-3
@@ -13,7 +13,6 @@ import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.share.ShareDelegate;
|
||||
import org.chromium.chrome.browser.shields.UrlSanitizerServiceFactory;
|
||||
import org.chromium.chrome.browser.tab.TabContextMenuItemDelegate;
|
||||
import org.chromium.components.embedder_support.contextmenu.ContextMenuItemDelegate;
|
||||
import org.chromium.components.embedder_support.contextmenu.ContextMenuNativeDelegate;
|
||||
import org.chromium.components.embedder_support.contextmenu.ContextMenuParams;
|
||||
@@ -24,12 +23,12 @@ import java.util.function.Supplier;
|
||||
|
||||
public class BraveChromeContextMenuPopulator extends ChromeContextMenuPopulator {
|
||||
// To be deleted via bytecode and super field to be used
|
||||
private TabContextMenuItemDelegate mItemDelegate;
|
||||
private ContextMenuItemDelegate mItemDelegate;
|
||||
// To be deleted via bytecode and super field to be used
|
||||
private ContextMenuParams mParams;
|
||||
|
||||
public BraveChromeContextMenuPopulator(
|
||||
TabContextMenuItemDelegate itemDelegate,
|
||||
ContextMenuItemDelegate itemDelegate,
|
||||
Supplier<ShareDelegate> shareDelegate,
|
||||
List<CustomContentAction> customContentActions,
|
||||
@ContextMenuMode int mode,
|
||||
|
||||
@@ -126,7 +126,6 @@ import org.chromium.chrome.browser.share.ShareDelegateImpl;
|
||||
import org.chromium.chrome.browser.suggestions.tile.MostVisitedTilesLayout;
|
||||
import org.chromium.chrome.browser.suggestions.tile.TileRenderer;
|
||||
import org.chromium.chrome.browser.tab.Tab;
|
||||
import org.chromium.chrome.browser.tab.TabContextMenuItemDelegate;
|
||||
import org.chromium.chrome.browser.tab.TabObscuringHandler;
|
||||
import org.chromium.chrome.browser.tab_ui.TabContentManager;
|
||||
import org.chromium.chrome.browser.tabmodel.AsyncTabParamsManager;
|
||||
@@ -196,6 +195,7 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectableListL
|
||||
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar.SearchDelegate;
|
||||
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
|
||||
import org.chromium.components.commerce.core.ShoppingService;
|
||||
import org.chromium.components.embedder_support.contextmenu.ContextMenuItemDelegate;
|
||||
import org.chromium.components.embedder_support.contextmenu.ContextMenuNativeDelegate;
|
||||
import org.chromium.components.embedder_support.contextmenu.ContextMenuParams;
|
||||
import org.chromium.components.external_intents.ExternalNavigationDelegate;
|
||||
@@ -2070,7 +2070,7 @@ public class BytecodeTest {
|
||||
constructorsMatch(
|
||||
"org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator",
|
||||
"org/chromium/chrome/browser/contextmenu/BraveChromeContextMenuPopulator",
|
||||
TabContextMenuItemDelegate.class,
|
||||
ContextMenuItemDelegate.class,
|
||||
Supplier.class,
|
||||
List.class,
|
||||
int.class,
|
||||
|
||||
Reference in New Issue
Block a user