function testEventTarget(event) { if (event.target !== self) { thrownew Error("Event has a bad target!");
} if (event.currentTarget) { thrownew Error("Event has a bad currentTarget!");
}
postMessage(event.data);
}
addEventListener(
fakeEventType, function (event) { thrownew Error("Trusted event listener received untrusted event!");
}, false, false
);
addEventListener(
fakeEventType, function (event) { if (event.target !== self || event.currentTarget !== self) { thrownew Error("Fake event has bad target!");
} if (event.isTrusted) { thrownew Error("Event should be untrusted!");
}
event.stopImmediatePropagation();
postMessage(event.data);
}, false, true
);
addEventListener(
fakeEventType, function (event) { thrownew Error( "This shouldn't get called because of stopImmediatePropagation."
);
}, false, true
);
var count = 0;
onmessage = function (event) { if (event.target !== self || event.currentTarget !== self) { thrownew Error("Event has bad target!");
}
if (!count++) { var exception; try {
self.dispatchEvent(event);
} catch (e) {
exception = e;
}
if (!exception) { thrownew Error("Recursive dispatch didn't fail!");
}
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.