| Index: chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java
|
| index bb3fd3616a7fb9d5f65e057d7e3275d1e2f254ef..b826fde16bcb2e01ba252ed5d4cfce0fd72b9852 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManager.java
|
| @@ -19,7 +19,6 @@ import org.chromium.base.VisibleForTesting;
|
| import org.chromium.base.annotations.SuppressFBWarnings;
|
| import org.chromium.chrome.browser.compositor.LayerTitleCache;
|
| import org.chromium.chrome.browser.compositor.layouts.Layout.Orientation;
|
| -import org.chromium.chrome.browser.compositor.layouts.Layout.SizingFlags;
|
| import org.chromium.chrome.browser.compositor.layouts.components.LayoutTab;
|
| import org.chromium.chrome.browser.compositor.layouts.components.VirtualView;
|
| import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
|
| @@ -256,6 +255,10 @@ public abstract class LayoutManager implements LayoutUpdateHost, LayoutProvider,
|
| public SceneLayer getUpdatedActiveSceneLayer(LayerTitleCache layerTitleCache,
|
| TabContentManager tabContentManager, ResourceManager resourceManager,
|
| ChromeFullscreenManager fullscreenManager) {
|
| + // Update the android browser controls state.
|
| + fullscreenManager.setHideBrowserControlsAndroidView(
|
| + mActiveLayout.forceHideBrowserControlsAndroidView());
|
| +
|
| getViewportPixel(mCachedVisibleViewport);
|
| mHost.getWindowViewport(mCachedWindowViewport);
|
| return mActiveLayout.getUpdatedSceneLayer(mCachedWindowViewport, mCachedVisibleViewport,
|
| @@ -318,17 +321,26 @@ public abstract class LayoutManager implements LayoutUpdateHost, LayoutProvider,
|
| return;
|
| }
|
|
|
| - final int flags = getActiveLayout().getSizingFlags();
|
| - if ((flags & SizingFlags.REQUIRE_FULLSCREEN_SIZE) != 0) {
|
| - mHost.getWindowViewport(rect);
|
| - } else if ((flags & SizingFlags.USE_PREVIOUS_TOOLBAR_STATE) != 0) {
|
| - if (mPreviousLayoutShowingToolbar) {
|
| - mHost.getViewportFullControls(rect);
|
| - } else {
|
| + switch (getActiveLayout().getViewportMode()) {
|
| + case ALWAYS_FULLSCREEN:
|
| mHost.getWindowViewport(rect);
|
| - }
|
| - } else {
|
| - mHost.getVisibleViewport(rect);
|
| + break;
|
| +
|
| + case ALWAYS_SHOWING_BROWSER_CONTROLS:
|
| + mHost.getViewportFullControls(rect);
|
| + break;
|
| +
|
| + case USE_PREVIOUS_BROWSER_CONTROLS_STATE:
|
| + if (mPreviousLayoutShowingToolbar) {
|
| + mHost.getViewportFullControls(rect);
|
| + } else {
|
| + mHost.getWindowViewport(rect);
|
| + }
|
| + break;
|
| +
|
| + case DYNAMIC_BROWSER_CONTROLS:
|
| + default:
|
| + mHost.getVisibleViewport(rect);
|
| }
|
| }
|
|
|
| @@ -402,15 +414,10 @@ public abstract class LayoutManager implements LayoutUpdateHost, LayoutProvider,
|
| mFullscreenToken = FullscreenManager.INVALID_TOKEN;
|
|
|
| // Grab a new fullscreen token if this layout can't be in fullscreen.
|
| - final int flags = getActiveLayout().getSizingFlags();
|
| - if ((flags & SizingFlags.ALLOW_TOOLBAR_HIDE) == 0) {
|
| + if (getActiveLayout().forceShowBrowserControlsAndroidView()) {
|
| mFullscreenToken =
|
| fullscreenManager.getBrowserVisibilityDelegate().showControlsPersistent();
|
| }
|
| -
|
| - // Hide the toolbar immediately if the layout wants it gone quickly.
|
| - fullscreenManager.setBrowserControlsPermamentlyHidden(
|
| - flags == SizingFlags.HELPER_HIDE_TOOLBAR_IMMEDIATE);
|
| }
|
|
|
| onViewportChanged();
|
|
|