Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Side by Side Diff: LayoutTests/fast/scroll-behavior/sub-frame-scroll.html

Issue 214953004: Enable Scroll Animation for RenderLayerScrollableArea (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Add test expectation for Mac failure Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <style>
5 #scroll {
6 width: 100px;
7 height: 100px;
8 overflow:scroll;
9 }
10
11 #content {
12 width: 10000px;
13 height: 10000px;
14 background-color: blue;
15 }
16 </style>
17 <script src="../../resources/testharness.js"></script>
18 <script src="../../resources/testharnessreport.js"></script>
19 <script>
20 if (window.internals) {
21 window.internals.settings.setScrollAnimatorEnabled(true);
22 }
23
24 setup({explicit_done:true});
25 </script>
26 </head>
27 <body>
28 <div id="scroll">
29 <div id="content"></div>
30 </div>
31 <script>
32 /**
33 * This test is to make sure smooth scrolling is turned on sub frame
34 * scrollbars.
35 * Actually animation and calculation is tested by unittest. This only
36 * test that non main frame scrollbars can scroll and they are not just
37 * snapping to the correct position when smooth scrolling is on.
38 */
39
40 function testing() {
41 var div = document.getElementById("scroll");
42 // Generate what end position should be if there is no smooth scrolling.
43 var endPosition = (function() {
44 if (window.internals) {
45 window.internals.settings.setScrollAnimatorEnabled(false);
46 }
47 div.scrollByPages(10);
48
49 if (window.internals) {
50 window.internals.settings.setScrollAnimatorEnabled(true);
51 }
52 return div.scrollTop;
53 }) ();
54
55 // Test that div is scrollable and reset scrollTop to 0.
56 test(function() {div.scrollTop = 0; assert_equals(div.scrollTop, 0)}, "R eset scrollable area to starting point.");
57
58 var smoothScrollTest = async_test("Smooth scrolling is on for non mainfr ame scrollbars.");
59 // Test that checks scrollTop is between start and end.
60 var testFunc = smoothScrollTest.step_func(function() {
61 var cur = div.scrollTop;
62 assert_greater_than(cur, 0, "Scrolling has started.");
63 assert_less_than(cur, endPosition, "Scrolling hasn't ended.");
64 smoothScrollTest.done();
65 done();
66 });
67 // In the middle of scroll animation, scrollTop should be between start and end position.
68 div.onscroll = window.setTimeout(testFunc, 200);
69
70 div.scrollByPages(10);
71
72 // If there is no smooth scrolling, test times out. Explicitly ends test so it would show up as fail.
73 window.setTimeout(function() {
74 smoothScrollTest.done();
75 done();
76 }, 1000);
77 }
78
79 window.addEventListener('load', testing, false);
80 </script>
81 </body>
82 </html>
OLDNEW
« no previous file with comments | « LayoutTests/TestExpectations ('k') | LayoutTests/fast/scroll-behavior/sub-frame-scroll-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698