function click() {
synthesizeMouse(document.getElementById('button'), 5, 5, {});
}
function* spec() {
let urls = [SAME_ORIGIN, CROSS_ORIGIN_1, CROSS_ORIGIN_2];
for (let action of urls) {
for (let target of urls) {
yield { action: new URL(ACTION, action),
target: new URL(TARGET, target) };
}
}
}
info("Starting tests");
let form = document.getElementById('form');
// The body of the POST needs to be large to trigger this.
// 1024*1024 seems to be enough, but scaling to get a margin.
document.getElementById('input').value = generateBody(1024*1024);
for (let { target, action } of spec()) {
add_task(async function runTest() {
info(`Running test ${target} with ${action}`); form.action = action;
let frame = await withFrame(target);
await new Promise(resolve => {
addEventListener('message', async function() {
info("Form loaded"); frame.remove();
resolve();
}, { once: true });
click();
});
ok(true, `Submitted to ${origin} with target ${action}`)
});
};
</script>
</body>
</html>
¤ Dauer der Verarbeitung: 0.29 Sekunden
(vorverarbeitet)
¤
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 ist noch experimentell.