[cr137] [Android] Support back button animations

Chromium change:
https://chromium.googlesource.com/chromium/src/+/47e443a0bf7813c5e0830f68a751e2efa3bfc091

[Back Button] Support animations

This CL extracts animation related logic from ToolbarTablet into
back button MVC components.

Bug: 404478528
This commit is contained in:
Artem Samoilenko
2025-05-13 15:52:46 -04:00
committed by Max Karolinskiy
parent f65f3f8d09
commit 80995a7978
3 changed files with 13 additions and 5 deletions
@@ -93,6 +93,7 @@ import org.chromium.chrome.browser.theme.ThemeUtils;
import org.chromium.chrome.browser.toolbar.ToolbarDataProvider;
import org.chromium.chrome.browser.toolbar.ToolbarProgressBar;
import org.chromium.chrome.browser.toolbar.ToolbarTabController;
import org.chromium.chrome.browser.toolbar.back_button.BackButtonCoordinator;
import org.chromium.chrome.browser.toolbar.bottom.BottomToolbarConfiguration;
import org.chromium.chrome.browser.toolbar.bottom.BottomToolbarVariationManager;
import org.chromium.chrome.browser.toolbar.home_button.HomeButton;
@@ -1503,7 +1504,8 @@ public abstract class BraveToolbarLayoutImpl extends ToolbarLayout
UserEducationHelper userEducationHelper,
ObservableSupplier<Tracker> trackerSupplier,
ToolbarProgressBar progressBar,
@Nullable ReloadButtonCoordinator reloadButtonCoordinator) {
@Nullable ReloadButtonCoordinator reloadButtonCoordinator,
@Nullable BackButtonCoordinator backButtonCoordinator) {
super.initialize(
toolbarDataProvider,
tabController,
@@ -1515,7 +1517,8 @@ public abstract class BraveToolbarLayoutImpl extends ToolbarLayout
userEducationHelper,
trackerSupplier,
progressBar,
reloadButtonCoordinator);
reloadButtonCoordinator,
backButtonCoordinator);
BraveMenuButtonCoordinator.setMenuFromBottom(
isMenuButtonOnBottomControls()
@@ -33,6 +33,7 @@ import org.chromium.chrome.browser.toolbar.ButtonDataProvider;
import org.chromium.chrome.browser.toolbar.ToolbarDataProvider;
import org.chromium.chrome.browser.toolbar.ToolbarProgressBar;
import org.chromium.chrome.browser.toolbar.ToolbarTabController;
import org.chromium.chrome.browser.toolbar.back_button.BackButtonCoordinator;
import org.chromium.chrome.browser.toolbar.menu_button.MenuButton;
import org.chromium.chrome.browser.toolbar.menu_button.MenuButtonCoordinator;
import org.chromium.chrome.browser.toolbar.top.NavigationPopup.HistoryDelegate;
@@ -89,7 +90,8 @@ public class BraveTopToolbarCoordinator extends TopToolbarCoordinator {
OneshotSupplier<TabStripTransitionDelegate> tabStripTransitionDelegateSupplier,
@Nullable OnLongClickListener onLongClickListener,
ToolbarProgressBar progressBar,
ObservableSupplier<Tab> tabSupplier) {
ObservableSupplier<Tab> tabSupplier,
@Nullable BackButtonCoordinator backButtonCoordinator) {
super(
controlContainer,
toolbarLayout,
@@ -118,7 +120,8 @@ public class BraveTopToolbarCoordinator extends TopToolbarCoordinator {
tabStripTransitionDelegateSupplier,
onLongClickListener,
progressBar,
tabSupplier);
tabSupplier,
backButtonCoordinator);
mBraveToolbarLayout = toolbarLayout;
mBraveMenuButtonCoordinator = browsingModeMenuButtonCoordinator;
@@ -128,6 +128,7 @@ import org.chromium.chrome.browser.toolbar.ToolbarDataProvider;
import org.chromium.chrome.browser.toolbar.ToolbarManager;
import org.chromium.chrome.browser.toolbar.ToolbarProgressBar;
import org.chromium.chrome.browser.toolbar.ToolbarTabController;
import org.chromium.chrome.browser.toolbar.back_button.BackButtonCoordinator;
import org.chromium.chrome.browser.toolbar.menu_button.MenuButtonCoordinator;
import org.chromium.chrome.browser.toolbar.top.NavigationPopup.HistoryDelegate;
import org.chromium.chrome.browser.toolbar.top.ToggleTabStackButtonCoordinator;
@@ -1333,7 +1334,8 @@ public class BytecodeTest {
OneshotSupplier.class,
OnLongClickListener.class,
ToolbarProgressBar.class,
ObservableSupplier.class));
ObservableSupplier.class,
BackButtonCoordinator.class));
Assert.assertTrue(
constructorsMatch(
"org/chromium/chrome/browser/toolbar/menu_button/MenuButtonCoordinator",