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

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

Issue 2484293003: Use only renderer driven offsets for fullscreen state. (Closed)
Patch Set: Partially disable testControlsShownOnUnresponsiveRenderer due to timing issues with renderer logic … Created 4 years, 1 month 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
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
index f407eb4fa23312a8ab32256c2720900ebaed552c..bd06cfdadf5a812d3cc8dfac8f6d04dc93fcacbf 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
@@ -217,7 +217,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
private ProfileSyncService.SyncStateChangedListener mSyncStateChangedListener;
private ActivityWindowAndroid mWindowAndroid;
+
private ChromeFullscreenManager mFullscreenManager;
+ private boolean mCreatedFullscreenManager;
+
private CompositorViewHolder mCompositorViewHolder;
private InsetObserverView mInsetObserverView;
private ContextualSearchManager mContextualSearchManager;
@@ -275,6 +278,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
getWindow().setBackgroundDrawable(getBackgroundDrawable());
mWindowAndroid = new ChromeWindow(this);
mWindowAndroid.restoreInstanceState(getSavedInstanceState());
+
+ mFullscreenManager = createFullscreenManager();
+ mCreatedFullscreenManager = true;
}
@SuppressLint("NewApi")
@@ -325,7 +331,12 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
mWindowAndroid.setKeyboardAccessoryView((ViewGroup) findViewById(R.id.keyboard_accessory));
initializeToolbar();
initializeTabModels();
- if (!isFinishing()) mFullscreenManager = createFullscreenManager();
+ if (!isFinishing() && getFullscreenManager() != null) {
+ getFullscreenManager().initialize(
+ (ControlContainer) findViewById(R.id.control_container),
+ getTabModelSelector(),
+ getControlContainerHeightResource());
+ }
}
@Override
@@ -1378,6 +1389,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
* @return The fullscreen manager, possibly null
*/
public ChromeFullscreenManager getFullscreenManager() {
+ if (!mCreatedFullscreenManager) {
+ throw new IllegalStateException(
+ "Attempting to access FullscreenManager before it has been created.");
+ }
return mFullscreenManager;
}
@@ -1409,7 +1424,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
* initialized, but Android Views will have been.
* @return A {@link ChromeFullscreenManager} instance that's been created.
*/
- protected abstract ChromeFullscreenManager createFullscreenManager();
+ protected ChromeFullscreenManager createFullscreenManager() {
+ return new ChromeFullscreenManager(this, false);
+ }
/**
* Exits the fullscreen mode, if any. Does nothing if no fullscreen is present.
@@ -1453,7 +1470,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
mCompositorViewHolder.setLayoutManager(layoutManager);
mCompositorViewHolder.setFocusable(false);
mCompositorViewHolder.setControlContainer(controlContainer);
- mCompositorViewHolder.setFullscreenHandler(mFullscreenManager);
+ mCompositorViewHolder.setFullscreenHandler(getFullscreenManager());
mCompositorViewHolder.setUrlBar(urlBar);
mCompositorViewHolder.onFinishNativeInitialization(getTabModelSelector(), this,
getTabContentManager(), contentContainer, mContextualSearchManager,
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698