| Index: chrome/browser/media/media_stream_devices_controller.cc
|
| diff --git a/chrome/browser/media/media_stream_devices_controller.cc b/chrome/browser/media/media_stream_devices_controller.cc
|
| index e4296ceeae7ba81247400164fbde8851da842dfa..8ea3db3840bdc736713391228c096781de857d1f 100644
|
| --- a/chrome/browser/media/media_stream_devices_controller.cc
|
| +++ b/chrome/browser/media/media_stream_devices_controller.cc
|
| @@ -131,6 +131,7 @@ MediaStreamDevicesController::MediaStreamDevicesController(
|
| MediaStreamDevicesController::~MediaStreamDevicesController() {
|
| if (!callback_.is_null()) {
|
| callback_.Run(content::MediaStreamDevices(),
|
| + content::MEDIA_DEVICE_INVALID_STATE,
|
| scoped_ptr<content::MediaStreamUI>());
|
| }
|
| }
|
| @@ -157,20 +158,20 @@ bool MediaStreamDevicesController::DismissInfoBarAndTakeActionOnSettings() {
|
| // extensions.
|
| if (request_.audio_type == content::MEDIA_TAB_AUDIO_CAPTURE ||
|
| request_.video_type == content::MEDIA_TAB_VIDEO_CAPTURE) {
|
| - Deny(false);
|
| + Deny(false, content::MEDIA_DEVICE_INVALID_STATE);
|
| return true;
|
| }
|
|
|
| // Deny the request if the security origin is empty, this happens with
|
| // file access without |--allow-file-access-from-files| flag.
|
| if (request_.security_origin.is_empty()) {
|
| - Deny(false);
|
| + Deny(false, content::MEDIA_DEVICE_INVALID_SECURITY_ORIGIN);
|
| return true;
|
| }
|
|
|
| // Deny the request if there is no device attached to the OS.
|
| if (!HasAnyAvailableDevice()) {
|
| - Deny(false);
|
| + Deny(false, content::MEDIA_DEVICE_NO_HARDWARE);
|
| return true;
|
| }
|
|
|
| @@ -183,13 +184,13 @@ bool MediaStreamDevicesController::DismissInfoBarAndTakeActionOnSettings() {
|
| // Filter any parts of the request that have been blocked by default and deny
|
| // it if nothing is left to accept.
|
| if (FilterBlockedByDefaultDevices() == 0) {
|
| - Deny(false);
|
| + Deny(false, content::MEDIA_DEVICE_PERMISSION_DENIED);
|
| return true;
|
| }
|
|
|
| // Check if the media default setting is set to block.
|
| if (IsDefaultMediaAccessBlocked()) {
|
| - Deny(false);
|
| + Deny(false, content::MEDIA_DEVICE_PERMISSION_DENIED);
|
| return true;
|
| }
|
|
|
| @@ -205,7 +206,7 @@ bool MediaStreamDevicesController::DismissInfoBarAndTakeActionOnSettings() {
|
| MediaCaptureDevicesDispatcher::GetInstance()->GetRequestedVideoDevice(
|
| request_.requested_video_device_id) == NULL);
|
| if (no_matched_audio_device || no_matched_video_device) {
|
| - Deny(false);
|
| + Deny(false, content::MEDIA_DEVICE_PERMISSION_DENIED);
|
| return true;
|
| }
|
| }
|
| @@ -335,10 +336,13 @@ void MediaStreamDevicesController::Accept(bool update_content_setting) {
|
| }
|
| content::MediaResponseCallback cb = callback_;
|
| callback_.Reset();
|
| - cb.Run(devices, ui.Pass());
|
| + cb.Run(devices, content::MEDIA_DEVICE_OK, ui.Pass());
|
| }
|
|
|
| -void MediaStreamDevicesController::Deny(bool update_content_setting) {
|
| +void MediaStreamDevicesController::Deny(
|
| + bool update_content_setting,
|
| + content::MediaStreamRequestResult result) {
|
| + DLOG(WARNING) << "MediaStreamDevicesController::Deny: " << result;
|
| NotifyUIRequestDenied();
|
|
|
| if (update_content_setting)
|
| @@ -346,7 +350,9 @@ void MediaStreamDevicesController::Deny(bool update_content_setting) {
|
|
|
| content::MediaResponseCallback cb = callback_;
|
| callback_.Reset();
|
| - cb.Run(content::MediaStreamDevices(), scoped_ptr<content::MediaStreamUI>());
|
| + cb.Run(content::MediaStreamDevices(),
|
| + result,
|
| + scoped_ptr<content::MediaStreamUI>());
|
| }
|
|
|
| int MediaStreamDevicesController::GetIconID() const {
|
| @@ -399,13 +405,13 @@ void MediaStreamDevicesController::PermissionGranted() {
|
| void MediaStreamDevicesController::PermissionDenied() {
|
| UMA_HISTOGRAM_ENUMERATION("Media.DevicePermissionActions",
|
| kDeny, kPermissionActionsMax);
|
| - Deny(true);
|
| + Deny(true, content::MEDIA_DEVICE_PERMISSION_DENIED);
|
| }
|
|
|
| void MediaStreamDevicesController::Cancelled() {
|
| UMA_HISTOGRAM_ENUMERATION("Media.DevicePermissionActions",
|
| kCancel, kPermissionActionsMax);
|
| - Deny(true);
|
| + Deny(true, content::MEDIA_DEVICE_PERMISSION_DISMISSED);
|
| }
|
|
|
| void MediaStreamDevicesController::RequestFinished() {
|
|
|