Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

<html>
<head>
<title>VRDisplay onvrdisplaydeactivate Crosscontent test</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="WebVRHelpers.js"></script>
<script src="requestPresent.js"></script>
<script src="runVRTest.js"></script>
</head>
<body>
<canvas id="vrCanvas"></canvas>
<script>
function startTest() {
var canvas = document.getElementById("vrCanvas");
var iframe1 = document.getElementById("iframe1").contentWindow;
var t = async_test("vrdisplaydeactivate crosscontent test");
window.addEventListener("vrdisplaydeactivate", () => {
t.step(() => {
assert_true(vrDisplay.isPresenting,
"VRDisplay should be still presenting now without being affected by the event.");
t.done();
});
});
iframe1.addEventListener("vrdisplaydeactivate", () => {
t.unreached_func("vrdisplaydeactivate should not be received by other iframe.");
});
promise_test((test) => {
return attachVRDisplay(test).then(() => {
return promise_test((test) => {
return setupVRDisplay(test).then(() => {
VRSimulationDriver.SetMountState(true);
VRSimulationDriver.UpdateVRDisplay();
return WebVRHelpers.RequestPresentOnVRDisplay(vrDisplay, [{source: canvas}]);
}).then(() => {
VRSimulationDriver.SetMountState(false);
VRSimulationDriver.UpdateVRDisplay();
});
});
});
});
}
runVRTest(startTest);
</script>
<iframe id="iframe1"></iframe>
</body>
</html>