| Index: third_party/WebKit/LayoutTests/fast/layout/scroll-anchoring/suppressions-are-per-frame.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/layout/scroll-anchoring/suppressions-are-per-frame.html b/third_party/WebKit/LayoutTests/fast/layout/scroll-anchoring/suppressions-are-per-frame.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e67bb4be407c662e8113c049a04b5c81f9744770
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/fast/layout/scroll-anchoring/suppressions-are-per-frame.html
|
| @@ -0,0 +1,33 @@
|
| +<!DOCTYPE html>
|
| +<script src="../../../resources/run-after-layout-and-paint.js"></script>
|
| +<script src="../../../resources/testharness.js"></script>
|
| +<script src="../../../resources/testharnessreport.js"></script>
|
| +<style>
|
| +body { height: 1000px }
|
| +div { height: 100px }
|
| +</style>
|
| +<div id="block1">abc</div>
|
| +<div id="block2">def</div>
|
| +<script>
|
| + // This test verifies that SANACLAP suppressions (http://bit.ly/sanaclap)
|
| + // apply to all layout passes in an animation frame, not just the one that
|
| + // sets the SANACLAP bit on the ScrollAnchor.
|
| + async_test((t) => {
|
| + scrollTo(0, 150);
|
| + runAfterLayoutAndPaint(() => {
|
| + // By itself this would trigger a scroll anchoring adjustment.
|
| + document.querySelector("#block1").style.height = "200px";
|
| +
|
| + // Force synchronous layout.
|
| + document.body.offsetHeight;
|
| +
|
| + // Trigger SANACLAP suppression.
|
| + document.body.style.paddingTop = "20px";
|
| +
|
| + runAfterLayoutAndPaint(() => {
|
| + assert_equals(scrollY, 150);
|
| + t.done();
|
| + });
|
| + });
|
| + }, 'Suppressions apply to the entire frame.');
|
| +</script>
|
|
|