Index: webkit/media/android/webmediaplayer_impl_android.cc |
diff --git a/webkit/media/android/webmediaplayer_impl_android.cc b/webkit/media/android/webmediaplayer_impl_android.cc |
index fe4d0a5589fde7e501e372cc2b04e19053cc73b9..66b65831409b7453117d091f680073402c3c504e 100644 |
--- a/webkit/media/android/webmediaplayer_impl_android.cc |
+++ b/webkit/media/android/webmediaplayer_impl_android.cc |
@@ -21,6 +21,18 @@ using WebKit::WebMediaPlayer; |
namespace webkit_media { |
+namespace { |
+ |
+// Copied from content/browser/android/content_video_view.h |
+enum { |
+ // These are used in java so don't change them unless we can share an enum |
+ // from java and remove this enum. |
+ PERSONALITY_FULL_SCREEN = 0, |
+ PERSONALITY_EMBEDDED = 1, |
+}; |
+ |
+} // namespace |
+ |
WebMediaPlayerImplAndroid::WebMediaPlayerImplAndroid( |
WebKit::WebFrame* frame, |
WebMediaPlayerClient* client, |
@@ -94,25 +106,34 @@ void WebMediaPlayerImplAndroid::OnTimeUpdate(base::TimeDelta current_time) { |
current_time_ = static_cast<float>(current_time.InSecondsF()); |
} |
-void WebMediaPlayerImplAndroid::OnDidEnterFullscreen() { |
- if (!manager()->IsInFullscreen(frame_)) { |
- frame_->view()->willEnterFullScreen(); |
- frame_->view()->didEnterFullScreen(); |
- manager()->DidEnterFullscreen(frame_); |
+void WebMediaPlayerImplAndroid::OnDidEnterVideoView(int personality) { |
+ if (personality == PERSONALITY_FULL_SCREEN) { |
+ if (!manager()->IsInFullscreen(frame_)) { |
+ frame_->view()->willEnterFullScreen(); |
+ frame_->view()->didEnterFullScreen(); |
+ manager()->DidEnterFullscreen(frame_); |
+ } |
+ } else { |
+ SetIsInVideoView(true); |
+ SetNeedsEstablishPeer(false); |
} |
} |
-void WebMediaPlayerImplAndroid::OnDidExitFullscreen() { |
+void WebMediaPlayerImplAndroid::OnDidExitVideoView(int personality) { |
SetNeedsEstablishPeer(true); |
// We had the fullscreen surface connected to Android MediaPlayer, |
// so reconnect our surface texture for embedded playback. |
if (!paused()) |
EstablishSurfaceTexturePeer(); |
- frame_->view()->willExitFullScreen(); |
- frame_->view()->didExitFullScreen(); |
- manager()->DidExitFullscreen(); |
- client()->repaint(); |
+ if (personality == PERSONALITY_FULL_SCREEN) { |
+ frame_->view()->willExitFullScreen(); |
+ frame_->view()->didExitFullScreen(); |
+ manager()->DidExitFullscreen(); |
+ client()->repaint(); |
+ } else { |
+ SetIsInVideoView(false); |
+ } |
} |
void WebMediaPlayerImplAndroid::OnMediaPlayerPlay() { |