summaryrefslogtreecommitdiffstats
path: root/layout/reftests/svg/smil/event/event-begin-timeevent-3.svg
blob: 35247ed46d660d6da0f93be947904f566e113bce (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
<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     class="reftest-wait"
     onload="fastForwardToEvent()">
  <script xlink:href="event-util.js" type="text/javascript"/>
  <script type="text/javascript">
    const gTimeoutDur = 60000; // Time until we give up waiting for events in ms
    var timeoutID;
    function fastForwardToEvent()
    {
      document.documentElement.pauseAnimations();
      document.documentElement.setCurrentTime(4.99);
      // This test is designed to pass quickly and fail slowly.
      // 
      // In the success case, the second animation will start almost
      // immediately, fire a beginEvent and trigger gotBegin below.
      //
      // In the failure case, the following timeout will fire (after
      // gTimeoutDur), we'll seek to t=1s (to make sure we show the red
      // square) and then finish.
      timeoutID = window.setTimeout(finish, gTimeoutDur,
                                    1 /*seekTimeInSeconds*/);
      document.documentElement.unpauseAnimations();
    }
    function gotBegin()
    {
      window.clearTimeout(timeoutID);
      finish();
    }
  </script>
  <rect width="100" height="100" fill="red">
    <set attributeName="x" to="0" begin="0s" dur="5s" repeatCount="2" id="a"/>
    <set attributeName="fill" attributeType="CSS" to="green"
      begin="a.repeatEvent" onbegin="gotBegin()"/>
  </rect>
</svg>