53 lines
1.5 KiB
HTML
53 lines
1.5 KiB
HTML
<html>
|
|
<head>
|
|
<script src="../../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
description('Tests using DeviceOrientation from multiple frames.');
|
|
|
|
var deviceOrientationEvent;
|
|
function checkOrientation(event) {
|
|
deviceOrientationEvent = event;
|
|
shouldBe('deviceOrientationEvent.alpha', 'mockEvent.alpha');
|
|
shouldBe('deviceOrientationEvent.beta', 'mockEvent.beta');
|
|
shouldBe('deviceOrientationEvent.gamma', 'mockEvent.gamma');
|
|
}
|
|
|
|
var hasMainFrameEventFired = false;
|
|
function mainFrameListener(event) {
|
|
checkOrientation(event);
|
|
hasMainFrameEventFired = true;
|
|
maybeFinishTest();
|
|
}
|
|
|
|
var hasChildFrameEventFired = false;
|
|
function childFrameListener(event) {
|
|
checkOrientation(event);
|
|
hasChildFrameEventFired = true;
|
|
maybeFinishTest();
|
|
}
|
|
|
|
function maybeFinishTest() {
|
|
if (hasMainFrameEventFired && hasChildFrameEventFired)
|
|
finishJSTest();
|
|
}
|
|
|
|
var mockEvent = {alpha: 1.1, beta: 2.2, gamma: 3.3};
|
|
if (window.testRunner)
|
|
testRunner.setMockDeviceOrientation(true, mockEvent.alpha, true, mockEvent.beta, true, mockEvent.gamma);
|
|
else
|
|
debug('This test can not be run without the TestRunner');
|
|
|
|
var childFrame = document.createElement('iframe');
|
|
document.body.appendChild(childFrame);
|
|
childFrame.contentWindow.addEventListener('deviceorientation', childFrameListener);
|
|
|
|
window.addEventListener('deviceorientation', mainFrameListener);
|
|
|
|
window.jsTestIsAsync = true;
|
|
</script>
|
|
<script src="../../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|