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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.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/fullscreen/ChromeFullscreenManager.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java
index c535e1bdb2b83de3b6a3aa2aa162cdc80149bc09..d1fdb2c6371ce156dc31a7a99f30cfe9e927c9c6 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/ChromeFullscreenManager.java
@@ -49,6 +49,7 @@ public class ChromeFullscreenManager
private final Window mWindow;
private final BrowserStateBrowserControlsVisibilityDelegate mBrowserVisibilityDelegate;
private final boolean mIsBottomControls;
+ private final boolean mExitFullscreenOnStop;
private ControlContainer mControlContainer;
private int mTopControlContainerHeight;
@@ -70,7 +71,7 @@ public class ChromeFullscreenManager
private boolean mBrowserControlsPermanentlyHidden;
private boolean mBrowserControlsAndroidViewHidden;
- private final ArrayList<FullscreenListener> mListeners = new ArrayList<FullscreenListener>();
+ private final ArrayList<FullscreenListener> mListeners = new ArrayList<>();
/**
* A listener that gets notified of changes to the fullscreen state.
@@ -123,11 +124,24 @@ public class ChromeFullscreenManager
* @param isBottomControls Whether or not the browser controls are at the bottom of the screen.
*/
public ChromeFullscreenManager(Activity activity, boolean isBottomControls) {
+ this(activity, isBottomControls, true);
+ }
+
+ /**
+ * Creates an instance of the fullscreen mode manager.
+ * @param activity The activity that supports fullscreen.
+ * @param isBottomControls Whether or not the browser controls are at the bottom of the screen.
+ * @param exitFullscreenOnStop Whether fullscreen mode should exit on stop - should be
+ * true for Activities that are not always fullscreen.
+ */
+ public ChromeFullscreenManager(
+ Activity activity, boolean isBottomControls, boolean exitFullscreenOnStop) {
super(activity.getWindow());
mActivity = activity;
mWindow = activity.getWindow();
mIsBottomControls = isBottomControls;
+ mExitFullscreenOnStop = exitFullscreenOnStop;
mBrowserVisibilityDelegate = new BrowserStateBrowserControlsVisibilityDelegate(
new Runnable() {
@Override
@@ -228,7 +242,7 @@ public class ChromeFullscreenManager
@Override
public void onActivityStateChange(Activity activity, int newState) {
- if (newState == ActivityState.STOPPED) {
+ if (newState == ActivityState.STOPPED && mExitFullscreenOnStop) {
// Exit fullscreen in onStop to ensure the system UI flags are set correctly when
// showing again (on JB MR2+ builds, the omnibox would be covered by the
// notification bar when this was done in onStart()).

Powered by Google App Engine
This is Rietveld 408576698