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

Unified Diff: content/browser/renderer_host/media/media_stream_manager.cc

Issue 10912070: Makes it possible to run content_browsertests with --as-browser and fake WebRTC devices. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/media/media_stream_manager.cc
diff --git a/content/browser/renderer_host/media/media_stream_manager.cc b/content/browser/renderer_host/media/media_stream_manager.cc
index 8194fde724332595de1996e35f27e6c6f4aa7e41..605cc7a546fff01bd4137f87e04150e5cec8f39f 100644
--- a/content/browser/renderer_host/media/media_stream_manager.cc
+++ b/content/browser/renderer_host/media/media_stream_manager.cc
@@ -690,7 +690,14 @@ void MediaStreamManager::SettingsError(const std::string& label) {
}
void MediaStreamManager::UseFakeDevice() {
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ if(!BrowserThread::CurrentlyOn(BrowserThread::IO)) {
+ BrowserThread::PostTask(BrowserThread::IO,
+ FROM_HERE,
+ base::Bind(&media_stream::MediaStreamManager::UseFakeDevice,
+ base::Unretained(this)));
+ return;
+ }
+
video_capture_manager()->UseFakeDevice();
device_settings_->UseFakeUI();
}
@@ -715,6 +722,9 @@ void MediaStreamManager::WillDestroyCurrentMessageLoop() {
void MediaStreamManager::NotifyObserverDevicesOpened(DeviceRequest* request) {
content::MediaObserver* media_observer =
content::GetContentClient()->browser()->GetMediaObserver();
+ // Check if the embedder isn't interested in the notification.
jam 2012/09/04 15:18:14 nit: no need to comment this, per the style guide
phoglund_chromium 2012/09/05 11:43:54 Done.
+ if (media_observer == NULL)
+ return;
content::MediaStreamDevices opened_devices;
DevicesFromRequest(request, &opened_devices);
DCHECK(!opened_devices.empty());
@@ -726,6 +736,9 @@ void MediaStreamManager::NotifyObserverDevicesOpened(DeviceRequest* request) {
void MediaStreamManager::NotifyObserverDevicesClosed(DeviceRequest* request) {
content::MediaObserver* media_observer =
content::GetContentClient()->browser()->GetMediaObserver();
+ // Check if the embedder isn't interested in the notification.
+ if (media_observer == NULL)
+ return;
content::MediaStreamDevices closed_devices;
DevicesFromRequest(request, &closed_devices);
if (closed_devices.empty())

Powered by Google App Engine
This is Rietveld 408576698