layout/generic/test/test_bug784410.html

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:492b6cc631e4
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <title>Test bug 784410</title>
5 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
6 <script type="application/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
8 </head>
9 <body>
10 <p id="display"></p>
11 <div id="outer" style="overflow:auto; height:200px; border:2px dotted black;" onscroll="doneScroll()">
12 <div id="d" style="overflow:auto; height:102px;" onscroll="doneScroll()">
13 <div id="inner" style="height:100.1px; border:1px solid black; background:yellow;">Hello</div>
14 </div>
15 <div style="height:500px;"></div>
16 </div>
17 <pre id="test">
18 <script class="testbody" type="text/javascript;version=1.7">
19 var sel = window.getSelection();
20 var outer = document.getElementById("outer");
21 var d = document.getElementById("d");
22 var inner = document.getElementById("inner");
23 var smoothScrollPref = "general.smoothScroll";
24
25 function innerScrollOffset() {
26 return inner.getBoundingClientRect().top - d.getBoundingClientRect().top;
27 }
28 var innerStartScrollOffset = innerScrollOffset();
29
30 var step = 0;
31 function doneScroll() {
32 ++step;
33 switch (step) {
34 case 1:
35 is(innerScrollOffset(), innerStartScrollOffset, "Inner element should not have scrolled down");
36 ok(outer.scrollTop > 0, "Outer element should have scrolled down");
37
38 outer.scrollTop = 0;
39 break;
40 case 2:
41 synthesizeWheel(inner, 4, 4,
42 { deltaMode: WheelEvent.DOM_DELTA_LINE, deltaY: 1 });
43 break;
44 case 3:
45 is(innerScrollOffset(), innerStartScrollOffset, "Inner element should not have scrolled down");
46 ok(outer.scrollTop > 0, "Outer element should have scrolled down");
47
48 SpecialPowers.clearUserPref(smoothScrollPref);
49 SimpleTest.finish();
50 break;
51 }
52 }
53
54 function test() {
55 SpecialPowers.setBoolPref(smoothScrollPref, false);
56 sel.collapse(inner.firstChild, 2);
57 synthesizeKey("VK_PAGE_DOWN", {});
58 }
59
60 SimpleTest.waitForExplicitFinish();
61 SimpleTest.waitForFocus(test);
62
63 </script>
64 </pre>
65 </body>
66 </html>

mercurial