Index: media/base/cdm_promise.h |
diff --git a/media/base/cdm_promise.h b/media/base/cdm_promise.h |
index 14f79f852d149a4a80471e823c873508ec10d8fc..d8df29e267ad0cd5c503a97bb8309e485197c414 100644 |
--- a/media/base/cdm_promise.h |
+++ b/media/base/cdm_promise.h |
@@ -35,6 +35,12 @@ class MEDIA_EXPORT CdmPromise { |
NUM_RESULT_CODES |
}; |
+ enum ResolveParameterType { |
+ VOID_TYPE, |
+ STRING_TYPE, |
+ KEY_IDS_VECTOR_TYPE |
+ }; |
+ |
typedef base::Callback<void(MediaKeys::Exception exception_code, |
uint32 system_code, |
const std::string& error_message)> |
@@ -50,6 +56,8 @@ class MEDIA_EXPORT CdmPromise { |
uint32 system_code, |
const std::string& error_message); |
+ virtual ResolveParameterType GetResolveParameterType() const = 0; |
+ |
protected: |
CdmPromise(); |
CdmPromise(PromiseRejectedCB reject_cb); |
@@ -80,6 +88,7 @@ class MEDIA_EXPORT CdmPromiseTemplate : public CdmPromise { |
const std::string& uma_name); |
virtual ~CdmPromiseTemplate(); |
virtual void resolve(const T& result); |
+ virtual ResolveParameterType GetResolveParameterType() const OVERRIDE; |
protected: |
// Allow subclasses to completely override the implementation. |
@@ -104,6 +113,7 @@ class MEDIA_EXPORT CdmPromiseTemplate<void> : public CdmPromise { |
const std::string& uma_name); |
virtual ~CdmPromiseTemplate(); |
virtual void resolve(); |
+ virtual ResolveParameterType GetResolveParameterType() const OVERRIDE; |
protected: |
// Allow subclasses to completely override the implementation. |