57 lines
2.2 KiB
HTML
57 lines
2.2 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<title>Parallel capture requests</title>
|
|
</head>
|
|
<body>
|
|
<button id="button">User gesture</button>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/resources/testdriver.js"></script>
|
|
<script src="/resources/testdriver-vendor.js"></script>
|
|
<script>
|
|
async function getDisplayMedia(constraints) {
|
|
const p = new Promise(r => button.onclick = r);
|
|
await test_driver.click(button);
|
|
await p;
|
|
return navigator.mediaDevices.getDisplayMedia(constraints);
|
|
}
|
|
|
|
promise_test(function() {
|
|
const getUserMediaPromise =
|
|
navigator.mediaDevices.getUserMedia({audio: true, video:true});
|
|
const getDisplayMediaPromise =
|
|
getDisplayMedia({video: true, audio: true});
|
|
return Promise.all([getUserMediaPromise, getDisplayMediaPromise])
|
|
.then(function(s) {
|
|
assert_greater_than_equal(s[0].getTracks().length, 1);
|
|
assert_less_than_equal(s[0].getTracks().length, 2);
|
|
assert_equals(s[0].getVideoTracks().length, 1);
|
|
assert_less_than_equal(s[0].getAudioTracks().length, 1);
|
|
assert_greater_than_equal(s[1].getTracks().length, 1);
|
|
assert_less_than_equal(s[1].getTracks().length, 2);
|
|
assert_equals(s[1].getVideoTracks().length, 1);
|
|
assert_less_than_equal(s[1].getAudioTracks().length, 1);
|
|
});
|
|
}, 'getDisplayMedia() and parallel getUserMedia()');
|
|
|
|
promise_test(function() {
|
|
const getDisplayMediaPromise =
|
|
getDisplayMedia({video: true, audio: true});
|
|
const getUserMediaPromise =
|
|
navigator.mediaDevices.getUserMedia({audio: true, video:true});
|
|
return Promise.all([getDisplayMediaPromise, getUserMediaPromise])
|
|
.then(function(s) {
|
|
assert_greater_than_equal(s[0].getTracks().length, 1);
|
|
assert_less_than_equal(s[0].getTracks().length, 2);
|
|
assert_equals(s[0].getVideoTracks().length, 1);
|
|
assert_less_than_equal(s[0].getAudioTracks().length, 1);
|
|
assert_greater_than_equal(s[1].getTracks().length, 1);
|
|
assert_less_than_equal(s[1].getTracks().length, 2);
|
|
assert_equals(s[1].getVideoTracks().length, 1);
|
|
assert_less_than_equal(s[1].getAudioTracks().length, 1);
|
|
});
|
|
}, 'getUserMedia() and parallel getDisplayMedia()');
|
|
</script>
|
|
</body>
|
|
</html>
|