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 |