Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(997)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/webapps/FullScreenActivity.java

Issue 2807663002: 📺 Move fullscreen web content to a new Activity. (Closed)
Patch Set: Fix test. Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/tabmodel/SingleTabModel.java ('k') | chrome/android/java_sources.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698