|
1 <?xml version="1.0"?> |
|
2 <?xml-stylesheet href="chrome://global/skin" type="text/css"?> |
|
3 |
|
4 <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" |
|
5 type="text/css"?> |
|
6 |
|
7 <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> |
|
8 |
|
9 <script type="application/javascript" |
|
10 src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" /> |
|
11 <script type="application/javascript" |
|
12 src="chrome://mochikit/content/chrome-harness.js"/> |
|
13 |
|
14 <script type="application/javascript" |
|
15 src="../common.js" /> |
|
16 <script type="application/javascript" |
|
17 src="../role.js" /> |
|
18 <script type="application/javascript" |
|
19 src="../states.js" /> |
|
20 <script type="application/javascript" |
|
21 src="../events.js" /> |
|
22 <script type="application/javascript" |
|
23 src="../browser.js"></script> |
|
24 |
|
25 <script type="application/javascript"> |
|
26 <![CDATA[ |
|
27 |
|
28 //////////////////////////////////////////////////////////////////////////// |
|
29 // Tests |
|
30 |
|
31 function getAnchorJumpInTabDocument(aTabIdx) |
|
32 { |
|
33 var tabDoc = aTabIdx ? tabDocumentAt(aTabIdx) : currentTabDocument(); |
|
34 return tabDoc.querySelector("a[name='link1']"); |
|
35 } |
|
36 |
|
37 function loadTab(aURL) |
|
38 { |
|
39 this.eventSeq = [ |
|
40 new asyncInvokerChecker(EVENT_DOCUMENT_LOAD_COMPLETE, currentTabDocument), |
|
41 new asyncInvokerChecker(EVENT_SCROLLING_START, getAnchorJumpInTabDocument) |
|
42 ]; |
|
43 |
|
44 this.invoke = function loadTab_invoke() |
|
45 { |
|
46 tabBrowser().loadURI(aURL); |
|
47 } |
|
48 |
|
49 this.getID = function loadTab_getID() |
|
50 { |
|
51 return "load tab: " + aURL; |
|
52 } |
|
53 } |
|
54 |
|
55 function loadTabInBackground(aURL) |
|
56 { |
|
57 this.eventSeq = [ |
|
58 new invokerChecker(EVENT_DOCUMENT_LOAD_COMPLETE, tabDocumentAt, 1) |
|
59 ]; |
|
60 |
|
61 this.unexpectedEventSeq = [ |
|
62 new invokerChecker(EVENT_SCROLLING_START, getAnchorJumpInTabDocument, 1) |
|
63 ]; |
|
64 |
|
65 this.invoke = function loadTabInBackground_invoke() |
|
66 { |
|
67 tabBrowser().loadOneTab(aURL, null, "", null, true); |
|
68 } |
|
69 |
|
70 this.getID = function loadTabInBackground_getID() |
|
71 { |
|
72 return "load tab in background: " + aURL; |
|
73 } |
|
74 } |
|
75 |
|
76 function switchToBackgroundTab() |
|
77 { |
|
78 this.eventSeq = [ |
|
79 new invokerChecker(EVENT_SCROLLING_START, getAnchorJumpInTabDocument) |
|
80 ]; |
|
81 |
|
82 this.invoke = function switchToBackgroundTab_invoke() |
|
83 { |
|
84 tabBrowser().selectTabAtIndex(1); |
|
85 } |
|
86 |
|
87 this.getID = function switchToBackgroundTab_getID() |
|
88 { |
|
89 return "switch to background tab"; |
|
90 } |
|
91 } |
|
92 |
|
93 //gA11yEventDumpToConsole = true; // debug stuff |
|
94 |
|
95 var gQueue = null; |
|
96 function doTest() |
|
97 { |
|
98 gQueue = new eventQueue(); |
|
99 |
|
100 var url = "http://mochi.test:8888/a11y/accessible/tests/mochitest/events/scroll.html#link1"; |
|
101 gQueue.push(new loadTab(url)); |
|
102 gQueue.push(new loadTabInBackground(url)); |
|
103 gQueue.push(new switchToBackgroundTab()); |
|
104 gQueue.onFinish = function() { closeBrowserWindow(); } |
|
105 |
|
106 gQueue.invoke(); // Will call SimpleTest.finish(); |
|
107 } |
|
108 |
|
109 SimpleTest.waitForExplicitFinish(); |
|
110 openBrowserWindow(doTest); |
|
111 ]]> |
|
112 </script> |
|
113 |
|
114 <vbox flex="1" style="overflow: auto;"> |
|
115 <body xmlns="http://www.w3.org/1999/xhtml"> |
|
116 <a target="_blank" |
|
117 href="https://bugzilla.mozilla.org/show_bug.cgi?id=691734" |
|
118 title="Make sure scrolling start event is fired when document receive focus"> |
|
119 Mozilla Bug 691734 |
|
120 </a> |
|
121 |
|
122 <p id="display"></p> |
|
123 <div id="content" style="display: none"> |
|
124 </div> |
|
125 <pre id="test"> |
|
126 </pre> |
|
127 </body> |
|
128 |
|
129 <vbox id="eventdump"></vbox> |
|
130 </vbox> |
|
131 </window> |