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

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

Issue 16342002: Replace MediaStreamUIController with MediaStreamUIProxy. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/browser/content_settings/content_settings_provider.h" 10 #include "chrome/browser/content_settings/content_settings_provider.h"
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 microphone_requested_ = false; 76 microphone_requested_ = false;
77 } 77 }
78 78
79 if (webcam_requested_ && 79 if (webcam_requested_ &&
80 GetDevicePolicy(prefs::kVideoCaptureAllowed, 80 GetDevicePolicy(prefs::kVideoCaptureAllowed,
81 prefs::kVideoCaptureAllowedUrls) == ALWAYS_DENY) { 81 prefs::kVideoCaptureAllowedUrls) == ALWAYS_DENY) {
82 webcam_requested_ = false; 82 webcam_requested_ = false;
83 } 83 }
84 } 84 }
85 85
86 MediaStreamDevicesController::~MediaStreamDevicesController() {} 86 MediaStreamDevicesController::~MediaStreamDevicesController() {
87 if (!callback_.is_null()) {
88 callback_.Run(content::MediaStreamDevices(),
89 scoped_ptr<content::MediaStreamUI>());
90 }
91 }
87 92
88 // static 93 // static
89 void MediaStreamDevicesController::RegisterUserPrefs( 94 void MediaStreamDevicesController::RegisterUserPrefs(
90 user_prefs::PrefRegistrySyncable* prefs) { 95 user_prefs::PrefRegistrySyncable* prefs) {
91 prefs->RegisterBooleanPref(prefs::kVideoCaptureAllowed, 96 prefs->RegisterBooleanPref(prefs::kVideoCaptureAllowed,
92 true, 97 true,
93 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 98 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
94 prefs->RegisterBooleanPref(prefs::kAudioCaptureAllowed, 99 prefs->RegisterBooleanPref(prefs::kAudioCaptureAllowed,
95 true, 100 true,
96 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 101 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 if (update_content_setting && IsSchemeSecure() && !devices.empty()) 193 if (update_content_setting && IsSchemeSecure() && !devices.empty())
189 SetPermission(true); 194 SetPermission(true);
190 } 195 }
191 196
192 scoped_ptr<content::MediaStreamUI> ui; 197 scoped_ptr<content::MediaStreamUI> ui;
193 if (!devices.empty()) { 198 if (!devices.empty()) {
194 ui = MediaCaptureDevicesDispatcher::GetInstance()-> 199 ui = MediaCaptureDevicesDispatcher::GetInstance()->
195 GetMediaStreamCaptureIndicator()->RegisterMediaStream( 200 GetMediaStreamCaptureIndicator()->RegisterMediaStream(
196 web_contents_, devices); 201 web_contents_, devices);
197 } 202 }
198 callback_.Run(devices, ui.Pass()); 203 content::MediaResponseCallback cb = callback_;
204 callback_.Reset();
205 cb.Run(devices, ui.Pass());
199 } 206 }
200 207
201 void MediaStreamDevicesController::Deny(bool update_content_setting) { 208 void MediaStreamDevicesController::Deny(bool update_content_setting) {
202 // TODO(markusheintz): Replace CONTENT_SETTINGS_TYPE_MEDIA_STREAM with the 209 // TODO(markusheintz): Replace CONTENT_SETTINGS_TYPE_MEDIA_STREAM with the
203 // appropriate new CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC and 210 // appropriate new CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC and
204 // CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA. 211 // CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA.
205 if (content_settings_) { 212 if (content_settings_) {
206 content_settings_->OnContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM, 213 content_settings_->OnContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM,
207 std::string()); 214 std::string());
208 } 215 }
209 216
210 if (update_content_setting) 217 if (update_content_setting)
211 SetPermission(false); 218 SetPermission(false);
212 219
213 callback_.Run(content::MediaStreamDevices(), 220 content::MediaResponseCallback cb = callback_;
214 scoped_ptr<content::MediaStreamUI>()); 221 callback_.Reset();
222 cb.Run(content::MediaStreamDevices(), scoped_ptr<content::MediaStreamUI>());
215 } 223 }
216 224
217 MediaStreamDevicesController::DevicePolicy 225 MediaStreamDevicesController::DevicePolicy
218 MediaStreamDevicesController::GetDevicePolicy( 226 MediaStreamDevicesController::GetDevicePolicy(
219 const char* policy_name, 227 const char* policy_name,
220 const char* whitelist_policy_name) const { 228 const char* whitelist_policy_name) const {
221 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 229 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
222 230
223 // If the security origin policy matches a value in the whitelist, allow it. 231 // If the security origin policy matches a value in the whitelist, allow it.
224 // Otherwise, check the |policy_name| master switch for the default behavior. 232 // Otherwise, check the |policy_name| master switch for the default behavior.
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 } 374 }
367 if (webcam_requested_) { 375 if (webcam_requested_) {
368 profile_->GetHostContentSettingsMap()->SetContentSetting( 376 profile_->GetHostContentSettingsMap()->SetContentSetting(
369 primary_pattern, 377 primary_pattern,
370 ContentSettingsPattern::Wildcard(), 378 ContentSettingsPattern::Wildcard(),
371 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, 379 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA,
372 std::string(), 380 std::string(),
373 content_setting); 381 content_setting);
374 } 382 }
375 } 383 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698