[Android] New argument at BottomControls***.ctor classes - browserControlsVisibilityDelegate
- new argument at BottomControlsMediator.ctor - browserControlsVisibilityDelegate - new argment at BottomControlsCoordinator.ctor - browserControlsVisibilityDelegate Related Chromium change: https://source.chromium.org/chromium/chromium/src/+/d813d2e1ad66f8954e2e1da0821fa55eb9a21a70 Force browser controls to show up when creating new tab group When tab group is created via long press context menu, it'll triggers SimpleAnimationLayout then shows the tab group. This flow will detach the current tab and add it back; during this process, the new browser controls height, which is changed due to tab group UI being added, does not dispatched to the render. This causes a bug when the tab is reattached and becomes interactable, the offset read from TabBrowserControlsOffsetHelper is stale, leaving the tab group UI scene layer on the screen. This CL work around this by forcing the browser controls to be visible when the tab group UI becomes from hidden to visible. This has no impact to flows other than context menu -> "open new tab in group", as switching tabs will force browser controls to show transiently already. Bug: 357398783 Change-Id: I419b9303b033f0f621956952bc61c56a199fc338 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5809240
This commit is contained in:
@@ -30,6 +30,7 @@ import org.chromium.chrome.browser.bookmarks.BookmarkModel;
|
||||
import org.chromium.chrome.browser.brave_leo.BraveLeoActivity;
|
||||
import org.chromium.chrome.browser.browser_controls.BottomControlsStacker;
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserControlsVisibilityManager;
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserStateBrowserControlsVisibilityDelegate;
|
||||
import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
||||
import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator;
|
||||
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerImpl;
|
||||
@@ -294,6 +295,10 @@ public class BraveToolbarManager extends ToolbarManager {
|
||||
|
||||
mContentDelegateSupplier.set(mTabGroupUi);
|
||||
|
||||
BrowserStateBrowserControlsVisibilityDelegate controlsVisibilityDelegate =
|
||||
mBrowserControlsVisibilityManager.getBrowserVisibilityDelegate();
|
||||
assert controlsVisibilityDelegate != null;
|
||||
|
||||
mBottomControlsCoordinatorSupplier.set(
|
||||
new BraveBottomControlsCoordinator(
|
||||
mLayoutStateProviderSupplier,
|
||||
@@ -317,6 +322,7 @@ public class BraveToolbarManager extends ToolbarManager {
|
||||
mLayoutManager,
|
||||
mCompositorViewHolder.getResourceManager(),
|
||||
mBottomControlsStacker,
|
||||
controlsVisibilityDelegate,
|
||||
mFullscreenManager,
|
||||
mEdgeToEdgeControllerSupplier,
|
||||
mBottomControls,
|
||||
|
||||
+3
@@ -21,6 +21,7 @@ import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.ActivityTabProvider;
|
||||
import org.chromium.chrome.browser.bookmarks.BookmarkModel;
|
||||
import org.chromium.chrome.browser.browser_controls.BottomControlsStacker;
|
||||
import org.chromium.chrome.browser.browser_controls.BrowserStateBrowserControlsVisibilityDelegate;
|
||||
import org.chromium.chrome.browser.compositor.layouts.LayoutManagerImpl;
|
||||
import org.chromium.chrome.browser.fullscreen.FullscreenManager;
|
||||
import org.chromium.chrome.browser.layouts.LayoutManager;
|
||||
@@ -68,6 +69,7 @@ public class BraveBottomControlsCoordinator extends BottomControlsCoordinator {
|
||||
LayoutManager layoutManager,
|
||||
ResourceManager resourceManager,
|
||||
BottomControlsStacker controlsStacker,
|
||||
BrowserStateBrowserControlsVisibilityDelegate browserControlsVisibilityDelegate,
|
||||
FullscreenManager fullscreenManager,
|
||||
ObservableSupplier<EdgeToEdgeController> edgeToEdgeControllerSupplier,
|
||||
ScrollingBottomViewResourceFrameLayout root,
|
||||
@@ -82,6 +84,7 @@ public class BraveBottomControlsCoordinator extends BottomControlsCoordinator {
|
||||
layoutManager,
|
||||
resourceManager,
|
||||
controlsStacker,
|
||||
browserControlsVisibilityDelegate,
|
||||
fullscreenManager,
|
||||
edgeToEdgeControllerSupplier,
|
||||
root,
|
||||
|
||||
Reference in New Issue
Block a user