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