Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / content / browser / renderer_host / media / device_request_message_filter.cc
index 3ae8c1a..d15039d 100644 (file)
 #include "content/common/media/media_stream_messages.h"
 #include "content/public/browser/resource_context.h"
 
-// Clears the MediaStreamDevice.name from all devices in |device_list|.
-static void ClearDeviceLabels(content::StreamDeviceInfoArray* devices) {
-  for (content::StreamDeviceInfoArray::iterator device_itr = devices->begin();
-       device_itr != devices->end();
-       ++device_itr) {
-    device_itr->device.name.clear();
-  }
-}
-
 namespace content {
 
 DeviceRequestMessageFilter::DeviceRequestMessageFilter(
@@ -62,7 +53,7 @@ struct DeviceRequestMessageFilter::DeviceRequest {
 };
 
 void DeviceRequestMessageFilter::DevicesEnumerated(
-    int render_view_id,
+    int render_frame_id,
     int page_request_id,
     const std::string& label,
     const StreamDeviceInfoArray& new_devices) {
@@ -98,12 +89,6 @@ void DeviceRequestMessageFilter::DevicesEnumerated(
     return;
   }
 
-  // Query for mic and camera permissions.
-  if (!resource_context_->AllowMicAccess(request_it->origin))
-    ClearDeviceLabels(audio_devices);
-  if (!resource_context_->AllowCameraAccess(request_it->origin))
-    ClearDeviceLabels(video_devices);
-
   // Both audio and video devices are ready for copying.
   StreamDeviceInfoArray all_devices = *audio_devices;
   all_devices.insert(
@@ -116,13 +101,13 @@ void DeviceRequestMessageFilter::DevicesEnumerated(
   requests_.erase(request_it);
 }
 
-bool DeviceRequestMessageFilter::OnMessageReceived(const IPC::Message& message,
-                                                   bool* message_was_ok) {
+bool DeviceRequestMessageFilter::OnMessageReceived(
+    const IPC::Message& message) {
   bool handled = true;
-  IPC_BEGIN_MESSAGE_MAP_EX(DeviceRequestMessageFilter, message, *message_was_ok)
+  IPC_BEGIN_MESSAGE_MAP(DeviceRequestMessageFilter, message)
     IPC_MESSAGE_HANDLER(MediaStreamHostMsg_GetSources, OnGetSources)
     IPC_MESSAGE_UNHANDLED(handled = false)
-  IPC_END_MESSAGE_MAP_EX()
+  IPC_END_MESSAGE_MAP()
   return handled;
 }
 
@@ -147,13 +132,15 @@ void DeviceRequestMessageFilter::OnGetSources(int request_id,
   // Make request to get audio devices.
   const std::string& audio_label = media_stream_manager_->EnumerateDevices(
       this, -1, -1, resource_context_->GetMediaDeviceIDSalt(), -1,
-      MEDIA_DEVICE_AUDIO_CAPTURE, security_origin);
+      MEDIA_DEVICE_AUDIO_CAPTURE, security_origin,
+      resource_context_->AllowMicAccess(security_origin));
   DCHECK(!audio_label.empty());
 
   // Make request for video devices.
   const std::string& video_label = media_stream_manager_->EnumerateDevices(
       this, -1, -1, resource_context_->GetMediaDeviceIDSalt(), -1,
-      MEDIA_DEVICE_VIDEO_CAPTURE, security_origin);
+      MEDIA_DEVICE_VIDEO_CAPTURE, security_origin,
+      resource_context_->AllowCameraAccess(security_origin));
   DCHECK(!video_label.empty());
 
   requests_.push_back(DeviceRequest(