Index: chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java |
index 94e1e69111d957863c50fa12a2f6f2e68c4f7e6b..2dd9eb7a823521b8a0618099d3aa819d9e530c1b 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java |
@@ -123,7 +123,17 @@ public class ChromeFullscreenManager |
mActivity = activity; |
mWindow = activity.getWindow(); |
mIsBottomControls = isBottomControls; |
- mBrowserVisibilityDelegate = new BrowserStateBrowserControlsVisibilityDelegate(); |
+ mBrowserVisibilityDelegate = new BrowserStateBrowserControlsVisibilityDelegate( |
+ new Runnable() { |
+ @Override |
+ public void run() { |
+ if (getTab() != null) { |
+ getTab().updateFullscreenEnabledState(); |
+ } else if (!mBrowserVisibilityDelegate.isHidingBrowserControlsEnabled()) { |
+ setPositionsForTabToNonFullscreen(); |
+ } |
+ } |
+ }); |
} |
/** |
@@ -160,6 +170,11 @@ public class ChromeFullscreenManager |
public void didSelectTab(Tab tab, TabSelectionType type, int lastId) { |
setTab(mTabModelSelector.getCurrentTab()); |
} |
+ |
+ @Override |
+ public void didCloseTab(int tabId, boolean incognito) { |
+ setTab(mTabModelSelector.getCurrentTab()); |
+ } |
}; |
assert controlContainer != null; |
@@ -198,10 +213,12 @@ public class ChromeFullscreenManager |
public void setTab(Tab tab) { |
Tab previousTab = getTab(); |
super.setTab(tab); |
- mBrowserVisibilityDelegate.setTab(getTab()); |
if (tab != null && previousTab != getTab()) { |
mBrowserVisibilityDelegate.showControlsTransient(); |
} |
+ if (tab == null && !mBrowserVisibilityDelegate.isHidingBrowserControlsEnabled()) { |
+ setPositionsForTabToNonFullscreen(); |
+ } |
} |
@Override |