Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

<html class="reftest-wait">↩
<head>↩
<script>↩
function test() {↩
function checkResolve(value) {↩
// Let the test timeout and fail↩
throw new Error("This promise should not resolve");↩
}↩
function checkReject(reason) {↩
if (reason.message !== "Browsing context is no longer available") {↩
// Let the test timeout and fail↩
throw new Error("Unexpected rejected promise reason"); ↩
}↩
// Otherwise, successfully rejected a request not attached to a↩
// window without crashing↩
}↩
var i = document.querySelector("iframe");↩
var nav = i.contentWindow.navigator;↩
i.remove();↩
// First, check with valid args↩
nav.requestMediaKeySystemAccess(↩
"com.widevine.alpha",↩
[{↩
initDataTypes: ["webm"],↩
videoCapabilities: [{ contentType: 'video/webm; codecs="vp9"' }]↩
}]↩
).then(↩
checkResolve,↩
(reason) => {↩
checkReject(reason);↩
// Then, check with invalid args↩
nav.requestMediaKeySystemAccess("", []).then(↩
checkResolve,↩
(reason) => {↩
checkReject(reason);↩
document.documentElement.removeAttribute("class");↩
}↩
);↩
});↩
}↩
</script>↩
</head>↩
<body onload="test()">↩
<iframe></iframe>↩
</body>↩
</html>↩