summaryrefslogtreecommitdiffstats
path: root/chromium/ppapi/c/private/ppp_content_decryptor_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ppapi/c/private/ppp_content_decryptor_private.h')
-rw-r--r--chromium/ppapi/c/private/ppp_content_decryptor_private.h75
1 files changed, 54 insertions, 21 deletions
diff --git a/chromium/ppapi/c/private/ppp_content_decryptor_private.h b/chromium/ppapi/c/private/ppp_content_decryptor_private.h
index 27d172d7e73..3470005802a 100644
--- a/chromium/ppapi/c/private/ppp_content_decryptor_private.h
+++ b/chromium/ppapi/c/private/ppp_content_decryptor_private.h
@@ -4,7 +4,7 @@
*/
/* From private/ppp_content_decryptor_private.idl,
- * modified Tue Dec 3 17:05:10 2013.
+ * modified Thu May 1 10:36:31 2014.
*/
#ifndef PPAPI_C_PRIVATE_PPP_CONTENT_DECRYPTOR_PRIVATE_H_
@@ -18,10 +18,10 @@
#include "ppapi/c/pp_var.h"
#include "ppapi/c/private/pp_content_decryptor.h"
-#define PPP_CONTENTDECRYPTOR_PRIVATE_INTERFACE_0_9 \
- "PPP_ContentDecryptor_Private;0.9"
+#define PPP_CONTENTDECRYPTOR_PRIVATE_INTERFACE_0_12 \
+ "PPP_ContentDecryptor_Private;0.12"
#define PPP_CONTENTDECRYPTOR_PRIVATE_INTERFACE \
- PPP_CONTENTDECRYPTOR_PRIVATE_INTERFACE_0_9
+ PPP_CONTENTDECRYPTOR_PRIVATE_INTERFACE_0_12
/**
* @file
@@ -42,7 +42,7 @@
* Decryption Module (CDM) for Encrypted Media Extensions:
* http://www.w3.org/TR/encrypted-media/
*/
-struct PPP_ContentDecryptor_Private_0_9 {
+struct PPP_ContentDecryptor_Private_0_12 {
/**
* Initialize for the specified key system.
*
@@ -51,29 +51,49 @@ struct PPP_ContentDecryptor_Private_0_9 {
*/
void (*Initialize)(PP_Instance instance, struct PP_Var key_system);
/**
- * Creates a session. <code>type</code> contains the MIME type of
+ * Creates a session. <code>init_data_type</code> contains the MIME type of
* <code>init_data</code>. <code>init_data</code> is a data buffer
* containing data for use in generating the request.
*
- * Note: <code>CreateSession()</code> must create the session ID used in
- * other methods on this interface. The session ID must be provided to the
- * browser by the CDM via <code>SessionCreated()</code> on the
+ * Note: <code>CreateSession()</code> must create a web session ID and provide
+ * it to the browser via <code>SessionCreated()</code> on the
* <code>PPB_ContentDecryptor_Private</code> interface.
*
- * @param[in] session_id A reference for the session for which a session
- * should be generated.
+ * @param[in] promise_id A reference for the promise that gets resolved or
+ * rejected depending upon the success or failure when creating the session.
*
- * @param[in] type A <code>PP_Var</code> of type
+ * @param[in] init_data_type A <code>PP_Var</code> of type
* <code>PP_VARTYPE_STRING</code> containing the MIME type for init_data.
*
* @param[in] init_data A <code>PP_Var</code> of type
* <code>PP_VARTYPE_ARRAYBUFFER</code> containing container specific
* initialization data.
+ *
+ * @param[in] session_type A <code>PP_SessionType</code> that indicates the
+ * type of session to be created.
*/
void (*CreateSession)(PP_Instance instance,
- uint32_t session_id,
- struct PP_Var type,
- struct PP_Var init_data);
+ uint32_t promise_id,
+ struct PP_Var init_data_type,
+ struct PP_Var init_data,
+ PP_SessionType session_type);
+ /**
+ * Loads a session whose web session ID is <code>web_session_id</code>.
+ *
+ * Note: After the session is successfully loaded, the CDM must call
+ * <code>SessionCreated()</code> with <code>web_session_id</code> on the
+ * <code>PPB_ContentDecryptor_Private</code> interface.
+ *
+ * @param[in] promise_id A reference for the promise that gets resolved or
+ * rejected depending upon the success or failure of loading the session.
+ *
+ * @param[in] web_session_id A <code>PP_Var</code> of type
+ * <code>PP_VARTYPE_STRING</code> containing the web session ID of the session
+ * to load.
+ */
+ void (*LoadSession)(PP_Instance instance,
+ uint32_t promise_id,
+ struct PP_Var web_session_id);
/**
* Provides a license or other message to the decryptor.
*
@@ -86,22 +106,35 @@ struct PPP_ContentDecryptor_Private_0_9 {
* <code>PPB_ContentDecryptor_Private</code> interface, and the browser
* must notify the web application.
*
- * @param[in] session_id A reference for the session to update.
+ * @param[in] promise_id A reference for the promise that gets resolved or
+ * rejected depending upon the success or failure of updating the session.
+ *
+ * @param[in] web_session_id A <code>PP_Var</code> of type
+ * <code>PP_VARTYPE_STRING</code> containing the web session ID of the session
+ * to be updated.
*
* @param[in] response A <code>PP_Var</code> of type
* <code>PP_VARTYPE_ARRAYBUFFER</code> containing the license or other
* message for the given session ID.
*/
void (*UpdateSession)(PP_Instance instance,
- uint32_t session_id,
+ uint32_t promise_id,
+ struct PP_Var web_session_id,
struct PP_Var response);
/**
* Release the specified session and related resources.
*
- * @param[in] session_id A reference for the session that should be
- * released.
+ * @param[in] promise_id A reference for the promise that gets resolved or
+ * rejected depending upon the success or failure of releasing the session.
+ *
+ * @param[in] web_session_id A <code>PP_Var</code> of type
+ * <code>PP_VARTYPE_STRING</code> containing the web session ID of the session
+ * to be released.
+ *
*/
- void (*ReleaseSession)(PP_Instance instance, uint32_t session_id);
+ void (*ReleaseSession)(PP_Instance instance,
+ uint32_t promise_id,
+ struct PP_Var web_session_id);
/**
* Decrypts the block and returns the unencrypted block via
* <code>DeliverBlock()</code> on the
@@ -228,7 +261,7 @@ struct PPP_ContentDecryptor_Private_0_9 {
const struct PP_EncryptedBlockInfo* encrypted_block_info);
};
-typedef struct PPP_ContentDecryptor_Private_0_9 PPP_ContentDecryptor_Private;
+typedef struct PPP_ContentDecryptor_Private_0_12 PPP_ContentDecryptor_Private;
/**
* @}
*/