diff options
Diffstat (limited to 'testing/web-platform/tests/css/cssom-view/add-background-attachment-fixed-during-smooth-scroll.html')
-rw-r--r-- | testing/web-platform/tests/css/cssom-view/add-background-attachment-fixed-during-smooth-scroll.html | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/cssom-view/add-background-attachment-fixed-during-smooth-scroll.html b/testing/web-platform/tests/css/cssom-view/add-background-attachment-fixed-during-smooth-scroll.html new file mode 100644 index 0000000000..6600c0e055 --- /dev/null +++ b/testing/web-platform/tests/css/cssom-view/add-background-attachment-fixed-during-smooth-scroll.html @@ -0,0 +1,47 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<title>Add background-attachment:fixed during smooth scroll</title> +<link rel="help" href="https://drafts.csswg.org/cssom-view/#dictdef-scrolltooptions"> +<link rel="match" href="add-background-attachment-fixed-during-smooth-scroll-ref.html"> +<meta name="fuzzy" content="maxDifference=0-2; totalPixels=0-27000"> +<script src="/common/reftest-wait.js"></script> +<style> +#container { + width: 200px; + height: 200px; + overflow: scroll; + background: linear-gradient(green, blue); + will-change: scroll-position; +} +#content { + width: 7500px; + height: 7500px; +} +</style> +<script> +function startSmoothScroll() { + var scrollToOptions = {behavior: "smooth", top: 6000}; + container.scrollTo(scrollToOptions); + requestAnimationFrame(preventCompositedScrolling); +} + +function preventCompositedScrolling() { + container.style.backgroundAttachment = "fixed"; + requestAnimationFrame(waitForSmoothScrollEnd); +} + +function waitForSmoothScrollEnd() { + if (container.scrollTop == 6000) { + takeScreenshot(); + } else { + window.requestAnimationFrame(waitForSmoothScrollEnd); + } +} + +onload = () => { + requestAnimationFrame(startSmoothScroll); +} +</script> +<div id="container"> + <div id="content">Content</div> +</div> |