| Index: content/renderer/media/webmediaplayer_ms.cc
|
| diff --git a/content/renderer/media/webmediaplayer_ms.cc b/content/renderer/media/webmediaplayer_ms.cc
|
| index 0a726303f6640949930e6f0788f2ffe240cee00b..5243091eee66a8489dd3b78bec445326238718e8 100644
|
| --- a/content/renderer/media/webmediaplayer_ms.cc
|
| +++ b/content/renderer/media/webmediaplayer_ms.cc
|
| @@ -380,7 +380,7 @@ unsigned WebMediaPlayerMS::videoDecodedByteCount() const {
|
| return 0;
|
| }
|
|
|
| -void WebMediaPlayerMS::OnHidden(bool must_suspend) {
|
| +void WebMediaPlayerMS::OnHidden() {
|
| #if defined(OS_ANDROID)
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| @@ -392,18 +392,8 @@ void WebMediaPlayerMS::OnHidden(bool must_suspend) {
|
| // can't rely on |render_frame_suspended_| being false here.
|
|
|
| render_frame_suspended_ = true;
|
| - if (must_suspend) {
|
| - if (!paused_) {
|
| - pause();
|
| - paused_on_hidden_ = true;
|
| - }
|
| -
|
| - if (delegate_)
|
| - delegate_->PlayerGone(delegate_id_);
|
| - } else if (!paused_) {
|
| - // pause() will make its own copy in the block above otherwise.
|
| + if (!paused_)
|
| compositor_->ReplaceCurrentFrameWithACopy();
|
| - }
|
| #endif // defined(OS_ANDROID)
|
| }
|
|
|
| @@ -419,6 +409,23 @@ void WebMediaPlayerMS::OnShown() {
|
| #endif // defined(OS_ANDROID)
|
| }
|
|
|
| +void WebMediaPlayerMS::OnSuspend(bool must_suspend) {
|
| +#if defined(OS_ANDROID)
|
| + if (!must_suspend)
|
| + return;
|
| +
|
| + if (!paused_) {
|
| + pause();
|
| + paused_on_hidden_ = true;
|
| + }
|
| +
|
| + if (delegate_)
|
| + delegate_->PlayerGone(delegate_id_);
|
| +
|
| + render_frame_suspended_ = true;
|
| +#endif
|
| +}
|
| +
|
| void WebMediaPlayerMS::OnPlay() {
|
| play();
|
| client_->playbackStateChanged();
|
|
|