summaryrefslogtreecommitdiffstats
path: root/layout/reftests/svg/foreignObject-move-repaint-01.svg
diff options
context:
space:
mode:
Diffstat (limited to 'layout/reftests/svg/foreignObject-move-repaint-01.svg')
-rw-r--r--layout/reftests/svg/foreignObject-move-repaint-01.svg41
1 files changed, 41 insertions, 0 deletions
diff --git a/layout/reftests/svg/foreignObject-move-repaint-01.svg b/layout/reftests/svg/foreignObject-move-repaint-01.svg
new file mode 100644
index 000000000..43dd29628
--- /dev/null
+++ b/layout/reftests/svg/foreignObject-move-repaint-01.svg
@@ -0,0 +1,41 @@
+<!--
+ Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/
+-->
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ class="reftest-wait">
+
+ <title>Testcase for repaint of the area previously covered by a foreignObject</title>
+
+ <!-- From https://bugzilla.mozilla.org/show_bug.cgi?id=369992 -->
+
+ <script type="application/javascript">
+
+// The green rect is initially covered by the red div. After the div
+// has rendered the foreignObject (and thus div) is moved out
+// of the viewport which should then be filled by the green rect as a result.
+
+ document.addEventListener("MozReftestInvalidate", doTest, false);
+ setTimeout(doTest, 4000); // fallback for running outside reftest
+
+ function doTest() {
+ document.getElementById('fo').setAttribute('y', '100%');
+
+ document.documentElement.removeAttribute('class');
+ }
+ </script>
+
+ <rect width="100%" height="100%" fill="red"/>
+
+ <!-- Create the "pass" rect using a foreignObject so the testcase doesn't
+ seem to pass if foreignObject is not supported -->
+ <foreignObject width="100%" height="100%">
+ <html:div style="display:block;width:100%;height:100%;background:lime;"/>
+ </foreignObject>
+
+ <foreignObject id="fo" width="100%" height="100%">
+ <html:div style="display:block;width:100%;height:100%;background:red;"/>
+ </foreignObject>
+
+</svg>