15 <div id=console></div>
18 <div class=spacer></div>
20 <div class=spacer></div>
23 <script src="../../resources/js-test.js"></script>
26 description("Verifies that scrolling APIs support fractional offsets.");
27 // Note we current support fractional scrolling only for the special case of
28 // browser zoom. When http://crbug.com/414283 is fixed, we should test
29 // other cases like device scale.
31 // FIXME: Make this smaller. crbug.com/414283.
32 var floatPrecision = 0.01;
34 function testScroll(scrollOffset) {
36 debug('Scrolling DIV with scrollTop/scrollLeft');
37 scroller.scrollTop = scrollOffset;
38 shouldBeCloseTo('scroller.scrollTop', scrollOffset, floatPrecision);
39 scroller.scrollLeft = scrollOffset;
40 shouldBeCloseTo('scroller.scrollLeft', scrollOffset, floatPrecision);
42 // Note that the body element is a special case - we don't attempt to
43 // test it here as it's semantics are in flux (http://goo.gl/BFHtMR).
45 debug('Scrolling the document with window.scroll');
48 window.scroll(scrollOffset, scrollOffset);
49 shouldBeCloseTo('window.scrollY', scrollOffset, floatPrecision);
50 shouldBeCloseTo('window.scrollX', scrollOffset, floatPrecision);
52 debug('Scrolling the document with window.scrollTo');
54 window.scrollTo(scrollOffset, scrollOffset);
55 shouldBeCloseTo('window.pageYOffset', scrollOffset, floatPrecision);
56 shouldBeCloseTo('window.pageXOffset', scrollOffset, floatPrecision);
58 debug('Scrolling the document with window.scrollBy');
60 window.scrollBy(scrollOffset - 1, scrollOffset - 1);
61 shouldBeCloseTo('window.scrollY', scrollOffset, floatPrecision);
62 shouldBeCloseTo('window.scrollX', scrollOffset, floatPrecision);
67 function testPageZoom(zoom) {
68 debug('---- Testing page zoom = ' + zoom + ' ----');
69 eventSender.setPageZoomFactor(zoom);