summaryrefslogtreecommitdiffstats
path: root/layout/reftests/transform/partial-prerender-translate-9.html
diff options
context:
space:
mode:
Diffstat (limited to 'layout/reftests/transform/partial-prerender-translate-9.html')
-rw-r--r--layout/reftests/transform/partial-prerender-translate-9.html76
1 files changed, 76 insertions, 0 deletions
diff --git a/layout/reftests/transform/partial-prerender-translate-9.html b/layout/reftests/transform/partial-prerender-translate-9.html
new file mode 100644
index 0000000000..2c6af406cb
--- /dev/null
+++ b/layout/reftests/transform/partial-prerender-translate-9.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html reftest-async-scroll class="reftest-wait reftest-no-flush">
+<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
+<!--
+ A variant test of partial-prerender-translate-5.html but in this test the
+ position:fixed element is inside an iframe.
+ -->
+<style>
+html {
+ overflow: hidden;
+}
+body {
+ margin: 0px;
+ padding: 0px;
+}
+</style>
+<iframe style="width:800px; height:1000px; border: 0"
+ srcdoc="<!DOCTYPE HTML>
+ <html reftest-displayport-x='0' reftest-displayport-y='0'
+ reftest-displayport-w='800' reftest-displayport-h='2000'
+ reftest-async-scroll-x='0' reftest-async-scroll-y='1000'>
+ <style>
+ html {
+ overflow-x: hidden;
+ }
+ html, body {
+ margin: 0;
+ padding: 0;
+ }
+ @keyframes anim {
+ to { transform: translateY(-500px); }
+ }
+ #target {
+ width: 800px;
+ height: 1600px;
+ transform: translateY(-400px);
+ }
+ </style>
+ <div style='width: 800px; height: 2000px'><!-- spacer --></div>
+ <div style='position: fixed; top: 400px'>
+ <div id='target'>
+ <!--
+ Put an SVG element so that the transform display item has
+ a blob on WebRender which means this test properly fails
+ without the proper fix.
+ -->
+ <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 1600'>
+ <rect fill='green' y='0' width='800' height='1000'></rect>
+ <rect fill='blue' y='1000' width='800' height='125'></rect>
+ <rect fill='red' y='1125' width='800' height='875'></rect>
+ </svg>
+ </div>
+ </div>
+ <script>
+ window.addEventListener('message', () => {
+ if (event.data == 'start') {
+ target.style.animation = 'anim 100s 1s step-start';
+ target.addEventListener('animationstart', () => {
+ parent.postMessage('animationstart', '*');
+ });
+ }
+ });
+ </script></html>">
+</iframe>
+<script>
+document.addEventListener("MozReftestInvalidate", () => {
+ document.querySelector("iframe").contentWindow.postMessage("start", "*");
+}, { once: true });
+
+window.addEventListener("message", event => {
+ if (event.data == "animationstart") {
+ document.documentElement.classList.remove('reftest-wait');
+ }
+});
+</script>
+</html>