2929806f862d1df2fa658d0542605c99877f82f0
[WebKit-https.git] / LayoutTests / fast / spatial-navigation / snav-iframe-no-scrollable-content.html
1 <html>
2   <!--
3     This test ensures the basic iframe traversal correctness of Spatial Navigation
4     algorithm: focusable elements in a <iframe> should be accessible.
5
6     * Pre-conditions:
7     1) DRT support for SNav enable/disable.
8
9     * Navigation steps:
10     1) Loads this page, focus goes to "start" automatically.
11     2) Focus moves along the elements in the two iframes in the
12        Web page, eventually going to outer an southward link, but
13        going back to the iframe on the top later on.
14   -->
15   <head>
16     <script src="../js/resources/js-test-pre.js"></script>
17     <script src="resources/spatial-navigation-utils.js"></script>
18     <script type="application/javascript">
19
20     var resultMap = [
21       ["Down", "1"],
22       ["Down", "2"],
23       ["Down", "3"],
24       ["Down", "7"],
25       ["Down", "6"],
26       ["Down", "end"],
27       ["Up", "4"],
28       ["Right", "5"],
29       ["Right", "6"],
30       ["Up", "3"],
31       ["Right", "7"],
32       ["Up", "3"],
33       ["Up", "2"],
34       ["Up", "1"],
35       ["DONE", "DONE"]
36     ];
37
38     if (window.testRunner) {
39       testRunner.dumpAsText();
40       testRunner.setSpatialNavigationEnabled(true);
41       testRunner.overridePreference("WebKitTabToLinksPreferenceKey", 1);
42       testRunner.waitUntilDone();
43     }
44
45     function runTest()
46     {
47       // starting the test itself: get to a known place.
48       document.getElementById("start").focus();
49
50       initTest(resultMap, testCompleted);
51     }
52
53     function testCompleted()
54     {
55       if (window.testRunner)
56         testRunner.notifyDone();
57     }
58
59     window.onload = runTest;
60     </script>
61     <script src="js/resources/js-test-post.js"></script>
62   </head>
63   <body id="some-content" xmlns="http://www.w3.org/1999/xhtml">
64     <div><a id="start" href="a">a</a></div>
65
66     <iframe src="data:text/html,
67       <body>
68         <a id='1' href='a'>b</a><br>
69         <a id='2' href='a'>c</a><br>
70         <a id='3' href='a'>d</a><br>
71         <div style='margin-left:80px'>
72           <a id='7' href='a'>e</a>
73         </div>
74       </body>
75     "></iframe><br>
76
77     <iframe src="data:text/html,
78       <body>
79         <a id='4' href='a'>g</a>
80         <a id='5' href='a'>h</a>
81         <a id='6' href='a'>i</a>
82       </body>
83     "></iframe><br>
84
85     <a id="end" href="a">a</a>
86     <div id="console"></div>
87   </body>
88 </html>