| 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 567641c2362800ec94b293398bc1cfc64bbdbe73..845d6cf055a2001a1cdf21da6fa6405acc2525bd 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
|
| @@ -29,6 +29,7 @@ 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.MediaCaptureNotificationService;
|
| import org.chromium.chrome.browser.policy.PolicyAuditor;
|
| import org.chromium.chrome.browser.policy.PolicyAuditor.AuditEvent;
|
| @@ -38,6 +39,9 @@ import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
|
| import org.chromium.chrome.browser.tabmodel.TabModelUtils;
|
| import org.chromium.chrome.browser.tabmodel.TabWindowManager;
|
| import org.chromium.components.web_contents_delegate_android.WebContentsDelegateAndroid;
|
| +import org.chromium.content.browser.ActivityContentVideoViewEmbedder;
|
| +import org.chromium.content.browser.ContentVideoViewEmbedder;
|
| +import org.chromium.content.browser.ContentViewCore;
|
| import org.chromium.content_public.browser.InvalidateTypes;
|
| import org.chromium.content_public.browser.WebContents;
|
| import org.chromium.content_public.common.ResourceRequestBody;
|
| @@ -489,6 +493,39 @@ public class TabWebContentsDelegateAndroid extends WebContentsDelegateAndroid {
|
| if (tab != null) nativeNotifyStopped(tab.getWebContents());
|
| }
|
|
|
| + @Override
|
| + public ContentVideoViewEmbedder getContentVideoViewEmbedder() {
|
| + return new ActivityContentVideoViewEmbedder(mTab.getActivity()) {
|
| + @Override
|
| + public void enterFullscreenVideo(View view, boolean isVideoLoaded) {
|
| + super.enterFullscreenVideo(view, isVideoLoaded);
|
| + FullscreenManager fullscreenManager = mTab.getFullscreenManager();
|
| + if (fullscreenManager != null) {
|
| + fullscreenManager.setOverlayVideoMode(true);
|
| + // Disable double tap for video.
|
| + ContentViewCore cvc = mTab.getContentViewCore();
|
| + if (cvc != null) {
|
| + cvc.updateDoubleTapSupport(false);
|
| + }
|
| + }
|
| + }
|
| +
|
| + @Override
|
| + public void exitFullscreenVideo() {
|
| + FullscreenManager fullscreenManager = mTab.getFullscreenManager();
|
| + if (fullscreenManager != null) {
|
| + fullscreenManager.setOverlayVideoMode(false);
|
| + // Disable double tap for video.
|
| + ContentViewCore cvc = mTab.getContentViewCore();
|
| + if (cvc != null) {
|
| + cvc.updateDoubleTapSupport(true);
|
| + }
|
| + }
|
| + super.exitFullscreenVideo();
|
| + }
|
| + };
|
| + }
|
| +
|
| private static native void nativeOnRendererUnresponsive(WebContents webContents);
|
| private static native void nativeOnRendererResponsive(WebContents webContents);
|
| private static native boolean nativeIsCapturingAudio(WebContents webContents);
|
|
|