blob: 5f2920a5ca8c6e55b7d800baa60138687a2e0ffa [file] [edit]
<!doctype html><!-- webkit-test-runner [ dumpJSConsoleLogInStdErr=true ] -->
<html>
<head>
<meta charset="utf-8">
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="resources/getDisplayMedia-utils.js"></script>
</head>
<body>
<script>
promise_test(async () => {
let isOK = false;
for (let i = 0; i < 100 && !isOK; i++) {
let promise1;
window.internals.withUserGesture(() => {
promise1 = navigator.mediaDevices.getDisplayMedia({ video: true });
});
let promise2;
window.internals.withUserGesture(() => {
promise2 = navigator.mediaDevices.getDisplayMedia({ video: true });
});
const results = await Promise.all([promise2, promise1.then(() => {
return true;
}, e => {
assert_equals(e.name, 'AbortError');
return true;
})]);
isOK = results[1];
}
assert_true(isOK);
}, "Validate that a pending getDisplayMedia is cancelled when a new getDisplayMedia call is made");
</script>
</body>
</html>