Closed Bug 1651160 Opened 2 years ago Closed 2 years ago

[wpt-sync] Sync PR 24489 - Do not expose media devices before a successful getUserMedia()

Categories

(Core :: Audio/Video: MediaStreamGraph, task, P4)

task

Tracking

()

RESOLVED FIXED
mozilla80
Tracking Status
firefox80 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 24489 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/24489
Details from upstream follow.

Guido Urdaneta <guidou@chromium.org> wrote:

Do not expose media devices before a successful getUserMedia()

This is a spec-compliance change.

This CL also adds some improvements to the blink MediaDevices unit test.

Bug: 1101860
Change-Id: If2e7824df3b3dbd3cdb80f4bcf6b5c417d6f0ef2

Reviewed-on: https://chromium-review.googlesource.com/2279808
WPT-Export-Revision: 127e6edfac84d8a3d4b84a54494f7a4fb9eadac8

Component: web-platform-tests → Audio/Video: MediaStreamGraph
Product: Testing → Core

CI Results

Ran 12 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 3 tests and 6 subtests

Status Summary

Firefox

OK : 3
PASS: 157[GitHub] 160[Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt]
FAIL: 21[Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt] 24[GitHub]

Chrome

OK : 3
PASS: 188
FAIL: 1

Safari

OK : 3
PASS: 157
FAIL: 24

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

/mediacapture-streams/idlharness.https.window.html
MediaStreamTrack interface: operation getCapabilities(): FAIL
MediaStreamTrack interface: track must inherit property "getCapabilities()" with the proper type: FAIL

New Tests That Don't Pass

/audio-output/setSinkId.https.html
List device, setSinkId should be allowed on the default, the rest of the devices will get a NotAllowedError: FAIL [GitHub], PASS [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt] (Chrome: FAIL, Safari: FAIL)
setSinkId fails with NotFoundError on made up deviceid: FAIL [GitHub], PASS [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt] (Chrome: PASS, Safari: FAIL)
setSinkId on default audio output should always work: FAIL [GitHub], PASS [Gecko-android-em-7.0-x86_64-debug-geckoview, Gecko-android-em-7.0-x86_64-opt-geckoview, Gecko-linux1804-64-debug, Gecko-linux1804-64-opt, Gecko-linux1804-64-qr-debug, Gecko-linux1804-64-qr-opt, Gecko-windows10-64-debug, Gecko-windows10-64-opt, Gecko-windows10-64-qr-debug, Gecko-windows10-64-qr-opt, Gecko-windows7-32-debug, Gecko-windows7-32-opt] (Chrome: PASS, Safari: FAIL)
/mediacapture-streams/idlharness.https.window.html
Navigator interface: operation getUserMedia(MediaStreamConstraints, NavigatorUserMediaSuccessCallback, NavigatorUserMediaErrorCallback): FAIL (Chrome: PASS, Safari: FAIL)
InputDeviceInfo interface: audioinput must inherit property "getCapabilities()" with the proper type: FAIL (Chrome: PASS, Safari: FAIL)
InputDeviceInfo interface: existence and properties of interface prototype object's @@unscopables property: FAIL (Chrome: PASS, Safari: FAIL)
InputDeviceInfo interface: existence and properties of interface object: FAIL (Chrome: PASS, Safari: FAIL)
InputDeviceInfo interface: videoinput must inherit property "getCapabilities()" with the proper type: FAIL (Chrome: PASS, Safari: FAIL)
InputDeviceInfo interface object name: FAIL (Chrome: PASS, Safari: FAIL)
InputDeviceInfo must be primary interface of videoinput: FAIL (Chrome: PASS, Safari: FAIL)
InputDeviceInfo interface: existence and properties of interface prototype object: FAIL (Chrome: PASS, Safari: FAIL)
InputDeviceInfo interface object length: FAIL (Chrome: PASS, Safari: FAIL)
MediaStreamTrack interface: operation getCapabilities(): FAIL (Chrome: PASS, Safari: PASS)
MediaStreamTrack interface: track must inherit property "getCapabilities()" with the proper type: FAIL (Chrome: PASS, Safari: PASS)
Navigator interface: navigator must inherit property "getUserMedia(MediaStreamConstraints, NavigatorUserMediaSuccessCallback, NavigatorUserMediaErrorCallback)" with the proper type: FAIL (Chrome: PASS, Safari: FAIL)
InputDeviceInfo interface: existence and properties of interface prototype object's "constructor" property: FAIL (Chrome: PASS, Safari: FAIL)
Stringification of videoinput: FAIL (Chrome: PASS, Safari: FAIL)
InputDeviceInfo must be primary interface of audioinput: FAIL (Chrome: PASS, Safari: FAIL)
InputDeviceInfo interface: operation getCapabilities(): FAIL (Chrome: PASS, Safari: FAIL)
Stringification of audioinput: FAIL (Chrome: PASS, Safari: FAIL)
Navigator interface: calling getUserMedia(MediaStreamConstraints, NavigatorUserMediaSuccessCallback, NavigatorUserMediaErrorCallback) on navigator with too few arguments must throw TypeError: FAIL (Chrome: PASS, Safari: FAIL)
/mediacapture-streams/MediaDevices-getUserMedia.https.html
getUserMedia() fails with exact invalid resizeMode.: FAIL (Chrome: PASS, Safari: FAIL)
getUserMedia() supports setting none as resizeMode.: FAIL (Chrome: PASS, Safari: FAIL)
getUserMedia() supports setting crop-and-scale as resizeMode.: FAIL (Chrome: PASS, Safari: FAIL)

Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f88317392354
[wpt PR 24489] - Do not expose media devices before a successful getUserMedia(), a=testonly
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla80
You need to log in before you can comment on or make changes to this bug.