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(
break;
}
case MEDIA_OPEN_DEVICE_PEPPER_ONLY: {
DCHECK(request->open_device_cb);
std::move(request->open_device_cb)
.Run(false /* success */, std::string(), MediaStreamDevice());
if (request->open_device_cb) {
std::move(request->open_device_cb)
.Run(false /* success */, std::string(), MediaStreamDevice());
}
break;
}
case MEDIA_DEVICE_ACCESS: {
......@@ -1334,10 +1335,10 @@ void MediaStreamManager::FinalizeRequestFailed(
void MediaStreamManager::FinalizeOpenDevice(const std::string& label,
DeviceRequest* request) {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
DCHECK(request->open_device_cb);
std::move(request->open_device_cb)
.Run(true /* success */, label, request->devices.front());
if (request->open_device_cb) {
std::move(request->open_device_cb)
.Run(true /* success */, label, request->devices.front());
}
}
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