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

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

Issue 14197014: Add TestBrowserThreadBundle into RenderViewHostTestHarness. Kill some unnecessary real threads. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merged ToT 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_capture_devices_dispatcher.h" 5 #include "chrome/browser/media/media_capture_devices_dispatcher.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/prefs/pref_service.h" 9 #include "base/prefs/pref_service.h"
10 #include "base/sha1.h" 10 #include "base/sha1.h"
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 } 79 }
80 80
81 } // namespace 81 } // namespace
82 82
83 MediaCaptureDevicesDispatcher* MediaCaptureDevicesDispatcher::GetInstance() { 83 MediaCaptureDevicesDispatcher* MediaCaptureDevicesDispatcher::GetInstance() {
84 return Singleton<MediaCaptureDevicesDispatcher>::get(); 84 return Singleton<MediaCaptureDevicesDispatcher>::get();
85 } 85 }
86 86
87 MediaCaptureDevicesDispatcher::MediaCaptureDevicesDispatcher() 87 MediaCaptureDevicesDispatcher::MediaCaptureDevicesDispatcher()
88 : devices_enumerated_(false), 88 : devices_enumerated_(false),
89 is_device_enumeration_disabled_(false),
89 media_stream_capture_indicator_(new MediaStreamCaptureIndicator()), 90 media_stream_capture_indicator_(new MediaStreamCaptureIndicator()),
90 audio_stream_indicator_(new AudioStreamIndicator()) {} 91 audio_stream_indicator_(new AudioStreamIndicator()) {}
91 92
92 MediaCaptureDevicesDispatcher::~MediaCaptureDevicesDispatcher() {} 93 MediaCaptureDevicesDispatcher::~MediaCaptureDevicesDispatcher() {}
93 94
94 void MediaCaptureDevicesDispatcher::RegisterUserPrefs( 95 void MediaCaptureDevicesDispatcher::RegisterUserPrefs(
95 user_prefs::PrefRegistrySyncable* registry) { 96 user_prefs::PrefRegistrySyncable* registry) {
96 registry->RegisterStringPref( 97 registry->RegisterStringPref(
97 prefs::kDefaultAudioCaptureDevice, 98 prefs::kDefaultAudioCaptureDevice,
98 std::string(), 99 std::string(),
(...skipping 11 matching lines...) Expand all
110 } 111 }
111 112
112 void MediaCaptureDevicesDispatcher::RemoveObserver(Observer* observer) { 113 void MediaCaptureDevicesDispatcher::RemoveObserver(Observer* observer) {
113 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 114 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
114 observers_.RemoveObserver(observer); 115 observers_.RemoveObserver(observer);
115 } 116 }
116 117
117 const MediaStreamDevices& 118 const MediaStreamDevices&
118 MediaCaptureDevicesDispatcher::GetAudioCaptureDevices() { 119 MediaCaptureDevicesDispatcher::GetAudioCaptureDevices() {
119 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 120 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
120 if (!devices_enumerated_) { 121 if (!is_device_enumeration_disabled_ && !devices_enumerated_) {
121 BrowserThread::PostTask( 122 BrowserThread::PostTask(
122 BrowserThread::IO, FROM_HERE, 123 BrowserThread::IO, FROM_HERE,
123 base::Bind(&content::EnsureMonitorCaptureDevices)); 124 base::Bind(&content::EnsureMonitorCaptureDevices));
124 devices_enumerated_ = true; 125 devices_enumerated_ = true;
125 } 126 }
126 return audio_devices_; 127 return audio_devices_;
127 } 128 }
128 129
129 const MediaStreamDevices& 130 const MediaStreamDevices&
130 MediaCaptureDevicesDispatcher::GetVideoCaptureDevices() { 131 MediaCaptureDevicesDispatcher::GetVideoCaptureDevices() {
131 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 132 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
132 if (!devices_enumerated_) { 133 if (!is_device_enumeration_disabled_ && !devices_enumerated_) {
133 BrowserThread::PostTask( 134 BrowserThread::PostTask(
134 BrowserThread::IO, FROM_HERE, 135 BrowserThread::IO, FROM_HERE,
135 base::Bind(&content::EnsureMonitorCaptureDevices)); 136 base::Bind(&content::EnsureMonitorCaptureDevices));
136 devices_enumerated_ = true; 137 devices_enumerated_ = true;
137 } 138 }
138 return video_devices_; 139 return video_devices_;
139 } 140 }
140 141
141 void MediaCaptureDevicesDispatcher::ProcessMediaAccessRequest( 142 void MediaCaptureDevicesDispatcher::ProcessMediaAccessRequest(
142 content::WebContents* web_contents, 143 content::WebContents* web_contents,
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 } 298 }
298 if (video) { 299 if (video) {
299 const content::MediaStreamDevices& video_devices = GetVideoCaptureDevices(); 300 const content::MediaStreamDevices& video_devices = GetVideoCaptureDevices();
300 const content::MediaStreamDevice* const device = 301 const content::MediaStreamDevice* const device =
301 FindDefaultDeviceWithId(video_devices, requested_device_id); 302 FindDefaultDeviceWithId(video_devices, requested_device_id);
302 if (device) 303 if (device)
303 devices->push_back(*device); 304 devices->push_back(*device);
304 } 305 }
305 } 306 }
306 307
308 void MediaCaptureDevicesDispatcher::DisableDeviceEnumerationForTesting() {
309 is_device_enumeration_disabled_ = true;
310 }
311
307 scoped_refptr<MediaStreamCaptureIndicator> 312 scoped_refptr<MediaStreamCaptureIndicator>
308 MediaCaptureDevicesDispatcher::GetMediaStreamCaptureIndicator() { 313 MediaCaptureDevicesDispatcher::GetMediaStreamCaptureIndicator() {
309 return media_stream_capture_indicator_; 314 return media_stream_capture_indicator_;
310 } 315 }
311 316
312 scoped_refptr<AudioStreamIndicator> 317 scoped_refptr<AudioStreamIndicator>
313 MediaCaptureDevicesDispatcher::GetAudioStreamIndicator() { 318 MediaCaptureDevicesDispatcher::GetAudioStreamIndicator() {
314 return audio_stream_indicator_; 319 return audio_stream_indicator_;
315 } 320 }
316 321
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 int render_process_id, 383 int render_process_id,
379 int render_view_id, 384 int render_view_id,
380 const content::MediaStreamDevice& device, 385 const content::MediaStreamDevice& device,
381 content::MediaRequestState state) { 386 content::MediaRequestState state) {
382 FOR_EACH_OBSERVER(Observer, observers_, 387 FOR_EACH_OBSERVER(Observer, observers_,
383 OnRequestUpdate(render_process_id, 388 OnRequestUpdate(render_process_id,
384 render_view_id, 389 render_view_id,
385 device, 390 device,
386 state)); 391 state));
387 } 392 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698