| 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;
|
|
|