summaryrefslogtreecommitdiffstats
path: root/layout/reftests/svg/foreignObject-move-repaint-01.svg
blob: 43dd296286f0b56711bf75a4ef9628a30915e8ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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>