Commit 419e1513 authored by Xi Han's avatar Xi Han Committed by Commit Bot

[Instant Start] Create StaticLayout in LayoutManager::Init()

This CL is required by CL (https://crrev.com/c/2355052).

Bug: 1070281, 1116449
Change-Id: I127a971968663dd1a52d288f9264dcbc71fd92f4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2372583Reviewed-by: default avatarMatthew Jones <mdjones@chromium.org>
Reviewed-by: default avatarYaron Friedman <yfriedman@chromium.org>
Commit-Queue: Xi Han <hanxi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#801882}
parent 16018d0c
...@@ -97,7 +97,7 @@ public class LayoutManager implements LayoutUpdateHost, LayoutProvider, ...@@ -97,7 +97,7 @@ public class LayoutManager implements LayoutUpdateHost, LayoutProvider,
// Layouts // Layouts
/** A {@link Layout} used for showing a normal web page. */ /** A {@link Layout} used for showing a normal web page. */
protected final StaticLayout mStaticLayout; protected StaticLayout mStaticLayout;
private final ViewGroup mContentContainer; private final ViewGroup mContentContainer;
...@@ -265,17 +265,6 @@ public class LayoutManager implements LayoutUpdateHost, LayoutProvider, ...@@ -265,17 +265,6 @@ public class LayoutManager implements LayoutUpdateHost, LayoutProvider,
mOverlayPanelManager = new OverlayPanelManager(); mOverlayPanelManager = new OverlayPanelManager();
mFrameRequestSupplier = new CompositorModelChangeProcessor.FrameRequestSupplier(this); mFrameRequestSupplier = new CompositorModelChangeProcessor.FrameRequestSupplier(this);
// TODO(crbug.com/1070281): Move this to #init.
// Build Layouts
mStaticLayout = new StaticLayout(mContext, this, renderHost, mHost, mFrameRequestSupplier,
mTabModelSelectorSupplier, mTabContentManagerSupplier,
mBrowserControlsStateProviderSupplier);
// Set up layout parameters
mStaticLayout.setLayoutHandlesTabLifecycles(true);
setNextLayout(null);
} }
/** /**
...@@ -427,6 +416,16 @@ public class LayoutManager implements LayoutUpdateHost, LayoutProvider, ...@@ -427,6 +416,16 @@ public class LayoutManager implements LayoutUpdateHost, LayoutProvider,
LayoutRenderHost renderHost = mHost.getLayoutRenderHost(); LayoutRenderHost renderHost = mHost.getLayoutRenderHost();
mCurrentTabSupplier.set(selector.getCurrentTab()); mCurrentTabSupplier.set(selector.getCurrentTab());
// Build Layouts
mStaticLayout = new StaticLayout(mContext, this, renderHost, mHost, mFrameRequestSupplier,
mTabModelSelectorSupplier, mTabContentManagerSupplier,
mBrowserControlsStateProviderSupplier);
// Set up layout parameters
mStaticLayout.setLayoutHandlesTabLifecycles(true);
setNextLayout(null);
// If fullscreen is disabled, don't bother creating this overlay; only the android view will // If fullscreen is disabled, don't bother creating this overlay; only the android view will
// ever be shown. // ever be shown.
if (DeviceClassManager.enableFullscreen()) { if (DeviceClassManager.enableFullscreen()) {
......
...@@ -52,12 +52,12 @@ public class LayoutManagerChromePhone extends LayoutManagerChrome { ...@@ -52,12 +52,12 @@ public class LayoutManagerChromePhone extends LayoutManagerChrome {
// Build Layouts // Build Layouts
mSimpleAnimationLayout = new SimpleAnimationLayout(context, this, renderHost); mSimpleAnimationLayout = new SimpleAnimationLayout(context, this, renderHost);
// Set up layout parameters
mStaticLayout.setLayoutHandlesTabLifecycles(false);
super.init(selector, creator, content, controlContainer, contextualSearchDelegate, super.init(selector, creator, content, controlContainer, contextualSearchDelegate,
dynamicResourceLoader); dynamicResourceLoader);
// Set up layout parameters
mStaticLayout.setLayoutHandlesTabLifecycles(false);
mToolbarSwipeLayout.setMovesToolbar(true); mToolbarSwipeLayout.setMovesToolbar(true);
// Initialize Layouts // Initialize Layouts
......
...@@ -74,6 +74,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator implements Native ...@@ -74,6 +74,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator implements Native
private HistoryNavigationCoordinator mHistoryNavigationCoordinator; private HistoryNavigationCoordinator mHistoryNavigationCoordinator;
private NavigationSheet mNavigationSheet; private NavigationSheet mNavigationSheet;
private ComposedBrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate; private ComposedBrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate;
private LayoutManager mLayoutManager;
/** /**
* Construct a new TabbedRootUiCoordinator. * Construct a new TabbedRootUiCoordinator.
...@@ -194,6 +195,19 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator implements Native ...@@ -194,6 +195,19 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator implements Native
@Override @Override
public void onFinishNativeInitialization() { public void onFinishNativeInitialization() {
assert mLayoutManager != null;
// clang-format off
mHistoryNavigationCoordinator = HistoryNavigationCoordinator.create(
mActivity.getWindowAndroid(), mActivity.getLifecycleDispatcher(),
mActivity.getCompositorViewHolder(), mActivity.getActivityTabProvider(),
mActivity.getInsetObserverView(), mActivity::backShouldCloseTab,
mActivity::onBackPressed, mLayoutManager,
tab -> HistoryManagerUtils.showHistoryManager(mActivity, tab),
mActivity.getResources().getString(R.string.show_full_history),
() -> mActivity.isActivityFinishingOrDestroyed() ? null
: getBottomSheetController());
// clang-format on
// TODO(twellington): Supply TabModelSelector as well and move initialization earlier. // TODO(twellington): Supply TabModelSelector as well and move initialization earlier.
if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) { if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) {
AppMenuHandler appMenuHandler = AppMenuHandler appMenuHandler =
...@@ -223,18 +237,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator implements Native ...@@ -223,18 +237,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator implements Native
super.onLayoutManagerAvailable(layoutManager); super.onLayoutManagerAvailable(layoutManager);
initStatusIndicatorCoordinator(layoutManager); initStatusIndicatorCoordinator(layoutManager);
mLayoutManager = layoutManager;
// clang-format off
mHistoryNavigationCoordinator = HistoryNavigationCoordinator.create(
mActivity.getWindowAndroid(), mActivity.getLifecycleDispatcher(),
mActivity.getCompositorViewHolder(), mActivity.getActivityTabProvider(),
mActivity.getInsetObserverView(), mActivity::backShouldCloseTab,
mActivity::onBackPressed, layoutManager,
tab -> HistoryManagerUtils.showHistoryManager(mActivity, tab),
mActivity.getResources().getString(R.string.show_full_history),
() -> mActivity.isActivityFinishingOrDestroyed() ? null
: getBottomSheetController());
// clang-format on
} }
@Override @Override
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment