Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / fast / dom / DeviceOrientation / multiple-frames.html
blob8e0897b268eac30ba590746368d3d3222d5723c0
1 <!DOCTYPE html>
2 <html>
3 <body>
4 <script src="../../../resources/js-test.js"></script>
5 <script>
6 description('Tests using DeviceOrientation from multiple frames.');
8 var mockEvent = {alpha: 1.1, beta: 2.2, gamma: 3.3, absolute: true};
9 if (window.testRunner)
10 testRunner.setMockDeviceOrientation(true, mockEvent.alpha, true, mockEvent.beta, true, mockEvent.gamma, true, mockEvent.absolute);
11 else
12 debug('This test can not be run without the TestRunner');
14 var deviceOrientationEvent;
15 function checkOrientation(event) {
16 deviceOrientationEvent = event;
17 shouldBe('deviceOrientationEvent.alpha', 'mockEvent.alpha');
18 shouldBe('deviceOrientationEvent.beta', 'mockEvent.beta');
19 shouldBe('deviceOrientationEvent.gamma', 'mockEvent.gamma');
20 shouldBe('deviceOrientationEvent.absolute', 'mockEvent.absolute');
23 var hasMainFrameEventFired = false;
24 function mainFrameListener(event) {
25 checkOrientation(event);
26 hasMainFrameEventFired = true;
27 maybeFinishTest();
30 var hasChildFrameEventFired = false;
31 function childFrameListener(event) {
32 checkOrientation(event);
33 hasChildFrameEventFired = true;
34 maybeFinishTest();
37 function maybeFinishTest() {
38 if (hasMainFrameEventFired && hasChildFrameEventFired)
39 finishJSTest();
42 var childFrame = document.createElement('iframe');
43 document.body.appendChild(childFrame);
44 childFrame.contentWindow.addEventListener('deviceorientation', childFrameListener);
46 window.addEventListener('deviceorientation', mainFrameListener);
48 window.jsTestIsAsync = true;
49 </script>
50 </body>
51 </html>