summaryrefslogtreecommitdiffstats
path: root/layout/reftests/svg/smil/syncbase/cycle-self-ref-4.svg
blob: c53b3c5fa78df632e297c3b2805d348999bb67fc (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
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     class="reftest-wait"
     onload="byeByeB()">
  <script xlink:href="../smil-util.js" type="text/javascript"/>
  <script type="text/javascript">
  function byeByeB()
  {
    document.documentElement.pauseAnimations();
    document.documentElement.setCurrentTime(0);
    // Drop b
    var b = document.getElementById('b');
    b.parentNode.removeChild(b);
    b = null;
    // Snapshot at time t=4s. This is because there are two possible error cases
    // we want to detect:
    // i) b disappears and we just keep the existing time for a.begin+1s of t=2s
    // ii) b disappears and we update the time for a.begin+1s to t=3s
    setTimeAndSnapshot(4, false);
  }
  </script>
  <!-- We have an arrangement where a is dependent on b and itself. If b's
       interval disappears while a is still in the waiting state then the begin
       time "a.begin+1s" should disappear too since a never begun. -->
  <rect width="100" height="100" fill="green">
    <set id="a" attributeName="fill" attributeType="CSS" to="red"
      begin="b.begin; a.begin+1s"/>
    <set id="b" attributeName="y" attributeType="XML" to="0"
      begin="1s"/>
  </rect>
</svg>