Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/fast/css/sticky/sticky-position-valid-after-insertion.html |
| diff --git a/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-position-valid-after-insertion.html b/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-position-valid-after-insertion.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..934ec6416f9ab5466ee347194392b2dc0835da83 |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-position-valid-after-insertion.html |
| @@ -0,0 +1,68 @@ |
| +<!DOCTYPE html> |
| +<script src="../../../resources/testharness.js"></script> |
| +<script src="../../../resources/testharnessreport.js"></script> |
| +<style> |
| +body { |
| + margin: 0; |
| +} |
| + |
| +.scroller { |
| + height: 100px; |
| + width: 200px; |
| + overflow: scroll; |
| +} |
| + |
| +.padding { |
| + width: 400px; |
| + height: 500px; |
| +} |
| + |
| +.sticky { |
| + width: 25px; |
| + height: 25px; |
| + position: sticky; |
| + top: 20px; |
| + left: 50px; |
| +} |
| +</style> |
| + |
| +<div class="scroller" id="scroller"> |
| + <div class="padding" id="padding"></div> |
| +</div> |
| + |
| +<div class="scroller" id="scroller2"> |
| + <div class="padding" id="padding2"></div> |
| +</div> |
| + |
| +<script> |
| +if (window.internals) { |
| + internals.settings.setCSSStickyPositionEnabled(true); |
| +} |
| + |
| +test(function() { |
| + var scroller = document.getElementById('scroller'); |
|
flackr
2017/04/26 15:08:00
nit: Let's call the id's scroller1 and scroller2 f
smcgruer
2017/04/26 17:45:45
Done.
|
| + scroller.scrollTop = 100; |
| + scroller.scrollLeft = 50; |
| + |
| + var sticky = document.createElement('div'); |
| + sticky.className = 'sticky'; |
| + scroller.insertBefore(sticky, document.getElementById('padding')); |
|
flackr
2017/04/26 15:08:00
Same as above for padding.
smcgruer
2017/04/26 17:45:45
Done.
|
| + |
| + assert_equals(sticky.offsetTop, scroller.scrollTop + 20); |
| + assert_equals(sticky.offsetLeft, scroller.scrollLeft + 50); |
| +}, "offsetTop/offsetLeft should be correct for sticky after insertion"); |
| + |
| +test(function() { |
| + var scroller = document.getElementById('scroller2'); |
| + scroller.scrollTop = 100; |
| + scroller.scrollLeft = 50; |
| + |
| + var sticky = document.createElement('div'); |
| + sticky.className = 'sticky'; |
| + scroller.insertBefore(sticky, document.getElementById('padding2')); |
| + |
| + assert_equals(sticky.getBoundingClientRect().top, 120); |
| + assert_equals(sticky.getBoundingClientRect().left, 50); |
|
flackr
2017/04/26 15:08:00
Just to make it really obvious where these numbers
smcgruer
2017/04/26 17:45:45
Done.
|
| +}, "getBoundingClientRect should be correct for sticky after insertion"); |
| + |
| +</script> |