| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/media/android/media_web_contents_observer_android.h" | 5 #include "content/browser/media/android/media_web_contents_observer_android.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
| 10 #include "content/browser/media/android/browser_media_player_manager.h" | 10 #include "content/browser/media/android/browser_media_player_manager.h" |
| 11 #include "content/browser/media/android/browser_media_session_manager.h" | 11 #include "content/browser/media/android/browser_media_session_manager.h" |
| 12 #include "content/browser/media/android/browser_surface_view_manager.h" | 12 #include "content/browser/media/android/browser_surface_view_manager.h" |
| 13 #include "content/browser/media/cdm/browser_cdm_manager.h" | 13 #include "content/browser/media/cdm/browser_cdm_manager.h" |
| 14 #include "content/browser/web_contents/web_contents_impl.h" | 14 #include "content/browser/web_contents/web_contents_impl.h" |
| 15 #include "content/common/media/media_player_delegate_messages.h" | 15 #include "content/common/media/media_player_delegate_messages.h" |
| 16 #include "content/common/media/media_player_messages_android.h" | 16 #include "content/common/media/media_player_messages_android.h" |
| 17 #include "content/common/media/media_session_messages_android.h" | |
| 18 #include "content/common/media/surface_view_manager_messages_android.h" | 17 #include "content/common/media/surface_view_manager_messages_android.h" |
| 19 #include "content/public/browser/render_frame_host.h" | 18 #include "content/public/browser/render_frame_host.h" |
| 20 #include "content/public/browser/web_contents.h" | 19 #include "content/public/browser/web_contents.h" |
| 21 #include "ipc/ipc_message_macros.h" | 20 #include "ipc/ipc_message_macros.h" |
| 22 #include "media/base/android/media_player_android.h" | 21 #include "media/base/android/media_player_android.h" |
| 23 | 22 |
| 24 namespace content { | 23 namespace content { |
| 25 | 24 |
| 26 static void SuspendAllMediaPlayersInRenderFrame( | 25 static void SuspendAllMediaPlayersInRenderFrame( |
| 27 RenderFrameHost* render_frame_host) { | 26 RenderFrameHost* render_frame_host) { |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 RenderFrameHost* render_frame_host) { | 136 RenderFrameHost* render_frame_host) { |
| 138 if (MediaWebContentsObserver::OnMessageReceived(msg, render_frame_host)) | 137 if (MediaWebContentsObserver::OnMessageReceived(msg, render_frame_host)) |
| 139 return true; | 138 return true; |
| 140 | 139 |
| 141 if (OnMediaPlayerMessageReceived(msg, render_frame_host)) | 140 if (OnMediaPlayerMessageReceived(msg, render_frame_host)) |
| 142 return true; | 141 return true; |
| 143 | 142 |
| 144 if (OnMediaPlayerSetCdmMessageReceived(msg, render_frame_host)) | 143 if (OnMediaPlayerSetCdmMessageReceived(msg, render_frame_host)) |
| 145 return true; | 144 return true; |
| 146 | 145 |
| 147 if (OnMediaSessionMessageReceived(msg, render_frame_host)) | |
| 148 return true; | |
| 149 | |
| 150 if (OnSurfaceViewManagerMessageReceived(msg, render_frame_host)) | 146 if (OnSurfaceViewManagerMessageReceived(msg, render_frame_host)) |
| 151 return true; | 147 return true; |
| 152 | 148 |
| 153 return false; | 149 return false; |
| 154 } | 150 } |
| 155 | 151 |
| 156 bool MediaWebContentsObserverAndroid::OnMediaPlayerMessageReceived( | 152 bool MediaWebContentsObserverAndroid::OnMediaPlayerMessageReceived( |
| 157 const IPC::Message& msg, | 153 const IPC::Message& msg, |
| 158 RenderFrameHost* render_frame_host) { | 154 RenderFrameHost* render_frame_host) { |
| 159 bool handled = true; | 155 bool handled = true; |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 202 RenderFrameHost* render_frame_host) { | 198 RenderFrameHost* render_frame_host) { |
| 203 bool handled = true; | 199 bool handled = true; |
| 204 IPC_BEGIN_MESSAGE_MAP_WITH_PARAM(MediaWebContentsObserverAndroid, msg, | 200 IPC_BEGIN_MESSAGE_MAP_WITH_PARAM(MediaWebContentsObserverAndroid, msg, |
| 205 render_frame_host) | 201 render_frame_host) |
| 206 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_SetCdm, OnSetCdm) | 202 IPC_MESSAGE_HANDLER(MediaPlayerHostMsg_SetCdm, OnSetCdm) |
| 207 IPC_MESSAGE_UNHANDLED(handled = false) | 203 IPC_MESSAGE_UNHANDLED(handled = false) |
| 208 IPC_END_MESSAGE_MAP() | 204 IPC_END_MESSAGE_MAP() |
| 209 return handled; | 205 return handled; |
| 210 } | 206 } |
| 211 | 207 |
| 212 bool MediaWebContentsObserverAndroid::OnMediaSessionMessageReceived( | |
| 213 const IPC::Message& msg, | |
| 214 RenderFrameHost* render_frame_host) { | |
| 215 bool handled = true; | |
| 216 | |
| 217 IPC_BEGIN_MESSAGE_MAP(MediaWebContentsObserver, msg) | |
| 218 IPC_MESSAGE_FORWARD(MediaSessionHostMsg_Activate, | |
| 219 GetMediaSessionManager(render_frame_host), | |
| 220 BrowserMediaSessionManager::OnActivate) | |
| 221 IPC_MESSAGE_FORWARD(MediaSessionHostMsg_Deactivate, | |
| 222 GetMediaSessionManager(render_frame_host), | |
| 223 BrowserMediaSessionManager::OnDeactivate) | |
| 224 IPC_MESSAGE_FORWARD(MediaSessionHostMsg_SetMetadata, | |
| 225 GetMediaSessionManager(render_frame_host), | |
| 226 BrowserMediaSessionManager::OnSetMetadata) | |
| 227 IPC_MESSAGE_UNHANDLED(handled = false) | |
| 228 IPC_END_MESSAGE_MAP() | |
| 229 | |
| 230 return handled; | |
| 231 } | |
| 232 | |
| 233 bool MediaWebContentsObserverAndroid::OnSurfaceViewManagerMessageReceived( | 208 bool MediaWebContentsObserverAndroid::OnSurfaceViewManagerMessageReceived( |
| 234 const IPC::Message& msg, | 209 const IPC::Message& msg, |
| 235 RenderFrameHost* render_frame_host) { | 210 RenderFrameHost* render_frame_host) { |
| 236 bool handled = true; | 211 bool handled = true; |
| 237 IPC_BEGIN_MESSAGE_MAP(MediaWebContentsObserverAndroid, msg) | 212 IPC_BEGIN_MESSAGE_MAP(MediaWebContentsObserverAndroid, msg) |
| 238 IPC_MESSAGE_FORWARD(SurfaceViewManagerHostMsg_CreateFullscreenSurface, | 213 IPC_MESSAGE_FORWARD(SurfaceViewManagerHostMsg_CreateFullscreenSurface, |
| 239 GetSurfaceViewManager(render_frame_host), | 214 GetSurfaceViewManager(render_frame_host), |
| 240 BrowserSurfaceViewManager::OnCreateFullscreenSurface) | 215 BrowserSurfaceViewManager::OnCreateFullscreenSurface) |
| 241 IPC_MESSAGE_FORWARD(SurfaceViewManagerHostMsg_NaturalSizeChanged, | 216 IPC_MESSAGE_FORWARD(SurfaceViewManagerHostMsg_NaturalSizeChanged, |
| 242 GetSurfaceViewManager(render_frame_host), | 217 GetSurfaceViewManager(render_frame_host), |
| (...skipping 28 matching lines...) Expand all Loading... |
| 271 NOTREACHED() << "OnSetCdm: CDM not found for " << cdm_id; | 246 NOTREACHED() << "OnSetCdm: CDM not found for " << cdm_id; |
| 272 return; | 247 return; |
| 273 } | 248 } |
| 274 | 249 |
| 275 // TODO(xhwang): This could possibly fail. In that case we should reject the | 250 // TODO(xhwang): This could possibly fail. In that case we should reject the |
| 276 // promise. | 251 // promise. |
| 277 media_player->SetCdm(cdm); | 252 media_player->SetCdm(cdm); |
| 278 } | 253 } |
| 279 | 254 |
| 280 } // namespace content | 255 } // namespace content |
| OLD | NEW |