1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "media/base/cdm_initialized_promise.h"
9 CdmInitializedPromise::CdmInitializedPromise(const CdmCreatedCB
& cdm_created_cb
,
10 scoped_ptr
<MediaKeys
> cdm
)
11 : cdm_created_cb_(cdm_created_cb
), cdm_(cdm
.Pass()) {
14 CdmInitializedPromise::~CdmInitializedPromise() {
17 void CdmInitializedPromise::resolve() {
19 cdm_created_cb_
.Run(cdm_
.Pass(), "");
22 void CdmInitializedPromise::reject(MediaKeys::Exception exception_code
,
24 const std::string
& error_message
) {
26 cdm_created_cb_
.Run(nullptr, error_message
);
27 // Usually after this |this| (and the |cdm_| within it) will be destroyed.