| 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() {
|
|
|