Index: media/blink/webencryptedmediaclient_impl.h |
diff --git a/media/blink/webencryptedmediaclient_impl.h b/media/blink/webencryptedmediaclient_impl.h |
index e18947eee52e17a40d341f427be34929ea856c2f..3674267419980db9c320c87ee5fcca68ff1e0e10 100644 |
--- a/media/blink/webencryptedmediaclient_impl.h |
+++ b/media/blink/webencryptedmediaclient_impl.h |
@@ -10,14 +10,21 @@ |
#include "base/containers/scoped_ptr_hash_map.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/memory/weak_ptr.h" |
-#include "media/base/cdm_factory.h" |
#include "media/base/media_export.h" |
-#include "third_party/WebKit/public/platform/WebContentDecryptionModuleResult.h" |
+#include "media/blink/key_system_config_selector.h" |
#include "third_party/WebKit/public/platform/WebEncryptedMediaClient.h" |
-#include "third_party/WebKit/public/web/WebSecurityOrigin.h" |
+ |
+namespace blink { |
+ |
+class WebContentDecryptionModuleResult; |
+class WebMediaKeySystemConfiguration; |
+class WebSecurityOrigin; |
+ |
+} // namespace blink |
namespace media { |
+class CdmFactory; |
class KeySystems; |
class MediaPermission; |
@@ -41,30 +48,32 @@ class MEDIA_EXPORT WebEncryptedMediaClientImpl |
blink::WebContentDecryptionModuleResult result); |
private: |
- // Pick a supported configuration if possible, and complete the request. This |
- // method may asynchronously invoke itself after prompting for permissions. |
- void SelectSupportedConfiguration(blink::WebEncryptedMediaRequest request, |
- bool was_permission_requested, |
- bool is_permission_granted); |
- |
// Report usage of key system to UMA. There are 2 different counts logged: |
// 1. The key system is requested. |
// 2. The requested key system and options are supported. |
// Each stat is only reported once per renderer frame per key system. |
class Reporter; |
+ // Complete a requestMediaKeySystemAccess() request with a supported |
+ // accumulated configuration. |
+ void OnRequestSucceeded( |
+ blink::WebEncryptedMediaRequest request, |
+ const blink::WebMediaKeySystemConfiguration& accumulated_configuration); |
+ |
+ // Complete a requestMediaKeySystemAccess() request with an error message. |
+ void OnRequestNotSupported( |
+ blink::WebEncryptedMediaRequest request, |
+ const blink::WebString& error_message); |
+ |
// Gets the Reporter for |key_system|. If it doesn't already exist, |
// create one. |
- Reporter* GetReporter(const std::string& key_system); |
+ Reporter* GetReporter(const blink::WebString& key_system); |
- // Key system <-> Reporter map. |
- typedef base::ScopedPtrHashMap<std::string, Reporter> Reporters; |
- Reporters reporters_; |
+ // Reporter singletons. |
+ base::ScopedPtrHashMap<std::string, Reporter> reporters_; |
- const KeySystems& key_systems_; |
+ KeySystemConfigSelector key_system_config_selector_; |
scoped_ptr<CdmFactory> cdm_factory_; |
- MediaPermission* media_permission_; |
- |
base::WeakPtrFactory<WebEncryptedMediaClientImpl> weak_factory_; |
}; |