"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(); | |
}); | |
}); | |
}); | |
} |