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