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 f7b21c762df6f59534ecaf322cc461638697ca9a..a68604a0bd2158d86fb38ad0d1751f300ac5cdcb 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,8 +46,6 @@ public abstract class FullScreenActivity extends ChromeActivity { |
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; |
@@ -84,10 +82,10 @@ public abstract class FullScreenActivity extends ChromeActivity { |
public void initializeState() { |
super.initializeState(); |
- mTab = createTab(); |
+ Tab tab = createTab(); |
+ getTabModelSelector().setTab(tab); |
handleTabContentChanged(); |
- getTabModelSelector().setTab(mTab); |
- mTab.show(TabSelectionType.FROM_NEW); |
+ tab.show(TabSelectionType.FROM_NEW); |
} |
@Override |
@@ -109,18 +107,13 @@ public abstract class FullScreenActivity extends ChromeActivity { |
return (SingleTabModelSelector) super.getTabModelSelector(); |
} |
- @Override |
- public final Tab getActivityTab() { |
- return mTab; |
- } |
- |
/** |
* Creates the {@link Tab} used by the FullScreenActivity. |
* If the {@code savedInstanceState} exists, then the user did not intentionally close the app |
* by swiping it away in the recent tasks list. In that case, we try to restore the tab from |
* disk. |
*/ |
- private Tab createTab() { |
+ protected Tab createTab() { |
Tab tab = null; |
boolean unfreeze = false; |
@@ -149,7 +142,7 @@ public abstract class FullScreenActivity extends ChromeActivity { |
tab.addObserver(new EmptyTabObserver() { |
@Override |
public void onContentChanged(Tab tab) { |
- assert tab == mTab; |
+ assert tab == getActivityTab(); |
handleTabContentChanged(); |
} |
}); |
@@ -157,9 +150,10 @@ public abstract class FullScreenActivity extends ChromeActivity { |
} |
private void handleTabContentChanged() { |
- assert mTab != null; |
+ final Tab tab = getActivityTab(); |
+ assert tab != null; |
- WebContents webContents = mTab.getWebContents(); |
+ WebContents webContents = tab.getWebContents(); |
if (mWebContents == webContents) return; |
// Clean up any old references to the previous WebContents. |
@@ -181,8 +175,7 @@ public abstract class FullScreenActivity extends ChromeActivity { |
if (hasCommitted && isInMainFrame) { |
// Notify the renderer to permanently hide the top controls since they do |
// not apply to fullscreen content views. |
- mTab.updateBrowserControlsState( |
- mTab.getBrowserControlsStateConstraints(), true); |
+ tab.updateBrowserControlsState(tab.getBrowserControlsStateConstraints(), true); |
} |
} |
}; |
@@ -204,12 +197,13 @@ public abstract class FullScreenActivity extends ChromeActivity { |
@Override |
protected boolean handleBackPressed() { |
- if (mTab == null) return false; |
+ Tab tab = getActivityTab(); |
+ if (tab == null) return false; |
if (exitFullscreenIfShowing()) return true; |
- if (mTab.canGoBack()) { |
- mTab.goBack(); |
+ if (tab.canGoBack()) { |
+ tab.goBack(); |
return true; |
} |
return false; |