Index: chrome/android/java/src/org/chromium/chrome/browser/webapps/FullScreenActivity.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/FullScreenActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/FullScreenActivity.java |
index a68604a0bd2158d86fb38ad0d1751f300ac5cdcb..f7b21c762df6f59534ecaf322cc461638697ca9a 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/FullScreenActivity.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/FullScreenActivity.java |
@@ -46,6 +46,8 @@ |
protected static final String BUNDLE_TAB_URL = "tabUrl"; |
private static final String TAG = "FullScreenActivity"; |
+ private Tab mTab; |
+ |
private WebContents mWebContents; |
@SuppressWarnings("unused") // Reference needed to prevent GC. |
private WebContentsObserver mWebContentsObserver; |
@@ -82,10 +84,10 @@ |
public void initializeState() { |
super.initializeState(); |
- Tab tab = createTab(); |
- getTabModelSelector().setTab(tab); |
+ mTab = createTab(); |
handleTabContentChanged(); |
- tab.show(TabSelectionType.FROM_NEW); |
+ getTabModelSelector().setTab(mTab); |
+ mTab.show(TabSelectionType.FROM_NEW); |
} |
@Override |
@@ -105,6 +107,11 @@ |
@Override |
public SingleTabModelSelector getTabModelSelector() { |
return (SingleTabModelSelector) super.getTabModelSelector(); |
+ } |
+ |
+ @Override |
+ public final Tab getActivityTab() { |
+ return mTab; |
} |
/** |
@@ -113,7 +120,7 @@ |
* by swiping it away in the recent tasks list. In that case, we try to restore the tab from |
* disk. |
*/ |
- protected Tab createTab() { |
+ private Tab createTab() { |
Tab tab = null; |
boolean unfreeze = false; |
@@ -142,7 +149,7 @@ |
tab.addObserver(new EmptyTabObserver() { |
@Override |
public void onContentChanged(Tab tab) { |
- assert tab == getActivityTab(); |
+ assert tab == mTab; |
handleTabContentChanged(); |
} |
}); |
@@ -150,10 +157,9 @@ |
} |
private void handleTabContentChanged() { |
- final Tab tab = getActivityTab(); |
- assert tab != null; |
- |
- WebContents webContents = tab.getWebContents(); |
+ assert mTab != null; |
+ |
+ WebContents webContents = mTab.getWebContents(); |
if (mWebContents == webContents) return; |
// Clean up any old references to the previous WebContents. |
@@ -175,7 +181,8 @@ |
if (hasCommitted && isInMainFrame) { |
// Notify the renderer to permanently hide the top controls since they do |
// not apply to fullscreen content views. |
- tab.updateBrowserControlsState(tab.getBrowserControlsStateConstraints(), true); |
+ mTab.updateBrowserControlsState( |
+ mTab.getBrowserControlsStateConstraints(), true); |
} |
} |
}; |
@@ -197,13 +204,12 @@ |
@Override |
protected boolean handleBackPressed() { |
- Tab tab = getActivityTab(); |
- if (tab == null) return false; |
+ if (mTab == null) return false; |
if (exitFullscreenIfShowing()) return true; |
- if (tab.canGoBack()) { |
- tab.goBack(); |
+ if (mTab.canGoBack()) { |
+ mTab.goBack(); |
return true; |
} |
return false; |