|
1 <!DOCTYPE html> |
|
2 <html> |
|
3 <head> |
|
4 <title>Test scrollToPoint when page is zoomed</title> |
|
5 <link rel="stylesheet" type="text/css" |
|
6 href="chrome://mochikit/content/tests/SimpleTest/test.css" /> |
|
7 |
|
8 <script type="application/javascript" |
|
9 src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> |
|
10 <script type="application/javascript" |
|
11 src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script> |
|
12 |
|
13 <script type="application/javascript" |
|
14 src="../common.js"></script> |
|
15 <script type="application/javascript" |
|
16 src="../role.js"></script> |
|
17 <script type="application/javascript" |
|
18 src="../layout.js"></script> |
|
19 |
|
20 <script type="application/javascript"> |
|
21 function testScrollToPoint() |
|
22 { |
|
23 // scrollToPoint relative screen |
|
24 var anchor = getAccessible("bottom1"); |
|
25 var [x, y] = getPos(anchor); |
|
26 var [docX, docY] = getPos(document); |
|
27 |
|
28 anchor.scrollToPoint(COORDTYPE_SCREEN_RELATIVE, docX, docY); |
|
29 testPos(anchor, [x, docY]); |
|
30 |
|
31 // scrollToPoint relative window |
|
32 anchor = getAccessible("bottom2"); |
|
33 var [x, y] = getPos(anchor); |
|
34 var wnd = getRootAccessible().DOMDocument.defaultView; |
|
35 var scrollToX = docX - wnd.screenX, scrollToY = docY - wnd.screenY; |
|
36 |
|
37 anchor.scrollToPoint(COORDTYPE_WINDOW_RELATIVE, scrollToX, scrollToY); |
|
38 testPos(anchor, [x, docY]); |
|
39 |
|
40 // scrollToPoint relative parent |
|
41 anchor = getAccessible("bottom3"); |
|
42 var [x, y] = getPos(anchor); |
|
43 var [parentX, parentY] = getPos(anchor.parent); |
|
44 var scrollToX = parentX - docX, scrollToY = parentY - docY; |
|
45 |
|
46 anchor.scrollToPoint(COORDTYPE_PARENT_RELATIVE, scrollToX, scrollToY); |
|
47 testPos(anchor, [x, docY]); |
|
48 } |
|
49 |
|
50 function doTest() |
|
51 { |
|
52 testScrollToPoint(); |
|
53 zoomDocument(document, 2.0); |
|
54 testScrollToPoint(); // zoom and test again |
|
55 |
|
56 zoomDocument(document, 1.0); |
|
57 SimpleTest.finish(); |
|
58 } |
|
59 |
|
60 addA11yLoadEvent(doTest); |
|
61 SimpleTest.waitForExplicitFinish(); |
|
62 </script> |
|
63 |
|
64 </head> |
|
65 <body> |
|
66 |
|
67 <a target="_blank" |
|
68 href="https://bugzilla.mozilla.org/show_bug.cgi?id=727942" |
|
69 title="scrollToPoint is broken when page is zoomed"> |
|
70 Mozilla Bug 727942 |
|
71 </a> |
|
72 <p id="display"></p> |
|
73 <div id="content" style="display: none"></div> |
|
74 <pre id="test"> |
|
75 </pre> |
|
76 |
|
77 <h1>Below there is a bunch of named anchors</h1> |
|
78 <br><br><br><br><br><br><br><br><br><br> |
|
79 <br><br><br><br><br><br><br><br><br><br> |
|
80 <br><br><br><br><br><br><br><br><br><br> |
|
81 <br><br><br><br><br><br><br><br><br><br> |
|
82 <br><br><br><br><br><br><br><br><br><br> |
|
83 <br><br><br><br><br><br><br><br><br><br> |
|
84 <br><br><br><br><br><br><br><br><br><br> |
|
85 <br><br><br><br><br><br><br><br><br><br> |
|
86 <br><br><br><br><br><br><br><br><br><br> |
|
87 <br><br><br><br><br><br><br><br><br><br> |
|
88 <br><br><br><br><br><br><br><br><br><br> |
|
89 <br><br><br><br><br><br><br><br><br><br> |
|
90 <br><br><br><br><br><br><br><br><br><br> |
|
91 <br><br><br><br><br><br><br><br><br><br> |
|
92 <br><br><br><br><br><br><br><br><br><br> |
|
93 <br><br><br><br><br><br><br><br><br><br> |
|
94 <br><br><br><br><br><br><br><br><br><br> |
|
95 <br><br><br><br><br><br><br><br><br><br> |
|
96 <br><br><br><br><br><br><br><br><br><br> |
|
97 <br><br><br><br><br><br><br><br><br><br> |
|
98 <br><br><br><br><br><br><br><br><br><br> |
|
99 <br><br><br><br><br><br><br><br><br><br> |
|
100 <br><br><br><br><br><br><br><br><br><br> |
|
101 <br><br><br><br><br><br><br><br><br><br> |
|
102 <br><br><br><br><br><br><br><br><br><br> |
|
103 <br><br><br><br><br><br><br><br><br><br> |
|
104 <br><br><br><br><br><br><br><br><br><br> |
|
105 <br><br><br><br><br><br><br><br><br><br> |
|
106 <br><br><br><br><br><br><br><br><br><br> |
|
107 <br><br><br><br><br><br><br><br><br><br> |
|
108 <br><br><br><br><br><br><br><br><br><br> |
|
109 <br><br><br><br><br><br><br><br><br><br> |
|
110 <br><br><br><br><br><br><br><br><br><br> |
|
111 <br><br><br><br><br><br><br><br><br><br> |
|
112 This is in the middle anchor #1<a id="bottom1"></a> |
|
113 <br><br><br><br><br><br><br><br><br><br> |
|
114 This is in the middle anchor #2<a id="bottom2"></a> |
|
115 <br><br><br><br><br><br><br><br><br><br> |
|
116 This is in the middle anchor #3<a id="bottom3"></a> |
|
117 <br><br><br><br><br><br><br><br><br><br> |
|
118 <br><br><br><br><br><br><br><br><br><br> |
|
119 <br><br><br><br><br><br><br><br><br><br> |
|
120 <br><br><br><br><br><br><br><br><br><br> |
|
121 <br><br><br><br><br><br><br><br><br><br> |
|
122 <br><br><br><br><br><br><br><br><br><br> |
|
123 <br><br><br><br><br><br><br><br><br><br> |
|
124 <br><br><br><br><br><br><br><br><br><br> |
|
125 <br><br><br><br><br><br><br><br><br><br> |
|
126 <br><br><br><br><br><br><br><br><br><br> |
|
127 <br><br><br><br><br><br><br><br><br><br> |
|
128 <br><br><br><br><br><br><br><br><br><br> |
|
129 <br><br><br><br><br><br><br><br><br><br> |
|
130 <br><br><br><br><br><br><br><br><br><br> |
|
131 <br><br><br><br><br><br><br><br><br><br> |
|
132 <br><br><br><br><br><br><br><br><br><br> |
|
133 <br><br><br><br><br><br><br><br><br><br> |
|
134 <br><br><br><br><br><br><br><br><br><br> |
|
135 <br><br><br><br><br><br><br><br><br><br> |
|
136 <br><br><br><br><br><br><br><br><br><br> |
|
137 <br><br><br><br><br><br><br><br><br><br> |
|
138 <br><br><br><br><br><br><br><br><br><br> |
|
139 <br><br><br><br><br><br><br><br><br><br> |
|
140 <br><br><br><br><br><br><br><br><br><br> |
|
141 <br><br><br><br><br><br><br><br><br><br> |
|
142 <br><br><br><br><br><br><br><br><br><br> |
|
143 <br><br><br><br><br><br><br><br><br><br> |
|
144 <br><br><br><br><br><br><br><br><br><br> |
|
145 <br><br><br><br><br><br><br><br><br><br> |
|
146 </body> |
|
147 </html> |