Chromium Code Reviews| Index: content/renderer/media/crypto/proxy_decryptor.h |
| diff --git a/content/renderer/media/crypto/proxy_decryptor.h b/content/renderer/media/crypto/proxy_decryptor.h |
| index 2919ef7c71a6c40aa5ead019974f6279af9f5f89..4dba3e1fc2313e2203cc2524a09171d662834021 100644 |
| --- a/content/renderer/media/crypto/proxy_decryptor.h |
| +++ b/content/renderer/media/crypto/proxy_decryptor.h |
| @@ -5,7 +5,6 @@ |
| #ifndef CONTENT_RENDERER_MEDIA_CRYPTO_PROXY_DECRYPTOR_H_ |
| #define CONTENT_RENDERER_MEDIA_CRYPTO_PROXY_DECRYPTOR_H_ |
| -#include <map> |
| #include <set> |
| #include <string> |
| #include <vector> |
| @@ -16,6 +15,7 @@ |
| #include "base/synchronization/lock.h" |
| #include "media/base/decryptor.h" |
| #include "media/base/media_keys.h" |
| +#include "media/base/media_keys_session_promise.h" |
|
ddorwin
2014/05/05 18:35:42
Not used.
jrummell
2014/05/08 23:37:45
Done.
|
| #if defined(ENABLE_PEPPER_CDMS) |
| #include "content/renderer/media/crypto/pepper_cdm_wrapper.h" |
| @@ -33,12 +33,6 @@ class RendererMediaPlayerManager; |
| // A decryptor proxy that creates a real decryptor object on demand and |
| // forwards decryptor calls to it. |
| // |
| -// Now that the Pepper API calls use session ID to match responses with |
| -// requests, this class maintains a mapping between session ID and web session |
| -// ID. Callers of this class expect web session IDs in the responses. |
| -// Session IDs are internal unique references to the session. Web session IDs |
| -// are the CDM generated ID for the session, and are what are visible to users. |
| -// |
| // TODO(xhwang): Currently we don't support run-time switching among decryptor |
| // objects. Fix this when needed. |
| // TODO(xhwang): The ProxyDecryptor is not a Decryptor. Find a better name! |
| @@ -89,31 +83,23 @@ class ProxyDecryptor { |
| void CancelKeyRequest(const std::string& session_id); |
| private: |
| - // Session_id <-> web_session_id map. |
| - typedef std::map<uint32, std::string> SessionIdMap; |
| - |
| // Helper function to create MediaKeys to handle the given |key_system|. |
| scoped_ptr<media::MediaKeys> CreateMediaKeys(const std::string& key_system, |
| const GURL& security_origin); |
| // Callbacks for firing session events. |
| - void OnSessionCreated(uint32 session_id, const std::string& web_session_id); |
| - void OnSessionMessage(uint32 session_id, |
| + void OnSessionMessage(const std::string& web_session_id, |
| const std::vector<uint8>& message, |
| const std::string& default_url); |
| - void OnSessionReady(uint32 session_id); |
| - void OnSessionClosed(uint32 session_id); |
| - void OnSessionError(uint32 session_id, |
| - media::MediaKeys::KeyError error_code, |
| - uint32 system_code); |
| - |
| - // Helper function to determine session_id for the provided |web_session_id|. |
| - uint32 LookupSessionId(const std::string& web_session_id) const; |
| + void OnSessionReady(const std::string& web_session_id); |
| + void OnSessionClosed(const std::string& web_session_id); |
| + void OnSessionError(const std::string& web_session_id, |
| + const std::string& error_name, |
| + uint32 system_code, |
| + const std::string& error_message); |
| - // Helper function to determine web_session_id for the provided |session_id|. |
| - // The returned web_session_id is only valid on the main thread, and should be |
| - // stored by copy. |
| - const std::string& LookupWebSessionId(uint32 session_id) const; |
| + // Called when a session is actually created or loaded. |
| + void SetSessionId(bool persistent, const std::string& web_session_id); |
| #if defined(ENABLE_PEPPER_CDMS) |
| // Callback to create the Pepper plugin. |
| @@ -131,14 +117,8 @@ class ProxyDecryptor { |
| KeyErrorCB key_error_cb_; |
| KeyMessageCB key_message_cb_; |
| - // Session IDs are used to uniquely track sessions so that CDM callbacks |
| - // can get mapped to the correct session ID. Session ID should be unique |
| - // per renderer process for debugging purposes. |
| - static uint32 next_session_id_; |
| - |
| - SessionIdMap sessions_; |
| - |
| - std::set<uint32> persistent_sessions_; |
| + std::set<std::string> active_sessions_; |
| + std::set<std::string> persistent_sessions_; |
| bool is_clear_key_; |