async function test() {
while (window.scrollY == 0) {
// the scrollframe is not yet marked as APZ-scrollable. Mark it so
// before continuing.
window.scrollTo(0, 1);
await promiseApzFlushedRepaints();
}
// This is a scroll by 20px that should use paint-skipping if possible.
// If paint-skipping is enabled, this should not trigger a paint, but go
// directly to the compositor using an empty transaction. We check for this
// by ensuring the document element did not get painted. var utils = window.opener.SpecialPowers.getDOMWindowUtils(window); var elem = document.documentElement; var skipping = location.search == "?true";
utils.checkAndClearPaintedState(elem);
window.scrollTo(0, 20);
await promiseAllPaintsDone();
if (skipping) {
is(utils.checkAndClearPaintedState(elem), false, "Document element didn't get painted");
}
// After that's done, we click on the button to make sure the
// skipped-paint codepath still has working APZ event transformations.
let clickPromise = new Promise(resolve => {
document.addEventListener("click", resolve);
});
await synthesizeNativeTap(document.getElementById("b"), 5, 5, function() {
dump("Finished synthesizing tap, waiting for button to be clicked...\n");
});
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.