50 lines
1.4 KiB
HTML
50 lines
1.4 KiB
HTML
<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>
|