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