New issue
Advanced search Search tips

Issue 792106 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Run constraints processing for video device capture on the main thread

Project Member Reported by guidou@chromium.org, Dec 5 2017

Issue description

While preparing a new browser test for screen capture, we discovered that there was a code path in the constraints-processing algorithm that tried to use a Blink string from the worker thread. See  bug 791992 

For device capture we have many browser and layout tests and we have not reached this problem. However, it seems prudent to run the algorithm on the main thread in order to avoid issues in the future.

 
Description: Show this description
Project Member

Comment 2 by bugdroid1@chromium.org, Dec 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5daa323d0874f67abf73414cf556eb99a3817d2e

commit 5daa323d0874f67abf73414cf556eb99a3817d2e
Author: Guido Urdaneta <guidou@chromium.org>
Date: Tue Dec 05 19:42:53 2017

Run constraints processing for video-device capture on the main thread

The constraints processing algorithm operates on data coming directly
from Blink, and it may happen that a future change accesses a
string or some other data that is allowed to be accessed only from
the main thread. So far no such bug has been found for device capture,
but one was recently discovered for screen capture. See
 http://crbug.com/791992 .

The original motivation to run constraints processing on the worker
thread was to avoid blocking the main thread in case the algorithm
took too long to run, but in practice we have not observed
significant performance issues.

Bug:  792106 
Change-Id: I5fa6f9e1b107e680cb4a5b544488fe7f2d8bfb0d
Reviewed-on: https://chromium-review.googlesource.com/809011
Reviewed-by: Henrik Boström <hbos@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Guido Urdaneta <guidou@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521790}
[modify] https://crrev.com/5daa323d0874f67abf73414cf556eb99a3817d2e/content/renderer/media/user_media_client_impl.cc
[modify] https://crrev.com/5daa323d0874f67abf73414cf556eb99a3817d2e/content/renderer/media/user_media_client_impl.h
[modify] https://crrev.com/5daa323d0874f67abf73414cf556eb99a3817d2e/content/renderer/media/user_media_client_impl_unittest.cc
[modify] https://crrev.com/5daa323d0874f67abf73414cf556eb99a3817d2e/content/renderer/media/user_media_processor.cc
[modify] https://crrev.com/5daa323d0874f67abf73414cf556eb99a3817d2e/content/renderer/media/user_media_processor.h
[modify] https://crrev.com/5daa323d0874f67abf73414cf556eb99a3817d2e/content/renderer/render_frame_impl.cc

Comment 3 by guidou@chromium.org, Jan 18 2018

Status: Fixed (was: Assigned)

Sign in to add a comment