summaryrefslogtreecommitdiffstats
path: root/layout/reftests/svg/smil/smil-util.js
blob: 18573c4b64977fa9c508cffd46a89878af32be58 (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
// Seeks to the given time and then removes the SVG document's class to trigger
// a reftest snapshot. If pauseFlag is true, animations will be paused.
function setTimeAndSnapshot(timeInSeconds, pauseFlag) {
  var svg = document.documentElement;
  if (pauseFlag) {
    svg.pauseAnimations();
  }
  svg.setCurrentTime(timeInSeconds);
  svg.removeAttribute("class");
}

// Seeks to the given time and then removes the SVG document's class to trigger
// a reftest snapshot after waiting at least minWaitTimeInSeconds.
function setTimeAndWaitToSnapshot(seekTimeInSeconds, minWaitTimeInSeconds) {
  var svg = document.documentElement;
  svg.setCurrentTime(seekTimeInSeconds);
  var timeToTakeSnapshot =
    window.performance.now() + minWaitTimeInSeconds * 1000;
  requestAnimationFrame(function takeSnapshot(currentTime) {
    if (currentTime > timeToTakeSnapshot) {
      svg.removeAttribute("class");
    } else {
      requestAnimationFrame(takeSnapshot);
    }
  });
}