| Index: content/renderer/media/android/renderer_media_player_manager.cc
|
| diff --git a/content/renderer/media/android/renderer_media_player_manager.cc b/content/renderer/media/android/renderer_media_player_manager.cc
|
| index d75a7e3656f473e421291e9ed97c5f31cde4a297..b1339cd8680012ce996844f0c82560441a08c4d0 100644
|
| --- a/content/renderer/media/android/renderer_media_player_manager.cc
|
| +++ b/content/renderer/media/android/renderer_media_player_manager.cc
|
| @@ -17,6 +17,8 @@ namespace content {
|
| RendererMediaPlayerManager::RendererMediaPlayerManager(RenderView* render_view)
|
| : RenderViewObserver(render_view),
|
| next_media_player_id_(0),
|
| + fullscreen_player_id_(-1),
|
| + paused_fullscreen_player_id_(-1),
|
| fullscreen_frame_(NULL) {}
|
|
|
| RendererMediaPlayerManager::~RendererMediaPlayerManager() {
|
| @@ -188,14 +190,18 @@ void RendererMediaPlayerManager::OnDisconnectedFromRemoteDevice(int player_id) {
|
|
|
| void RendererMediaPlayerManager::OnDidEnterFullscreen(int player_id) {
|
| WebMediaPlayerAndroid* player = GetMediaPlayer(player_id);
|
| - if (player)
|
| + if (player) {
|
| + fullscreen_player_id_ = player_id;
|
| player->OnDidEnterFullscreen();
|
| + }
|
| }
|
|
|
| void RendererMediaPlayerManager::OnDidExitFullscreen(int player_id) {
|
| WebMediaPlayerAndroid* player = GetMediaPlayer(player_id);
|
| - if (player)
|
| + if (player) {
|
| + fullscreen_player_id_ = -1;
|
| player->OnDidExitFullscreen();
|
| + }
|
| }
|
|
|
| void RendererMediaPlayerManager::OnPlayerPlay(int player_id) {
|
| @@ -221,6 +227,7 @@ void RendererMediaPlayerManager::EnterFullscreen(int player_id) {
|
| }
|
|
|
| void RendererMediaPlayerManager::ExitFullscreen(int player_id) {
|
| + DCHECK(player_id == fullscreen_player_id_);
|
| Send(new MediaPlayerHostMsg_ExitFullscreen(routing_id(), player_id));
|
| }
|
|
|
| @@ -323,6 +330,20 @@ void RendererMediaPlayerManager::RegisterMediaKeys(int media_keys_id,
|
| media_keys_[media_keys_id] = media_keys;
|
| }
|
|
|
| +void RendererMediaPlayerManager::SuspendFullscreenVideo() {
|
| + if (fullscreen_player_id_ != -1) {
|
| + ExitFullscreen(fullscreen_player_id_);
|
| + paused_fullscreen_player_id_ = fullscreen_player_id_;
|
| + }
|
| +}
|
| +
|
| +void RendererMediaPlayerManager::ResumeFullscreenVideo() {
|
| + if (paused_fullscreen_player_id_ != -1) {
|
| + EnterFullscreen(paused_fullscreen_player_id_);
|
| + paused_fullscreen_player_id_ = -1;
|
| + }
|
| +}
|
| +
|
| void RendererMediaPlayerManager::ReleaseVideoResources() {
|
| std::map<int, WebMediaPlayerAndroid*>::iterator player_it;
|
| for (player_it = media_players_.begin();
|
|
|