continue messageport, transferable, postmessage options

This commit is contained in:
Gregory Terzian 2019-06-26 00:25:48 +08:00
parent c3b17c1201
commit 2f8932a6a1
100 changed files with 2456 additions and 1171 deletions

View file

@ -1,7 +1,4 @@
[Blob-constructor.html]
[Passing a FrozenArray as the blobParts array should work (FrozenArray<MessagePort>).]
expected: FAIL
[options properties should be accessed in lexicographic order.]
expected: FAIL

View file

@ -1,4 +0,0 @@
[unicode-origin.sub.html]
[Verify serialization of non-ascii origin in Blob URLs]
expected: FAIL

View file

@ -422337,6 +422337,49 @@
{}
]
],
"webmessaging/Channel_postMessage_transfer_xsite_incoming_messages.window.js": [
[
"webmessaging/Channel_postMessage_transfer_xsite_incoming_messages.window.html",
{
"script_metadata": [
[
"script",
"/common/get-host-info.sub.js"
]
]
}
]
],
"webmessaging/Channel_postMessage_with_transfer_entangled.any.js": [
[
"webmessaging/Channel_postMessage_with_transfer_entangled.any.html",
{}
],
[
"webmessaging/Channel_postMessage_with_transfer_entangled.any.worker.html",
{}
]
],
"webmessaging/Channel_postMessage_with_transfer_incoming_messages.any.js": [
[
"webmessaging/Channel_postMessage_with_transfer_incoming_messages.any.html",
{}
],
[
"webmessaging/Channel_postMessage_with_transfer_incoming_messages.any.worker.html",
{}
]
],
"webmessaging/Channel_postMessage_with_transfer_outgoing_messages.any.js": [
[
"webmessaging/Channel_postMessage_with_transfer_outgoing_messages.any.html",
{}
],
[
"webmessaging/Channel_postMessage_with_transfer_outgoing_messages.any.worker.html",
{}
]
],
"webmessaging/MessageEvent-trusted.html": [
[
"webmessaging/MessageEvent-trusted.html",
@ -422541,6 +422584,19 @@
{}
]
],
"webmessaging/postMessage_MessagePorts_xsite.sub.window.js": [
[
"webmessaging/postMessage_MessagePorts_xsite.sub.window.html",
{
"script_metadata": [
[
"script",
"/common/get-host-info.sub.js"
]
]
}
]
],
"webmessaging/postMessage_arrays.sub.htm": [
[
"webmessaging/postMessage_arrays.sub.htm",
@ -712918,6 +712974,22 @@
"4b00e68d49ef9fc85e92a5526ff76bd92259d4d9",
"testharness"
],
"webmessaging/Channel_postMessage_transfer_xsite_incoming_messages.window.js": [
"23237ae1555e67dafcb170ce8fccab4c966f7a2e",
"testharness"
],
"webmessaging/Channel_postMessage_with_transfer_entangled.any.js": [
"2226b278440346290066e622fe6abbaab2b93bd2",
"testharness"
],
"webmessaging/Channel_postMessage_with_transfer_incoming_messages.any.js": [
"fe2e96220d34d88127dc596eee70d183f7debd18",
"testharness"
],
"webmessaging/Channel_postMessage_with_transfer_outgoing_messages.any.js": [
"aa80b7589cffa58da6f1d790e7cdbeb95642c6e3",
"testharness"
],
"webmessaging/META.yml": [
"95d5071171b5a20cc14a414c97c9eae2f525f43f",
"support"
@ -713086,6 +713158,10 @@
"cf2b8eb4c11b0b824a47677079c2d1b8837b3802",
"testharness"
],
"webmessaging/postMessage_MessagePorts_xsite.sub.window.js": [
"ca1e510edaa09f41350426e143923bb15e6df82b",
"testharness"
],
"webmessaging/postMessage_arrays.sub.htm": [
"41e4a75eda616196ab3546943a0913785cbe69be",
"testharness"

View file

@ -5,8 +5,6 @@
[no-regexp-special-casing]
expected: FAIL
[Conversion to a sequence works]
expected: FAIL
[no-regexp-special-casing.any.html]
[Untitled]
@ -15,6 +13,3 @@
[no-regexp-special-casing]
expected: FAIL
[Conversion to a sequence works]
expected: FAIL

View file

@ -1,138 +1,17 @@
[remote-origin.htm]
bug: https://github.com/servo/servo/issues/21563
expected: TIMEOUT
[Allow origin: *]
expected: TIMEOUT
[Allow origin: _*__]
expected: TIMEOUT
[Allow origin: [tab\]*]
expected: TIMEOUT
[Allow origin: http://www1.web-platform.test:8000]
expected: TIMEOUT
[Allow origin: _http://www1.web-platform.test:8000]
expected: TIMEOUT
expected: FAIL
[Allow origin: _http://www1.web-platform.test:8000___[tab\]_]
expected: TIMEOUT
[Allow origin: [tab\]http://www1.web-platform.test:8000]
expected: TIMEOUT
[Disallow origin: http://web-platform.test:8000]
expected: TIMEOUT
[Disallow origin: //www1.web-platform.test:8000]
expected: TIMEOUT
[Disallow origin: ://www1.web-platform.test:8000]
expected: TIMEOUT
[Disallow origin: ftp://www1.web-platform.test:8000]
expected: TIMEOUT
[Disallow origin: http:://www1.web-platform.test:8000]
expected: TIMEOUT
[Disallow origin: http:/www1.web-platform.test:8000]
expected: TIMEOUT
[Disallow origin: http:www1.web-platform.test:8000]
expected: TIMEOUT
[Disallow origin: www1.web-platform.test:8000]
expected: TIMEOUT
[Disallow origin: http://www1.web-platform.test:8000?]
expected: TIMEOUT
expected: FAIL
[Disallow origin: http://www1.web-platform.test:8000/]
expected: TIMEOUT
[Disallow origin: http://www1.web-platform.test:8000_/]
expected: TIMEOUT
expected: FAIL
[Disallow origin: http://www1.web-platform.test:8000#]
expected: TIMEOUT
[Disallow origin: http://www1.web-platform.test:8000%23]
expected: TIMEOUT
[Disallow origin: http://www1.web-platform.test:8000:80]
expected: TIMEOUT
[Disallow origin: http://www1.web-platform.test:8000,_*]
expected: TIMEOUT
[Disallow origin: http://www1.web-platform.test:8000\\0]
expected: TIMEOUT
[Disallow origin: HTTP://WWW1.WEB-PLATFORM.TEST:8000]
expected: TIMEOUT
expected: FAIL
[Disallow origin: HTTP://www1.web-platform.test:8000]
expected: TIMEOUT
[Disallow origin: http://WWW1.WEB-PLATFORM.TEST:8000]
expected: TIMEOUT
[Disallow origin: -]
expected: TIMEOUT
[Disallow origin: **]
expected: TIMEOUT
[Disallow origin: \\0*]
expected: TIMEOUT
[Disallow origin: *\\0]
expected: TIMEOUT
[Disallow origin: '*']
expected: TIMEOUT
[Disallow origin: "*"]
expected: TIMEOUT
[Disallow origin: *_*]
expected: TIMEOUT
[Disallow origin: *http://*]
expected: TIMEOUT
[Disallow origin: *http://www1.web-platform.test:8000]
expected: TIMEOUT
[Disallow origin: *_http://www1.web-platform.test:8000]
expected: TIMEOUT
[Disallow origin: *,_http://www1.web-platform.test:8000]
expected: TIMEOUT
[Disallow origin: \\0http://www1.web-platform.test:8000]
expected: TIMEOUT
[Disallow origin: null_http://www1.web-platform.test:8000]
expected: TIMEOUT
[Disallow origin: http://example.net]
expected: TIMEOUT
[Disallow origin: null]
expected: TIMEOUT
[Disallow origin: ]
expected: TIMEOUT
[Disallow origin: http://web-platform.test:8000/cors/remote-origin.htm]
expected: TIMEOUT
[Disallow origin: http://web-platform.test:8000/cors/]
expected: TIMEOUT
[Disallow origin: http://www1.web-platform.test:8000/cors/]
expected: TIMEOUT
expected: FAIL

View file

@ -89,6 +89,3 @@
[DOMMatrix clone: non-initial values (3d)]
expected: FAIL
[DOMRectList clone]
expected: FAIL

View file

@ -1,6 +1,3 @@
[EventListener-incumbent-global-1.sub.html]
type: testharness
bug: https://github.com/servo/servo/issues/12715
[Check the incumbent global EventListeners are called with]
expected: FAIL

View file

@ -1,6 +0,0 @@
[EventListener-incumbent-global-2.sub.html]
type: testharness
bug: https://github.com/servo/servo/issues/12715
[Check the incumbent global EventListeners are called with]
expected: FAIL

View file

@ -1,5 +1,6 @@
[embedded-credentials.tentative.sub.html]
type: testharness
expected: TIMEOUT
[Embedded credentials are treated as network errors.]
expected: FAIL
@ -7,13 +8,13 @@
expected: FAIL
[Embedded credentials are treated as network errors in new windows.]
expected: FAIL
expected: TIMEOUT
[Embedded credentials matching the top-level are not treated as network errors for relative URLs.]
expected: FAIL
expected: TIMEOUT
[Embedded credentials matching the top-level are not treated as network errors for same-origin URLs.]
expected: FAIL
expected: TIMEOUT
[Embedded credentials matching the top-level are treated as network errors for cross-origin URLs.]
expected: FAIL

View file

@ -1,5 +0,0 @@
[origin-of-data-document.html]
type: testharness
[The origin of a 'data:' document in a frame is opaque.]
expected: FAIL

View file

@ -1,37 +1,38 @@
[document_domain_access_details.sub.html]
expected: TIMEOUT
[Access allowed if same-origin with no 'document.domain' modification. (Sanity check)]
expected: FAIL
expected: TIMEOUT
[Access is revoked to Window object when we stop being same effective script origin due to document.domain.]
expected: FAIL
expected: NOTRUN
[Access allowed if different-origin but both set document.domain to parent domain.]
expected: FAIL
expected: NOTRUN
[Access is not revoked to random object when we stop being same effective script origin due to document.domain.]
expected: FAIL
expected: NOTRUN
[Access not allowed if different-origin with no 'document.domain' modification. (Sanity check)]
expected: FAIL
expected: NOTRUN
[Access disallowed again if same-origin, both set document-domain to existing value, then one sets to parent.]
expected: FAIL
expected: NOTRUN
[Access is revoked to Location object when we stop being same effective script origin due to document.domain.]
expected: FAIL
expected: NOTRUN
[Access allowed if same-origin and both set document.domain to existing value.]
expected: FAIL
expected: NOTRUN
[Access is not revoked to Document object when we stop being same effective script origin due to document.domain.]
expected: FAIL
expected: NOTRUN
[Access disallowed if same-origin but only one sets document.domain.]
expected: FAIL
expected: NOTRUN
[Access evolves correctly for cross-origin objects when we join up via document.domain and then diverge again.]
expected: FAIL
expected: NOTRUN
[Access evolves correctly for non-cross-origin objects when we join up via document.domain and then diverge again.]
expected: FAIL
expected: NOTRUN

View file

@ -5,9 +5,6 @@
[ElementInternals interface: operation setValidity(ValidityStateFlags, DOMString, HTMLElement)]
expected: FAIL
[MessageChannel interface: existence and properties of interface object]
expected: FAIL
[ValidityState interface: document.createElement("input").validity must inherit property "patternMismatch" with the proper type]
expected: FAIL
@ -44,9 +41,6 @@
[ElementInternals interface: existence and properties of interface object]
expected: FAIL
[MessagePort interface: attribute onmessage]
expected: FAIL
[CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "imageSmoothingQuality" with the proper type]
expected: FAIL
@ -161,9 +155,6 @@
[SVGElement interface: attribute onmousemove]
expected: FAIL
[MessagePort interface object length]
expected: FAIL
[Navigator interface: window.navigator must inherit property "onLine" with the proper type]
expected: FAIL
@ -269,9 +260,6 @@
[SharedWorker interface object name]
expected: FAIL
[MessageChannel interface: attribute port1]
expected: FAIL
[SVGSVGElement interface: attribute onbeforeprint]
expected: FAIL
@ -290,9 +278,6 @@
[SVGElement interface: attribute tabIndex]
expected: FAIL
[MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "ports" with the proper type]
expected: FAIL
[Location interface: window.location must have own property "ancestorOrigins"]
expected: FAIL
@ -311,9 +296,6 @@
[ApplicationCache interface: constant UNCACHED on interface object]
expected: FAIL
[MessageEvent interface: attribute ports]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: attribute filter]
expected: FAIL
@ -377,9 +359,6 @@
[SVGSVGElement interface: attribute onoffline]
expected: FAIL
[MessagePort interface object name]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
@ -410,9 +389,6 @@
[TextTrack interface: document.createElement("track").track must inherit property "inBandMetadataTrackDispatchType" with the proper type]
expected: FAIL
[MessageChannel interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
[ValidityState interface: document.createElement("input").validity must inherit property "tooShort" with the proper type]
expected: FAIL
@ -788,9 +764,6 @@
[ElementInternals interface: existence and properties of interface prototype object]
expected: FAIL
[MessageChannel interface object length]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: operation commit()]
expected: FAIL
@ -812,9 +785,6 @@
[Navigator interface: operation registerProtocolHandler(DOMString, USVString, DOMString)]
expected: FAIL
[MessagePort interface: existence and properties of interface object]
expected: FAIL
[DataTransferItemList interface object name]
expected: FAIL
@ -833,9 +803,6 @@
[SVGSVGElement interface: attribute onunhandledrejection]
expected: FAIL
[MessageChannel interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
[SVGElement interface: attribute onloadedmetadata]
expected: FAIL
@ -920,9 +887,6 @@
[CustomElementRegistry interface: operation whenDefined(DOMString)]
expected: FAIL
[MessagePort interface: operation postMessage(any, PostMessageOptions)]
expected: FAIL
[DragEvent interface: existence and properties of interface object]
expected: FAIL
@ -1010,9 +974,6 @@
[SVGElement interface: attribute ondragexit]
expected: FAIL
[MessagePort interface: attribute onmessageerror]
expected: FAIL
[Navigator interface: window.navigator must inherit property "oscpu" with the proper type]
expected: FAIL
@ -1040,12 +1001,6 @@
[SharedWorker interface: existence and properties of interface prototype object]
expected: FAIL
[MessageChannel interface: existence and properties of interface prototype object]
expected: FAIL
[MessagePort interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: operation createPattern(CanvasImageSource, DOMString)]
expected: FAIL
@ -1205,9 +1160,6 @@
[CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "drawFocusIfNeeded(Element)" with the proper type]
expected: FAIL
[MessagePort interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: operation closePath()]
expected: FAIL
@ -1241,12 +1193,6 @@
[External interface object length]
expected: FAIL
[MessagePort interface: operation postMessage(any, [object Object\])]
expected: FAIL
[MessageChannel interface: attribute port2]
expected: FAIL
[CanvasRenderingContext2D interface: operation getTransform()]
expected: FAIL
@ -1259,9 +1205,6 @@
[DataTransfer interface: attribute effectAllowed]
expected: FAIL
[MessagePort interface: operation close()]
expected: FAIL
[OffscreenCanvas interface: operation getContext(OffscreenRenderingContextId, any)]
expected: FAIL
@ -1313,15 +1256,9 @@
[SVGAElement interface: attribute password]
expected: FAIL
[MessagePort interface: existence and properties of interface prototype object]
expected: FAIL
[SharedWorker interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
[MessageChannel interface object name]
expected: FAIL
[DataTransfer interface object name]
expected: FAIL
@ -1355,9 +1292,6 @@
[ImageBitmapRenderingContext interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
[MessagePort interface: operation start()]
expected: FAIL
[CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "isPointInStroke(unrestricted double, unrestricted double)" with the proper type]
expected: FAIL
@ -1552,9 +1486,6 @@
[Window interface: window must inherit property "queueMicrotask(VoidFunction)" with the proper type]
expected: FAIL
[Window interface: operation postMessage(any, WindowPostMessageOptions)]
expected: FAIL
[Document interface: calling execCommand(DOMString, boolean, DOMString) on new Document() with too few arguments must throw TypeError]
expected: FAIL
@ -1780,9 +1711,6 @@
[Document interface: iframe.contentDocument must inherit property "queryCommandState(DOMString)" with the proper type]
expected: FAIL
[Window interface: operation postMessage(any, USVString, [object Object\])]
expected: FAIL
[Window interface: operation queueMicrotask(VoidFunction)]
expected: FAIL

View file

@ -14,18 +14,12 @@
[DedicatedWorkerGlobalScope interface: self must inherit property "onmessageerror" with the proper type]
expected: FAIL
[MessagePort interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: attribute filter]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: operation measureText(DOMString)]
expected: FAIL
[MessagePort interface: attribute onmessage]
expected: FAIL
[ImageBitmapRenderingContext interface: existence and properties of interface object]
expected: FAIL
@ -65,15 +59,9 @@
[WorkerGlobalScope interface: self must inherit property "onlanguagechange" with the proper type]
expected: FAIL
[MessagePort interface: attribute onmessageerror]
expected: FAIL
[WorkerNavigator interface: attribute languages]
expected: FAIL
[MessagePort interface object length]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: operation strokeText(DOMString, unrestricted double, unrestricted double, unrestricted double)]
expected: FAIL
@ -89,9 +77,6 @@
[ImageBitmapRenderingContext interface: existence and properties of interface prototype object]
expected: FAIL
[MessagePort interface: existence and properties of interface prototype object]
expected: FAIL
[Path2D interface: existence and properties of interface object]
expected: FAIL
@ -104,9 +89,6 @@
[BroadcastChannel interface: operation close()]
expected: FAIL
[MessageChannel interface: existence and properties of interface object]
expected: FAIL
[DedicatedWorkerGlobalScope interface: calling requestAnimationFrame(FrameRequestCallback) on self with too few arguments must throw TypeError]
expected: FAIL
@ -116,12 +98,6 @@
[MessageEvent interface: calling initMessageEvent(DOMString, boolean, boolean, any, USVString, DOMString, MessageEventSource, [object Object\]) on new MessageEvent("message", { data: 5 }) with too few arguments must throw TypeError]
expected: FAIL
[MessageChannel interface: attribute port1]
expected: FAIL
[MessageChannel interface: attribute port2]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: attribute lineWidth]
expected: FAIL
@ -161,9 +137,6 @@
[Path2D interface: operation moveTo(unrestricted double, unrestricted double)]
expected: FAIL
[MessageChannel interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: operation bezierCurveTo(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
expected: FAIL
@ -179,9 +152,6 @@
[ImageBitmap interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
[MessagePort interface: existence and properties of interface object]
expected: FAIL
[Path2D interface object name]
expected: FAIL
@ -329,18 +299,12 @@
[OffscreenCanvasRenderingContext2D interface: attribute miterLimit]
expected: FAIL
[MessageChannel interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: operation strokeRect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: existence and properties of interface object]
expected: FAIL
[MessageChannel interface object length]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: operation commit()]
expected: FAIL
@ -350,9 +314,6 @@
[WorkerGlobalScope interface: self must inherit property "onoffline" with the proper type]
expected: FAIL
[MessageEvent interface: attribute ports]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: attribute lineDashOffset]
expected: FAIL
@ -425,12 +386,6 @@
[Path2D interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
[MessageChannel interface: existence and properties of interface prototype object]
expected: FAIL
[MessagePort interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: operation createPattern(CanvasImageSource, DOMString)]
expected: FAIL
@ -479,9 +434,6 @@
[Path2D interface: operation ellipse(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, boolean)]
expected: FAIL
[MessageEvent interface: new MessageEvent("message", { data: 5 }) must inherit property "ports" with the proper type]
expected: FAIL
[WorkerGlobalScope interface: attribute ononline]
expected: FAIL
@ -524,15 +476,9 @@
[BroadcastChannel interface: operation postMessage(any)]
expected: FAIL
[MessageChannel interface object name]
expected: FAIL
[SharedWorker interface: attribute port]
expected: FAIL
[MessagePort interface: operation postMessage(any, [object Object\])]
expected: FAIL
[WorkerNavigator interface: self.navigator must not have property "taintEnabled"]
expected: FAIL
@ -548,9 +494,6 @@
[SharedWorker interface object name]
expected: FAIL
[MessagePort interface object name]
expected: FAIL
[OffscreenCanvas interface: operation getContext(OffscreenRenderingContextId, any)]
expected: FAIL
@ -596,15 +539,6 @@
[OffscreenCanvasRenderingContext2D interface: operation clip(Path2D, CanvasFillRule)]
expected: FAIL
[MessagePort interface: operation postMessage(any, PostMessageOptions)]
expected: FAIL
[MessagePort interface: operation start()]
expected: FAIL
[MessagePort interface: operation close()]
expected: FAIL
[WebSocket interface: new WebSocket("ws://foo") must inherit property "extensions" with the proper type]
expected: FAIL

View file

@ -1,18 +1,9 @@
[no-coop-coep.https.any.worker.html]
[SharedArrayBuffer over MessageChannel without COOP+COEP]
expected: FAIL
[SharedArrayBuffer over BroadcastChannel without COOP+COEP]
expected: FAIL
[no-coop-coep.https.any.html]
[SharedArrayBuffer over MessageChannel without COOP+COEP]
expected: FAIL
[SharedArrayBuffer over postMessage() without COOP+COEP]
expected: FAIL
[SharedArrayBuffer over BroadcastChannel without COOP+COEP]
expected: FAIL

View file

@ -1,10 +0,0 @@
[no-transferring.https.html]
[Trying to transfer a SharedArrayBuffer to a worker throws]
expected: FAIL
[Trying to transfer a SharedArrayBuffer through a MessagePort throws]
expected: FAIL
[Trying to transfer a SharedArrayBuffer to this window throws]
expected: FAIL

View file

@ -1,5 +1,4 @@
[window-iframe-messagechannel-success.https.html]
expected: TIMEOUT
[postMessaging to a same-origin iframe via MessageChannel allows them to see each others' modifications]
expected: TIMEOUT
expected: FAIL

View file

@ -5,27 +5,12 @@
[transfer-errors]
expected: FAIL
[Serialize should make the ArrayBuffer detached, so it cannot be transferred again]
expected: FAIL
[Serialize should throw before a detached ArrayBuffer is found]
expected: FAIL
[Cannot transfer ArrayBuffer detached while the message was serialized]
expected: FAIL
[Cannot transfer the same MessagePort twice]
expected: FAIL
[Serialize should make the MessagePort detached, so it cannot be transferred again]
expected: FAIL
[Serialize should throw before a detached MessagePort is found]
expected: FAIL
[Cannot transfer MessagePort detached while the message was serialized]
expected: FAIL
[Cannot transfer the same ImageBitmap twice]
expected: FAIL

View file

@ -1,11 +1,5 @@
[tasks.window.html]
expected: TIMEOUT
[document.open() and tasks (MessagePort)]
expected: FAIL
[tasks without document.open() (MessagePort)]
expected: FAIL
[document.open() and tasks (canvas.toBlob())]
expected: FAIL

View file

@ -3,12 +3,6 @@
[Default event values]
expected: FAIL
[MessageEventInit dictionary]
expected: FAIL
[Passing null for ports member]
expected: FAIL
[ports attribute should be a FrozenArray]
expected: FAIL

View file

@ -1,20 +1,11 @@
[promise-rejection-events.dedicatedworker.html]
type: testharness
[unhandledrejection: from a task-delayed rejection]
expected: FAIL
[no unhandledrejection/rejectionhandled: all inside a queued task, a rejection handler attached synchronously to a promise created from returning a Promise.reject-created promise in a fulfillment handler]
expected: FAIL
[microtask nesting: attaching a handler inside a combination of mutationObserverMicrotask + promise microtasks, all inside a postMessageTask]
expected: FAIL
[microtask nesting: attaching a handler inside a combination of promise microtasks + mutationObserverMicrotask, all inside a postMessageTask]
expected: FAIL
[delayed handling: a nested-task delay before attaching a handler causes unhandledrejection]
expected: FAIL
[delayed handling: a nested-postMessageTask after promise creation/rejection, plus promise microtasks, is too late to attach a rejection handler]
expected: FAIL
@ -33,18 +24,3 @@
[no unhandledrejection/rejectionhandled: rejection handler attached synchronously to a promise created from createImageBitmap]
expected: FAIL
[microtask nesting: attaching a handler inside a combination of mutationObserverMicrotask + promise microtasks, all inside a queueTask]
expected: FAIL
[microtask nesting: attaching a handler inside a combination of promise microtasks + mutationObserverMicrotask, all inside a queueTask]
expected: FAIL
[delayed handling: a nested-queueTask after promise creation/rejection, plus promise microtasks, is too late to attach a rejection handler]
expected: FAIL
[delayed handling: a nested-queueTask before promise creation/rejection, plus many promise microtasks, is too late to attach a rejection handler]
expected: FAIL
[delayed handling: a nested-queueTask after promise creation/rejection, plus many promise microtasks, is too late to attach a rejection handler]
expected: FAIL

View file

@ -1,5 +0,0 @@
[Promise-incumbent-global.sub.html]
type: testharness
[Check the incumbent global Promise callbacks are called with]
expected: FAIL

View file

@ -1,10 +0,0 @@
[no-transferring.html]
[Trying to transfer a WebAssembly.Module to a worker throws]
expected: FAIL
[Trying to transfer a WebAssembly.Module through a MessagePort throws]
expected: FAIL
[Trying to transfer a WebAssembly.Module to this window throws]
expected: FAIL

View file

@ -0,0 +1,4 @@
[MessageEvent-trusted.html]
[With a BroadcastChannel]
expected: FAIL

View file

@ -0,0 +1,16 @@
[basics.html]
[messages are delivered in port creation order]
expected: FAIL
[closing and creating channels during message delivery works correctly]
expected: FAIL
[messages aren't delivered to a closed port]
expected: FAIL
[Closing a channel in onmessage doesn't cancel already queued events]
expected: FAIL
[postMessage results in correct event]
expected: FAIL

View file

@ -0,0 +1,7 @@
[blobs.html]
[Blobs work with workers on BroadcastChannel]
expected: FAIL
[Blobs work on BroadcastChannel]
expected: FAIL

View file

@ -0,0 +1,40 @@
[interface.html]
[Null name should not throw]
expected: FAIL
[postMessage after close should throw]
expected: FAIL
[Undefined name should not throw]
expected: FAIL
[postMessage should throw with uncloneable data]
expected: FAIL
[close should not throw when called multiple times]
expected: FAIL
[close should not throw]
expected: FAIL
[Non-empty name should not throw]
expected: FAIL
[postMessage with null should not throw]
expected: FAIL
[postMessage should throw InvalidStateError after close, even with uncloneable data]
expected: FAIL
[BroadcastChannel should have an onmessage event]
expected: FAIL
[Non-string name should not throw]
expected: FAIL
[Should throw if no name is provided]
expected: FAIL
[postMessage without parameters should throw]
expected: FAIL

View file

@ -0,0 +1,5 @@
[origin.window.html]
expected: TIMEOUT
[Serialization of BroadcastChannel origin]
expected: TIMEOUT

View file

@ -0,0 +1,4 @@
[sandbox.html]
[Creating BroadcastChannel in an opaque origin]
expected: FAIL

View file

@ -0,0 +1,17 @@
[workers.html]
expected: TIMEOUT
[BroadcastChannel used after a worker self.close()]
expected: FAIL
[BroadcastChannel works in shared workers]
expected: FAIL
[BroadcastChannel works in workers]
expected: FAIL
[BroadcastChannel created after a worker self.close()]
expected: TIMEOUT
[Closing and re-opening a channel works.]
expected: FAIL

View file

@ -0,0 +1,4 @@
[event.source.xorigin.sub.htm]
[Test Description: Cross-origin: event.source returns the WindowProxy of the source window.]
expected: FAIL

View file

@ -0,0 +1,4 @@
[user-activation.tentative.html]
[user activation messagechannel test]
expected: FAIL

View file

@ -0,0 +1,7 @@
[messageerror.html]
[The onmessageerror content attribute must execute when an event is dispatched on the window]
expected: FAIL
[The onmessageerror content attribute must be compiled into the onmessageerror property]
expected: FAIL

View file

@ -0,0 +1,4 @@
[011.html]
[posting an imagedata (from a cloned canvas) in an array]
expected: FAIL

View file

@ -0,0 +1,4 @@
[011.html]
[posting an imagedata (from a cloned canvas) in an array]
expected: FAIL

View file

@ -0,0 +1,4 @@
[026.html]
[Cloning objects with getter properties]
expected: FAIL

View file

@ -0,0 +1,4 @@
[028.html]
[Cloning objects, preserving sharing #2]
expected: FAIL

View file

@ -0,0 +1,4 @@
[worker_postMessage_user_activation.tentative.html]
[Post Message from a worker]
expected: FAIL

View file

@ -1,13 +0,0 @@
[Worker-messageport.html]
[Test sending message to a worker on a port.]
expected: FAIL
[Test sending messages to workers with no port.]
expected: FAIL
[Test getting messages from a worker on a port.]
expected: FAIL
[Test sending many messages to workers using ports.]
expected: FAIL

View file

@ -5,18 +5,6 @@
[Test postMessage on channel with previous failed postMessage calls.]
expected: FAIL
[Test postMessage with no port.]
expected: FAIL
[Test postMessage with two ports.]
expected: FAIL
[Test postMessage with no ports and empty array.]
expected: FAIL
[Test postMessage with null ports throws exception.]
expected: FAIL
[Test postMessage with incorrect ports throws exception]
expected: FAIL

View file

@ -1,4 +0,0 @@
[Worker-termination-with-port-messages.html]
[This test terminates a worker when there are many undelivered MessagePort messages still waiting to be dispatched into the Worker Context. This causes termination of JS execution and test should not try to dispatch the remaining messages. Test succeeds if it does not hang or crash (if worker thread is running in the separate process, that process could hang or crash).]
expected: FAIL

View file

@ -1,8 +1,5 @@
[expected-self-properties.worker.html]
type: testharness
[existence of MessageChannel]
expected: FAIL
[existence of SharedWorker]
expected: FAIL

View file

@ -1,5 +1,6 @@
[data-url-shared.html]
type: testharness
expected: TIMEOUT
[data URL shared worker]
expected: FAIL
@ -28,7 +29,7 @@
expected: FAIL
[A data: URL shared worker should not be shared among origins.]
expected: FAIL
expected: TIMEOUT
[indexedDB is present]
expected: FAIL

View file

@ -1,5 +0,0 @@
[event-ports-dedicated.html]
type: testharness
[e.ports in dedicated worker]
expected: FAIL

View file

@ -1,5 +0,0 @@
[second-argument-null-in-array.html]
type: testharness
[Using [null\] in postMessage's second argument]
expected: FAIL

View file

@ -6,3 +6,9 @@
[opaque-origin]
expected: FAIL
[Worker has an opaque origin.]
expected: FAIL
[Worker can access BroadcastChannel]
expected: FAIL

View file

@ -1,5 +0,0 @@
[postMessage_clone_port.htm]
type: testharness
[ postMessage(): clone a port ]
expected: FAIL

View file

@ -1,5 +0,0 @@
[postMessage_clone_port_error.htm]
type: testharness
[ postMessage(): cloning source port ]
expected: FAIL

View file

@ -1,5 +0,0 @@
[postMessage_ports_readonly_array.htm]
type: testharness
[ postMessage(): read-only ports array ]
expected: FAIL

View file

@ -1,5 +0,0 @@
[postMessage_target_source.htm]
type: testharness
[ postMessage(): target port and source port ]
expected: FAIL

View file

@ -3,12 +3,6 @@
[The SharedWorker interface object should be exposed.]
expected: FAIL
[The MessagePort interface object should be exposed.]
expected: FAIL
[The MessageChannel interface object should be exposed.]
expected: FAIL
[The ImageBitmap interface object should be exposed.]
expected: FAIL
@ -65,4 +59,3 @@
[The IDBTransaction interface object should be exposed.]
expected: FAIL

View file

@ -1,5 +1,4 @@
[005.html]
expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL

View file

@ -18966,15 +18966,15 @@
"testharness"
],
"mozilla/interfaces.html": [
"1207eaa2d8ff55e0c2216086b5a2c90a41ff78cf",
"3578a6e01cc3bb6daf8b4942d672ecb7da1ff6b5",
"testharness"
],
"mozilla/interfaces.js": [
"f1854a3ae00493554006ad2c483489f4be8450a6",
"786f6e12515ff71bc83f34e4ffa32e7e38b1cd26",
"support"
],
"mozilla/interfaces.worker.js": [
"802fe64ebfc86480f3c5adc80718f550d09d330b",
"3f77783a6cc31e7803dd61873ba17c92ce12eccc",
"testharness"
],
"mozilla/invalid-this.html": [

View file

@ -167,7 +167,9 @@ test_interfaces([
"MediaList",
"MediaQueryList",
"MediaQueryListEvent",
"MessageChannel",
"MessageEvent",
"MessagePort",
"MimeType",
"MimeTypeArray",
"MouseEvent",

View file

@ -24,6 +24,8 @@ function test_interfaces(interfaceNamesInGlobalScope) {
"JSON",
"Map",
"Math",
"MessageChannel",
"MessagePort",
"NaN",
"Number",
"Object",

View file

@ -34,7 +34,9 @@ test_interfaces([
"Headers",
"History",
"ImageData",
"MessageChannel",
"MessageEvent",
"MessagePort",
"Performance",
"PerformanceEntry",
"PerformanceMark",

View file

@ -0,0 +1,32 @@
// META: script=/common/get-host-info.sub.js
async_test(function(t) {
var channel1 = new MessageChannel();
var host = get_host_info();
let iframe = document.createElement('iframe');
iframe.src = host.HTTP_NOTSAMESITE_ORIGIN + "/webmessaging/support/ChildWindowPostMessage.htm";
document.body.appendChild(iframe);
var TARGET = document.querySelector("iframe").contentWindow;
iframe.onload = t.step_func(function() {
// Enable the port.
channel1.port1.onmessage = t.step_func(function (evt) {
assert_equals(Number(evt.data), 0);
// Send a message, expecting it to be received in the iframe.
channel1.port2.postMessage(1)
// Transfer the port.
TARGET.postMessage("ports", "*", [channel1.port1]);
});
// Send a message, expecting it to be received here.
channel1.port2.postMessage(0)
channel1.port2.onmessage = t.step_func(function (evt) {
assert_equals(Number(evt.data), 1);
t.done();
});
});
}, `Tasks enqueued on the port-message-queue of an enabled port,
are transferred along with the port, when the transfer happens in the same task
during which postMessage is called`);

View file

@ -0,0 +1,36 @@
async_test(function(t) {
var channel1 = new MessageChannel();
var channel2 = new MessageChannel();
// One, send a message.
channel1.port1.postMessage(1);
// Two, transfer both ports.
channel2.port1.postMessage("transfer", [channel1.port1]);
channel2.port1.postMessage("transfer", [channel1.port2]);
var transfer_counter = 0;
var sender;
channel2.port2.onmessage = t.step_func(function (evt) {
if (transfer_counter == 0) {
sender = evt.ports[0];
transfer_counter = 1;
} else {
sender.postMessage(2);
var counter = 0;
evt.ports[0].onmessage = t.step_func(function (evt) {
if (counter == 0) {
assert_equals(evt.data, 1);
counter = 1;
} else if (counter == 1) {
assert_equals(evt.data, 2);
counter = 2;
} else {
assert_equals(evt.data, 3);
t.done();
}
});
sender.postMessage(3);
}
});
}, "An entangled port transferred to the same origin receives messages in order");

View file

@ -0,0 +1,32 @@
async_test(function(t) {
var channel1 = new MessageChannel();
var channel2 = new MessageChannel();
var channel3 = new MessageChannel();
channel2.port2.onmessage = t.step_func(function (evt) {
channel3.port1.onmessage = t.step_func(function (evt) {
var counter = 0;
evt.ports[0].onmessage = t.step_func(function (evt) {
if (counter == 0) {
assert_equals(evt.data, "First");
counter = 1;
} else if (counter == 1) {
assert_equals(evt.data, "Second");
counter = 2;
} else if (counter == 2) {
assert_equals(evt.data, "Third");
counter = 3;
} else if (counter == 3) {
assert_equals(evt.data, "Fourth");
t.done();
}
});
channel1.port2.postMessage("Fourth");
});
channel1.port2.postMessage("Second");
channel1.port2.postMessage("Third");
channel3.port2.postMessage("2", evt.ports);
});
channel1.port2.postMessage("First");
channel2.port1.postMessage("1", [channel1.port1]);
}, `When transferring a non-enabled port mutiple times,
incoming messages sent at various transfer steps are received in order upon enablement.`);

View file

@ -0,0 +1,35 @@
async_test(function(t) {
var channel1 = new MessageChannel();
var channel2 = new MessageChannel();
var channel3 = new MessageChannel();
channel2.port2.onmessage = t.step_func(function (evt) {
evt.ports[0].postMessage("Second");
evt.ports[0].postMessage("Third");
channel3.port1.onmessage = t.step_func(function (evt) {
evt.ports[0].postMessage("Fourth");
});
channel3.port2.postMessage("2", evt.ports);
});
channel1.port1.postMessage("First");
channel2.port1.postMessage("1", [channel1.port1]);
var counter = 0;
channel1.port2.onmessage = t.step_func(function (evt) {
if (counter == 0) {
assert_equals(evt.data, "First");
counter = 1;
} else if (counter == 1) {
assert_equals(evt.data, "Second");
counter = 2;
}
else if (counter == 2) {
assert_equals(evt.data, "Third");
counter = 3;
}
else if (counter == 3) {
assert_equals(evt.data, "Fourth");
t.done();
}
});
}, `When transferring a port,
outgoing messages sent at each transfer step are received in order by the entangled port.`);

View file

@ -0,0 +1,66 @@
// META: script=/common/get-host-info.sub.js
async_test(function(t) {
var host = get_host_info();
var noteSameSiteURL = host.HTTP_NOTSAMESITE_ORIGIN + "/webmessaging/support/ChildWindowPostMessage.htm";
var TOTALPORTS = 100;
var LocalPorts = [];
var RemotePorts = [];
var PassedResult = 0;
var sum = 0;
let iframe = document.createElement('iframe');
iframe.src = noteSameSiteURL;
document.body.appendChild(iframe);
var TARGET = document.querySelector("iframe").contentWindow;
iframe.onload = t.step_func(function() {
assert_own_property(window, "MessageChannel", "window");
var channels = [];
for (var i=0; i<TOTALPORTS; i++)
{
channels[i] = new MessageChannel();
LocalPorts[i] = channels[i].port1;
LocalPorts[i].foo = i;
RemotePorts[i] = channels[i].port2;
LocalPorts[i].onmessage = t.step_func(function(e)
{
assert_equals(e.target.foo, e.data);
PassedResult++;
sum += e.data;
if (PassedResult == TOTALPORTS)
{
assert_equals(sum, 4950);
t.done();
}
});
}
// Sending in two batches, to test the two postMessage variants.
var firstBatch = RemotePorts.slice(0, 50);
var secondBatch = RemotePorts.slice(50, 100);
TARGET.postMessage("ports", "*", firstBatch);
TARGET.postMessage("ports", {targetOrigin: '*', transfer: secondBatch});
});
var counter = 0;
window.onmessage = function(e)
{
if (e.data === "ports")
{
if (counter == 0) {
for (var i=0; i<51; i++)
{
LocalPorts[i].postMessage(LocalPorts[i].foo);
}
counter = 1;
} else {
for (var i=51; i<100; i++)
{
LocalPorts[i].postMessage(LocalPorts[i].foo);
}
}
}
}
}, "Test Description: postMessage to cross-site iframe with MessagePort array containing 100 ports.");