This is a testharness.js-based test. FAIL Default event values Cannot read property 'length' of null PASS MessageEventInit dictionary FAIL Passing null for ports member assert_throws: function "function () { new MessageEvent("test", { ports: null }) }" did not throw FAIL ports attribute should be a FrozenArray assert_true: Object.isFrozen() should return true expected true got false PASS initMessageEvent operation FAIL Passing null for ports parameter to initMessageEvent assert_throws: function "function () { ev.initMessageEvent("test", true, false, "testData", "testOrigin", "testId", window, null) }" did not throw FAIL All parameters to initMessageEvent should be mandatory assert_equals: MessageEvent.prototype.initMessageEvent.length should be 8 expected 8 but got 0 FAIL Passing ServiceWorker for source member promise_test: Unhandled rejection with value: object "TypeError: assert_unreached: unregister should not fail: Failed to construct 'MessageEvent': get a ServiceWorkerRegistration: The optional 'source' property URL protocol of the current origin ('file://') is neither a Window nor MessagePort." not supported. Reached unreachable code Harness: the test ran to completion.