| Index: webkit/plugins/ppapi/ppapi_plugin_instance.h
|
| diff --git a/webkit/plugins/ppapi/ppapi_plugin_instance.h b/webkit/plugins/ppapi/ppapi_plugin_instance.h
|
| index cffe58387c5d8480380859375b3a1923f3b11e4d..6466a1e12425222c976bb9b3fd7f64c6f968441c 100644
|
| --- a/webkit/plugins/ppapi/ppapi_plugin_instance.h
|
| +++ b/webkit/plugins/ppapi/ppapi_plugin_instance.h
|
| @@ -5,6 +5,7 @@
|
| #ifndef WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_
|
| #define WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_
|
|
|
| +#include <map>
|
| #include <set>
|
| #include <string>
|
| #include <vector>
|
| @@ -58,6 +59,11 @@ struct PP_Point;
|
| class SkBitmap;
|
| class TransportDIB;
|
|
|
| +namespace media {
|
| +class DecoderBuffer;
|
| +class DecryptorClient;
|
| +}
|
| +
|
| namespace WebKit {
|
| class WebInputEvent;
|
| class WebMouseEvent;
|
| @@ -241,12 +247,14 @@ class WEBKIT_PLUGINS_EXPORT PluginInstance :
|
|
|
| // Provides access to PPP_ContentDecryptor_Dev.
|
| typedef base::Callback<void(void*, int)> CDMStatusCB;
|
| + void SetDecryptClient(media::DecryptorClient* client);
|
| +
|
| bool GenerateKeyRequest(const std::string& key_system,
|
| const std::string& init_data);
|
| bool AddKey(const std::string& session_id,
|
| const std::string& key);
|
| bool CancelKeyRequest(const std::string& session_id);
|
| - bool Decrypt(const std::string& encypted_block,
|
| + bool Decrypt(const scoped_refptr<media::DecoderBuffer>& encrypted_buffer,
|
| const CDMStatusCB& callback);
|
| bool DecryptAndDecode(const std::string& encypted_block,
|
| const CDMStatusCB& callback);
|
| @@ -442,7 +450,7 @@ class WEBKIT_PLUGINS_EXPORT PluginInstance :
|
| uint16_t system_error) OVERRIDE;
|
| virtual void DeliverBlock(PP_Instance instance,
|
| PP_Resource decrypted_block,
|
| - PP_CompletionCallback callback) OVERRIDE;
|
| + uint32_t id) OVERRIDE;
|
| virtual void DeliverFrame(PP_Instance instance,
|
| PP_Resource decrypted_frame,
|
| PP_CompletionCallback callback) OVERRIDE;
|
| @@ -723,6 +731,11 @@ class WEBKIT_PLUGINS_EXPORT PluginInstance :
|
| // the pointer so we can re-send it later if we are reset to talk to NaCl.
|
| scoped_refptr<PPB_URLLoader_Impl> document_loader_;
|
|
|
| + // We store the callback passed in from Decyrpt().
|
| + media::DecryptorClient* decryptor_client_;
|
| + uint64_t next_decryption_buffer_id_;
|
| + std::map<uint64_t, CDMStatusCB> cdm_status_cb_map_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(PluginInstance);
|
| };
|
|
|
|
|