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,
// Layouts
/** A {@link Layout} used for showing a normal web page. */
protected final StaticLayout mStaticLayout;
protected StaticLayout mStaticLayout;
private final ViewGroup mContentContainer;
......@@ -265,17 +265,6 @@ public class LayoutManager implements LayoutUpdateHost, LayoutProvider,
mOverlayPanelManager = new OverlayPanelManager();
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,
LayoutRenderHost renderHost = mHost.getLayoutRenderHost();
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
// ever be shown.
if (DeviceClassManager.enableFullscreen()) {
......
......@@ -52,12 +52,12 @@ public class LayoutManagerChromePhone extends LayoutManagerChrome {
// Build Layouts
mSimpleAnimationLayout = new SimpleAnimationLayout(context, this, renderHost);
// Set up layout parameters
mStaticLayout.setLayoutHandlesTabLifecycles(false);
super.init(selector, creator, content, controlContainer, contextualSearchDelegate,
dynamicResourceLoader);
// Set up layout parameters
mStaticLayout.setLayoutHandlesTabLifecycles(false);
mToolbarSwipeLayout.setMovesToolbar(true);
// Initialize Layouts
......
......@@ -74,6 +74,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator implements Native
private HistoryNavigationCoordinator mHistoryNavigationCoordinator;
private NavigationSheet mNavigationSheet;
private ComposedBrowserControlsVisibilityDelegate mAppBrowserControlsVisibilityDelegate;
private LayoutManager mLayoutManager;
/**
* Construct a new TabbedRootUiCoordinator.
......@@ -194,6 +195,19 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator implements Native
@Override
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.
if (DeviceFormFactor.isNonMultiDisplayContextOnTablet(mActivity)) {
AppMenuHandler appMenuHandler =
......@@ -223,18 +237,7 @@ public class TabbedRootUiCoordinator extends RootUiCoordinator implements Native
super.onLayoutManagerAvailable(layoutManager);
initStatusIndicatorCoordinator(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
mLayoutManager = layoutManager;
}
@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