Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(244)

Unified Diff: ppapi/proxy/ppp_content_decryptor_private_proxy.cc

Issue 496143002: Update Pepper interface for EME (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ppapi/proxy/ppp_content_decryptor_private_proxy.cc
diff --git a/ppapi/proxy/ppp_content_decryptor_private_proxy.cc b/ppapi/proxy/ppp_content_decryptor_private_proxy.cc
index eee3871b5098d01643d8c19999aeb6d6db9ee52f..58bb07642170d58c2dbfc1d9106467536da5e9d0 100644
--- a/ppapi/proxy/ppp_content_decryptor_private_proxy.cc
+++ b/ppapi/proxy/ppp_content_decryptor_private_proxy.cc
@@ -124,6 +124,22 @@ void Initialize(PP_Instance instance,
SerializedVarSendInput(dispatcher, key_system)));
}
+void SetServerCertificate(PP_Instance instance,
+ uint32_t promise_id,
+ PP_Var server_certificate) {
+ HostDispatcher* dispatcher = HostDispatcher::GetForInstance(instance);
+ if (!dispatcher) {
+ NOTREACHED();
+ return;
+ }
+
+ dispatcher->Send(new PpapiMsg_PPPContentDecryptor_SetServerCertificate(
+ API_ID_PPP_CONTENT_DECRYPTOR_PRIVATE,
+ instance,
+ promise_id,
+ SerializedVarSendInput(dispatcher, server_certificate)));
+}
+
void CreateSession(PP_Instance instance,
uint32_t promise_id,
PP_Var init_data_type,
@@ -178,16 +194,48 @@ void UpdateSession(PP_Instance instance,
SerializedVarSendInput(dispatcher, response)));
}
-void ReleaseSession(PP_Instance instance,
- uint32_t promise_id,
- PP_Var web_session_id) {
+void GetUsableKeyIds(PP_Instance instance,
+ uint32_t promise_id,
+ PP_Var web_session_id) {
+ HostDispatcher* dispatcher = HostDispatcher::GetForInstance(instance);
+ if (!dispatcher) {
+ NOTREACHED();
+ return;
+ }
+
+ dispatcher->Send(new PpapiMsg_PPPContentDecryptor_GetUsableKeyIds(
+ API_ID_PPP_CONTENT_DECRYPTOR_PRIVATE,
+ instance,
+ promise_id,
+ SerializedVarSendInput(dispatcher, web_session_id)));
+}
+
+void CloseSession(PP_Instance instance,
+ uint32_t promise_id,
+ PP_Var web_session_id) {
HostDispatcher* dispatcher = HostDispatcher::GetForInstance(instance);
if (!dispatcher) {
NOTREACHED();
return;
}
- dispatcher->Send(new PpapiMsg_PPPContentDecryptor_ReleaseSession(
+ dispatcher->Send(new PpapiMsg_PPPContentDecryptor_CloseSession(
+ API_ID_PPP_CONTENT_DECRYPTOR_PRIVATE,
+ instance,
+ promise_id,
+ SerializedVarSendInput(dispatcher, web_session_id)));
+}
+
+void RemoveSession(PP_Instance instance,
+ uint32_t promise_id,
+ PP_Var web_session_id) {
+ HostDispatcher* dispatcher = HostDispatcher::GetForInstance(instance);
+ if (!dispatcher) {
+ NOTREACHED();
+ return;
+ }
+
+ dispatcher->Send(new PpapiMsg_PPPContentDecryptor_RemoveSession(
API_ID_PPP_CONTENT_DECRYPTOR_PRIVATE,
instance,
promise_id,
@@ -382,18 +430,20 @@ void DecryptAndDecode(PP_Instance instance,
}
static const PPP_ContentDecryptor_Private content_decryptor_interface = {
- &Initialize,
- &CreateSession,
- &LoadSession,
- &UpdateSession,
- &ReleaseSession,
- &Decrypt,
- &InitializeAudioDecoder,
- &InitializeVideoDecoder,
- &DeinitializeDecoder,
- &ResetDecoder,
- &DecryptAndDecode
-};
+ &Initialize,
+ &SetServerCertificate,
+ &CreateSession,
+ &LoadSession,
+ &UpdateSession,
+ &GetUsableKeyIds,
ddorwin 2014/08/22 20:49:21 ditto
jrummell 2014/08/25 21:54:37 Done.
+ &CloseSession,
+ &RemoveSession,
+ &Decrypt,
+ &InitializeAudioDecoder,
+ &InitializeVideoDecoder,
+ &DeinitializeDecoder,
+ &ResetDecoder,
+ &DecryptAndDecode};
} // namespace
@@ -427,14 +477,20 @@ bool PPP_ContentDecryptor_Private_Proxy::OnMessageReceived(
IPC_BEGIN_MESSAGE_MAP(PPP_ContentDecryptor_Private_Proxy, msg)
IPC_MESSAGE_HANDLER(PpapiMsg_PPPContentDecryptor_Initialize,
OnMsgInitialize)
+ IPC_MESSAGE_HANDLER(PpapiMsg_PPPContentDecryptor_SetServerCertificate,
+ OnMsgSetServerCertificate)
IPC_MESSAGE_HANDLER(PpapiMsg_PPPContentDecryptor_CreateSession,
OnMsgCreateSession)
IPC_MESSAGE_HANDLER(PpapiMsg_PPPContentDecryptor_LoadSession,
OnMsgLoadSession)
IPC_MESSAGE_HANDLER(PpapiMsg_PPPContentDecryptor_UpdateSession,
OnMsgUpdateSession)
- IPC_MESSAGE_HANDLER(PpapiMsg_PPPContentDecryptor_ReleaseSession,
- OnMsgReleaseSession)
+ IPC_MESSAGE_HANDLER(PpapiMsg_PPPContentDecryptor_GetUsableKeyIds,
+ OnMsgGetUsableKeyIds)
+ IPC_MESSAGE_HANDLER(PpapiMsg_PPPContentDecryptor_CloseSession,
+ OnMsgCloseSession)
+ IPC_MESSAGE_HANDLER(PpapiMsg_PPPContentDecryptor_RemoveSession,
+ OnMsgRemoveSession)
IPC_MESSAGE_HANDLER(PpapiMsg_PPPContentDecryptor_Decrypt,
OnMsgDecrypt)
IPC_MESSAGE_HANDLER(PpapiMsg_PPPContentDecryptor_InitializeAudioDecoder,
@@ -464,6 +520,19 @@ void PPP_ContentDecryptor_Private_Proxy::OnMsgInitialize(
}
}
+void PPP_ContentDecryptor_Private_Proxy::OnMsgSetServerCertificate(
+ PP_Instance instance,
+ uint32_t promise_id,
+ SerializedVarReceiveInput server_certificate) {
+ if (ppp_decryptor_impl_) {
+ CallWhileUnlocked(
+ ppp_decryptor_impl_->SetServerCertificate,
+ instance,
+ promise_id,
+ ExtractReceivedVarAndAddRef(dispatcher(), &server_certificate));
+ }
+}
+
void PPP_ContentDecryptor_Private_Proxy::OnMsgCreateSession(
PP_Instance instance,
uint32_t promise_id,
@@ -509,13 +578,39 @@ void PPP_ContentDecryptor_Private_Proxy::OnMsgUpdateSession(
}
}
-void PPP_ContentDecryptor_Private_Proxy::OnMsgReleaseSession(
+void PPP_ContentDecryptor_Private_Proxy::OnMsgGetUsableKeyIds(
+ PP_Instance instance,
+ uint32_t promise_id,
+ SerializedVarReceiveInput web_session_id) {
+ if (ppp_decryptor_impl_) {
+ CallWhileUnlocked(
+ ppp_decryptor_impl_->GetUsableKeyIds,
+ instance,
+ promise_id,
+ ExtractReceivedVarAndAddRef(dispatcher(), &web_session_id));
+ }
+}
+
+void PPP_ContentDecryptor_Private_Proxy::OnMsgCloseSession(
+ PP_Instance instance,
+ uint32_t promise_id,
+ SerializedVarReceiveInput web_session_id) {
+ if (ppp_decryptor_impl_) {
+ CallWhileUnlocked(
+ ppp_decryptor_impl_->CloseSession,
+ instance,
+ promise_id,
+ ExtractReceivedVarAndAddRef(dispatcher(), &web_session_id));
+ }
+}
+
+void PPP_ContentDecryptor_Private_Proxy::OnMsgRemoveSession(
PP_Instance instance,
uint32_t promise_id,
SerializedVarReceiveInput web_session_id) {
if (ppp_decryptor_impl_) {
CallWhileUnlocked(
- ppp_decryptor_impl_->ReleaseSession,
+ ppp_decryptor_impl_->RemoveSession,
instance,
promise_id,
ExtractReceivedVarAndAddRef(dispatcher(), &web_session_id));

Powered by Google App Engine
This is Rietveld 408576698