• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1"use strict";
2
3/**
4 * Waits until we have at least one frame rendered, regardless of the engine.
5 *
6 * @returns {Promise}
7 */
8function waitForAtLeastOneFrame() {
9  return new Promise(resolve => {
10    // Different web engines work slightly different on this area but waiting
11    // for two requestAnimationFrames() to happen, one after another, should be
12    // sufficient to ensure at least one frame has been generated anywhere.
13    window.requestAnimationFrame(() => {
14      window.requestAnimationFrame(() => {
15        resolve();
16      });
17    });
18  });
19}
20