diff --git a/build/patches/00109-Move-navigation-bar-to-bottom-fixup.patch b/build/patches/00109-Move-navigation-bar-to-bottom-fixup.patch new file mode 100644 index 00000000..27e6920d --- /dev/null +++ b/build/patches/00109-Move-navigation-bar-to-bottom-fixup.patch @@ -0,0 +1,650 @@ +From: Your Name +Date: Thu, 5 Jan 2023 08:14:13 +0000 +Subject: 109 Move navigation bar to bottom fixup + +--- + .../features/start_surface/StartSurfaceMediator.java | 2 +- + .../tasks/tab_management/TabGroupUiToolbarView.java | 2 +- + .../browser/tasks/tab_management/TabListCoordinator.java | 2 +- + .../browser/tasks/tab_management/TabListRecyclerView.java | 6 +++--- + .../browser/tasks/tab_management/TabSwitcherMediator.java | 8 ++++---- + .../settings/ChromeAccessibilitySettingsDelegate.java | 2 +- + .../org/chromium/chrome/browser/app/ChromeActivity.java | 2 +- + .../chrome/browser/compositor/CompositorViewHolder.java | 2 +- + .../browser/compositor/layouts/LayoutManagerChrome.java | 2 +- + .../browser/compositor/layouts/ToolbarSwipeLayout.java | 4 ++-- + .../overlays/strip/StripLayoutHelperManager.java | 2 +- + .../compositor/scene_layer/StaticTabSceneLayer.java | 2 +- + .../browser/compositor/scene_layer/TabListSceneLayer.java | 4 ++-- + .../compositor/scene_layer/TabStripSceneLayer.java | 2 +- + .../chrome/browser/findinpage/FindToolbarTablet.java | 2 +- + .../chrome/browser/fullscreen/BrowserControlsManager.java | 4 ++-- + .../browser/messages/MessageContainerCoordinator.java | 4 ++-- + .../src/org/chromium/chrome/browser/ntp/NewTabPage.java | 2 +- + .../org/chromium/chrome/browser/ntp/RecentTabsPage.java | 6 +++--- + .../chrome/browser/searchwidget/SearchActivity.java | 2 +- + .../status_indicator/StatusIndicatorCoordinator.java | 2 +- + .../status_indicator/StatusIndicatorSceneLayer.java | 2 +- + .../chromium/chrome/browser/toolbar/ToolbarManager.java | 4 ++-- + .../org/chromium/chrome/browser/ui/BottomContainer.java | 6 +++--- + .../browser/ui/system/StatusBarColorController.java | 2 +- + .../browser_controls/BrowserControlsMarginSupplier.java | 2 +- + .../org/chromium/chrome/browser/ui/appmenu/AppMenu.java | 8 ++++---- + .../chrome/browser/ui/appmenu/AppMenuHandlerImpl.java | 2 +- + .../chrome/browser/omnibox/UrlBarCoordinator.java | 2 +- + .../omnibox/suggestions/AutocompleteCoordinator.java | 2 +- + .../browser/omnibox/suggestions/AutocompleteMediator.java | 2 +- + .../omnibox/suggestions/OmniboxSuggestionsDropdown.java | 4 ++-- + .../browser/toolbar/LocationBarFocusScrimHandler.java | 2 +- + .../browser/toolbar/bottom/BottomControlsMediator.java | 2 +- + .../toolbar/bottom/ScrollingBottomViewSceneLayer.java | 2 +- + .../browser/toolbar/top/ToolbarControlContainer.java | 2 +- + .../chrome/browser/toolbar/top/TopToolbarSceneLayer.java | 2 +- + 37 files changed, 55 insertions(+), 55 deletions(-) + +diff --git a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java +--- a/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java ++++ b/chrome/android/features/start_surface/java/src/org/chromium/chrome/features/start_surface/StartSurfaceMediator.java +@@ -1134,7 +1134,7 @@ class StartSurfaceMediator implements TabSwitcher.TabSwitcherViewObserver, View. + } + + private void setTopMargin(int topMargin) { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) + topMargin = 0; + mPropertyModel.set(TOP_MARGIN, topMargin); + } +diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java +--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java ++++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabGroupUiToolbarView.java +@@ -177,7 +177,7 @@ public class TabGroupUiToolbarView extends FrameLayout { + } + + void setPrimaryColorAndApplyTint(int color) { +- if (!CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) ++ if (!ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) + return; + + // change the background color of the bottom bar if the top toolbar is below +diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java +--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java ++++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListCoordinator.java +@@ -324,7 +324,7 @@ public class TabListCoordinator + if (mMode == TabListMode.GRID) { + GridLayoutManager gridLayoutManager = + new GridLayoutManager(context, GRID_LAYOUT_SPAN_COUNT_COMPACT); +- if (titleProvider != null && CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (titleProvider != null && ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + gridLayoutManager = + new GridLayoutManagerDockBottom(context, GRID_LAYOUT_SPAN_COUNT_COMPACT); + ((GridLayoutManagerDockBottom)gridLayoutManager) +diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java +--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java ++++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabListRecyclerView.java +@@ -232,7 +232,7 @@ class TabListRecyclerView + } + + void setShadowVisibility(boolean shouldShowShadow) { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM) ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled() + && mIsVisible) { + // always show shadow + shouldShowShadow = true; +@@ -250,7 +250,7 @@ class TabListRecyclerView + // Add shadow for grid tab switcher. + FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( + LayoutParams.MATCH_PARENT, shadowHeight, +- (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM) ? ++ (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled() ? + Gravity.BOTTOM : + Gravity.TOP)); + mShadowImageView.setLayoutParams(params); +@@ -279,7 +279,7 @@ class TabListRecyclerView + + void setShadowTopOffset(int shadowTopOffset) { + mShadowTopOffset = shadowTopOffset; +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // invert the offset since Gravity is set to BOTTOM + mShadowTopOffset = -mShadowTopOffset; + } +diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java +--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java ++++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherMediator.java +@@ -461,7 +461,7 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView + updateTopControlsProperties(); + mContainerViewModel.set( + BOTTOM_CONTROLS_HEIGHT, browserControlsStateProvider.getBottomControlsHeight()); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + mContainerViewModel.set( + BOTTOM_CONTROLS_HEIGHT, mContainerViewModel.get(BOTTOM_CONTROLS_HEIGHT) + + mBrowserControlsStateProvider.getContentOffset()); +@@ -471,7 +471,7 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView + if (mMode == TabListMode.GRID) { + mContainerViewModel.set(BOTTOM_PADDING, + (int) context.getResources().getDimension(R.dimen.tab_grid_bottom_padding)); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // adjust the bottom margin so as not to cover the top toolbar at the bottom + mContainerViewModel.set( + BOTTOM_PADDING, mContainerViewModel.get(BOTTOM_PADDING) + +@@ -604,7 +604,7 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView + final int contentOffset = mBrowserControlsStateProvider.getContentOffset(); + + mContainerViewModel.set(TOP_MARGIN, contentOffset); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // move the view up since the toolbar is at the bottom + mContainerViewModel.set(TOP_MARGIN, 0); + } +@@ -764,7 +764,7 @@ class TabSwitcherMediator implements TabSwitcher.Controller, TabListRecyclerView + private void setInitialScrollIndexOffset() { + int offset = mMode == TabListMode.CAROUSEL ? INITIAL_SCROLL_INDEX_OFFSET_CAROUSEL + : INITIAL_SCROLL_INDEX_OFFSET_GTS; +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + offset = 0; + } + int initialPosition = Math.max( +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/accessibility/settings/ChromeAccessibilitySettingsDelegate.java +@@ -104,7 +104,7 @@ public class ChromeAccessibilitySettingsDelegate implements AccessibilitySetting + private static class MoveTopToolbarToBottomDelegate implements BooleanPreferenceDelegate { + @Override + public boolean isEnabled() { +- return CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM); ++ return ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled(); + } + + @Override +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java +@@ -764,7 +764,7 @@ public abstract class ChromeActivity + ImageView shadowImage = findViewById(R.id.toolbar_hairline); + if (shadowImage != null) { + // Invert the shadown if the top toolbar is at the bottom +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + ViewGroup.MarginLayoutParams marginParams = (ViewGroup.MarginLayoutParams)shadowImage.getLayoutParams(); + marginParams.setMargins(marginParams.leftMargin, 0, + marginParams.rightMargin, marginParams.bottomMargin); +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java +@@ -319,7 +319,7 @@ public class CompositorViewHolder extends FrameLayout + WebContents webContents = mTabVisible.getWebContents(); + if (webContents == null) return; + EventForwarder forwarder = webContents.getEventForwarder(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // no need to adjust the touch offsets, since the content view is never moved + top = 0; + } +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java +@@ -213,7 +213,7 @@ public class LayoutManagerChrome + @Override + public SwipeHandler createToolbarSwipeHandler(boolean supportSwipeDown) { + boolean move_top_toolbar = +- CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM); ++ ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled(); + return new ToolbarSwipeHandler(supportSwipeDown && !move_top_toolbar, + supportSwipeDown && move_top_toolbar); + } +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/ToolbarSwipeLayout.java +@@ -411,7 +411,7 @@ public class ToolbarSwipeLayout extends Layout { + mLeftToolbarOverlay.setXOffset(leftX * dpToPx); + } + mLeftTab.setX(leftX); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + mLeftTab.setY(0); + } else { + mLeftTab.setY(mBrowserControlsStateProvider.getContentOffset() / dpToPx); +@@ -428,7 +428,7 @@ public class ToolbarSwipeLayout extends Layout { + mRightToolbarOverlay.setXOffset(rightX * dpToPx); + } + mRightTab.setX(rightX); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + mRightTab.setY(0); + } else { + mRightTab.setY(mBrowserControlsStateProvider.getContentOffset() / dpToPx); +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/StripLayoutHelperManager.java +@@ -421,7 +421,7 @@ public class StripLayoutHelperManager implements SceneOverlay, PauseResumeWithNa + mWidth, mHeight, orientationChanged, LayoutManagerImpl.time()); + + float top = 0; +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM) && ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled() && + mBrowserControlsManagerSupplier.get() != null) { + // move the rectangle to grab the touch events as the tab list (in tablet mode) + // is down and is following the toolbar offset as it moves. +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/StaticTabSceneLayer.java +@@ -48,7 +48,7 @@ public class StaticTabSceneLayer extends SceneLayer { + float x = model.get(LayoutTab.RENDER_X) * LayoutTab.sDpToPx; + float y = model.get(LayoutTab.CONTENT_OFFSET) + + model.get(LayoutTab.RENDER_Y) * LayoutTab.sDpToPx; +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // the page content window never moves, it is fixed at the top + y = 0; + } +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabListSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabListSceneLayer.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabListSceneLayer.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabListSceneLayer.java +@@ -86,7 +86,7 @@ public class TabListSceneLayer extends SceneLayer { + + TabListSceneLayerJni.get().beginBuildingFrame(mNativePtr, TabListSceneLayer.this); + +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // the tabs list content window is fixed at the top, where the top toolbar used to be + viewport.top = 0; + backgroundTopOffset = 0; +@@ -126,7 +126,7 @@ public class TabListSceneLayer extends SceneLayer { + contentOffset = browserControls.getContentOffset(); + } + +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + toolbarYOffset = 0; + contentOffset = 0; + } +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java +@@ -84,7 +84,7 @@ public class TabStripSceneLayer extends SceneOverlayLayer { + if (mNativePtr == 0) return; + + boolean visible = yOffset > -layoutHelper.getHeight(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // the list of open tabs (in tablet mode) is moved down, above the top + // toolbar which is also below. + // values are in pixel. +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java b/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarTablet.java +@@ -169,7 +169,7 @@ public class FindToolbarTablet extends FindToolbar { + + if (show && getVisibility() != View.VISIBLE && mCurrentAnimation != mAnimationEnter) { + View anchorView = getRootView().findViewById(R.id.toolbar); +- if (!CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (!ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + FrameLayout.LayoutParams lp = (FrameLayout.LayoutParams) getLayoutParams(); + lp.topMargin = anchorView.getBottom() - mYInsetPx; + setLayoutParams(lp); +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/BrowserControlsManager.java +@@ -400,7 +400,7 @@ public class BrowserControlsManager + + @Override + public int getTopControlsHeightRealOffset() { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) + return 0; + else + return mTopControlContainerHeight; +@@ -472,7 +472,7 @@ public class BrowserControlsManager + + @Override + public float getTopVisibleContentOffset() { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) + return 0; + return getTopControlsHeight() + getTopControlOffset(); + } +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/messages/MessageContainerCoordinator.java +@@ -64,7 +64,7 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider + } + CoordinatorLayout.LayoutParams params = + (CoordinatorLayout.LayoutParams) mContainer.getLayoutParams(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + params.gravity = Gravity.START | Gravity.BOTTOM; + params.bottomMargin = getContainerTopOffset(); + } else { +@@ -129,7 +129,7 @@ public class MessageContainerCoordinator implements BrowserControlsStateProvider + + /** @return Offset of the message container from the top of the screen. */ + private int getContainerTopOffset() { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + return mControlsManager.getContentOffset() + + (mControlsManager.getBottomControlsHeight() - mControlsManager.getBottomControlOffset()) + + mContainer.getMessageShadowTopMargin(); +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPage.java +@@ -565,7 +565,7 @@ public class NewTabPage implements NativePage, InvalidationAwareThumbnailProvide + + int bottomMargin = mBrowserControlsStateProvider.getBottomControlsHeight() + - mBrowserControlsStateProvider.getBottomControlOffset(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // move the margin of the new tab page up if the top toolbar is at the bottom + bottomMargin += mBrowserControlsStateProvider.getTopControlsHeight(); + topMargin = -mBrowserControlsStateProvider.getTopControlsHeight(); +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsPage.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsPage.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsPage.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsPage.java +@@ -91,7 +91,7 @@ public class RecentTabsPage + mView.addOnAttachStateChangeListener(this); + + if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity) || +- CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + mBrowserControlsStateProvider = browserControlsStateProvider; + mBrowserControlsStateProvider.addObserver(this); + onBottomControlsHeightChanged(mBrowserControlsStateProvider.getBottomControlsHeight(), +@@ -289,7 +289,7 @@ public class RecentTabsPage + + // If the content offset is different from the margin, we use translationY to position the + // view in line with the content offset. +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + topMargin = 0; + recentTabsRoot.setTranslationY(0); + } else { +@@ -297,7 +297,7 @@ public class RecentTabsPage + } + + int bottomMargin = mBrowserControlsStateProvider.getBottomControlsHeight(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + bottomMargin += mBrowserControlsStateProvider.getTopControlsHeight(); + } + if (topMargin != layoutParams.topMargin || bottomMargin != layoutParams.bottomMargin) { +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java +@@ -194,7 +194,7 @@ public class SearchActivity extends AsyncInitializationActivity + mSearchBox = (SearchActivityLocationBarLayout) mContentView.findViewById( + R.id.search_location_bar); + mAnchorView = mContentView.findViewById(R.id.toolbar); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams) + mAnchorView.getLayoutParams(); + layoutParams.gravity = Gravity.START | Gravity.BOTTOM; +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorCoordinator.java +@@ -179,7 +179,7 @@ public class StatusIndicatorCoordinator { + private void initialize() { + final ViewStub stub = mActivity.findViewById(R.id.status_indicator_stub); + final ViewResourceFrameLayout root = (ViewResourceFrameLayout) stub.inflate(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // status messages (such as the offline indicator) are docked at the bottom + CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams)root.getLayoutParams(); + layoutParams.gravity = Gravity.START | Gravity.BOTTOM; +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorSceneLayer.java b/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorSceneLayer.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorSceneLayer.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/status_indicator/StatusIndicatorSceneLayer.java +@@ -80,7 +80,7 @@ class StatusIndicatorSceneLayer extends SceneOverlayLayer implements SceneOverla + public SceneOverlayLayer getUpdatedSceneOverlayTree( + RectF viewport, RectF visibleViewport, ResourceManager resourceManager, float yOffset) { + int offset = mBrowserControlsStateProvider.getTopControlsMinHeightOffset(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + offset = (int)viewport.bottom - offset; + } + StatusIndicatorSceneLayerJni.get().updateStatusIndicatorLayer( +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java +@@ -1318,7 +1318,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve + + private void MoveBottomBarOverTopBar() { + if (bottomRoot != null && +- CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // move up the container view of the ui + // below there is the toolbar + bottomRoot.setTranslationY(-mBrowserControlsSizer.getTopControlsHeight()); +@@ -2123,7 +2123,7 @@ public class ToolbarManager implements UrlFocusChangeListener, ThemeColorObserve + private void setControlContainerTopMargin(int margin) { + final ViewGroup.MarginLayoutParams layoutParams = + ((ViewGroup.MarginLayoutParams) mControlContainer.getLayoutParams()); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + if (layoutParams.bottomMargin == margin) { + return; + } +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/BottomContainer.java +@@ -66,13 +66,13 @@ public class BottomContainer + + @Override + public void onTopControlsHeightChanged(int topControlsHeight, int topControlsMinHeight) { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) + setTranslationY(mBaseYOffset); + } + + @Override + public void onAndroidVisibilityChanged(int visibility) { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) + setTranslationY(mBaseYOffset); + } + +@@ -80,7 +80,7 @@ public class BottomContainer + public void setTranslationY(float y) { + mBaseYOffset = y; + +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // the snackbar container is moved up because there is the top toolbar at the bottom + mBaseYOffset = -(mBrowserControlsStateProvider.getTopControlsHeight() + + mBrowserControlsStateProvider.getTopControlOffset()); +diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java +--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java ++++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/system/StatusBarColorController.java +@@ -428,7 +428,7 @@ public class StatusBarColorController + boolean needsDarkStatusBarIcons = !ColorUtils.shouldUseLightForegroundOnBackground(color); + ApiCompatibilityUtils.setStatusBarIconColor(root, needsDarkStatusBarIcons); + ApiCompatibilityUtils.setStatusBarColor(mWindow, color); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM) && ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled() && + Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + UiUtils.setNavigationBarIconColor(mWindow.getDecorView().getRootView(), + needsDarkStatusBarIcons); +diff --git a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java +--- a/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java ++++ b/chrome/browser/browser_controls/android/java/src/org/chromium/chrome/browser/browser_controls/BrowserControlsMarginSupplier.java +@@ -54,7 +54,7 @@ public class BrowserControlsMarginSupplier extends ObservableSupplierImpl + + mBrowserControlsStateProvider.getTopControlOffset(); + int bottomMargin = mBrowserControlsStateProvider.getBottomControlsHeight() + - mBrowserControlsStateProvider.getBottomControlOffset(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + bottomMargin += topMargin; + topMargin = 0; + } +diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java +--- a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java ++++ b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenu.java +@@ -265,7 +265,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler + } + + mListView = (ListView) contentView.findViewById(R.id.app_menu_list); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // always scroll to the bottom to show new items + mListView.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL); + // fill content starting from the bottom of the view +@@ -310,7 +310,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler + if (popupHeight + popupPosition[1] > visibleDisplayFrame.bottom) { + mPopup.setHeight(visibleDisplayFrame.height()); + } +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // due to some unknown behaviour, the popup must be resized to + // allow selection without leaving touch + mPopup.setHeight(popupHeight-1); +@@ -362,7 +362,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler + int anchorViewX = tempLocation[0]; + int anchorViewY = tempLocation[1]; + +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // moves the view offset up by the height of the popup + anchorViewY -= popupHeight; + // fix it if it goes offscreen +@@ -560,7 +560,7 @@ class AppMenu implements OnItemClickListener, OnKeyListener, AppMenuClickHandler + } + int availableScreenSpace = Math.max( + anchorViewY, appDimensions.height() - anchorViewY - anchorViewImpactHeight); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // use all available space + availableScreenSpace = appDimensions.height() - anchorViewImpactHeight; + if (Build.VERSION.SDK_INT == Build.VERSION_CODES.N) { +diff --git a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java +--- a/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java ++++ b/chrome/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/AppMenuHandlerImpl.java +@@ -184,7 +184,7 @@ class AppMenuHandlerImpl + }), + this); + +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // reverses the order of items in the menu + ModelList modelListReversed = new ModelList(); + for (int i = 0; i < modelList.size(); i++) { +diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java +--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java ++++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/UrlBarCoordinator.java +@@ -239,7 +239,7 @@ public class UrlBarCoordinator implements UrlBarEditingTextStateProvider, UrlFoc + // to show or hide keyboard anyway. This may happen when we schedule keyboard hide, and + // receive a second request to hide the keyboard instantly. + if (showKeyboard) { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // probably due to an android bug, fix the size rather than pan the view. + // with the pan the bar may not always follow the focus if not at the first input by the user + setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE, /* delay */ false); +diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java +--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java ++++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteCoordinator.java +@@ -236,7 +236,7 @@ public class AutocompleteCoordinator implements UrlFocusChangeListener, UrlTextC + ViewGroup container = (ViewGroup) ((ViewStub) mParent.getRootView().findViewById( + R.id.omnibox_results_container_stub)) + .inflate(); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // make margins works + dropdown.getViewGroup().setClipToPadding(true); + container.bringToFront(); +diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java +--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java ++++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/AutocompleteMediator.java +@@ -1013,7 +1013,7 @@ class AutocompleteMediator implements OnSuggestionsReceivedListener, + @Override + public void onSuggestionDropdownScroll() { + mSuggestionsListScrolled = true; +- if (!CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (!ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + mDelegate.setKeyboardVisibility(false, false); + } + } +diff --git a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java +--- a/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java ++++ b/chrome/browser/ui/android/omnibox/java/src/org/chromium/chrome/browser/omnibox/suggestions/OmniboxSuggestionsDropdown.java +@@ -266,7 +266,7 @@ public class OmniboxSuggestionsDropdown extends RecyclerView { + final Resources resources = context.getResources(); + int paddingBottom = + resources.getDimensionPixelOffset(R.dimen.omnibox_suggestion_list_padding_bottom); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // reverse the layout so that the items are at the bottom (in reverse order) + // and anchored to the bottom edge + mLayoutScrollListener.setReverseLayout(true); +@@ -496,7 +496,7 @@ public class OmniboxSuggestionsDropdown extends RecyclerView { + } + + private int calculateAnchorBottomRelativeToContent() { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) + return 0; + View contentView = + mEmbedder.getAnchorView().getRootView().findViewById(android.R.id.content); +diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarFocusScrimHandler.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarFocusScrimHandler.java +--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarFocusScrimHandler.java ++++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarFocusScrimHandler.java +@@ -58,7 +58,7 @@ public class LocationBarFocusScrimHandler implements UrlFocusChangeListener { + + Resources resources = context.getResources(); + int topMargin = resources.getDimensionPixelSize(R.dimen.tab_strip_height); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // since the top bar is at the bottom, we need to cover the whole page + topMargin = 0; + } +diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java +--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java ++++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/BottomControlsMediator.java +@@ -105,7 +105,7 @@ class BottomControlsMediator implements BrowserControlsStateProvider.Observer, + void setBottomControlsVisible(boolean visible) { + if (visible == true + && mIsBottomControlsVisible == false +- && CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ && ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // always show the toolbar if the bottom controls are visible, so as not to leave the hole below. + mBrowserControlsSizer.getBrowserVisibilityDelegate().showControlsTransient(); + } +diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/ScrollingBottomViewSceneLayer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/ScrollingBottomViewSceneLayer.java +--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/ScrollingBottomViewSceneLayer.java ++++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/bottom/ScrollingBottomViewSceneLayer.java +@@ -127,7 +127,7 @@ public class ScrollingBottomViewSceneLayer extends SceneOverlayLayer implements + boolean isShadowVisible = mBottomView.getVisibility() != View.VISIBLE; + + float offsetPy = viewport.height() + mCurrentYOffsetPx; +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // fix the offset of the fake bottom controls, used only for animations + offsetPy -= (mBottomView.getHeight() - mCurrentYOffsetPx + mTopControlsMinHeightOffset); + } +diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java +--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java ++++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/ToolbarControlContainer.java +@@ -109,7 +109,7 @@ public class ToolbarControlContainer extends OptimizedFrameLayout implements Con + @Override + public void initWithToolbar(int toolbarLayoutId) { + try (TraceEvent te = TraceEvent.scoped("ToolbarControlContainer.initWithToolbar")) { +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // the top toolbar is docked at the bottom + CoordinatorLayout.LayoutParams layoutParams = (CoordinatorLayout.LayoutParams)getLayoutParams(); + layoutParams.gravity = Gravity.START | Gravity.BOTTOM; +diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java +--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java ++++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarSceneLayer.java +@@ -41,7 +41,7 @@ class TopToolbarSceneLayer extends SceneOverlayLayer { + private void pushProperties(PropertyModel model) { + if (mResourceManagerSupplier.get() == null) return; + float offsetY = model.get(TopToolbarOverlayProperties.Y_OFFSET); +- if (CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM)) { ++ if (ChromeFeatureList.sMoveTopToolbarToBottom.isEnabled()) { + // fix the offset of the fake top controls, used only for animations + offsetY = model.get(TopToolbarOverlayProperties.VIEWPORT_HEIGHT) - + model.get(TopToolbarOverlayProperties.TOOLBAR_HEIGHT) - +-- +2.25.1