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

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

Issue 2807663002: 📺 Move fullscreen web content to a new Activity. (Closed)
Patch Set: 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/tab/TabWebContentsDelegateAndroid.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java
index 713931b2b5b2a90ef63c4f15680cf48159f6ee9e..05e01ba91c29b864f9eb9e68a2317fe1784f9926 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabWebContentsDelegateAndroid.java
@@ -24,14 +24,16 @@ import org.chromium.base.annotations.CalledByNative;
import org.chromium.blink_public.platform.WebDisplayMode;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.AppHooks;
+import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.RepostFormWarningDialog;
import org.chromium.chrome.browser.document.DocumentUtils;
import org.chromium.chrome.browser.document.DocumentWebContentsDelegate;
import org.chromium.chrome.browser.findinpage.FindMatchRectsDetails;
import org.chromium.chrome.browser.findinpage.FindNotificationDetails;
import org.chromium.chrome.browser.fullscreen.FullscreenManager;
+import org.chromium.chrome.browser.media.FullscreenMediaActivity;
import org.chromium.chrome.browser.media.MediaCaptureNotificationService;
-import org.chromium.chrome.browser.media.VideoPersister;
+import org.chromium.chrome.browser.multiwindow.MultiWindowUtils;
import org.chromium.chrome.browser.policy.PolicyAuditor;
import org.chromium.chrome.browser.policy.PolicyAuditor.AuditEvent;
import org.chromium.chrome.browser.tabmodel.TabCreatorManager.TabCreator;
@@ -215,8 +217,20 @@ public class TabWebContentsDelegateAndroid extends WebContentsDelegateAndroid {
@Override
public void toggleFullscreenModeForTab(boolean enableFullscreen) {
- if (!VideoPersister.getInstance().shouldDelayFullscreenModeChange(mTab, enableFullscreen)) {
- mTab.toggleFullscreenMode(enableFullscreen);
+ if (mTab.getFullscreenManager() == null) {
+ Log.d(TAG, "Cannot toggle fullscreen, Manager is null.");
+ return;
+ }
+
+ if (enableFullscreen) {
+ // TODO(peconn): Make this work with multiwindow.
+ assert mTab.getActivity() instanceof ChromeTabbedActivity;
+ MultiWindowUtils.moveTabToActivity(
+ mTab.getActivity(), mTab, FullscreenMediaActivity.class, Boolean.TRUE);
+ } else {
+ assert mTab.getActivity() instanceof FullscreenMediaActivity;
+ MultiWindowUtils.moveTabToActivity(
+ mTab.getActivity(), mTab, ChromeTabbedActivity.class, Boolean.FALSE);
}
}

Powered by Google App Engine
This is Rietveld 408576698