diff options
Diffstat (limited to 'media/blink/cdm_result_promise_helper.h')
-rw-r--r-- | media/blink/cdm_result_promise_helper.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/media/blink/cdm_result_promise_helper.h b/media/blink/cdm_result_promise_helper.h new file mode 100644 index 0000000..2fe385d --- /dev/null +++ b/media/blink/cdm_result_promise_helper.h @@ -0,0 +1,42 @@ +// 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. + +#ifndef MEDIA_BLINK_CDM_RESULT_PROMISE_HELPER_H_ +#define MEDIA_BLINK_CDM_RESULT_PROMISE_HELPER_H_ + +#include <string> + +#include "media/base/media_export.h" +#include "media/base/media_keys.h" +#include "third_party/WebKit/public/platform/WebContentDecryptionModuleResult.h" + +namespace media { + +// A superset of media::MediaKeys::Exception for UMA reporting. These values +// should never be changed as it will affect existing reporting, and must match +// the values for CdmPromiseResult in tools/metrics/histograms/histograms.xml. +enum CdmResultForUMA { + SUCCESS = 0, + NOT_SUPPORTED_ERROR = 1, + INVALID_STATE_ERROR = 2, + INVALID_ACCESS_ERROR = 3, + QUOTA_EXCEEDED_ERROR = 4, + UNKNOWN_ERROR = 5, + CLIENT_ERROR = 6, + OUTPUT_ERROR = 7, + NUM_RESULT_CODES +}; + +MEDIA_EXPORT CdmResultForUMA + ConvertCdmExceptionToResultForUMA(MediaKeys::Exception exception_code); + +MEDIA_EXPORT blink::WebContentDecryptionModuleException ConvertCdmException( + MediaKeys::Exception exception_code); + +MEDIA_EXPORT void ReportCdmResultUMA(const std::string& uma_name, + CdmResultForUMA result); + +} // namespace media + +#endif // MEDIA_BLINK_CDM_RESULT_PROMISE_HELPER_H_ |