diff options
Diffstat (limited to 'chromium/ppapi/proxy/plugin_var_tracker.cc')
-rw-r--r-- | chromium/ppapi/proxy/plugin_var_tracker.cc | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/chromium/ppapi/proxy/plugin_var_tracker.cc b/chromium/ppapi/proxy/plugin_var_tracker.cc index a9cbd9c7a62..06db2249af3 100644 --- a/chromium/ppapi/proxy/plugin_var_tracker.cc +++ b/chromium/ppapi/proxy/plugin_var_tracker.cc @@ -10,6 +10,8 @@ #include "ppapi/c/dev/ppp_class_deprecated.h" #include "ppapi/c/ppb_var.h" #include "ppapi/proxy/file_system_resource.h" +#include "ppapi/proxy/media_stream_audio_track_resource.h" +#include "ppapi/proxy/media_stream_video_track_resource.h" #include "ppapi/proxy/plugin_array_buffer_var.h" #include "ppapi/proxy/plugin_dispatcher.h" #include "ppapi/proxy/plugin_globals.h" @@ -172,10 +174,10 @@ PP_Var PluginVarTracker::MakeResourcePPVarFromMessage( const IPC::Message& creation_message, int pending_renderer_id, int pending_browser_id) { - DCHECK(pending_renderer_id); - DCHECK(pending_browser_id); switch (creation_message.type()) { case PpapiPluginMsg_FileSystem_CreateFromPendingHost::ID: { + DCHECK(pending_renderer_id); + DCHECK(pending_browser_id); PP_FileSystemType file_system_type; if (!UnpackMessage<PpapiPluginMsg_FileSystem_CreateFromPendingHost>( creation_message, &file_system_type)) { @@ -194,6 +196,42 @@ PP_Var PluginVarTracker::MakeResourcePPVarFromMessage( file_system_type))->GetReference(); return MakeResourcePPVar(pp_resource); } + case PpapiPluginMsg_MediaStreamAudioTrack_CreateFromPendingHost::ID: { + DCHECK(pending_renderer_id); + std::string track_id; + if (!UnpackMessage< + PpapiPluginMsg_MediaStreamAudioTrack_CreateFromPendingHost>( + creation_message, &track_id)) { + NOTREACHED() << + "Invalid message of type " + "PpapiPluginMsg_MediaStreamAudioTrack_CreateFromPendingHost"; + return PP_MakeNull(); + } + PP_Resource pp_resource = + (new MediaStreamAudioTrackResource(GetConnectionForInstance(instance), + instance, + pending_renderer_id, + track_id))->GetReference(); + return MakeResourcePPVar(pp_resource); + } + case PpapiPluginMsg_MediaStreamVideoTrack_CreateFromPendingHost::ID: { + DCHECK(pending_renderer_id); + std::string track_id; + if (!UnpackMessage< + PpapiPluginMsg_MediaStreamVideoTrack_CreateFromPendingHost>( + creation_message, &track_id)) { + NOTREACHED() << + "Invalid message of type " + "PpapiPluginMsg_MediaStreamVideoTrack_CreateFromPendingHost"; + return PP_MakeNull(); + } + PP_Resource pp_resource = + (new MediaStreamVideoTrackResource(GetConnectionForInstance(instance), + instance, + pending_renderer_id, + track_id))->GetReference(); + return MakeResourcePPVar(pp_resource); + } default: { NOTREACHED() << "Creation message has unexpected type " << creation_message.type(); |