Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(246)

Side by Side Diff: chrome/browser/media/media_stream_devices_controller.cc

Issue 180633008: Add different error codes for getUserMedia. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: cleanup Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/media/media_stream_devices_controller.h" 5 #include "chrome/browser/media/media_stream_devices_controller.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/metrics/histogram.h" 8 #include "base/metrics/histogram.h"
9 #include "base/prefs/pref_service.h" 9 #include "base/prefs/pref_service.h"
10 #include "base/prefs/scoped_user_pref_update.h" 10 #include "base/prefs/scoped_user_pref_update.h"
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 content::MEDIA_DEVICE_VIDEO_CAPTURE, 124 content::MEDIA_DEVICE_VIDEO_CAPTURE,
125 MediaStreamTypeSettings(MEDIA_ALLOWED, 125 MediaStreamTypeSettings(MEDIA_ALLOWED,
126 request.requested_video_device_id))); 126 request.requested_video_device_id)));
127 } 127 }
128 } 128 }
129 } 129 }
130 130
131 MediaStreamDevicesController::~MediaStreamDevicesController() { 131 MediaStreamDevicesController::~MediaStreamDevicesController() {
132 if (!callback_.is_null()) { 132 if (!callback_.is_null()) {
133 callback_.Run(content::MediaStreamDevices(), 133 callback_.Run(content::MediaStreamDevices(),
134 content::MEDIA_DEVICE_INVALID_STATE,
134 scoped_ptr<content::MediaStreamUI>()); 135 scoped_ptr<content::MediaStreamUI>());
135 } 136 }
136 } 137 }
137 138
138 // static 139 // static
139 void MediaStreamDevicesController::RegisterProfilePrefs( 140 void MediaStreamDevicesController::RegisterProfilePrefs(
140 user_prefs::PrefRegistrySyncable* prefs) { 141 user_prefs::PrefRegistrySyncable* prefs) {
141 prefs->RegisterBooleanPref(prefs::kVideoCaptureAllowed, 142 prefs->RegisterBooleanPref(prefs::kVideoCaptureAllowed,
142 true, 143 true,
143 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 144 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 } 329 }
329 330
330 scoped_ptr<content::MediaStreamUI> ui; 331 scoped_ptr<content::MediaStreamUI> ui;
331 if (!devices.empty()) { 332 if (!devices.empty()) {
332 ui = MediaCaptureDevicesDispatcher::GetInstance()-> 333 ui = MediaCaptureDevicesDispatcher::GetInstance()->
333 GetMediaStreamCaptureIndicator()->RegisterMediaStream( 334 GetMediaStreamCaptureIndicator()->RegisterMediaStream(
334 web_contents_, devices); 335 web_contents_, devices);
335 } 336 }
336 content::MediaResponseCallback cb = callback_; 337 content::MediaResponseCallback cb = callback_;
337 callback_.Reset(); 338 callback_.Reset();
338 cb.Run(devices, ui.Pass()); 339 cb.Run(devices, content::MEDIA_DEVICE_OK, ui.Pass());
339 } 340 }
340 341
341 void MediaStreamDevicesController::Deny(bool update_content_setting) { 342 void MediaStreamDevicesController::Deny(bool update_content_setting) {
342 NotifyUIRequestDenied(); 343 NotifyUIRequestDenied();
343 344
344 if (update_content_setting) 345 if (update_content_setting)
345 SetPermission(false); 346 SetPermission(false);
346 347
347 content::MediaResponseCallback cb = callback_; 348 content::MediaResponseCallback cb = callback_;
348 callback_.Reset(); 349 callback_.Reset();
349 cb.Run(content::MediaStreamDevices(), scoped_ptr<content::MediaStreamUI>()); 350 cb.Run(content::MediaStreamDevices(),
351 update_content_setting ?
352 content::MEDIA_DEVICE_PERMISSION_DENIED :
353 content::MEDIA_DEVICE_PERMISSION_DISMISSED,
354 scoped_ptr<content::MediaStreamUI>());
350 } 355 }
351 356
352 base::string16 MediaStreamDevicesController::GetMessageText() const { 357 base::string16 MediaStreamDevicesController::GetMessageText() const {
353 int message_id = IDS_MEDIA_CAPTURE_AUDIO_AND_VIDEO; 358 int message_id = IDS_MEDIA_CAPTURE_AUDIO_AND_VIDEO;
354 if (!HasAudio()) 359 if (!HasAudio())
355 message_id = IDS_MEDIA_CAPTURE_VIDEO_ONLY; 360 message_id = IDS_MEDIA_CAPTURE_VIDEO_ONLY;
356 else if (!HasVideo()) 361 else if (!HasVideo())
357 message_id = IDS_MEDIA_CAPTURE_AUDIO_ONLY; 362 message_id = IDS_MEDIA_CAPTURE_AUDIO_ONLY;
358 return l10n_util::GetStringFUTF16( 363 return l10n_util::GetStringFUTF16(
359 message_id, base::UTF8ToUTF16(GetSecurityOriginSpec())); 364 message_id, base::UTF8ToUTF16(GetSecurityOriginSpec()));
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
620 it->second.permission == MEDIA_ALLOWED); 625 it->second.permission == MEDIA_ALLOWED);
621 } 626 }
622 627
623 bool MediaStreamDevicesController::IsDeviceVideoCaptureRequestedAndAllowed() 628 bool MediaStreamDevicesController::IsDeviceVideoCaptureRequestedAndAllowed()
624 const { 629 const {
625 MediaStreamTypeSettingsMap::const_iterator it = 630 MediaStreamTypeSettingsMap::const_iterator it =
626 request_permissions_.find(content::MEDIA_DEVICE_VIDEO_CAPTURE); 631 request_permissions_.find(content::MEDIA_DEVICE_VIDEO_CAPTURE);
627 return (it != request_permissions_.end() && 632 return (it != request_permissions_.end() &&
628 it->second.permission == MEDIA_ALLOWED); 633 it->second.permission == MEDIA_ALLOWED);
629 } 634 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698