<!DOCTYPE HTML >
<html >
<head >
<meta charset="utf-8" >
<meta name="viewport" content="width=device-width,initial-scale=1" >
<title >Test to ensure touch events for OOP iframes</title >
<script src="/tests/SimpleTest/SimpleTest.js" ></script >
<script src="/tests/SimpleTest/paint_listener.js" ></script >
<script src="helper_fission_utils.js" ></script >
<script src="apz_test_utils.js" ></script >
<script src="apz_test_native_event_utils.js" ></script >
<script >
function waitForTouchEvent(aType) {
return promiseOneEvent(window, "message" , function (e) {
return e.data === aType;
});
}
async function test() {
const iframe = document.querySelector("iframe" );
await setupCrossOriginIFrame(iframe , "helper_fission_plain.html" );
let readyPromise = new Promise(resolve => {
window.addEventListener("message" , event => {
if (event.data === "listenerready" ) {
resolve();
}
});
});
let result = await SpecialPowers.spawn(iframe , [], async () => {
let listener = function (e) {
content.window.parent.postMessage(e.type, "*" );
}
content.document.addEventListener("touchstart" , listener, { once: true });
content.document.addEventListener("touchmove" , listener, { once: true });
content.document.addEventListener("touchend" , listener, { once: true });
content.window.parent.postMessage("listenerready" , "*" );
return true;
});
ok(result, "Successfully installed event listeners in OOP iframe" );
await readyPromise;
let touchPromises = Promise.all(
[waitForTouchEvent("touchstart" ),
waitForTouchEvent("touchmove" ),
waitForTouchEvent("touchend" )]
);
await synthesizeNativeTouchSequences(document.body ,
[[{ x: 100, y: 100 }], [{ x: 150, y: 150 }], [{ x: 150, y: 150 }]], function () {
dump("Finished synthesizing touch tap, waiting for OOPIF message...\n" );
});
await touchPromises;
}
waitUntilApzStable()
.then(test)
.then(subtestDone, subtestFailed);
</script >
<style >
body ,
html {
margin: 0;
}
div {
width: 500px;
}
iframe {
width: 400px;
height: 300px;
border: solid 1px black;
}
</style >
</head >
<body >
<div ><iframe id="testframe" ></iframe ></div >
</body >
</html >
Messung V0.5 C=96 H=91 G=93
¤ Dauer der Verarbeitung: 0.26 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland