Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2796)

Unified Diff: content/renderer/media/android/renderer_media_player_manager.cc

Issue 278353003: Make RendererMediaPlayerManager a RenderFrameObserver. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Minor fix. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)

Powered by Google App Engine
This is Rietveld 408576698