Index: content/browser/media/media_web_contents_observer.cc |
diff --git a/content/browser/media/android/media_web_contents_observer.cc b/content/browser/media/media_web_contents_observer.cc |
similarity index 92% |
rename from content/browser/media/android/media_web_contents_observer.cc |
rename to content/browser/media/media_web_contents_observer.cc |
index 063085beea66d30873d63e698865e319e0b984b6..de1fb89adc4f6e24ec7840a00701453f7d4bf819 100644 |
--- a/content/browser/media/android/media_web_contents_observer.cc |
+++ b/content/browser/media/media_web_contents_observer.cc |
@@ -2,24 +2,24 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "content/browser/media/android/media_web_contents_observer.h" |
+#include "content/browser/media/media_web_contents_observer.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/stl_util.h" |
-#include "content/browser/media/android/browser_cdm_manager.h" |
-#include "content/browser/media/android/browser_media_player_manager.h" |
+#include "content/browser/media/cdm/browser_cdm_manager.h" |
#include "content/common/media/cdm_messages.h" |
-#include "content/common/media/media_player_messages_android.h" |
#include "content/public/browser/render_frame_host.h" |
#include "content/public/browser/web_contents.h" |
#include "ipc/ipc_message_macros.h" |
+ |
+#if defined(OS_ANDROID) |
+#include "content/browser/media/android/browser_media_player_manager.h" |
+#include "content/common/media/media_player_messages_android.h" |
#include "media/base/android/media_player_android.h" |
+#endif // defined(OS_ANDROID) |
namespace content { |
-using media::BrowserCdm; |
-using media::MediaPlayerAndroid; |
- |
MediaWebContentsObserver::MediaWebContentsObserver( |
RenderViewHost* render_view_host) |
: WebContentsObserver(WebContents::FromRenderViewHost(render_view_host)) { |
@@ -31,25 +31,67 @@ MediaWebContentsObserver::~MediaWebContentsObserver() { |
void MediaWebContentsObserver::RenderFrameDeleted( |
RenderFrameHost* render_frame_host) { |
uintptr_t key = reinterpret_cast<uintptr_t>(render_frame_host); |
- media_player_managers_.erase(key); |
cdm_managers_.erase(key); |
+#if defined(OS_ANDROID) |
+ media_player_managers_.erase(key); |
+#endif |
} |
bool MediaWebContentsObserver::OnMessageReceived( |
const IPC::Message& msg, |
RenderFrameHost* render_frame_host) { |
+#if defined(OS_ANDROID) |
+ // Handles MediaPlayer messages first because MediaPlayers messages are much |
+ // more frequent than CDM messages. |
if (OnMediaPlayerMessageReceived(msg, render_frame_host)) |
return true; |
- if (OnCdmMessageReceived(msg, render_frame_host)) |
+ if (OnMediaPlayerSetCdmMessageReceived(msg, render_frame_host)) |
return true; |
+#endif // defined(OS_ANDROID) |
- if (OnMediaPlayerSetCdmMessageReceived(msg, render_frame_host)) |
+ if (OnCdmMessageReceived(msg, render_frame_host)) |
return true; |
return false; |
} |
+bool MediaWebContentsObserver::OnCdmMessageReceived( |
+ const IPC::Message& msg, |
+ RenderFrameHost* render_frame_host) { |
+ bool handled = true; |
+ IPC_BEGIN_MESSAGE_MAP(MediaWebContentsObserver, msg) |
+ IPC_MESSAGE_FORWARD(CdmHostMsg_InitializeCdm, |
+ GetCdmManager(render_frame_host), |
+ BrowserCdmManager::OnInitializeCdm) |
+ IPC_MESSAGE_FORWARD(CdmHostMsg_CreateSession, |
+ GetCdmManager(render_frame_host), |
+ BrowserCdmManager::OnCreateSession) |
+ IPC_MESSAGE_FORWARD(CdmHostMsg_UpdateSession, |
+ GetCdmManager(render_frame_host), |
+ BrowserCdmManager::OnUpdateSession) |
+ IPC_MESSAGE_FORWARD(CdmHostMsg_ReleaseSession, |
+ GetCdmManager(render_frame_host), |
+ BrowserCdmManager::OnReleaseSession) |
+ IPC_MESSAGE_FORWARD(CdmHostMsg_DestroyCdm, |
+ GetCdmManager(render_frame_host), |
+ BrowserCdmManager::OnDestroyCdm) |
+ IPC_MESSAGE_UNHANDLED(handled = false) |
+ IPC_END_MESSAGE_MAP() |
+ return handled; |
+} |
+ |
+BrowserCdmManager* MediaWebContentsObserver::GetCdmManager( |
+ RenderFrameHost* render_frame_host) { |
+ uintptr_t key = reinterpret_cast<uintptr_t>(render_frame_host); |
+ if (!cdm_managers_.contains(key)) { |
+ cdm_managers_.set( |
+ key, make_scoped_ptr(BrowserCdmManager::Create(render_frame_host))); |
+ } |
+ return cdm_managers_.get(key); |
+} |
+ |
+#if defined(OS_ANDROID) |
bool MediaWebContentsObserver::OnMediaPlayerMessageReceived( |
const IPC::Message& msg, |
RenderFrameHost* render_frame_host) { |
@@ -93,31 +135,6 @@ bool MediaWebContentsObserver::OnMediaPlayerMessageReceived( |
GetMediaPlayerManager(render_frame_host), |
BrowserMediaPlayerManager::OnNotifyExternalSurface) |
#endif // defined(VIDEO_HOLE) |
- IPC_MESSAGE_UNHANDLED(handled = false) |
- IPC_END_MESSAGE_MAP() |
- return handled; |
-} |
- |
-bool MediaWebContentsObserver::OnCdmMessageReceived( |
- const IPC::Message& msg, |
- RenderFrameHost* render_frame_host) { |
- bool handled = true; |
- IPC_BEGIN_MESSAGE_MAP(MediaWebContentsObserver, msg) |
- IPC_MESSAGE_FORWARD(CdmHostMsg_InitializeCdm, |
- GetCdmManager(render_frame_host), |
- BrowserCdmManager::OnInitializeCdm) |
- IPC_MESSAGE_FORWARD(CdmHostMsg_CreateSession, |
- GetCdmManager(render_frame_host), |
- BrowserCdmManager::OnCreateSession) |
- IPC_MESSAGE_FORWARD(CdmHostMsg_UpdateSession, |
- GetCdmManager(render_frame_host), |
- BrowserCdmManager::OnUpdateSession) |
- IPC_MESSAGE_FORWARD(CdmHostMsg_ReleaseSession, |
- GetCdmManager(render_frame_host), |
- BrowserCdmManager::OnReleaseSession) |
- IPC_MESSAGE_FORWARD(CdmHostMsg_DestroyCdm, |
- GetCdmManager(render_frame_host), |
- BrowserCdmManager::OnDestroyCdm) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
return handled; |
@@ -138,14 +155,14 @@ bool MediaWebContentsObserver::OnMediaPlayerSetCdmMessageReceived( |
void MediaWebContentsObserver::OnSetCdm(RenderFrameHost* render_frame_host, |
int player_id, |
int cdm_id) { |
- MediaPlayerAndroid* media_player = |
+ media::MediaPlayerAndroid* media_player = |
GetMediaPlayerManager(render_frame_host)->GetPlayer(player_id); |
if (!media_player) { |
NOTREACHED() << "OnSetCdm: MediaPlayer not found for " << player_id; |
return; |
} |
- BrowserCdm* cdm = GetCdmManager(render_frame_host)->GetCdm(cdm_id); |
+ media::BrowserCdm* cdm = GetCdmManager(render_frame_host)->GetCdm(cdm_id); |
if (!cdm) { |
NOTREACHED() << "OnSetCdm: CDM not found for " << cdm_id; |
return; |
@@ -167,16 +184,6 @@ BrowserMediaPlayerManager* MediaWebContentsObserver::GetMediaPlayerManager( |
return media_player_managers_.get(key); |
} |
-BrowserCdmManager* MediaWebContentsObserver::GetCdmManager( |
- RenderFrameHost* render_frame_host) { |
- uintptr_t key = reinterpret_cast<uintptr_t>(render_frame_host); |
- if (!cdm_managers_.contains(key)) { |
- cdm_managers_.set( |
- key, make_scoped_ptr(BrowserCdmManager::Create(render_frame_host))); |
- } |
- return cdm_managers_.get(key); |
-} |
- |
void MediaWebContentsObserver::PauseVideo() { |
for (MediaPlayerManagerMap::iterator iter = media_player_managers_.begin(); |
iter != media_player_managers_.end(); ++iter) { |
@@ -195,4 +202,6 @@ void MediaWebContentsObserver::OnFrameInfoUpdated() { |
} |
#endif // defined(VIDEO_HOLE) |
+#endif // defined(OS_ANDROID) |
+ |
} // namespace content |