summaryrefslogtreecommitdiffstats
path: root/ppapi/c
diff options
context:
space:
mode:
authorsandersd <sandersd@chromium.org>2015-03-09 17:55:46 -0700
committerCommit bot <commit-bot@chromium.org>2015-03-10 00:56:53 +0000
commitf92575a5735f510fb159f3f1928f614e31c8a0f8 (patch)
tree16a077a4b896ad6882eb4721adc2b2f02c05acad /ppapi/c
parentd7b5304acdef30bd32c250ee82a7de39b864ef46 (diff)
downloadchromium_src-f92575a5735f510fb159f3f1928f614e31c8a0f8.zip
chromium_src-f92575a5735f510fb159f3f1928f614e31c8a0f8.tar.gz
chromium_src-f92575a5735f510fb159f3f1928f614e31c8a0f8.tar.bz2
Block platform verification and file IO in the CDM adapter if the CDM configuration disallows access to them.
Based on the configured value of distinctiveIdentifier and persistentState, we compute permission bits and pass them through PPAPI to the CDM adapter. This enables us to enforce 'not-allowed' configs even when user permission has been granted. BUG=487452 Review URL: https://codereview.chromium.org/985113003 Cr-Commit-Position: refs/heads/master@{#319798}
Diffstat (limited to 'ppapi/c')
-rw-r--r--ppapi/c/pp_macros.h4
-rw-r--r--ppapi/c/private/ppp_content_decryptor_private.h21
2 files changed, 16 insertions, 9 deletions
diff --git a/ppapi/c/pp_macros.h b/ppapi/c/pp_macros.h
index 63571a7..7901c90 100644
--- a/ppapi/c/pp_macros.h
+++ b/ppapi/c/pp_macros.h
@@ -3,13 +3,13 @@
* found in the LICENSE file.
*/
-/* From pp_macros.idl modified Fri Jun 6 18:08:58 2014. */
+/* From pp_macros.idl modified Thu Feb 19 13:24:05 2015. */
#ifndef PPAPI_C_PP_MACROS_H_
#define PPAPI_C_PP_MACROS_H_
-#define PPAPI_RELEASE 42
+#define PPAPI_RELEASE 43
/**
* @file
diff --git a/ppapi/c/private/ppp_content_decryptor_private.h b/ppapi/c/private/ppp_content_decryptor_private.h
index 9bc5a83..c5e8b21 100644
--- a/ppapi/c/private/ppp_content_decryptor_private.h
+++ b/ppapi/c/private/ppp_content_decryptor_private.h
@@ -4,7 +4,7 @@
*/
/* From private/ppp_content_decryptor_private.idl,
- * modified Fri Dec 19 15:58:46 2014.
+ * modified Fri Mar 6 14:26:54 2015.
*/
#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_13 \
- "PPP_ContentDecryptor_Private;0.13"
+#define PPP_CONTENTDECRYPTOR_PRIVATE_INTERFACE_0_14 \
+ "PPP_ContentDecryptor_Private;0.14"
#define PPP_CONTENTDECRYPTOR_PRIVATE_INTERFACE \
- PPP_CONTENTDECRYPTOR_PRIVATE_INTERFACE_0_13
+ PPP_CONTENTDECRYPTOR_PRIVATE_INTERFACE_0_14
/**
* @file
@@ -42,14 +42,21 @@
* Decryption Module (CDM) for Encrypted Media Extensions:
* http://www.w3.org/TR/encrypted-media/
*/
-struct PPP_ContentDecryptor_Private_0_13 {
+struct PPP_ContentDecryptor_Private_0_14 {
/**
* Initialize for the specified key system.
*
* @param[in] key_system A <code>PP_Var</code> of type
* <code>PP_VARTYPE_STRING</code> containing the name of the key system.
+ * @param[in] allow_distinctive_identifier Inform the CDM that it may use a
+ * distinctive identifier.
+ * @param[in] allow_persistent_state Inform the CDM that it may use persistent
+ * state.
*/
- void (*Initialize)(PP_Instance instance, struct PP_Var key_system);
+ void (*Initialize)(PP_Instance instance,
+ struct PP_Var key_system,
+ PP_Bool allow_distinctive_identifier,
+ PP_Bool allow_persistent_state);
/**
* Provides a server certificate to be used to encrypt messages to the
* license server.
@@ -294,7 +301,7 @@ struct PPP_ContentDecryptor_Private_0_13 {
const struct PP_EncryptedBlockInfo* encrypted_block_info);
};
-typedef struct PPP_ContentDecryptor_Private_0_13 PPP_ContentDecryptor_Private;
+typedef struct PPP_ContentDecryptor_Private_0_14 PPP_ContentDecryptor_Private;
/**
* @}
*/