Index: ppapi/proxy/ppb_video_capture_proxy.cc |
=================================================================== |
--- ppapi/proxy/ppb_video_capture_proxy.cc (revision 148913) |
+++ ppapi/proxy/ppb_video_capture_proxy.cc (working copy) |
@@ -165,6 +165,8 @@ |
virtual int32_t InternalEnumerateDevices( |
PP_Resource* devices, |
scoped_refptr<TrackedCallback> callback) OVERRIDE; |
+ virtual int32_t InternalStopEnumerateDevices( |
+ PP_Resource* devices) OVERRIDE; |
virtual int32_t InternalOpen( |
const std::string& device_id, |
const PP_VideoCaptureDeviceInfo_Dev& requested_info, |
@@ -223,6 +225,14 @@ |
return PP_OK_COMPLETIONPENDING; |
} |
+int32_t VideoCapture::InternalStopEnumerateDevices(PP_Resource* devices) { |
+ if (devices_ == devices) { |
+ GetDispatcher()->Send(new PpapiHostMsg_PPBVideoCapture_StopEnumerateDevices( |
+ API_ID_PPB_VIDEO_CAPTURE_DEV, host_resource())); |
+ } |
+ return PP_OK; |
+} |
+ |
int32_t VideoCapture::InternalOpen( |
const std::string& device_id, |
const PP_VideoCaptureDeviceInfo_Dev& requested_info, |
@@ -307,6 +317,8 @@ |
IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_Create, OnMsgCreate) |
IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_EnumerateDevices, |
OnMsgEnumerateDevices) |
+ IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_StopEnumerateDevices, |
+ OnMsgStopEnumerateDevices) |
IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_Open, OnMsgOpen) |
IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBVideoCapture_StartCapture, |
OnMsgStartCapture) |
@@ -348,6 +360,13 @@ |
enter.SetResult(enter.object()->EnumerateDevices(NULL, enter.callback())); |
} |
+void PPB_VideoCapture_Proxy::OnMsgStopEnumerateDevices( |
+ const HostResource& resource) { |
+ EnterHostFromHostResource<PPB_VideoCapture_API> enter(resource); |
+ if (enter.succeeded()) |
+ enter.object()->StopEnumerateDevices(NULL); |
+} |
+ |
void PPB_VideoCapture_Proxy::OnMsgOpen( |
const ppapi::HostResource& resource, |
const std::string& device_id, |