Bug 1311802 - Part2 - Add Mochitest implementation; r=daoshengmu

MozReview-Commit-ID: K9Z0AWIi9Yp

--HG--
extra : rebase_source : 57189d1a951785a64add14036bfd9a1f00507508
This commit is contained in:
Chih-Yi Leu 2017-03-30 12:02:37 +08:00
Родитель 87da0a5295
Коммит 77f9b81b79
2 изменённых файлов: 56 добавлений и 1 удалений

Просмотреть файл

@ -5,7 +5,8 @@ support-files =
runVRTest.js
WebVRHelpers.js
[test_vrDisplay_getFrameData.html]
[test_vrDisplay_exitPresent.html]
[test_vrDisplay_getFrameData.html]
[test_vrDisplay_onvrdisplaydeactivate_crosscontent.html]
[test_vrDisplay_requestPresent.html]
skip-if = true

Просмотреть файл

@ -0,0 +1,54 @@
<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>