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

Side by Side Diff: LayoutTests/fast/scroll-behavior/overflow-scroll-animates.html

Issue 1006423007: Fix timeouts in overflow-scroll-animates.html with threaded compositing. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 9 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
« no previous file with comments | « LayoutTests/TestExpectations ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <style> 2 <style>
3 3
4 #container { 4 #container {
5 width: 200px; 5 width: 200px;
6 height: 200px; 6 height: 200px;
7 overflow: scroll; 7 overflow: scroll;
8 } 8 }
9 9
10 #content { 10 #content {
11 width: 7500px; 11 width: 750px;
12 height: 7500px; 12 height: 750px;
13 background-color: blue; 13 background-color: blue;
14 } 14 }
15 15
16 </style> 16 </style>
17 <script src="../../resources/js-test.js"></script> 17 <script src="../../resources/js-test.js"></script>
18 <div id="container"> 18 <div id="container">
19 <div id="content"></div> 19 <div id="content"></div>
20 </div> 20 </div>
21 <div id="console"></div> 21 <div id="console"></div>
22 <script> 22 <script>
23 23
24 jsTestIsAsync = true; 24 jsTestIsAsync = true;
25 element = document.getElementById("container"); 25 element = document.getElementById("container");
26 26
27 var testConfigs = [ 27 var testConfigs = [
28 {preciseDeltas: false, expectSmooth: true}, 28 {preciseDeltas: false, expectSmooth: true},
29 {preciseDeltas: true, expectSmooth: false}, 29 {preciseDeltas: true, expectSmooth: false},
30 ]; 30 ];
31 var config; 31 var config;
32 var waitingForScroll = false; 32 var waitingForScroll = false;
33 var scrollStart, scrollDuration; 33 var scrollStart, scrollDuration;
34 34
35 function nextConfig() { 35 function nextConfig() {
36 config = testConfigs.shift(); 36 config = testConfigs.shift();
37 if (!config) 37 if (!config)
38 finishJSTest(); 38 finishJSTest();
39 39
40 element.addEventListener("scroll", onElementScroll); 40 element.addEventListener("scroll", onElementScroll);
41 41
42 eventSender.mouseMoveTo(100, 100); 42 testRunner.displayAsyncThen(function() {
43 eventSender.mouseScrollBy(0, -2, /* paged */ false, 43 eventSender.mouseMoveTo(100, 100);
44 config.preciseDeltas); 44 eventSender.mouseScrollBy(0, -2, /* paged */ false,
45 scrollStart = performance.now(); 45 config.preciseDeltas);
46 scrollStart = performance.now();
47 });
46 } 48 }
47 49
48 function reset() { 50 function reset() {
49 element.removeEventListener("scroll", onElementScroll); 51 element.removeEventListener("scroll", onElementScroll);
50 element.scrollTop = 0; 52 element.scrollTop = 0;
51 waitingForScroll = false; 53 waitingForScroll = false;
54 scrollStart = undefined;
52 } 55 }
53 56
54 function onElementScroll() { 57 function onElementScroll() {
55 if (waitingForScroll) { 58 if (waitingForScroll) {
56 if (element.scrollTop == 80) { 59 if (element.scrollTop == 80) {
57 scrollDuration = performance.now() - scrollStart; 60 scrollDuration = performance.now() - scrollStart;
58 shouldBeTrue("scrollDuration < 500"); 61 shouldBeTrue("scrollDuration < 500");
59 reset(); 62 reset();
60 nextConfig(); 63 nextConfig();
61 } 64 }
65 } else if (!scrollStart) {
66 return;
62 } else if (config.expectSmooth) { 67 } else if (config.expectSmooth) {
63 shouldNotBe("element.scrollTop", "80"); 68 shouldNotBe("element.scrollTop", "80");
64 waitingForScroll = true; 69 waitingForScroll = true;
65 } else { 70 } else {
66 shouldBe("element.scrollTop", "80"); 71 shouldBe("element.scrollTop", "80");
67 reset(); 72 reset();
68 nextConfig(); 73 nextConfig();
69 } 74 }
70 } 75 }
71 76
72 function runTest() { 77 function runTest() {
73 internals.settings.setScrollAnimatorEnabled(true); 78 internals.settings.setScrollAnimatorEnabled(true);
74 nextConfig(); 79 nextConfig();
75 } 80 }
76 81
77 description("Tests that overflow scrolls are animated, unless the wheel " + 82 description("Tests that overflow scrolls are animated, unless the wheel " +
78 "event has precise scrolling deltas."); 83 "event has precise scrolling deltas.");
79 84
80 if (window.eventSender) 85 if (window.eventSender)
81 runTest(); 86 runTest();
82 else 87 else
83 debug("FAIL: This test requires window.eventSender."); 88 debug("FAIL: This test requires window.eventSender.");
84 89
85 </script> 90 </script>
OLDNEW
« no previous file with comments | « LayoutTests/TestExpectations ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698