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

Side by Side Diff: webkit/renderer/media/crypto/proxy_decryptor.cc

Issue 17309003: Removed unused NeedKey callback from Decryptors. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase only Created 7 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 "webkit/renderer/media/crypto/proxy_decryptor.h" 5 #include "webkit/renderer/media/crypto/proxy_decryptor.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback_helpers.h" 8 #include "base/callback_helpers.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "media/crypto/aes_decryptor.h" 10 #include "media/crypto/aes_decryptor.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 web_media_player_client_->closeHelperPlugin(); 48 web_media_player_client_->closeHelperPlugin();
49 } 49 }
50 50
51 #endif // defined(ENABLE_PEPPER_CDMS) 51 #endif // defined(ENABLE_PEPPER_CDMS)
52 52
53 ProxyDecryptor::ProxyDecryptor( 53 ProxyDecryptor::ProxyDecryptor(
54 WebKit::WebMediaPlayerClient* web_media_player_client, 54 WebKit::WebMediaPlayerClient* web_media_player_client,
55 WebKit::WebFrame* web_frame, 55 WebKit::WebFrame* web_frame,
56 const media::KeyAddedCB& key_added_cb, 56 const media::KeyAddedCB& key_added_cb,
57 const media::KeyErrorCB& key_error_cb, 57 const media::KeyErrorCB& key_error_cb,
58 const media::KeyMessageCB& key_message_cb, 58 const media::KeyMessageCB& key_message_cb)
59 const media::NeedKeyCB& need_key_cb)
60 : web_media_player_client_(web_media_player_client), 59 : web_media_player_client_(web_media_player_client),
61 web_frame_(web_frame), 60 web_frame_(web_frame),
62 key_added_cb_(key_added_cb), 61 key_added_cb_(key_added_cb),
63 key_error_cb_(key_error_cb), 62 key_error_cb_(key_error_cb),
64 key_message_cb_(key_message_cb), 63 key_message_cb_(key_message_cb),
65 need_key_cb_(need_key_cb),
66 weak_ptr_factory_(this) { 64 weak_ptr_factory_(this) {
67 } 65 }
68 66
69 ProxyDecryptor::~ProxyDecryptor() { 67 ProxyDecryptor::~ProxyDecryptor() {
70 // Destroy the decryptor explicitly before destroying the plugin. 68 // Destroy the decryptor explicitly before destroying the plugin.
71 { 69 {
72 base::AutoLock auto_lock(lock_); 70 base::AutoLock auto_lock(lock_);
73 media_keys_.reset(); 71 media_keys_.reset();
74 } 72 }
75 } 73 }
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 DVLOG(1) << "ProxyDecryptor: plugin instance creation failed."; 154 DVLOG(1) << "ProxyDecryptor: plugin instance creation failed.";
157 return scoped_ptr<media::MediaKeys>(); 155 return scoped_ptr<media::MediaKeys>();
158 } 156 }
159 157
160 scoped_ptr<webkit_media::PpapiDecryptor> decryptor = PpapiDecryptor::Create( 158 scoped_ptr<webkit_media::PpapiDecryptor> decryptor = PpapiDecryptor::Create(
161 key_system, 159 key_system,
162 plugin_instance, 160 plugin_instance,
163 base::Bind(&ProxyDecryptor::KeyAdded, weak_ptr_factory_.GetWeakPtr()), 161 base::Bind(&ProxyDecryptor::KeyAdded, weak_ptr_factory_.GetWeakPtr()),
164 base::Bind(&ProxyDecryptor::KeyError, weak_ptr_factory_.GetWeakPtr()), 162 base::Bind(&ProxyDecryptor::KeyError, weak_ptr_factory_.GetWeakPtr()),
165 base::Bind(&ProxyDecryptor::KeyMessage, weak_ptr_factory_.GetWeakPtr()), 163 base::Bind(&ProxyDecryptor::KeyMessage, weak_ptr_factory_.GetWeakPtr()),
166 base::Bind(&ProxyDecryptor::NeedKey, weak_ptr_factory_.GetWeakPtr()),
167 base::Bind(&ProxyDecryptor::DestroyHelperPlugin, 164 base::Bind(&ProxyDecryptor::DestroyHelperPlugin,
168 weak_ptr_factory_.GetWeakPtr())); 165 weak_ptr_factory_.GetWeakPtr()));
169 166
170 if (!decryptor) 167 if (!decryptor)
171 DestroyHelperPlugin(); 168 DestroyHelperPlugin();
172 // Else the new object will call destroy_plugin_cb to destroy Helper Plugin. 169 // Else the new object will call destroy_plugin_cb to destroy Helper Plugin.
173 170
174 return scoped_ptr<media::MediaKeys>(decryptor.Pass()); 171 return scoped_ptr<media::MediaKeys>(decryptor.Pass());
175 } 172 }
176 #endif // defined(ENABLE_PEPPER_CDMS) 173 #endif // defined(ENABLE_PEPPER_CDMS)
177 174
178 scoped_ptr<media::MediaKeys> ProxyDecryptor::CreateMediaKeys( 175 scoped_ptr<media::MediaKeys> ProxyDecryptor::CreateMediaKeys(
179 const std::string& key_system) { 176 const std::string& key_system) {
180 if (CanUseAesDecryptor(key_system)) { 177 if (CanUseAesDecryptor(key_system)) {
181 return scoped_ptr<media::MediaKeys>(new media::AesDecryptor( 178 return scoped_ptr<media::MediaKeys>(new media::AesDecryptor(
182 base::Bind(&ProxyDecryptor::KeyAdded, weak_ptr_factory_.GetWeakPtr()), 179 base::Bind(&ProxyDecryptor::KeyAdded, weak_ptr_factory_.GetWeakPtr()),
183 base::Bind(&ProxyDecryptor::KeyError, weak_ptr_factory_.GetWeakPtr()), 180 base::Bind(&ProxyDecryptor::KeyError, weak_ptr_factory_.GetWeakPtr()),
184 base::Bind(&ProxyDecryptor::KeyMessage, weak_ptr_factory_.GetWeakPtr()), 181 base::Bind(&ProxyDecryptor::KeyMessage, weak_ptr_factory_.GetWeakPtr())
185 base::Bind(&ProxyDecryptor::NeedKey, weak_ptr_factory_.GetWeakPtr()))); 182 ));
186 } 183 }
187 184
188 #if defined(ENABLE_PEPPER_CDMS) 185 #if defined(ENABLE_PEPPER_CDMS)
189 // We only support AesDecryptor and PpapiDecryptor. So if we cannot 186 // We only support AesDecryptor and PpapiDecryptor. So if we cannot
190 // use the AesDecryptor, then we'll try to create a PpapiDecryptor for given 187 // use the AesDecryptor, then we'll try to create a PpapiDecryptor for given
191 // |key_system|. 188 // |key_system|.
192 return CreatePpapiDecryptor(key_system); 189 return CreatePpapiDecryptor(key_system);
193 #else 190 #else
194 return scoped_ptr<media::MediaKeys>(); 191 return scoped_ptr<media::MediaKeys>();
195 #endif // defined(ENABLE_PEPPER_CDMS) 192 #endif // defined(ENABLE_PEPPER_CDMS)
196 } 193 }
197 194
198 void ProxyDecryptor::KeyAdded(const std::string& session_id) { 195 void ProxyDecryptor::KeyAdded(const std::string& session_id) {
199 key_added_cb_.Run(session_id); 196 key_added_cb_.Run(session_id);
200 } 197 }
201 198
202 void ProxyDecryptor::KeyError(const std::string& session_id, 199 void ProxyDecryptor::KeyError(const std::string& session_id,
203 media::MediaKeys::KeyError error_code, 200 media::MediaKeys::KeyError error_code,
204 int system_code) { 201 int system_code) {
205 key_error_cb_.Run(session_id, error_code, system_code); 202 key_error_cb_.Run(session_id, error_code, system_code);
206 } 203 }
207 204
208 void ProxyDecryptor::KeyMessage(const std::string& session_id, 205 void ProxyDecryptor::KeyMessage(const std::string& session_id,
209 const std::string& message, 206 const std::string& message,
210 const std::string& default_url) { 207 const std::string& default_url) {
211 key_message_cb_.Run(session_id, message, default_url); 208 key_message_cb_.Run(session_id, message, default_url);
212 } 209 }
213 210
214 void ProxyDecryptor::NeedKey(const std::string& session_id,
215 const std::string& type,
216 scoped_ptr<uint8[]> init_data,
217 int init_data_size) {
218 need_key_cb_.Run(session_id, type, init_data.Pass(), init_data_size);
219 }
220
221 } // namespace webkit_media 211 } // namespace webkit_media
OLDNEW
« no previous file with comments | « webkit/renderer/media/crypto/proxy_decryptor.h ('k') | webkit/renderer/media/webmediaplayer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698