addEventListener("foobar", function(evt) { postMessage( { type: evt.type, bubbles: evt.bubbles, cancelable: evt.cancelable, detail: evt.detail }); }, true); addEventListener("message", function(evt) { // Test the constructor of CustomEvent var e = new CustomEvent("foobar", {bubbles:true, cancelable: true, detail:"test"}); dispatchEvent(e); // Test initCustomEvent e = new CustomEvent("foobar"); e.initCustomEvent("foobar", true, true, "test"); dispatchEvent(e); }, true);