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

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

Issue 13989003: Replace MediaStreamUIController with MediaStreamUIProxy. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 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 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 GetDevicePolicy(prefs::kAudioCaptureAllowed) == ALWAYS_DENY) { 57 GetDevicePolicy(prefs::kAudioCaptureAllowed) == ALWAYS_DENY) {
58 microphone_requested_ = false; 58 microphone_requested_ = false;
59 } 59 }
60 60
61 if (webcam_requested_ && 61 if (webcam_requested_ &&
62 GetDevicePolicy(prefs::kVideoCaptureAllowed) == ALWAYS_DENY) { 62 GetDevicePolicy(prefs::kVideoCaptureAllowed) == ALWAYS_DENY) {
63 webcam_requested_ = false; 63 webcam_requested_ = false;
64 } 64 }
65 } 65 }
66 66
67 MediaStreamDevicesController::~MediaStreamDevicesController() {} 67 MediaStreamDevicesController::~MediaStreamDevicesController() {
68 if (!callback_.is_null()) {
69 callback_.Run(content::MediaStreamDevices(),
70 scoped_ptr<content::MediaStreamUI>());
71 }
72 }
68 73
69 // static 74 // static
70 void MediaStreamDevicesController::RegisterUserPrefs( 75 void MediaStreamDevicesController::RegisterUserPrefs(
71 PrefRegistrySyncable* prefs) { 76 PrefRegistrySyncable* prefs) {
72 prefs->RegisterBooleanPref(prefs::kVideoCaptureAllowed, 77 prefs->RegisterBooleanPref(prefs::kVideoCaptureAllowed,
73 true, 78 true,
74 PrefRegistrySyncable::UNSYNCABLE_PREF); 79 PrefRegistrySyncable::UNSYNCABLE_PREF);
75 prefs->RegisterBooleanPref(prefs::kAudioCaptureAllowed, 80 prefs->RegisterBooleanPref(prefs::kAudioCaptureAllowed,
76 true, 81 true,
77 PrefRegistrySyncable::UNSYNCABLE_PREF); 82 PrefRegistrySyncable::UNSYNCABLE_PREF);
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 if (update_content_setting && IsSchemeSecure() && !devices.empty()) 170 if (update_content_setting && IsSchemeSecure() && !devices.empty())
166 SetPermission(true); 171 SetPermission(true);
167 } 172 }
168 173
169 scoped_ptr<content::MediaStreamUI> ui; 174 scoped_ptr<content::MediaStreamUI> ui;
170 if (!devices.empty()) { 175 if (!devices.empty()) {
171 ui = MediaCaptureDevicesDispatcher::GetInstance()-> 176 ui = MediaCaptureDevicesDispatcher::GetInstance()->
172 GetMediaStreamCaptureIndicator()->RegisterMediaStream( 177 GetMediaStreamCaptureIndicator()->RegisterMediaStream(
173 web_contents_, devices); 178 web_contents_, devices);
174 } 179 }
175 callback_.Run(devices, ui.Pass()); 180 content::MediaResponseCallback cb = callback_;
181 callback_.Reset();
182 cb.Run(devices, ui.Pass());
176 } 183 }
177 184
178 void MediaStreamDevicesController::Deny(bool update_content_setting) { 185 void MediaStreamDevicesController::Deny(bool update_content_setting) {
179 // TODO(markusheintz): Replace CONTENT_SETTINGS_TYPE_MEDIA_STREAM with the 186 // TODO(markusheintz): Replace CONTENT_SETTINGS_TYPE_MEDIA_STREAM with the
180 // appropriate new CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC and 187 // appropriate new CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC and
181 // CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA. 188 // CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA.
182 if (content_settings_) { 189 if (content_settings_) {
183 content_settings_->OnContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM, 190 content_settings_->OnContentBlocked(CONTENT_SETTINGS_TYPE_MEDIASTREAM,
184 std::string()); 191 std::string());
185 } 192 }
186 193
187 if (update_content_setting) 194 if (update_content_setting)
188 SetPermission(false); 195 SetPermission(false);
189 196
190 callback_.Run(content::MediaStreamDevices(), 197 content::MediaResponseCallback cb = callback_;
191 scoped_ptr<content::MediaStreamUI>()); 198 callback_.Reset();
199 cb.Run(content::MediaStreamDevices(), scoped_ptr<content::MediaStreamUI>());
192 } 200 }
193 201
194 MediaStreamDevicesController::DevicePolicy 202 MediaStreamDevicesController::DevicePolicy
195 MediaStreamDevicesController::GetDevicePolicy(const char* policy_name) const { 203 MediaStreamDevicesController::GetDevicePolicy(const char* policy_name) const {
196 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 204 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
197 205
198 PrefService* prefs = profile_->GetPrefs(); 206 PrefService* prefs = profile_->GetPrefs();
199 if (!prefs->IsManagedPreference(policy_name)) 207 if (!prefs->IsManagedPreference(policy_name))
200 return POLICY_NOT_SET; 208 return POLICY_NOT_SET;
201 209
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 } 317 }
310 if (webcam_requested_) { 318 if (webcam_requested_) {
311 profile_->GetHostContentSettingsMap()->SetContentSetting( 319 profile_->GetHostContentSettingsMap()->SetContentSetting(
312 primary_pattern, 320 primary_pattern,
313 ContentSettingsPattern::Wildcard(), 321 ContentSettingsPattern::Wildcard(),
314 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, 322 CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA,
315 std::string(), 323 std::string(),
316 content_setting); 324 content_setting);
317 } 325 }
318 } 326 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698