|
1 <?xml version="1.0"?> |
|
2 <?xml-stylesheet href="chrome://global/skin" type="text/css"?> |
|
3 <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?> |
|
4 <!-- |
|
5 https://bugzilla.mozilla.org/show_bug.cgi?id=632379 |
|
6 --> |
|
7 <window title="Mozilla Bug 632379" |
|
8 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> |
|
9 |
|
10 <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/> |
|
11 <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script> |
|
12 |
|
13 <toolbox flex="1"> |
|
14 <menubar> |
|
15 <menu label="MENU" accesskey="m" id="mainMenu"> |
|
16 <menupopup maxheight="100" onpopupshown="openSubmenu()"> |
|
17 <menu label="menu1" accesskey="1" id="menu1"> |
|
18 <menupopup onpopupshown="snapshot(this)"> |
|
19 <menuitem label="item"/> |
|
20 <menuitem label="item"/> |
|
21 <menuitem label="item"/> |
|
22 <menuitem label="item"/> |
|
23 <menuitem label="item"/> |
|
24 <menuitem label="item"/> |
|
25 <menuitem label="item"/> |
|
26 <menuitem label="item"/> |
|
27 <menuitem label="item"/> |
|
28 <menuitem label="item"/> |
|
29 <menuitem label="item"/> |
|
30 </menupopup> |
|
31 </menu> |
|
32 <menu label="menu2" accesskey="2" id="menu2"> |
|
33 <menupopup onpopupshown="snapshot(this)"> |
|
34 <menuitem label="item"/> |
|
35 <menuitem label="item"/> |
|
36 <menuitem label="item"/> |
|
37 <menuitem label="item"/> |
|
38 <menuitem label="item"/> |
|
39 <menuitem label="item"/> |
|
40 <menuitem label="item"/> |
|
41 <menuitem label="item"/> |
|
42 <menuitem label="item"/> |
|
43 <menuitem label="item"/> |
|
44 <menuitem label="item"/> |
|
45 </menupopup> |
|
46 </menu> |
|
47 <menu label="menu3" accesskey="3" id="menu3"> |
|
48 <menupopup onpopupshown="snapshot(this)"> |
|
49 <menuitem label="item"/> |
|
50 <menuitem label="item"/> |
|
51 <menuitem label="item"/> |
|
52 <menuitem label="item"/> |
|
53 <menuitem label="item"/> |
|
54 <menuitem label="item"/> |
|
55 <menuitem label="item"/> |
|
56 <menuitem label="item"/> |
|
57 <menuitem label="item"/> |
|
58 <menuitem label="item"/> |
|
59 <menuitem label="item"/> |
|
60 </menupopup> |
|
61 </menu> |
|
62 <menu label="menu4" accesskey="4" id="menu4"> |
|
63 <menupopup onpopupshown="snapshot(this)"> |
|
64 <menuitem label="item"/> |
|
65 <menuitem label="item"/> |
|
66 <menuitem label="item"/> |
|
67 <menuitem label="item"/> |
|
68 <menuitem label="item"/> |
|
69 <menuitem label="item"/> |
|
70 <menuitem label="item"/> |
|
71 <menuitem label="item"/> |
|
72 <menuitem label="item"/> |
|
73 <menuitem label="item"/> |
|
74 <menuitem label="item"/> |
|
75 </menupopup> |
|
76 </menu> |
|
77 <menu label="menu5" accesskey="5" id="menu5"> |
|
78 <menupopup onpopupshown="snapshot(this)"> |
|
79 <menuitem label="item"/> |
|
80 <menuitem label="item"/> |
|
81 <menuitem label="item"/> |
|
82 <menuitem label="item"/> |
|
83 <menuitem label="item"/> |
|
84 <menuitem label="item"/> |
|
85 <menuitem label="item"/> |
|
86 <menuitem label="item"/> |
|
87 <menuitem label="item"/> |
|
88 <menuitem label="item"/> |
|
89 <menuitem label="item"/> |
|
90 </menupopup> |
|
91 </menu> |
|
92 <menu label="menu6" accesskey="6" id="menu6"> |
|
93 <menupopup onpopupshown="snapshot(this)"> |
|
94 <menuitem label="item"/> |
|
95 <menuitem label="item"/> |
|
96 <menuitem label="item"/> |
|
97 <menuitem label="item"/> |
|
98 <menuitem label="item"/> |
|
99 <menuitem label="item"/> |
|
100 <menuitem label="item"/> |
|
101 <menuitem label="item"/> |
|
102 <menuitem label="item"/> |
|
103 <menuitem label="item"/> |
|
104 <menuitem label="item"/> |
|
105 </menupopup> |
|
106 </menu> |
|
107 <menu label="menu7" accesskey="7" id="menu7"> |
|
108 <menupopup onpopupshown="snapshot(this)"> |
|
109 <menuitem label="item"/> |
|
110 <menuitem label="item"/> |
|
111 <menuitem label="item"/> |
|
112 <menuitem label="item"/> |
|
113 <menuitem label="item"/> |
|
114 <menuitem label="item"/> |
|
115 <menuitem label="item"/> |
|
116 <menuitem label="item"/> |
|
117 <menuitem label="item"/> |
|
118 <menuitem label="item"/> |
|
119 <menuitem label="item"/> |
|
120 </menupopup> |
|
121 </menu> |
|
122 <menu label="menu8" accesskey="8" id="menu8"> |
|
123 <menupopup onpopupshown="snapshot(this)"> |
|
124 <menuitem label="item"/> |
|
125 <menuitem label="item"/> |
|
126 <menuitem label="item"/> |
|
127 <menuitem label="item"/> |
|
128 <menuitem label="item"/> |
|
129 <menuitem label="item"/> |
|
130 <menuitem label="item"/> |
|
131 <menuitem label="item"/> |
|
132 <menuitem label="item"/> |
|
133 <menuitem label="item"/> |
|
134 <menuitem label="item"/> |
|
135 </menupopup> |
|
136 </menu> |
|
137 <menu label="menu9" accesskey="9" id="menu9"> |
|
138 <menupopup onpopupshown="snapshot(this)"> |
|
139 <menuitem label="item"/> |
|
140 <menuitem label="item"/> |
|
141 <menuitem label="item"/> |
|
142 <menuitem label="item"/> |
|
143 <menuitem label="item"/> |
|
144 <menuitem label="item"/> |
|
145 <menuitem label="item"/> |
|
146 <menuitem label="item"/> |
|
147 <menuitem label="item"/> |
|
148 <menuitem label="item"/> |
|
149 <menuitem label="item"/> |
|
150 </menupopup> |
|
151 </menu> |
|
152 </menupopup> |
|
153 </menu> |
|
154 </menubar> |
|
155 </toolbox> |
|
156 |
|
157 <body xmlns="http://www.w3.org/1999/xhtml"> |
|
158 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=632379">Mozilla Bug 632379</a> |
|
159 |
|
160 <p id="display"></p> |
|
161 <div id="content" style="display: none"> |
|
162 </div> |
|
163 </body> |
|
164 |
|
165 |
|
166 <script class="testbody" type="application/javascript"><![CDATA[ |
|
167 |
|
168 /** Test for Bug 632379 **/ |
|
169 // Tests whether scrolling a menu affects the position at which popups appear |
|
170 var pos = new Array(2); |
|
171 var count=0; |
|
172 |
|
173 function snapshot(elem) |
|
174 { |
|
175 pos[count] = elem.getBoundingClientRect().top; |
|
176 ++count; |
|
177 if (count <= 1) { |
|
178 // close the submenu and open the bottom submenu |
|
179 synthesizeKey("VK_LEFT", {}); |
|
180 synthesizeKey("9", {}); |
|
181 } else { |
|
182 if (navigator.platform.indexOf("Mac") == -1) { |
|
183 is(pos[1], pos[0], "Popup should open in the same place when the menu is scrolled"); |
|
184 } else { |
|
185 todo(false, "This test fails on Mac since it was ported to chrome: Bug 668716."); |
|
186 } |
|
187 SimpleTest.finish(); |
|
188 } |
|
189 } |
|
190 |
|
191 function doTest() { |
|
192 // open the top-level menu |
|
193 $("mainMenu").open = true; |
|
194 } |
|
195 |
|
196 function openSubmenu() |
|
197 { |
|
198 // open a submenu in the middle |
|
199 synthesizeKey("5", {}); |
|
200 } |
|
201 |
|
202 SimpleTest.waitForExplicitFinish(); |
|
203 SimpleTest.waitForFocus(doTest); |
|
204 |
|
205 ]]></script> |
|
206 </window> |
|
207 |