Chromium Code Reviews| Index: media/base/cdm_promise.h |
| diff --git a/media/base/cdm_promise.h b/media/base/cdm_promise.h |
| index ad1d196ad6e003f2fcb86be2c8ec6ae07e51db35..fc671fb4dda09dfcea85df687dbdfbeaf028f9d1 100644 |
| --- a/media/base/cdm_promise.h |
| +++ b/media/base/cdm_promise.h |
| @@ -22,6 +22,19 @@ namespace media { |
| // This is only the base class, as parameter to resolve() varies. |
| class MEDIA_EXPORT CdmPromise { |
| public: |
| + // A superset of media::MediaKeys::Exception for UMA reporting. |
| + enum ResultCodeForUMA { |
| + SUCCESS, |
| + NOT_SUPPORTED_ERROR, |
| + INVALID_STATE_ERROR, |
| + INVALID_ACCESS_ERROR, |
| + QUOTA_EXCEEDED_ERROR, |
| + UNKNOWN_ERROR, |
|
ddorwin
2014/08/08 03:35:40
These 3 may be removed someday. Oh well. (It will
sandersd (OOO until July 31)
2014/08/08 17:22:24
Acknowledged.
|
| + CLIENT_ERROR, |
| + OUTPUT_ERROR, |
| + NUM_RESULT_CODES |
| + }; |
| + |
| typedef base::Callback<void(MediaKeys::Exception exception_code, |
| uint32 system_code, |
| const std::string& error_message)> |
| @@ -40,12 +53,16 @@ class MEDIA_EXPORT CdmPromise { |
| protected: |
| CdmPromise(); |
| CdmPromise(PromiseRejectedCB reject_cb); |
| + CdmPromise(PromiseRejectedCB reject_cb, const std::string& uma_name); |
|
ddorwin
2014/08/08 03:35:40
We should probably document that a UMA will be rep
sandersd (OOO until July 31)
2014/08/08 17:22:24
Done.
|
| PromiseRejectedCB reject_cb_; |
| // Keep track of whether the promise hasn't been resolved or rejected yet. |
| bool is_pending_; |
| + // UMA to report result to. |
| + std::string uma_name_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(CdmPromise); |
| }; |
| @@ -54,6 +71,9 @@ class MEDIA_EXPORT CdmPromiseTemplate : public CdmPromise { |
| public: |
| CdmPromiseTemplate(base::Callback<void(const T&)> resolve_cb, |
| PromiseRejectedCB rejected_cb); |
| + CdmPromiseTemplate(base::Callback<void(const T&)> resolve_cb, |
| + PromiseRejectedCB rejected_cb, |
| + const std::string& uma_name); |
| virtual ~CdmPromiseTemplate(); |
| virtual void resolve(const T& result); |
| @@ -69,6 +89,9 @@ class MEDIA_EXPORT CdmPromiseTemplate<void> : public CdmPromise { |
| public: |
| CdmPromiseTemplate(base::Callback<void(void)> resolve_cb, |
| PromiseRejectedCB rejected_cb); |
| + CdmPromiseTemplate(base::Callback<void(void)> resolve_cb, |
| + PromiseRejectedCB rejected_cb, |
| + const std::string& uma_name); |
| virtual ~CdmPromiseTemplate(); |
| virtual void resolve(); |