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

Side by Side Diff: content/renderer/media/android/renderer_media_player_manager.cc

Issue 100323004: Update Android IPC messages to EME WD (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add buffer size checks Created 7 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/renderer/media/android/renderer_media_player_manager.h" 5 #include "content/renderer/media/android/renderer_media_player_manager.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "content/common/media/media_player_messages_android.h" 9 #include "content/common/media/media_player_messages_android.h"
10 #include "content/renderer/media/android/proxy_media_keys.h" 10 #include "content/renderer/media/android/proxy_media_keys.h"
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 IPC_MESSAGE_HANDLER(MediaPlayerMsg_ConnectedToRemoteDevice, 50 IPC_MESSAGE_HANDLER(MediaPlayerMsg_ConnectedToRemoteDevice,
51 OnConnectedToRemoteDevice) 51 OnConnectedToRemoteDevice)
52 IPC_MESSAGE_HANDLER(MediaPlayerMsg_DisconnectedFromRemoteDevice, 52 IPC_MESSAGE_HANDLER(MediaPlayerMsg_DisconnectedFromRemoteDevice,
53 OnDisconnectedFromRemoteDevice) 53 OnDisconnectedFromRemoteDevice)
54 IPC_MESSAGE_HANDLER(MediaPlayerMsg_RequestFullscreen, 54 IPC_MESSAGE_HANDLER(MediaPlayerMsg_RequestFullscreen,
55 OnRequestFullscreen) 55 OnRequestFullscreen)
56 IPC_MESSAGE_HANDLER(MediaPlayerMsg_DidEnterFullscreen, OnDidEnterFullscreen) 56 IPC_MESSAGE_HANDLER(MediaPlayerMsg_DidEnterFullscreen, OnDidEnterFullscreen)
57 IPC_MESSAGE_HANDLER(MediaPlayerMsg_DidExitFullscreen, OnDidExitFullscreen) 57 IPC_MESSAGE_HANDLER(MediaPlayerMsg_DidExitFullscreen, OnDidExitFullscreen)
58 IPC_MESSAGE_HANDLER(MediaPlayerMsg_DidMediaPlayerPlay, OnPlayerPlay) 58 IPC_MESSAGE_HANDLER(MediaPlayerMsg_DidMediaPlayerPlay, OnPlayerPlay)
59 IPC_MESSAGE_HANDLER(MediaPlayerMsg_DidMediaPlayerPause, OnPlayerPause) 59 IPC_MESSAGE_HANDLER(MediaPlayerMsg_DidMediaPlayerPause, OnPlayerPause)
60 // TODO(jrummell): Update IPC names for EME WD and add Closed. 60 IPC_MESSAGE_HANDLER(MediaKeysMsg_SessionCreated, OnSessionCreated)
61 IPC_MESSAGE_HANDLER(MediaKeysMsg_KeyAdded, OnSessionReady) 61 IPC_MESSAGE_HANDLER(MediaKeysMsg_SessionMessage, OnSessionMessage)
62 IPC_MESSAGE_HANDLER(MediaKeysMsg_KeyError, OnSessionError) 62 IPC_MESSAGE_HANDLER(MediaKeysMsg_SessionReady, OnSessionReady)
63 IPC_MESSAGE_HANDLER(MediaKeysMsg_KeyMessage, OnSessionMessage) 63 IPC_MESSAGE_HANDLER(MediaKeysMsg_SessionClosed, OnSessionClosed)
64 IPC_MESSAGE_HANDLER(MediaKeysMsg_SetSessionId, OnSessionCreated) 64 IPC_MESSAGE_HANDLER(MediaKeysMsg_SessionError, OnSessionError)
65 IPC_MESSAGE_UNHANDLED(handled = false) 65 IPC_MESSAGE_UNHANDLED(handled = false)
66 IPC_END_MESSAGE_MAP() 66 IPC_END_MESSAGE_MAP()
67 return handled; 67 return handled;
68 } 68 }
69 69
70 void RendererMediaPlayerManager::Initialize( 70 void RendererMediaPlayerManager::Initialize(
71 MediaPlayerHostMsg_Initialize_Type type, 71 MediaPlayerHostMsg_Initialize_Type type,
72 int player_id, 72 int player_id,
73 const GURL& url, 73 const GURL& url,
74 const GURL& first_party_for_cookies, 74 const GURL& first_party_for_cookies,
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 226
227 void RendererMediaPlayerManager::InitializeCDM(int media_keys_id, 227 void RendererMediaPlayerManager::InitializeCDM(int media_keys_id,
228 ProxyMediaKeys* media_keys, 228 ProxyMediaKeys* media_keys,
229 const std::vector<uint8>& uuid, 229 const std::vector<uint8>& uuid,
230 const GURL& frame_url) { 230 const GURL& frame_url) {
231 RegisterMediaKeys(media_keys_id, media_keys); 231 RegisterMediaKeys(media_keys_id, media_keys);
232 Send(new MediaKeysHostMsg_InitializeCDM( 232 Send(new MediaKeysHostMsg_InitializeCDM(
233 routing_id(), media_keys_id, uuid, frame_url)); 233 routing_id(), media_keys_id, uuid, frame_url));
234 } 234 }
235 235
236 void RendererMediaPlayerManager::GenerateKeyRequest( 236 void RendererMediaPlayerManager::CreateSession(
237 int media_keys_id, 237 int media_keys_id,
238 uint32 session_id, 238 uint32 session_id,
239 const std::string& type, 239 const std::string& type,
240 const std::vector<uint8>& init_data) { 240 const std::vector<uint8>& init_data) {
241 Send(new MediaKeysHostMsg_GenerateKeyRequest( 241 Send(new MediaKeysHostMsg_CreateSession(
242 routing_id(), media_keys_id, session_id, type, init_data)); 242 routing_id(), media_keys_id, session_id, type, init_data));
243 } 243 }
244 244
245 void RendererMediaPlayerManager::AddKey(int media_keys_id, 245 void RendererMediaPlayerManager::UpdateSession(
246 uint32 session_id, 246 int media_keys_id,
247 const std::vector<uint8>& key, 247 uint32 session_id,
248 const std::vector<uint8>& init_data) { 248 const std::vector<uint8>& response) {
249 Send(new MediaKeysHostMsg_AddKey( 249 Send(new MediaKeysHostMsg_UpdateSession(
250 routing_id(), media_keys_id, session_id, key, init_data)); 250 routing_id(), media_keys_id, session_id, response));
251 } 251 }
252 252
253 void RendererMediaPlayerManager::CancelKeyRequest(int media_keys_id, 253 void RendererMediaPlayerManager::ReleaseSession(int media_keys_id,
254 uint32 session_id) { 254 uint32 session_id) {
255 Send(new MediaKeysHostMsg_CancelKeyRequest( 255 Send(new MediaKeysHostMsg_ReleaseSession(
256 routing_id(), media_keys_id, session_id)); 256 routing_id(), media_keys_id, session_id));
257 } 257 }
258 258
259 void RendererMediaPlayerManager::OnSessionCreated( 259 void RendererMediaPlayerManager::OnSessionCreated(
260 int media_keys_id, 260 int media_keys_id,
261 uint32 session_id, 261 uint32 session_id,
262 const std::string& web_session_id) { 262 const std::string& web_session_id) {
263 if (web_session_id.length() > 512) {
264 OnSessionError(
265 media_keys_id, session_id, media::MediaKeys::kUnknownError, 0);
266 return;
267 }
268
263 ProxyMediaKeys* media_keys = GetMediaKeys(media_keys_id); 269 ProxyMediaKeys* media_keys = GetMediaKeys(media_keys_id);
264 if (media_keys) 270 if (media_keys)
265 media_keys->OnSessionCreated(session_id, web_session_id); 271 media_keys->OnSessionCreated(session_id, web_session_id);
266 } 272 }
267 273
268 void RendererMediaPlayerManager::OnSessionMessage( 274 void RendererMediaPlayerManager::OnSessionMessage(
269 int media_keys_id, 275 int media_keys_id,
270 uint32 session_id, 276 uint32 session_id,
271 const std::vector<uint8>& message, 277 const std::vector<uint8>& message,
272 const std::string& destination_url) { 278 const std::string& destination_url) {
279 if (message.size() > 10240) {
280 OnSessionError(
281 media_keys_id, session_id, media::MediaKeys::kUnknownError, 0);
282 return;
283 }
284 if (destination_url.length() > 10240) {
ddorwin 2013/12/10 23:48:08 2K is plenty for a URL.
palmer 2013/12/11 00:18:18 And use a named constant. :) There might be a stan
jrummell 2013/12/11 02:21:52 Done. Can't find a constant in GURL with a max siz
285 OnSessionError(
286 media_keys_id, session_id, media::MediaKeys::kUnknownError, 0);
287 return;
288 }
289
273 ProxyMediaKeys* media_keys = GetMediaKeys(media_keys_id); 290 ProxyMediaKeys* media_keys = GetMediaKeys(media_keys_id);
274 if (media_keys) 291 if (media_keys)
275 media_keys->OnSessionMessage(session_id, message, destination_url); 292 media_keys->OnSessionMessage(session_id, message, destination_url);
276 } 293 }
277 294
278 void RendererMediaPlayerManager::OnSessionReady(int media_keys_id, 295 void RendererMediaPlayerManager::OnSessionReady(int media_keys_id,
279 uint32 session_id) { 296 uint32 session_id) {
280 ProxyMediaKeys* media_keys = GetMediaKeys(media_keys_id); 297 ProxyMediaKeys* media_keys = GetMediaKeys(media_keys_id);
281 if (media_keys) 298 if (media_keys)
282 media_keys->OnSessionReady(session_id); 299 media_keys->OnSessionReady(session_id);
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 gfx::RectF rect; 415 gfx::RectF rect;
399 if (player->RetrieveGeometryChange(&rect)) { 416 if (player->RetrieveGeometryChange(&rect)) {
400 (*changes)[player_it->first] = rect; 417 (*changes)[player_it->first] = rect;
401 } 418 }
402 } 419 }
403 } 420 }
404 } 421 }
405 #endif 422 #endif
406 423
407 } // namespace content 424 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698