[cr144][Android] New arg hierarchicalMenuController at AppMenu.ctor
Chromium change: https://source.chromium.org/chromium/chromium/src/+/828199472d91584dcdc29b5d85587bfe3326df42 flyout: AppMenu: Implement FlyoutHandler for AppMenu This CL implements flyoutHandler for app menu so that flyout can be used to display submenus in app menu. Because we want to use `AnchoredPopupWindow` for the flyout popups but also use `PopupWindow` for the main menu, we create a wrapper type `AppMenuPopup` and provide a common interface so that `HierarchicalMenuController` can control both. This change is behind the flag #submenus-in-app-menu, and there should be no functional change with this CL if the flag is disabled. Demo: http://screencast/cast/NTM4MTIzMDUzNDA2NjE3NnxmOGJhODgyYS1iMQ Bug: 438629323 Change-Id: I26327b1b0806b173936c6edd66ca7f0b4411076e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7058413
This commit is contained in:
+6
-2
@@ -16,6 +16,7 @@ import org.chromium.base.ContextUtils;
|
||||
import org.chromium.base.SysUtils;
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.chrome.browser.ui.appmenu.internal.R;
|
||||
import org.chromium.ui.hierarchicalmenu.HierarchicalMenuController;
|
||||
|
||||
@NullMarked
|
||||
class BraveAppMenu extends BraveAppMenuDummySuper {
|
||||
@@ -23,8 +24,11 @@ class BraveAppMenu extends BraveAppMenuDummySuper {
|
||||
private static int sMenuHeight;
|
||||
private static int sNegativeVerticalOffsetNotTopAnchored;
|
||||
|
||||
BraveAppMenu(AppMenuHandlerImpl handler, Resources res) {
|
||||
super(handler, res);
|
||||
BraveAppMenu(
|
||||
AppMenuHandlerImpl handler,
|
||||
Resources res,
|
||||
HierarchicalMenuController hierarchicalMenuController) {
|
||||
super(handler, res, hierarchicalMenuController);
|
||||
|
||||
final float scale = res.getDisplayMetrics().density;
|
||||
sNegativeVerticalOffsetNotTopAnchored =
|
||||
|
||||
+6
-2
@@ -8,6 +8,7 @@ package org.chromium.chrome.browser.ui.appmenu;
|
||||
import android.content.res.Resources;
|
||||
|
||||
import org.chromium.build.annotations.NullMarked;
|
||||
import org.chromium.ui.hierarchicalmenu.HierarchicalMenuController;
|
||||
|
||||
/*
|
||||
* This is dummy super class for BraveAppMenu.
|
||||
@@ -15,8 +16,11 @@ import org.chromium.build.annotations.NullMarked;
|
||||
*/
|
||||
@NullMarked
|
||||
class BraveAppMenuDummySuper extends AppMenu {
|
||||
BraveAppMenuDummySuper(AppMenuHandlerImpl handler, Resources res) {
|
||||
super(handler, res);
|
||||
BraveAppMenuDummySuper(
|
||||
AppMenuHandlerImpl handler,
|
||||
Resources res,
|
||||
HierarchicalMenuController hierarchicalMenuController) {
|
||||
super(handler, res, hierarchicalMenuController);
|
||||
assert false : "This class usage should be removed in the bytecode!";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user