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

Side by Side Diff: content/renderer/media/crypto/content_decryption_module_factory.cc

Issue 318753010: Introduce the ENABLE_BROWSER_CDMS macro. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Ready for review. Please diff against PS1 for easy life. Created 6 years, 6 months 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 | Annotate | Revision Log
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/crypto/content_decryption_module_factory.h" 5 #include "content/renderer/media/crypto/content_decryption_module_factory.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "content/renderer/media/crypto/key_systems.h" 8 #include "content/renderer/media/crypto/key_systems.h"
9 #include "media/cdm/aes_decryptor.h" 9 #include "media/cdm/aes_decryptor.h"
10 #include "url/gurl.h" 10 #include "url/gurl.h"
11 11
12 #if defined(ENABLE_PEPPER_CDMS) 12 #if defined(ENABLE_PEPPER_CDMS)
13 #include "content/renderer/media/crypto/ppapi_decryptor.h" 13 #include "content/renderer/media/crypto/ppapi_decryptor.h"
14 #elif defined(OS_ANDROID) 14 #elif defined(ENABLE_BROWSER_CDMS)
15 #include "content/renderer/media/crypto/proxy_media_keys.h" 15 #include "content/renderer/media/crypto/proxy_media_keys.h"
16 #include "content/renderer/media/crypto/renderer_cdm_manager.h" 16 #include "content/renderer/media/crypto/renderer_cdm_manager.h"
17 #endif // defined(ENABLE_PEPPER_CDMS) 17 #endif // defined(ENABLE_PEPPER_CDMS)
18 18
19 namespace content { 19 namespace content {
20 20
21 scoped_ptr<media::MediaKeys> ContentDecryptionModuleFactory::Create( 21 scoped_ptr<media::MediaKeys> ContentDecryptionModuleFactory::Create(
22 const std::string& key_system, 22 const std::string& key_system,
23 const GURL& security_origin, 23 const GURL& security_origin,
24 #if defined(ENABLE_PEPPER_CDMS) 24 #if defined(ENABLE_PEPPER_CDMS)
25 const CreatePepperCdmCB& create_pepper_cdm_cb, 25 const CreatePepperCdmCB& create_pepper_cdm_cb,
26 #elif defined(OS_ANDROID) 26 #elif defined(ENABLE_BROWSER_CDMS)
27 RendererCdmManager* manager, 27 RendererCdmManager* manager,
28 int* cdm_id, 28 int* cdm_id,
29 #endif // defined(ENABLE_PEPPER_CDMS) 29 #endif // defined(ENABLE_PEPPER_CDMS)
30 const media::SessionCreatedCB& session_created_cb, 30 const media::SessionCreatedCB& session_created_cb,
31 const media::SessionMessageCB& session_message_cb, 31 const media::SessionMessageCB& session_message_cb,
32 const media::SessionReadyCB& session_ready_cb, 32 const media::SessionReadyCB& session_ready_cb,
33 const media::SessionClosedCB& session_closed_cb, 33 const media::SessionClosedCB& session_closed_cb,
34 const media::SessionErrorCB& session_error_cb) { 34 const media::SessionErrorCB& session_error_cb) {
35 // TODO(jrummell): Pass |security_origin| to all constructors. 35 // TODO(jrummell): Pass |security_origin| to all constructors.
36 // TODO(jrummell): Enable the following line once blink code updated to 36 // TODO(jrummell): Enable the following line once blink code updated to
37 // check the security origin before calling. 37 // check the security origin before calling.
38 // DCHECK(security_origin.is_valid()); 38 // DCHECK(security_origin.is_valid());
39 39
40 #if defined(OS_ANDROID) 40 #if defined(ENABLE_BROWSER_CDMS)
41 *cdm_id = RendererCdmManager::kInvalidCdmId; 41 *cdm_id = RendererCdmManager::kInvalidCdmId;
42 #endif 42 #endif
43 43
44 if (CanUseAesDecryptor(key_system)) { 44 if (CanUseAesDecryptor(key_system)) {
45 return scoped_ptr<media::MediaKeys>( 45 return scoped_ptr<media::MediaKeys>(
46 new media::AesDecryptor(session_created_cb, 46 new media::AesDecryptor(session_created_cb,
47 session_message_cb, 47 session_message_cb,
48 session_ready_cb, 48 session_ready_cb,
49 session_closed_cb, 49 session_closed_cb,
50 session_error_cb)); 50 session_error_cb));
51 } 51 }
52 #if defined(ENABLE_PEPPER_CDMS) 52 #if defined(ENABLE_PEPPER_CDMS)
53 return scoped_ptr<media::MediaKeys>( 53 return scoped_ptr<media::MediaKeys>(
54 PpapiDecryptor::Create(key_system, 54 PpapiDecryptor::Create(key_system,
55 security_origin, 55 security_origin,
56 create_pepper_cdm_cb, 56 create_pepper_cdm_cb,
57 session_created_cb, 57 session_created_cb,
58 session_message_cb, 58 session_message_cb,
59 session_ready_cb, 59 session_ready_cb,
60 session_closed_cb, 60 session_closed_cb,
61 session_error_cb)); 61 session_error_cb));
62 #elif defined(OS_ANDROID) 62 #elif defined(ENABLE_BROWSER_CDMS)
63 scoped_ptr<ProxyMediaKeys> proxy_media_keys = 63 scoped_ptr<ProxyMediaKeys> proxy_media_keys =
64 ProxyMediaKeys::Create(key_system, 64 ProxyMediaKeys::Create(key_system,
65 security_origin, 65 security_origin,
66 manager, 66 manager,
67 session_created_cb, 67 session_created_cb,
68 session_message_cb, 68 session_message_cb,
69 session_ready_cb, 69 session_ready_cb,
70 session_closed_cb, 70 session_closed_cb,
71 session_error_cb); 71 session_error_cb);
72 if (proxy_media_keys) 72 if (proxy_media_keys)
73 *cdm_id = proxy_media_keys->GetCdmId(); 73 *cdm_id = proxy_media_keys->GetCdmId();
74 return proxy_media_keys.PassAs<media::MediaKeys>(); 74 return proxy_media_keys.PassAs<media::MediaKeys>();
75 #else 75 #else
76 return scoped_ptr<media::MediaKeys>(); 76 return scoped_ptr<media::MediaKeys>();
77 #endif // defined(ENABLE_PEPPER_CDMS) 77 #endif // defined(ENABLE_PEPPER_CDMS)
78 } 78 }
79 79
80 } // namespace content 80 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698