| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "media/blink/encrypted_media_player_support.h" | 5 #include "media/blink/encrypted_media_player_support.h" |
| 6 | 6 |
| 7 | |
| 8 #include "base/bind.h" | 7 #include "base/bind.h" |
| 9 #include "base/callback_helpers.h" | 8 #include "base/callback_helpers.h" |
| 10 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
| 11 #include "base/numerics/safe_conversions.h" | 10 #include "base/numerics/safe_conversions.h" |
| 12 #include "base/strings/string_number_conversions.h" | 11 #include "base/strings/string_number_conversions.h" |
| 13 #include "base/strings/string_util.h" | 12 #include "base/strings/string_util.h" |
| 14 #include "base/strings/utf_string_conversions.h" | 13 #include "base/strings/utf_string_conversions.h" |
| 15 #include "media/base/bind_to_current_loop.h" | 14 #include "media/base/bind_to_current_loop.h" |
| 16 #include "media/base/key_systems.h" | 15 #include "media/base/key_systems.h" |
| 17 #include "media/blink/webcontentdecryptionmodule_impl.h" | 16 #include "media/blink/webcontentdecryptionmodule_impl.h" |
| (...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 284 | 283 |
| 285 void EncryptedMediaPlayerSupport::OnKeyAdded(const std::string& session_id) { | 284 void EncryptedMediaPlayerSupport::OnKeyAdded(const std::string& session_id) { |
| 286 EmeUMAHistogramCounts(current_key_system_, "KeyAdded", 1); | 285 EmeUMAHistogramCounts(current_key_system_, "KeyAdded", 1); |
| 287 client_->keyAdded( | 286 client_->keyAdded( |
| 288 WebString::fromUTF8(GetPrefixedKeySystemName(current_key_system_)), | 287 WebString::fromUTF8(GetPrefixedKeySystemName(current_key_system_)), |
| 289 WebString::fromUTF8(session_id)); | 288 WebString::fromUTF8(session_id)); |
| 290 } | 289 } |
| 291 | 290 |
| 292 void EncryptedMediaPlayerSupport::OnKeyError(const std::string& session_id, | 291 void EncryptedMediaPlayerSupport::OnKeyError(const std::string& session_id, |
| 293 MediaKeys::KeyError error_code, | 292 MediaKeys::KeyError error_code, |
| 294 uint32 system_code) { | 293 uint32_t system_code) { |
| 295 EmeUMAHistogramEnumeration(current_key_system_, "KeyError", | 294 EmeUMAHistogramEnumeration(current_key_system_, "KeyError", |
| 296 error_code, MediaKeys::kMaxKeyError); | 295 error_code, MediaKeys::kMaxKeyError); |
| 297 | 296 |
| 298 uint16 short_system_code = 0; | 297 uint16_t short_system_code = 0; |
| 299 if (system_code > std::numeric_limits<uint16>::max()) { | 298 if (system_code > std::numeric_limits<uint16_t>::max()) { |
| 300 LOG(WARNING) << "system_code exceeds unsigned short limit."; | 299 LOG(WARNING) << "system_code exceeds unsigned short limit."; |
| 301 short_system_code = std::numeric_limits<uint16>::max(); | 300 short_system_code = std::numeric_limits<uint16_t>::max(); |
| 302 } else { | 301 } else { |
| 303 short_system_code = static_cast<uint16>(system_code); | 302 short_system_code = static_cast<uint16_t>(system_code); |
| 304 } | 303 } |
| 305 | 304 |
| 306 client_->keyError( | 305 client_->keyError( |
| 307 WebString::fromUTF8(GetPrefixedKeySystemName(current_key_system_)), | 306 WebString::fromUTF8(GetPrefixedKeySystemName(current_key_system_)), |
| 308 WebString::fromUTF8(session_id), | 307 WebString::fromUTF8(session_id), |
| 309 static_cast<WebMediaPlayerEncryptedMediaClient::MediaKeyErrorCode>( | 308 static_cast<WebMediaPlayerEncryptedMediaClient::MediaKeyErrorCode>( |
| 310 error_code), | 309 error_code), |
| 311 short_system_code); | 310 short_system_code); |
| 312 } | 311 } |
| 313 | 312 |
| 314 void EncryptedMediaPlayerSupport::OnKeyMessage( | 313 void EncryptedMediaPlayerSupport::OnKeyMessage( |
| 315 const std::string& session_id, | 314 const std::string& session_id, |
| 316 const std::vector<uint8>& message, | 315 const std::vector<uint8_t>& message, |
| 317 const GURL& destination_url) { | 316 const GURL& destination_url) { |
| 318 DCHECK(destination_url.is_empty() || destination_url.is_valid()); | 317 DCHECK(destination_url.is_empty() || destination_url.is_valid()); |
| 319 | 318 |
| 320 client_->keyMessage( | 319 client_->keyMessage( |
| 321 WebString::fromUTF8(GetPrefixedKeySystemName(current_key_system_)), | 320 WebString::fromUTF8(GetPrefixedKeySystemName(current_key_system_)), |
| 322 WebString::fromUTF8(session_id), | 321 WebString::fromUTF8(session_id), |
| 323 message.empty() ? NULL : &message[0], | 322 message.empty() ? NULL : &message[0], |
| 324 base::saturated_cast<unsigned int>(message.size()), | 323 base::saturated_cast<unsigned int>(message.size()), |
| 325 destination_url); | 324 destination_url); |
| 326 } | 325 } |
| 327 | 326 |
| 328 } // namespace media | 327 } // namespace media |
| OLD | NEW |