Chromium Code Reviews| Index: media/blink/cdm_result_promise_helper.cc |
| diff --git a/media/blink/cdm_result_promise_helper.cc b/media/blink/cdm_result_promise_helper.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..80ca06bb5e9d7f82f1f730da068bacc96377a15d |
| --- /dev/null |
| +++ b/media/blink/cdm_result_promise_helper.cc |
| @@ -0,0 +1,68 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "media/blink/cdm_result_promise_helper.h" |
| + |
| +#include "base/logging.h" |
| +#include "base/metrics/histogram.h" |
| + |
| +namespace media { |
| + |
| +CdmResultForUMA ConvertCdmExceptionToResultForUMA( |
| + media::MediaKeys::Exception exception_code) { |
|
jrummell
2014/10/16 00:20:16
ditto for media:: here and below.
xhwang
2014/10/16 04:25:44
Done.
|
| + switch (exception_code) { |
| + case media::MediaKeys::NOT_SUPPORTED_ERROR: |
| + return NOT_SUPPORTED_ERROR; |
| + case media::MediaKeys::INVALID_STATE_ERROR: |
| + return INVALID_STATE_ERROR; |
| + case media::MediaKeys::INVALID_ACCESS_ERROR: |
| + return INVALID_ACCESS_ERROR; |
| + case media::MediaKeys::QUOTA_EXCEEDED_ERROR: |
| + return QUOTA_EXCEEDED_ERROR; |
| + case media::MediaKeys::UNKNOWN_ERROR: |
| + return UNKNOWN_ERROR; |
| + case media::MediaKeys::CLIENT_ERROR: |
| + return CLIENT_ERROR; |
| + case media::MediaKeys::OUTPUT_ERROR: |
| + return OUTPUT_ERROR; |
| + } |
| + NOTREACHED(); |
| + return UNKNOWN_ERROR; |
| +} |
| + |
| +blink::WebContentDecryptionModuleException ConvertCdmException( |
| + media::MediaKeys::Exception exception_code) { |
| + switch (exception_code) { |
| + case media::MediaKeys::NOT_SUPPORTED_ERROR: |
| + return blink::WebContentDecryptionModuleExceptionNotSupportedError; |
| + case media::MediaKeys::INVALID_STATE_ERROR: |
| + return blink::WebContentDecryptionModuleExceptionInvalidStateError; |
| + case media::MediaKeys::INVALID_ACCESS_ERROR: |
| + return blink::WebContentDecryptionModuleExceptionInvalidAccessError; |
| + case media::MediaKeys::QUOTA_EXCEEDED_ERROR: |
| + return blink::WebContentDecryptionModuleExceptionQuotaExceededError; |
| + case media::MediaKeys::UNKNOWN_ERROR: |
| + return blink::WebContentDecryptionModuleExceptionUnknownError; |
| + case media::MediaKeys::CLIENT_ERROR: |
| + return blink::WebContentDecryptionModuleExceptionClientError; |
| + case media::MediaKeys::OUTPUT_ERROR: |
| + return blink::WebContentDecryptionModuleExceptionOutputError; |
| + } |
| + NOTREACHED(); |
| + return blink::WebContentDecryptionModuleExceptionUnknownError; |
| +} |
| + |
| +void ReportCdmResultUMA(const std::string& uma_name, CdmResultForUMA result) { |
| + if (uma_name.empty()) |
| + return; |
| + |
| + base::LinearHistogram::FactoryGet( |
| + uma_name, |
| + 1, |
| + NUM_RESULT_CODES, |
| + NUM_RESULT_CODES + 1, |
| + base::HistogramBase::kUmaTargetedHistogramFlag)->Add(result); |
| +} |
| + |
| +} // namespace media |