Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test has a WPT meta file that expects 1 subtest issues.
- This WPT test may be referenced by the following Test IDs:
- /html/semantics/permission-element/usermedia/oncancel-attribute.html - WPT Dashboard Interop Dashboard
<!doctype html>
<meta charset="utf-8" />
<title>HTMLUserMediaElement: oncancel attribute</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<script>
promise_test(async () => {
const element = document.createElement("usermedia");
element.setConstraints({ video: {} });
assert_true("oncancel" in element, "oncancel should be in element");
const cancelPromise = new Promise(resolve => {
element.oncancel = resolve;
});
element.dispatchEvent(new Event("cancel"));
await cancelPromise;
}, "oncancel IDL attribute");
promise_test(async () => {
const container = document.createElement("div");
const cancelPromise = new Promise(resolve => {
window.oncancel_called_helper = resolve;
});
container.innerHTML = '<usermedia oncancel="window.oncancel_called_helper()"></usermedia>';
const element = container.firstChild;
element.dispatchEvent(new Event("cancel"));
await cancelPromise;
delete window.oncancel_called_helper;
}, "oncancel HTML attribute");
promise_test(async () => {
const element = document.createElement("usermedia");
const cancelPromise = new Promise(resolve => {
element.addEventListener("cancel", resolve);
});
element.dispatchEvent(new Event("cancel"));
await cancelPromise;
}, "addEventListener cancel");
</script>
</body>