function print_event(event) { var res = "boundingClientRect=" + print_rect(event.boundingClientRect); var rects = event.clientRects;
if (rects) {
for (var i = 0; i < rects.length; ++i) {
res += " clientRects[" + i + "]=" + print_rect(rects[i]);
}
}
return res;
}
function step0(event) {
// Wait until we get the MozAfterPaint following the load event
// before starting.
ok(true, "loaded");
window.addEventListener("MozAfterPaint", step1);
// Ensure a MozAfterPaint event is fired div.style.backgroundColor = "yellow";
}
var start; vardiv = document.getElementById("display");
var end = Date.now(); var timeout = 3 * Math.max(end - start, 300);
ok(true, "got MozAfterPaint (timeout for next step is " + timeout + "ms)");
// Set the pref for our second test
// When there was previously another page in our window, we seem to
// get duplicate events, simultaneously, so we need to register our
// next listener after a zero timeout.
await SpecialPowers.pushPrefEnv({'set': [['dom.send_after_paint_to_content', false]]});
// Wait for a double-rAF, to ensure we get a refresh driver tick (which, for
// this pref, is what actually makes the pref-adjustment take effect).
await new Promise(resolve => requestAnimationFrame(resolve));
await new Promise(resolve => requestAnimationFrame(resolve));
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.