| Index: media/blink/webcontentdecryptionmodule_impl.cc
|
| diff --git a/media/blink/webcontentdecryptionmodule_impl.cc b/media/blink/webcontentdecryptionmodule_impl.cc
|
| index 9d6022017736d6a6c9fe5d5a9e35964aa7e892a3..7bdd9c9ee3082e929491d714fd113827bd90fb4e 100644
|
| --- a/media/blink/webcontentdecryptionmodule_impl.cc
|
| +++ b/media/blink/webcontentdecryptionmodule_impl.cc
|
| @@ -62,21 +62,15 @@ void WebContentDecryptionModuleImpl::Create(
|
| }
|
|
|
| GURL security_origin_as_gurl(security_origin.toString());
|
| - scoped_refptr<CdmSessionAdapter> adapter(new CdmSessionAdapter());
|
|
|
| - // TODO(jrummell): Pass WebContentDecryptionModuleResult (or similar) to
|
| - // Initialize() so that more specific errors can be reported.
|
| - if (!adapter->Initialize(cdm_factory, key_system_ascii,
|
| - allow_distinctive_identifier,
|
| - allow_persistent_state, security_origin_as_gurl)) {
|
| - result.completeWithError(
|
| - blink::WebContentDecryptionModuleExceptionNotSupportedError, 0,
|
| - "Failed to initialize CDM.");
|
| - return;
|
| - }
|
| -
|
| - result.completeWithContentDecryptionModule(
|
| - new WebContentDecryptionModuleImpl(adapter));
|
| + // CdmSessionAdapter::CreateCdm() will keep a reference to |adapter|. Then
|
| + // if WebContentDecryptionModuleImpl is successfully created (returned in
|
| + // |result|), it will keep a reference to |adapter|. Otherwise, |adapter| will
|
| + // be destructed.
|
| + scoped_refptr<CdmSessionAdapter> adapter(new CdmSessionAdapter());
|
| + adapter->CreateCdm(cdm_factory, key_system_ascii,
|
| + allow_distinctive_identifier, allow_persistent_state,
|
| + security_origin_as_gurl, result);
|
| }
|
|
|
| WebContentDecryptionModuleImpl::WebContentDecryptionModuleImpl(
|
|
|