Index: content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java |
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java |
index 85e2da86ed8c4907dbfa32eca7c72bd3bbe5f88c..091f9ae8ba6ba6e5bd0459685d940488606a27a1 100644 |
--- a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java |
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java |
@@ -361,6 +361,9 @@ public class ContentViewCore |
// screen orientation. |
private boolean mFullscreenRequiredForOrientationLock = true; |
+ // The accelerated view for fullscreen video playback. |
+ private ContentVideoView mVideoView; |
+ |
/** |
* Constructs a new ContentViewCore. Embedders must call initialize() after constructing |
* a ContentViewCore and before using it. |
@@ -393,7 +396,6 @@ public class ContentViewCore |
/** |
* @return The context used for creating this ContentViewCore. |
*/ |
- @CalledByNative |
public Context getContext() { |
return mContext; |
} |
@@ -2778,7 +2780,8 @@ public class ContentViewCore |
} |
/** |
- * Inform WebKit that Fullscreen mode has been exited by the user. |
+ * Inform WebKit that Fullscreen mode has been exited by the user |
+ * or the app (in the case of the WebView). |
*/ |
public void exitFullscreen() { |
assert mWebContents != null; |
@@ -2786,6 +2789,33 @@ public class ContentViewCore |
} |
/** |
+ * The {@link ContentVideoView} that must be shown when the {@link #onDidEnterFullscreen()} |
+ * callback is received. |
+ */ |
+ void setContentVideoView(ContentVideoView videoView) { |
+ mVideoView = videoView; |
+ } |
+ |
+ @CalledByNative |
+ private void onDidEnterFullscreen() { |
+ if (mVideoView != null) { |
+ getContentVideoViewClient().enterFullscreenVideo(mVideoView); |
qinmin
2014/10/06 16:55:28
we call WebMediaPlayer::enterfullscreen() in Fulls
Ignacio Solla
2014/10/07 18:14:43
I added a comment to render_widget.cc.
As discuss
|
+ } else { |
+ getContentViewClient().enterFullscreen(); |
+ } |
+ } |
+ |
+ @CalledByNative |
+ private void onDidExitFullscreen() { |
+ if (mVideoView != null) { |
+ getContentVideoViewClient().exitFullscreenVideo(); |
+ mVideoView = null; |
+ } else { |
+ getContentViewClient().exitFullscreen(); |
+ } |
+ } |
+ |
+ /** |
* Changes whether hiding the top controls is enabled. |
* |
* @param enableHiding Whether hiding the top controls should be enabled or not. |
@@ -2892,8 +2922,7 @@ public class ContentViewCore |
private native long nativeInit(long webContentsPtr, |
long viewAndroidPtr, long windowAndroidPtr, HashSet<Object> retainedObjectSet); |
- @CalledByNative |
- private ContentVideoViewClient getContentVideoViewClient() { |
+ ContentVideoViewClient getContentVideoViewClient() { |
return getContentViewClient().getContentVideoViewClient(); |
} |