4 <script src="../../resources/js-test-pre.js"></script>
9 function muteChanged(ev)
12 debug(`EVENT: ${ev.type}`);
13 shouldBe('event.target.muted', (ev.type == "mute").toString());
16 if (++eventCount == 2) {
19 if (ev.type == "unmute") {
24 if (window.internals) {
25 debug("<br>*** Unmuting capture devices");
26 internals.setPageMuted("");
31 function testWhenEnabled()
33 navigator.mediaDevices
34 .getUserMedia({audio:{}, video:{}})
37 shouldBeType("mediaStream", "Object");
38 shouldBe("mediaStream.getTracks().length", "2");
40 var tracks = mediaStream.getTracks();
41 for (var i = 0; i < tracks.length; i++) {
42 tracks[i].onmute = muteChanged;
43 tracks[i].onunmute = muteChanged;
46 if (window.internals) {
47 debug("<br>*** Muting capture devices");
48 internals.setPageMuted("capturedevices");
52 testFailed(`mediaDevices.getUserMedia() failed with ${err.name}`);
59 debug(`<br>*** Mock capture devices should be enabled by default`);
60 if (window.testRunner)
61 testRunner.setUserMediaPermission(true);
69 <body onload="start()">
70 <p id="description"></p>
71 <div id="console"></div>
73 description("Test enabling/disabling mock media capture devices");
74 window.jsTestIsAsync = true;
76 window.successfullyParsed = true;
78 <script src="../../resources/js-test-post.js"></script>