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

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

Issue 2353063005: Refactor ContentViewClient (1/6) (Closed)
Patch Set: cast to activity Created 4 years, 3 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 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);

Powered by Google App Engine
This is Rietveld 408576698