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

Side by Side Diff: third_party/WebKit/LayoutTests/external/wpt/cssom-view/scrollIntoView-smooth.html

Issue 2939393002: Change ScrollIntoViewOptions::inlinePostion to inline (Closed)
Patch Set: Add a todo Created 3 years, 6 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
1 <!DOCTYPE HTML> 1 <!DOCTYPE HTML>
2 <script src="/resources/testharness.js"></script> 2 <script src="/resources/testharness.js"></script>
3 <script src="/resources/testharnessreport.js"></script> 3 <script src="/resources/testharnessreport.js"></script>
4 <title>Check End Position of smooth scrollIntoView</title> 4 <title>Check End Position of smooth scrollIntoView</title>
5 <div id="container" style="height: 2500px; width: 2500px;"> 5 <div id="container" style="height: 2500px; width: 2500px;">
6 <div id="content" style="height: 500px; width: 500px;margin-left: 1000px; marg in-right: 1000px; margin-top: 1000px;margin-bottom: 1000px;background-color: red "> 6 <div id="content" style="height: 500px; width: 500px;margin-left: 1000px; marg in-right: 1000px; margin-top: 1000px;margin-bottom: 1000px;background-color: red ">
7 </div> 7 </div>
8 <div id="shadow"></div> 8 <div id="shadow"></div>
9 </div> 9 </div>
10 <script> 10 <script>
(...skipping 29 matching lines...) Expand all
40 40
41 // When testing manually, we need an additional frame at beginning 41 // When testing manually, we need an additional frame at beginning
42 // to trigger the effect. 42 // to trigger the effect.
43 requestAnimationFrame(() => { 43 requestAnimationFrame(() => {
44 promise_test(t => { 44 promise_test(t => {
45 window.scrollTo(0, 0); 45 window.scrollTo(0, 0);
46 var expected_x = content.offsetLeft + content_width - window_width; 46 var expected_x = content.offsetLeft + content_width - window_width;
47 var expected_y = content.offsetTop + content_height - window_height; 47 var expected_y = content.offsetTop + content_height - window_height;
48 assert_not_equals(window.scrollX, expected_x); 48 assert_not_equals(window.scrollX, expected_x);
49 assert_not_equals(window.scrollY, expected_y); 49 assert_not_equals(window.scrollY, expected_y);
50 content.scrollIntoView({behavior: "smooth", block: "nearest", inlinePosition: 50 content.scrollIntoView({behavior: "smooth", block: "nearest", inline:
51 "nearest"}); 51 "nearest"});
52 return waitForScrollEnd().then(() => { 52 return waitForScrollEnd().then(() => {
53 assert_approx_equals(window.scrollX, expected_x, 1); 53 assert_approx_equals(window.scrollX, expected_x, 1);
54 assert_approx_equals(window.scrollY, expected_y, 1); 54 assert_approx_equals(window.scrollY, expected_y, 1);
55 }); 55 });
56 }, "Smooth scrollIntoView should scroll the element to the 'nearest' position"); 56 }, "Smooth scrollIntoView should scroll the element to the 'nearest' position");
57 57
58 promise_test(t => { 58 promise_test(t => {
59 window.scrollTo(0, 0); 59 window.scrollTo(0, 0);
60 var expected_x = content.offsetLeft; 60 var expected_x = content.offsetLeft;
61 var expected_y = content.offsetTop; 61 var expected_y = content.offsetTop;
62 assert_not_equals(window.scrollX, expected_x); 62 assert_not_equals(window.scrollX, expected_x);
63 assert_not_equals(window.scrollY, expected_y); 63 assert_not_equals(window.scrollY, expected_y);
64 content.scrollIntoView({behavior: "smooth", block: "start", inlinePosition: 64 content.scrollIntoView({behavior: "smooth", block: "start", inline:
65 "start"}); 65 "start"});
66 return waitForScrollEnd().then(() => { 66 return waitForScrollEnd().then(() => {
67 assert_approx_equals(window.scrollX, expected_x, 1); 67 assert_approx_equals(window.scrollX, expected_x, 1);
68 assert_approx_equals(window.scrollY, expected_y, 1); 68 assert_approx_equals(window.scrollY, expected_y, 1);
69 }); 69 });
70 }, "Smooth scrollIntoView should scroll the element to the 'start' position"); 70 }, "Smooth scrollIntoView should scroll the element to the 'start' position");
71 71
72 promise_test(t => { 72 promise_test(t => {
73 window.scrollTo(0, 0); 73 window.scrollTo(0, 0);
74 var expected_x = content.offsetLeft + (content_width - window_width) / 2; 74 var expected_x = content.offsetLeft + (content_width - window_width) / 2;
75 var expected_y = content.offsetTop + (content_height - window_height) / 2; 75 var expected_y = content.offsetTop + (content_height - window_height) / 2;
76 assert_not_equals(window.scrollX, expected_x); 76 assert_not_equals(window.scrollX, expected_x);
77 assert_not_equals(window.scrollY, expected_y); 77 assert_not_equals(window.scrollY, expected_y);
78 content.scrollIntoView({behavior: "smooth", block: "center", inlinePosition: 78 content.scrollIntoView({behavior: "smooth", block: "center", inline:
79 "center"}); 79 "center"});
80 return waitForScrollEnd().then(() => { 80 return waitForScrollEnd().then(() => {
81 assert_approx_equals(window.scrollX, expected_x, 1); 81 assert_approx_equals(window.scrollX, expected_x, 1);
82 assert_approx_equals(window.scrollY, expected_y, 1); 82 assert_approx_equals(window.scrollY, expected_y, 1);
83 }); 83 });
84 }, "Smooth scrollIntoView should scroll the element to the 'center' position"); 84 }, "Smooth scrollIntoView should scroll the element to the 'center' position");
85 85
86 promise_test(t => { 86 promise_test(t => {
87 window.scrollTo(0, 0); 87 window.scrollTo(0, 0);
88 var expected_x = content.offsetLeft + content_width - window_width; 88 var expected_x = content.offsetLeft + content_width - window_width;
89 var expected_y = content.offsetTop + content_height - window_height; 89 var expected_y = content.offsetTop + content_height - window_height;
90 assert_not_equals(window.scrollX, expected_x); 90 assert_not_equals(window.scrollX, expected_x);
91 assert_not_equals(window.scrollY, expected_y); 91 assert_not_equals(window.scrollY, expected_y);
92 content.scrollIntoView({behavior: "smooth", block: "end", inlinePosition: 92 content.scrollIntoView({behavior: "smooth", block: "end", inline:
93 "end"}); 93 "end"});
94 return waitForScrollEnd().then(() => { 94 return waitForScrollEnd().then(() => {
95 assert_approx_equals(window.scrollX, expected_x, 1); 95 assert_approx_equals(window.scrollX, expected_x, 1);
96 assert_approx_equals(window.scrollY, expected_y, 1); 96 assert_approx_equals(window.scrollY, expected_y, 1);
97 }); 97 });
98 }, "Smooth scrollIntoView should scroll the element to the 'end' position"); 98 }, "Smooth scrollIntoView should scroll the element to the 'end' position");
99 99
100 }); 100 });
101 </script> 101 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698