summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/common/rendering-utils.js
blob: 46283bd5d078a14922e24160053017b6e8cb072c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
"use strict";

/**
 * Waits until we have at least one frame rendered, regardless of the engine.
 *
 * @returns {Promise}
 */
function waitForAtLeastOneFrame() {
  return new Promise(resolve => {
    // Different web engines work slightly different on this area but waiting
    // for two requestAnimationFrames() to happen, one after another, should be
    // sufficient to ensure at least one frame has been generated anywhere.
    window.requestAnimationFrame(() => {
      window.requestAnimationFrame(() => {
        resolve();
      });
    });
  });
}