Commit e76515b1 authored by Guido Urdaneta's avatar Guido Urdaneta Committed by Commit Bot

Check open-device callback before invoking in MediaStreamManager

This avoids invoking a null callback in case a device is opened more
than once due to multiple open requests coming from the same renderer
process.

Bug: 821362
Change-Id: If55189b5f08c230f56925e2f8c810ec22a5ecd84
Reviewed-on: https://chromium-review.googlesource.com/973163Reviewed-by: default avatarOlga Sharonova <olka@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545023}
parent 02bfb005
...@@ -1312,9 +1312,10 @@ void MediaStreamManager::FinalizeRequestFailed( ...@@ -1312,9 +1312,10 @@ void MediaStreamManager::FinalizeRequestFailed(
break; break;
} }
case MEDIA_OPEN_DEVICE_PEPPER_ONLY: { case MEDIA_OPEN_DEVICE_PEPPER_ONLY: {
DCHECK(request->open_device_cb); if (request->open_device_cb) {
std::move(request->open_device_cb) std::move(request->open_device_cb)
.Run(false /* success */, std::string(), MediaStreamDevice()); .Run(false /* success */, std::string(), MediaStreamDevice());
}
break; break;
} }
case MEDIA_DEVICE_ACCESS: { case MEDIA_DEVICE_ACCESS: {
...@@ -1334,10 +1335,10 @@ void MediaStreamManager::FinalizeRequestFailed( ...@@ -1334,10 +1335,10 @@ void MediaStreamManager::FinalizeRequestFailed(
void MediaStreamManager::FinalizeOpenDevice(const std::string& label, void MediaStreamManager::FinalizeOpenDevice(const std::string& label,
DeviceRequest* request) { DeviceRequest* request) {
DCHECK_CURRENTLY_ON(BrowserThread::IO); DCHECK_CURRENTLY_ON(BrowserThread::IO);
DCHECK(request->open_device_cb); if (request->open_device_cb) {
std::move(request->open_device_cb)
std::move(request->open_device_cb) .Run(true /* success */, label, request->devices.front());
.Run(true /* success */, label, request->devices.front()); }
} }
void MediaStreamManager::FinalizeMediaAccessRequest( void MediaStreamManager::FinalizeMediaAccessRequest(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment