| 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 f50f9b5b61716a381401ae98cd7a386076d59d42..ea9fea4f6def59540aabd529b85fe8f4047db5e0 100644
|
| --- a/content/renderer/media/android/renderer_media_player_manager.cc
|
| +++ b/content/renderer/media/android/renderer_media_player_manager.cc
|
| @@ -23,11 +23,13 @@ namespace content {
|
| const size_t kMaxWebSessionIdLength = 512;
|
| const size_t kMaxSessionMessageLength = 10240; // 10 KB
|
|
|
| -RendererMediaPlayerManager::RendererMediaPlayerManager(RenderView* render_view)
|
| - : RenderViewObserver(render_view),
|
| +RendererMediaPlayerManager::RendererMediaPlayerManager(
|
| + RenderFrame* render_frame)
|
| + : RenderFrameObserver(render_frame),
|
| next_media_player_id_(0),
|
| fullscreen_frame_(NULL),
|
| - pending_fullscreen_frame_(NULL) {}
|
| + pending_fullscreen_frame_(NULL) {
|
| +}
|
|
|
| RendererMediaPlayerManager::~RendererMediaPlayerManager() {
|
| std::map<int, WebMediaPlayerAndroid*>::iterator player_it;
|
| @@ -67,6 +69,7 @@ bool RendererMediaPlayerManager::OnMessageReceived(const IPC::Message& msg) {
|
| IPC_MESSAGE_HANDLER(MediaPlayerMsg_DidExitFullscreen, OnDidExitFullscreen)
|
| IPC_MESSAGE_HANDLER(MediaPlayerMsg_DidMediaPlayerPlay, OnPlayerPlay)
|
| IPC_MESSAGE_HANDLER(MediaPlayerMsg_DidMediaPlayerPause, OnPlayerPause)
|
| + IPC_MESSAGE_HANDLER(MediaPlayerMsg_PauseVideo, OnPauseVideo)
|
| IPC_MESSAGE_HANDLER(CdmMsg_SessionCreated, OnSessionCreated)
|
| IPC_MESSAGE_HANDLER(CdmMsg_SessionMessage, OnSessionMessage)
|
| IPC_MESSAGE_HANDLER(CdmMsg_SessionReady, OnSessionReady)
|
| @@ -231,6 +234,10 @@ void RendererMediaPlayerManager::OnRequestFullscreen(int player_id) {
|
| player->OnRequestFullscreen();
|
| }
|
|
|
| +void RendererMediaPlayerManager::OnPauseVideo() {
|
| + ReleaseVideoResources();
|
| +}
|
| +
|
| void RendererMediaPlayerManager::EnterFullscreen(int player_id,
|
| blink::WebFrame* frame) {
|
| pending_fullscreen_frame_ = frame;
|
| @@ -361,8 +368,8 @@ void RendererMediaPlayerManager::RegisterMediaKeys(int cdm_id,
|
|
|
| void RendererMediaPlayerManager::ReleaseVideoResources() {
|
| std::map<int, WebMediaPlayerAndroid*>::iterator player_it;
|
| - for (player_it = media_players_.begin();
|
| - player_it != media_players_.end(); ++player_it) {
|
| + for (player_it = media_players_.begin(); player_it != media_players_.end();
|
| + ++player_it) {
|
| WebMediaPlayerAndroid* player = player_it->second;
|
|
|
| // Do not release if an audio track is still playing
|
| @@ -444,8 +451,8 @@ void RendererMediaPlayerManager::RetrieveGeometryChanges(
|
|
|
| bool
|
| RendererMediaPlayerManager::ShouldUseVideoOverlayForEmbeddedEncryptedVideo() {
|
| - const RendererPreferences& prefs = static_cast<RenderViewImpl*>(
|
| - render_view())->renderer_preferences();
|
| + const RendererPreferences& prefs = static_cast<RenderFrameImpl*>(
|
| + render_frame())->render_view()->renderer_preferences();
|
| return prefs.use_video_overlay_for_embedded_encrypted_video;
|
| }
|
| #endif // defined(VIDEO_HOLE)
|
|
|