51 lines
1.9 KiB
HTML
51 lines
1.9 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>VRDisplay ExitPresent</title>
|
|
<meta name="timeout" content="long"/>
|
|
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="VRSimulationDriver.js"></script>
|
|
<script src="runVRTest.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
function testExitPresentOnOtherIframe(content) {
|
|
return content.navigator.getVRDisplays().then((displays) => {
|
|
content.vrDisplay = displays[0];
|
|
return content.vrDisplay.exitPresent();
|
|
});
|
|
}
|
|
var initVRPresentation = function(content) {
|
|
return VRSimulationDriver.AttachWebVRDisplay().then(() => {
|
|
return content.navigator.getVRDisplays().then((displays) => {
|
|
content.vrDisplay = displays[0];
|
|
content.canvas = content.document.createElement("canvas");
|
|
content.canvas.id = "vrCanvas";
|
|
return content.vrDisplay.requestPresent([{source:content.canvas}]);
|
|
});
|
|
});
|
|
}
|
|
function startTest() {
|
|
var ifr1 = document.getElementById("iframe1");
|
|
var ifr2 = document.getElementById("iframe2");
|
|
var frame1 = ifr1.contentWindow;
|
|
var frame2 = ifr2.contentWindow;
|
|
promise_test((test) => {
|
|
return VRSimulationDriver.AttachWebVRDisplay().then(() => {
|
|
return initVRPresentation(frame1).then(() => {
|
|
promise_test((test) => {
|
|
return promise_rejects(test, null, testExitPresentOnOtherIframe(frame2));
|
|
}, "We cannot exit VR presentation established by another content, this promise is expected to be rejected.")
|
|
});
|
|
});
|
|
}, "Finish running WebVR exitPresent test.");
|
|
}
|
|
runVRTest(startTest);
|
|
</script>
|
|
|
|
<iframe id="iframe1"></iframe>
|
|
<iframe id="iframe2"></iframe>
|
|
</body>
|
|
</html>
|