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

Unified Diff: content/browser/media/android/media_web_contents_observer.h

Issue 315733003: Separate BrowserCdmManager from BrowserMediaPlayerManager. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: minor fix after rebase Created 6 years, 6 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/browser/media/android/media_web_contents_observer.h
diff --git a/content/browser/media/android/media_web_contents_observer.h b/content/browser/media/android/media_web_contents_observer.h
index 126bbfb43ed0b1a1c82f672c78d14b5d27394a35..38b82b27ea1c1450a7d24e9f6d98318c9aef5612 100644
--- a/content/browser/media/android/media_web_contents_observer.h
+++ b/content/browser/media/android/media_web_contents_observer.h
@@ -12,6 +12,7 @@
namespace content {
+class BrowserCdmManager;
class BrowserMediaPlayerManager;
class RenderViewHost;
@@ -29,11 +30,26 @@ class CONTENT_EXPORT MediaWebContentsObserver : public WebContentsObserver {
virtual bool OnMessageReceived(const IPC::Message& message,
RenderFrameHost* render_frame_host) OVERRIDE;
+ // Helper functions to handle various IPC messages. Returns whether the
+ // |message| is handled in the function.
+ bool OnMediaPlayerMessageReceived(const IPC::Message& message,
+ RenderFrameHost* render_frame_host);
+ bool OnCdmMessageReceived(const IPC::Message& message,
+ RenderFrameHost* render_frame_host);
+ bool OnMediaPlayerSetCdmMessageReceived(const IPC::Message& message,
+ RenderFrameHost* render_frame_host);
+
// Gets the media player manager associated with |render_frame_host|. Creates
// a new one if it doesn't exist. The caller doesn't own the returned pointer.
BrowserMediaPlayerManager* GetMediaPlayerManager(
RenderFrameHost* render_frame_host);
+ // Gets the CDM manager associated with |render_frame_host|. Creates
+ // a new one if it doesn't exist. The caller doesn't own the returned pointer.
+ BrowserCdmManager* GetCdmManager(RenderFrameHost* render_frame_host);
+
+ void OnSetCdm(RenderFrameHost* render_frame_host, int player_id, int cdm_id);
+
// Pauses all media player.
void PauseVideo();
@@ -47,6 +63,10 @@ class CONTENT_EXPORT MediaWebContentsObserver : public WebContentsObserver {
MediaPlayerManagerMap;
MediaPlayerManagerMap media_player_managers_;
+ // Map from RenderFrameHost* to BrowserCdmManager.
+ typedef base::ScopedPtrHashMap<uintptr_t, BrowserCdmManager> CdmManagerMap;
+ CdmManagerMap cdm_managers_;
+
DISALLOW_COPY_AND_ASSIGN(MediaWebContentsObserver);
};

Powered by Google App Engine
This is Rietveld 408576698