| Index: media/base/cdm_promise.cc
|
| diff --git a/media/base/cdm_promise.cc b/media/base/cdm_promise.cc
|
| index 74ff8bca68b1e93fc063e9b4fe1c63c45095f703..7b99dc5ad53085e44868e53c7bb17ec8906fc020 100644
|
| --- a/media/base/cdm_promise.cc
|
| +++ b/media/base/cdm_promise.cc
|
| @@ -21,6 +21,12 @@ CdmPromise::CdmPromise(PromiseRejectedCB reject_cb)
|
| CdmPromise::CdmPromise(PromiseRejectedCB reject_cb, const std::string& uma_name)
|
| : reject_cb_(reject_cb), is_pending_(true), uma_name_(uma_name) {
|
| DCHECK(!reject_cb_.is_null());
|
| + DCHECK(!uma_name_.empty());
|
| +}
|
| +
|
| +CdmPromise::CdmPromise(const std::string& uma_name)
|
| + : is_pending_(true), uma_name_(uma_name) {
|
| + DCHECK(!uma_name_.empty());
|
| }
|
|
|
| CdmPromise::~CdmPromise() {
|
| @@ -52,6 +58,21 @@ static CdmPromise::ResultCodeForUMA ConvertExceptionToUMAResult(
|
| void CdmPromise::reject(MediaKeys::Exception exception_code,
|
| uint32 system_code,
|
| const std::string& error_message) {
|
| + RejectBase(exception_code);
|
| + reject_cb_.Run(exception_code, system_code, error_message);
|
| +}
|
| +
|
| +void CdmPromise::ResolveBase() {
|
| + DCHECK(is_pending_);
|
| + is_pending_ = false;
|
| + if (!uma_name_.empty()) {
|
| + base::LinearHistogram::FactoryGet(
|
| + uma_name_, 1, NUM_RESULT_CODES, NUM_RESULT_CODES + 1,
|
| + base::HistogramBase::kUmaTargetedHistogramFlag)->Add(SUCCESS);
|
| + }
|
| +}
|
| +
|
| +void CdmPromise::RejectBase(MediaKeys::Exception exception_code) {
|
| DCHECK(is_pending_);
|
| is_pending_ = false;
|
| if (!uma_name_.empty()) {
|
| @@ -60,54 +81,50 @@ void CdmPromise::reject(MediaKeys::Exception exception_code,
|
| uma_name_, 1, NUM_RESULT_CODES, NUM_RESULT_CODES + 1,
|
| base::HistogramBase::kUmaTargetedHistogramFlag)->Add(result_code);
|
| }
|
| - reject_cb_.Run(exception_code, system_code, error_message);
|
| }
|
|
|
| -CdmPromiseTemplate<void>::CdmPromiseTemplate(base::Callback<void()> resolve_cb,
|
| - PromiseRejectedCB reject_cb)
|
| +SimpleCdmPromise::SimpleCdmPromise(base::Callback<void()> resolve_cb,
|
| + PromiseRejectedCB reject_cb)
|
| : CdmPromise(reject_cb), resolve_cb_(resolve_cb) {
|
| DCHECK(!resolve_cb_.is_null());
|
| }
|
|
|
| -CdmPromiseTemplate<void>::CdmPromiseTemplate(base::Callback<void()> resolve_cb,
|
| - PromiseRejectedCB reject_cb,
|
| - const std::string& uma_name)
|
| +SimpleCdmPromise::SimpleCdmPromise(base::Callback<void()> resolve_cb,
|
| + PromiseRejectedCB reject_cb,
|
| + const std::string& uma_name)
|
| : CdmPromise(reject_cb, uma_name), resolve_cb_(resolve_cb) {
|
| DCHECK(!resolve_cb_.is_null());
|
| - DCHECK(!uma_name_.empty());
|
| }
|
|
|
| -CdmPromiseTemplate<void>::CdmPromiseTemplate() {
|
| +SimpleCdmPromise::SimpleCdmPromise() {
|
| }
|
|
|
| -CdmPromiseTemplate<void>::~CdmPromiseTemplate() {
|
| +SimpleCdmPromise::SimpleCdmPromise(const std::string& uma_name)
|
| + : CdmPromise(uma_name) {
|
| +}
|
| +
|
| +SimpleCdmPromise::~SimpleCdmPromise() {
|
| DCHECK(!is_pending_);
|
| }
|
|
|
| -void CdmPromiseTemplate<void>::resolve() {
|
| - DCHECK(is_pending_);
|
| - is_pending_ = false;
|
| - if (!uma_name_.empty()) {
|
| - base::LinearHistogram::FactoryGet(
|
| - uma_name_, 1, NUM_RESULT_CODES, NUM_RESULT_CODES + 1,
|
| - base::HistogramBase::kUmaTargetedHistogramFlag)->Add(SUCCESS);
|
| - }
|
| +void SimpleCdmPromise::resolve() {
|
| + ResolveBase();
|
| resolve_cb_.Run();
|
| }
|
|
|
| -CdmPromise::ResolveParameterType
|
| -CdmPromiseTemplate<void>::GetResolveParameterType() const {
|
| +CdmPromise::ResolveParameterType SimpleCdmPromise::GetResolveParameterType()
|
| + const {
|
| return VOID_TYPE;
|
| }
|
|
|
| -CdmPromiseTemplate<std::string>::CdmPromiseTemplate(
|
| +NewSessionCdmPromise::NewSessionCdmPromise(
|
| base::Callback<void(const std::string&)> resolve_cb,
|
| PromiseRejectedCB reject_cb)
|
| : CdmPromise(reject_cb), resolve_cb_(resolve_cb) {
|
| DCHECK(!resolve_cb_.is_null());
|
| }
|
|
|
| -CdmPromiseTemplate<std::string>::CdmPromiseTemplate(
|
| +NewSessionCdmPromise::NewSessionCdmPromise(
|
| base::Callback<void(const std::string&)> resolve_cb,
|
| PromiseRejectedCB reject_cb,
|
| const std::string& uma_name)
|
| @@ -115,37 +132,35 @@ CdmPromiseTemplate<std::string>::CdmPromiseTemplate(
|
| DCHECK(!resolve_cb_.is_null());
|
| }
|
|
|
| -CdmPromiseTemplate<std::string>::CdmPromiseTemplate() {
|
| +NewSessionCdmPromise::NewSessionCdmPromise() {
|
| }
|
|
|
| -CdmPromiseTemplate<std::string>::~CdmPromiseTemplate() {
|
| +NewSessionCdmPromise::NewSessionCdmPromise(const std::string& uma_name)
|
| + : CdmPromise(uma_name) {
|
| +}
|
| +
|
| +NewSessionCdmPromise::~NewSessionCdmPromise() {
|
| DCHECK(!is_pending_);
|
| }
|
|
|
| -void CdmPromiseTemplate<std::string>::resolve(const std::string& result) {
|
| - DCHECK(is_pending_);
|
| - is_pending_ = false;
|
| - if (!uma_name_.empty()) {
|
| - base::LinearHistogram::FactoryGet(
|
| - uma_name_, 1, NUM_RESULT_CODES, NUM_RESULT_CODES + 1,
|
| - base::HistogramBase::kUmaTargetedHistogramFlag)->Add(SUCCESS);
|
| - }
|
| +void NewSessionCdmPromise::resolve(const std::string& result) {
|
| + ResolveBase();
|
| resolve_cb_.Run(result);
|
| }
|
|
|
| -CdmPromise::ResolveParameterType
|
| -CdmPromiseTemplate<std::string>::GetResolveParameterType() const {
|
| +CdmPromise::ResolveParameterType NewSessionCdmPromise::GetResolveParameterType()
|
| + const {
|
| return STRING_TYPE;
|
| }
|
|
|
| -CdmPromiseTemplate<KeyIdsVector>::CdmPromiseTemplate(
|
| +KeyIdsPromise::KeyIdsPromise(
|
| base::Callback<void(const KeyIdsVector&)> resolve_cb,
|
| PromiseRejectedCB reject_cb)
|
| : CdmPromise(reject_cb), resolve_cb_(resolve_cb) {
|
| DCHECK(!resolve_cb_.is_null());
|
| }
|
|
|
| -CdmPromiseTemplate<KeyIdsVector>::CdmPromiseTemplate(
|
| +KeyIdsPromise::KeyIdsPromise(
|
| base::Callback<void(const KeyIdsVector&)> resolve_cb,
|
| PromiseRejectedCB reject_cb,
|
| const std::string& uma_name)
|
| @@ -153,23 +168,24 @@ CdmPromiseTemplate<KeyIdsVector>::CdmPromiseTemplate(
|
| DCHECK(!resolve_cb_.is_null());
|
| }
|
|
|
| -CdmPromiseTemplate<KeyIdsVector>::~CdmPromiseTemplate() {
|
| +KeyIdsPromise::KeyIdsPromise() {
|
| +}
|
| +
|
| +KeyIdsPromise::KeyIdsPromise(const std::string& uma_name)
|
| + : CdmPromise(uma_name) {
|
| +}
|
| +
|
| +KeyIdsPromise::~KeyIdsPromise() {
|
| DCHECK(!is_pending_);
|
| }
|
|
|
| -void CdmPromiseTemplate<KeyIdsVector>::resolve(const KeyIdsVector& result) {
|
| - DCHECK(is_pending_);
|
| - is_pending_ = false;
|
| - if (!uma_name_.empty()) {
|
| - base::LinearHistogram::FactoryGet(
|
| - uma_name_, 1, NUM_RESULT_CODES, NUM_RESULT_CODES + 1,
|
| - base::HistogramBase::kUmaTargetedHistogramFlag)->Add(SUCCESS);
|
| - }
|
| +void KeyIdsPromise::resolve(const KeyIdsVector& result) {
|
| + ResolveBase();
|
| resolve_cb_.Run(result);
|
| }
|
|
|
| -CdmPromise::ResolveParameterType
|
| -CdmPromiseTemplate<KeyIdsVector>::GetResolveParameterType() const {
|
| +CdmPromise::ResolveParameterType KeyIdsPromise::GetResolveParameterType()
|
| + const {
|
| return KEY_IDS_VECTOR_TYPE;
|
| }
|
|
|
|
|