Index: ppapi/cpp/private/content_decryptor_private.cc |
diff --git a/ppapi/cpp/private/content_decryptor_private.cc b/ppapi/cpp/private/content_decryptor_private.cc |
index 776393a2e2037980219a015b273f7c77a29b0e06..528e698c0817ae0d72cb238de11eb75280b4d661 100644 |
--- a/ppapi/cpp/private/content_decryptor_private.cc |
+++ b/ppapi/cpp/private/content_decryptor_private.cc |
@@ -40,15 +40,15 @@ void Initialize(PP_Instance instance, |
void CreateSession(PP_Instance instance, |
uint32_t session_id, |
- PP_Var type_arg, |
+ PP_Var content_type_arg, |
PP_Var init_data_arg) { |
void* object = |
Instance::GetPerInstanceObject(instance, kPPPContentDecryptorInterface); |
if (!object) |
return; |
- pp::Var type_var(pp::PASS_REF, type_arg); |
- if (!type_var.is_string()) |
+ pp::Var content_type_var(pp::PASS_REF, content_type_arg); |
+ if (!content_type_var.is_string()) |
return; |
pp::Var init_data_var(pp::PASS_REF, init_data_arg); |
@@ -56,8 +56,24 @@ void CreateSession(PP_Instance instance, |
return; |
pp::VarArrayBuffer init_data_array_buffer(init_data_var); |
+ static_cast<ContentDecryptor_Private*>(object)->CreateSession( |
+ session_id, content_type_var.AsString(), init_data_array_buffer); |
+} |
+ |
+void LoadSession(PP_Instance instance, |
+ uint32_t session_id, |
+ PP_Var web_session_id_arg) { |
+ void* object = |
+ Instance::GetPerInstanceObject(instance, kPPPContentDecryptorInterface); |
+ if (!object) |
+ return; |
+ |
+ pp::Var web_session_id_var(pp::PASS_REF, web_session_id_arg); |
+ if (!web_session_id_var.is_string()) |
+ return; |
+ |
static_cast<ContentDecryptor_Private*>(object) |
- ->CreateSession(session_id, type_var.AsString(), init_data_array_buffer); |
+ ->LoadSession(session_id, web_session_id_var.AsString()); |
} |
void UpdateSession(PP_Instance instance, |
@@ -177,6 +193,7 @@ void DecryptAndDecode(PP_Instance instance, |
const PPP_ContentDecryptor_Private ppp_content_decryptor = { |
&Initialize, |
&CreateSession, |
+ &LoadSession, |
&UpdateSession, |
&ReleaseSession, |
&Decrypt, |