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

Side by Side Diff: content/renderer/pepper/content_decryptor_delegate.cc

Issue 1873783003: Convert //content/renderer from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/pepper/content_decryptor_delegate.h" 5 #include "content/renderer/pepper/content_decryptor_delegate.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 void ContentDecryptorDelegate::Initialize( 382 void ContentDecryptorDelegate::Initialize(
383 const std::string& key_system, 383 const std::string& key_system,
384 bool allow_distinctive_identifier, 384 bool allow_distinctive_identifier,
385 bool allow_persistent_state, 385 bool allow_persistent_state,
386 const media::SessionMessageCB& session_message_cb, 386 const media::SessionMessageCB& session_message_cb,
387 const media::SessionClosedCB& session_closed_cb, 387 const media::SessionClosedCB& session_closed_cb,
388 const media::LegacySessionErrorCB& legacy_session_error_cb, 388 const media::LegacySessionErrorCB& legacy_session_error_cb,
389 const media::SessionKeysChangeCB& session_keys_change_cb, 389 const media::SessionKeysChangeCB& session_keys_change_cb,
390 const media::SessionExpirationUpdateCB& session_expiration_update_cb, 390 const media::SessionExpirationUpdateCB& session_expiration_update_cb,
391 const base::Closure& fatal_plugin_error_cb, 391 const base::Closure& fatal_plugin_error_cb,
392 scoped_ptr<media::SimpleCdmPromise> promise) { 392 std::unique_ptr<media::SimpleCdmPromise> promise) {
393 DCHECK(!key_system.empty()); 393 DCHECK(!key_system.empty());
394 DCHECK(key_system_.empty()); 394 DCHECK(key_system_.empty());
395 key_system_ = key_system; 395 key_system_ = key_system;
396 396
397 session_message_cb_ = session_message_cb; 397 session_message_cb_ = session_message_cb;
398 session_closed_cb_ = session_closed_cb; 398 session_closed_cb_ = session_closed_cb;
399 legacy_session_error_cb_ = legacy_session_error_cb; 399 legacy_session_error_cb_ = legacy_session_error_cb;
400 session_keys_change_cb_ = session_keys_change_cb; 400 session_keys_change_cb_ = session_keys_change_cb;
401 session_expiration_update_cb_ = session_expiration_update_cb; 401 session_expiration_update_cb_ = session_expiration_update_cb;
402 fatal_plugin_error_cb_ = fatal_plugin_error_cb; 402 fatal_plugin_error_cb_ = fatal_plugin_error_cb;
403 403
404 uint32_t promise_id = cdm_promise_adapter_.SavePromise(std::move(promise)); 404 uint32_t promise_id = cdm_promise_adapter_.SavePromise(std::move(promise));
405 plugin_decryption_interface_->Initialize( 405 plugin_decryption_interface_->Initialize(
406 pp_instance_, promise_id, StringVar::StringToPPVar(key_system_), 406 pp_instance_, promise_id, StringVar::StringToPPVar(key_system_),
407 PP_FromBool(allow_distinctive_identifier), 407 PP_FromBool(allow_distinctive_identifier),
408 PP_FromBool(allow_persistent_state)); 408 PP_FromBool(allow_persistent_state));
409 } 409 }
410 410
411 void ContentDecryptorDelegate::InstanceCrashed() { 411 void ContentDecryptorDelegate::InstanceCrashed() {
412 fatal_plugin_error_cb_.Run(); 412 fatal_plugin_error_cb_.Run();
413 SatisfyAllPendingCallbacksOnError(); 413 SatisfyAllPendingCallbacksOnError();
414 } 414 }
415 415
416 void ContentDecryptorDelegate::SetServerCertificate( 416 void ContentDecryptorDelegate::SetServerCertificate(
417 const std::vector<uint8_t>& certificate, 417 const std::vector<uint8_t>& certificate,
418 scoped_ptr<media::SimpleCdmPromise> promise) { 418 std::unique_ptr<media::SimpleCdmPromise> promise) {
419 if (certificate.size() < media::limits::kMinCertificateLength || 419 if (certificate.size() < media::limits::kMinCertificateLength ||
420 certificate.size() > media::limits::kMaxCertificateLength) { 420 certificate.size() > media::limits::kMaxCertificateLength) {
421 promise->reject( 421 promise->reject(
422 media::MediaKeys::INVALID_ACCESS_ERROR, 0, "Incorrect certificate."); 422 media::MediaKeys::INVALID_ACCESS_ERROR, 0, "Incorrect certificate.");
423 return; 423 return;
424 } 424 }
425 425
426 uint32_t promise_id = cdm_promise_adapter_.SavePromise(std::move(promise)); 426 uint32_t promise_id = cdm_promise_adapter_.SavePromise(std::move(promise));
427 PP_Var certificate_array = 427 PP_Var certificate_array =
428 PpapiGlobals::Get()->GetVarTracker()->MakeArrayBufferPPVar( 428 PpapiGlobals::Get()->GetVarTracker()->MakeArrayBufferPPVar(
429 base::checked_cast<uint32_t>(certificate.size()), certificate.data()); 429 base::checked_cast<uint32_t>(certificate.size()), certificate.data());
430 plugin_decryption_interface_->SetServerCertificate( 430 plugin_decryption_interface_->SetServerCertificate(
431 pp_instance_, promise_id, certificate_array); 431 pp_instance_, promise_id, certificate_array);
432 } 432 }
433 433
434 void ContentDecryptorDelegate::CreateSessionAndGenerateRequest( 434 void ContentDecryptorDelegate::CreateSessionAndGenerateRequest(
435 MediaKeys::SessionType session_type, 435 MediaKeys::SessionType session_type,
436 media::EmeInitDataType init_data_type, 436 media::EmeInitDataType init_data_type,
437 const std::vector<uint8_t>& init_data, 437 const std::vector<uint8_t>& init_data,
438 scoped_ptr<NewSessionCdmPromise> promise) { 438 std::unique_ptr<NewSessionCdmPromise> promise) {
439 uint32_t promise_id = cdm_promise_adapter_.SavePromise(std::move(promise)); 439 uint32_t promise_id = cdm_promise_adapter_.SavePromise(std::move(promise));
440 PP_Var init_data_array = 440 PP_Var init_data_array =
441 PpapiGlobals::Get()->GetVarTracker()->MakeArrayBufferPPVar( 441 PpapiGlobals::Get()->GetVarTracker()->MakeArrayBufferPPVar(
442 base::checked_cast<uint32_t>(init_data.size()), init_data.data()); 442 base::checked_cast<uint32_t>(init_data.size()), init_data.data());
443 plugin_decryption_interface_->CreateSessionAndGenerateRequest( 443 plugin_decryption_interface_->CreateSessionAndGenerateRequest(
444 pp_instance_, promise_id, MediaSessionTypeToPpSessionType(session_type), 444 pp_instance_, promise_id, MediaSessionTypeToPpSessionType(session_type),
445 MediaInitDataTypeToPpInitDataType(init_data_type), init_data_array); 445 MediaInitDataTypeToPpInitDataType(init_data_type), init_data_array);
446 } 446 }
447 447
448 void ContentDecryptorDelegate::LoadSession( 448 void ContentDecryptorDelegate::LoadSession(
449 media::MediaKeys::SessionType session_type, 449 media::MediaKeys::SessionType session_type,
450 const std::string& session_id, 450 const std::string& session_id,
451 scoped_ptr<NewSessionCdmPromise> promise) { 451 std::unique_ptr<NewSessionCdmPromise> promise) {
452 uint32_t promise_id = cdm_promise_adapter_.SavePromise(std::move(promise)); 452 uint32_t promise_id = cdm_promise_adapter_.SavePromise(std::move(promise));
453 plugin_decryption_interface_->LoadSession( 453 plugin_decryption_interface_->LoadSession(
454 pp_instance_, promise_id, MediaSessionTypeToPpSessionType(session_type), 454 pp_instance_, promise_id, MediaSessionTypeToPpSessionType(session_type),
455 StringVar::StringToPPVar(session_id)); 455 StringVar::StringToPPVar(session_id));
456 } 456 }
457 457
458 void ContentDecryptorDelegate::UpdateSession( 458 void ContentDecryptorDelegate::UpdateSession(
459 const std::string& session_id, 459 const std::string& session_id,
460 const std::vector<uint8_t>& response, 460 const std::vector<uint8_t>& response,
461 scoped_ptr<SimpleCdmPromise> promise) { 461 std::unique_ptr<SimpleCdmPromise> promise) {
462 uint32_t promise_id = cdm_promise_adapter_.SavePromise(std::move(promise)); 462 uint32_t promise_id = cdm_promise_adapter_.SavePromise(std::move(promise));
463 PP_Var response_array = 463 PP_Var response_array =
464 PpapiGlobals::Get()->GetVarTracker()->MakeArrayBufferPPVar( 464 PpapiGlobals::Get()->GetVarTracker()->MakeArrayBufferPPVar(
465 base::checked_cast<uint32_t>(response.size()), response.data()); 465 base::checked_cast<uint32_t>(response.size()), response.data());
466 plugin_decryption_interface_->UpdateSession( 466 plugin_decryption_interface_->UpdateSession(
467 pp_instance_, promise_id, StringVar::StringToPPVar(session_id), 467 pp_instance_, promise_id, StringVar::StringToPPVar(session_id),
468 response_array); 468 response_array);
469 } 469 }
470 470
471 void ContentDecryptorDelegate::CloseSession( 471 void ContentDecryptorDelegate::CloseSession(
472 const std::string& session_id, 472 const std::string& session_id,
473 scoped_ptr<SimpleCdmPromise> promise) { 473 std::unique_ptr<SimpleCdmPromise> promise) {
474 if (session_id.length() > media::limits::kMaxSessionIdLength) { 474 if (session_id.length() > media::limits::kMaxSessionIdLength) {
475 promise->reject( 475 promise->reject(
476 media::MediaKeys::INVALID_ACCESS_ERROR, 0, "Incorrect session."); 476 media::MediaKeys::INVALID_ACCESS_ERROR, 0, "Incorrect session.");
477 return; 477 return;
478 } 478 }
479 479
480 uint32_t promise_id = cdm_promise_adapter_.SavePromise(std::move(promise)); 480 uint32_t promise_id = cdm_promise_adapter_.SavePromise(std::move(promise));
481 plugin_decryption_interface_->CloseSession( 481 plugin_decryption_interface_->CloseSession(
482 pp_instance_, promise_id, StringVar::StringToPPVar(session_id)); 482 pp_instance_, promise_id, StringVar::StringToPPVar(session_id));
483 } 483 }
484 484
485 void ContentDecryptorDelegate::RemoveSession( 485 void ContentDecryptorDelegate::RemoveSession(
486 const std::string& session_id, 486 const std::string& session_id,
487 scoped_ptr<SimpleCdmPromise> promise) { 487 std::unique_ptr<SimpleCdmPromise> promise) {
488 if (session_id.length() > media::limits::kMaxSessionIdLength) { 488 if (session_id.length() > media::limits::kMaxSessionIdLength) {
489 promise->reject( 489 promise->reject(
490 media::MediaKeys::INVALID_ACCESS_ERROR, 0, "Incorrect session."); 490 media::MediaKeys::INVALID_ACCESS_ERROR, 0, "Incorrect session.");
491 return; 491 return;
492 } 492 }
493 493
494 uint32_t promise_id = cdm_promise_adapter_.SavePromise(std::move(promise)); 494 uint32_t promise_id = cdm_promise_adapter_.SavePromise(std::move(promise));
495 plugin_decryption_interface_->RemoveSession( 495 plugin_decryption_interface_->RemoveSession(
496 pp_instance_, promise_id, StringVar::StringToPPVar(session_id)); 496 pp_instance_, promise_id, StringVar::StringToPPVar(session_id));
497 } 497 }
(...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after
1292 empty_frames); 1292 empty_frames);
1293 } 1293 }
1294 1294
1295 if (!video_decode_cb_.is_null()) 1295 if (!video_decode_cb_.is_null())
1296 video_decode_cb_.ResetAndReturn().Run(media::Decryptor::kError, NULL); 1296 video_decode_cb_.ResetAndReturn().Run(media::Decryptor::kError, NULL);
1297 1297
1298 cdm_promise_adapter_.Clear(); 1298 cdm_promise_adapter_.Clear();
1299 } 1299 }
1300 1300
1301 } // namespace content 1301 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/pepper/content_decryptor_delegate.h ('k') | content/renderer/pepper/event_conversion.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698