Index: content/browser/media/android/browser_media_session_manager.h |
diff --git a/content/browser/media/android/browser_media_session_manager.h b/content/browser/media/android/browser_media_session_manager.h |
index 45e6c7e0eab9bede232370e3c648af8010f3ccbe..442517a32f282b5d24fc62ee09441028bcbc8efd 100644 |
--- a/content/browser/media/android/browser_media_session_manager.h |
+++ b/content/browser/media/android/browser_media_session_manager.h |
@@ -8,6 +8,7 @@ |
#include "base/macros.h" |
#include "base/optional.h" |
#include "content/common/content_export.h" |
+#include "content/public/common/media_metadata.h" |
namespace IPC { |
class Message; |
@@ -16,17 +17,27 @@ class Message; |
namespace content { |
class RenderFrameHost; |
-struct MediaMetadata; |
+class WebContentsImpl; |
class CONTENT_EXPORT BrowserMediaSessionManager { |
public: |
- explicit BrowserMediaSessionManager(RenderFrameHost* render_frame_host); |
+ explicit BrowserMediaSessionManager(RenderFrameHost* render_frame_host, |
+ WebContentsImpl* contents); |
+ virtual ~BrowserMediaSessionManager(); |
// Message handlers. |
virtual void OnActivate(int session_id, int request_id); |
virtual void OnDeactivate(int session_id, int request_id); |
+ // Handler for SetMetadata message. |
+ // Since the message comes from IPC, |insecure_metadata| might be insecure |
+ // since it might come from an attacker. The callback should check the its |
+ // sanity before any further actions. |
virtual void OnSetMetadata( |
- int session_id, const base::Optional<MediaMetadata>& metadata); |
+ int session_id, const base::Optional<MediaMetadata>& insecure_metadata); |
+ |
+ const base::Optional<MediaMetadata>& media_metadata() const { |
+ return media_metadata_; |
+ } |
int GetRoutingID() const; |
@@ -34,6 +45,9 @@ class CONTENT_EXPORT BrowserMediaSessionManager { |
private: |
RenderFrameHost* const render_frame_host_; |
+ WebContentsImpl* const contents_; |
+ |
+ base::Optional<MediaMetadata> media_metadata_; |
DISALLOW_COPY_AND_ASSIGN(BrowserMediaSessionManager); |
}; |