OLD | NEW |
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/ppapi_decryptor.h" | 5 #include "content/renderer/media/crypto/ppapi_decryptor.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 26 matching lines...) Expand all Loading... |
37 const media::CdmCreatedCB& cdm_created_cb) { | 37 const media::CdmCreatedCB& cdm_created_cb) { |
38 std::string plugin_type = media::GetPepperType(key_system); | 38 std::string plugin_type = media::GetPepperType(key_system); |
39 DCHECK(!plugin_type.empty()); | 39 DCHECK(!plugin_type.empty()); |
40 scoped_ptr<PepperCdmWrapper> pepper_cdm_wrapper = | 40 scoped_ptr<PepperCdmWrapper> pepper_cdm_wrapper = |
41 create_pepper_cdm_cb.Run(plugin_type, security_origin); | 41 create_pepper_cdm_cb.Run(plugin_type, security_origin); |
42 if (!pepper_cdm_wrapper) { | 42 if (!pepper_cdm_wrapper) { |
43 DLOG(ERROR) << "Plugin instance creation failed."; | 43 DLOG(ERROR) << "Plugin instance creation failed."; |
44 base::MessageLoopProxy::current()->PostTask( | 44 base::MessageLoopProxy::current()->PostTask( |
45 FROM_HERE, base::Bind(cdm_created_cb, nullptr, | 45 FROM_HERE, base::Bind(cdm_created_cb, nullptr, |
46 "Plugin instance creation failed.")); | 46 "Plugin instance creation failed.")); |
| 47 return; |
47 } | 48 } |
48 | 49 |
49 scoped_ptr<PpapiDecryptor> ppapi_decryptor( | 50 scoped_ptr<PpapiDecryptor> ppapi_decryptor( |
50 new PpapiDecryptor(pepper_cdm_wrapper.Pass(), session_message_cb, | 51 new PpapiDecryptor(pepper_cdm_wrapper.Pass(), session_message_cb, |
51 session_closed_cb, legacy_session_error_cb, | 52 session_closed_cb, legacy_session_error_cb, |
52 session_keys_change_cb, session_expiration_update_cb)); | 53 session_keys_change_cb, session_expiration_update_cb)); |
53 | 54 |
54 // PpapiDecryptor ownership passed to the promise, but keep a copy in order | 55 // PpapiDecryptor ownership passed to the promise, but keep a copy in order |
55 // to call InitializeCdm(). | 56 // to call InitializeCdm(). |
56 PpapiDecryptor* ppapi_decryptor_copy = ppapi_decryptor.get(); | 57 PpapiDecryptor* ppapi_decryptor_copy = ppapi_decryptor.get(); |
(...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
457 DCHECK(render_loop_proxy_->BelongsToCurrentThread()); | 458 DCHECK(render_loop_proxy_->BelongsToCurrentThread()); |
458 pepper_cdm_wrapper_.reset(); | 459 pepper_cdm_wrapper_.reset(); |
459 } | 460 } |
460 | 461 |
461 ContentDecryptorDelegate* PpapiDecryptor::CdmDelegate() { | 462 ContentDecryptorDelegate* PpapiDecryptor::CdmDelegate() { |
462 DCHECK(render_loop_proxy_->BelongsToCurrentThread()); | 463 DCHECK(render_loop_proxy_->BelongsToCurrentThread()); |
463 return (pepper_cdm_wrapper_) ? pepper_cdm_wrapper_->GetCdmDelegate() : NULL; | 464 return (pepper_cdm_wrapper_) ? pepper_cdm_wrapper_->GetCdmDelegate() : NULL; |
464 } | 465 } |
465 | 466 |
466 } // namespace content | 467 } // namespace content |
OLD | NEW |