Tests which user navigator.getUserMedia fail (with run-webkit-tests --enable-wptserve) |
|||||
Issue descriptionWhen running `run-webkit-tests --enable-wptserve imported/web-platform-tests/mediacapture-streams`, some tests fail, with the following error in the JS console: getUserMedia() no longer works on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details. Async tests that use getUserMedia appear to be timing out.
,
May 3 2016
I just tried: - Renaming the files in mediacapture-streams to all have ".https.html" instead of just ".html" - Removing the expectations in WPTServeExpectations and updating the expectations in TestExpectations accordingly The result was: Most of the tests that were failing (due to "getUserMedia() no longer works on insecure origins) now pass! So renaming files to *.https.html does make wptserve use HTTPS. As a side note, imported/web-platform-tests/mediacapture-streams/MediaDevices-getUserMedia.https.html failed, but not because of the "insecure origins" issue; it failed for a different reason. Also, when I try to run the tests by staring `Tools/Scripts/run-blink-wptserve' and navigate to the port that serves HTTPS (and give permission for the page to access microphone/camera) then most of the tests pass (e.g. https://web-platform.test:8444/mediacapture-streams/MediaStreamTrack-id.html) So, one question is: Would the owners of the W3C repo be comfortable with renaming all of those files to *.https.html? If there's a good reason why Chromium doesn't support getUserMedia with insecure origins, then maybe it makes sense to use HTTPS for tests that use getUserMedia? Otherwise, we'll have to maintain a separate record of which tests require HTTPS.
,
May 4 2016
I'm one of the repo owners :-) Relevant spec: http://w3c.github.io/mediacapture-main/getusermedia.html#local-content When on an insecure origin [mixed-content], User Agents are encouraged to warn about usage of navigator.mediaDevices.getUserMedia, navigator.getUserMedia, and any prefixed variants in their developer tools, error logs, etc. It is explicitly permitted for User Agents to remove these APIs entirely when on an insecure origin, as long as they remove all of them at once (e.g., they should not leave just the prefixed version available on insecure origins). So there's every reason to go with a global rename to .https.html for the W3C tests, except for some tests that test whether we obey the restriction or not. (Note that we'd probably fail those, since we are giving people a deprecation warning and failing the call when they call this API rather than removing the API totally - not 100% conformant, but a different issue.) Thanks for testing this!
,
May 5 2016
NP -- are you planning to make a pull request to rename those tests? If so, do you think it would be better to rename all tests in mediacapture-streams, or just all those that call getUserMedia (which is most or all of them). Also, web-platform-tests/webrtc/simplecall.html also calls getUserMedia (and could also be renamed to simplecall.https.html for this reason)
,
Jun 7 2016
I'll take on making a PR to rename the tests. (sorry - lost the token). Eventually we'll need a single test that runs under plain HTTP and checks that the API is either accessible or gives the correct error message (two successful outcomes), but that's a later issue.
,
Jun 7 2016
The rename for mediacapture-streams has landed: https://github.com/w3c/web-platform-tests/pull/3127
,
Jun 9 2016
Excellent, now the entries in WPTServeExpectations can likely be removed after the imported wpt tests are updated again.
,
Jun 30 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fd3f30488622ed47d21a15b35fe0977215989d02 commit fd3f30488622ed47d21a15b35fe0977215989d02 Author: qyearsley <qyearsley@chromium.org> Date: Thu Jun 30 15:20:17 2016 Remove failure expectations in WPTServeExpectations for tests which use navigator.getUserMedia. In addition to removing the failure expectations associated with http://crbug.com/608457 , this CL also sorts expectation lines in the file, and changes expectations based on local runs on my workstation: Added pass expectations: crbug.com/508725 imported/wpt/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_script.html [ Pass ] crbug.com/508725 imported/wpt/mediacapture-streams/GUM-trivial-constraint.https.html [ Pass ] crbug.com/508725 imported/wpt/pointerevents/pointerevent_constructor.html [ Pass ] Removed failure expectations: crbug.com/508734 imported/wpt/html/rendering/replaced-elements/svg-embedded-sizing/svg-in-iframe-fixed.html [ Timeout ] BUG= 608457 Review-Url: https://codereview.chromium.org/2113463003 Cr-Commit-Position: refs/heads/master@{#403181} [modify] https://crrev.com/fd3f30488622ed47d21a15b35fe0977215989d02/third_party/WebKit/LayoutTests/WPTServeExpectations
,
Jul 1 2016
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by hta@chromium.org
, May 3 2016