webmessaging

edit

WPT coverage of the tests of webmessaging at the revision 5602b0f210e3. The tests link to their results in the browsers on wpt.fyi. The tentative tests (experimental features) and the reftests are listed separately from the stable tests.

GroupPassingTestsDisabledPass rate
Stable1311310100%
Tentative0700%
Reftests000–
All131138095%

Failure reasons

The tests that do not pass (failing or disabled), by kind of reason. A test with several reasons counts once per kind.

  • NOT IMPLEMENTED: 4
  • REQUIRES: 1
    • workers: 1
  • TEST RUNNER: 2

Stable tests

TestResultSubtestsKindDescription
Channel_postMessage_Blob.any.jsPass2 / 2
Channel_postMessage_DataCloneErr.any.jsPass2 / 2
Channel_postMessage_clone_port.any.jsPass4 / 4
Channel_postMessage_clone_port_error.any.jsPass2 / 2
Channel_postMessage_event_properties.any.jsPass2 / 2
Channel_postMessage_ports_readonly_array.any.jsPass2 / 2
Channel_postMessage_target_source.any.jsPass2 / 2
Channel_postMessage_transfer_xsite_incoming_messages.window.jsPass1 / 1
Channel_postMessage_with_transfer_entangled.any.jsPass2 / 2
Channel_postMessage_with_transfer_incoming_messages.any.jsPass2 / 2
Channel_postMessage_with_transfer_outgoing_messages.any.jsPass2 / 2
MessageEvent-trusted.any.jsPass4 / 4
MessageEvent-trusted.window.jsPass1 / 1
MessageEvent.any.jsPass18 / 18
MessageEvent_onmessage_postMessage_infinite_loop.htmlPass1 / 1
MessageEvent_properties.htmPass1 / 1
MessagePort_initial_disabled.any.jsPass2 / 2
MessagePort_onmessage_start.any.jsPass2 / 2
Transferred_objects_unusable.sub.htmPass2 / 2
broadcastchannel/basics.any.jsPass14 / 14
broadcastchannel/blobs.htmlPass2 / 2
broadcastchannel/cross-origin.htmlPass1 / 1
broadcastchannel/detached-iframe.htmlPass6 / 6
broadcastchannel/interface.any.jsPass26 / 26
broadcastchannel/opaque-origin.htmlPass4 / 4
broadcastchannel/ordering.htmlPass1 / 1
broadcastchannel/origin.window.jsPass1 / 1
broadcastchannel/sandbox.htmlPass1 / 1
broadcastchannel/service-worker.https.htmlPass1 / 1
broadcastchannel/workers.htmlPass10 / 10
event.data.sub.htmPass1 / 1
event.origin.sub.htmPass1 / 1
event.ports.sub.htmPass2 / 2
event.source.htmPass1 / 1
event.source.xorigin.sub.htmPass1 / 1
global-postMessage.htmlPass1 / 1
message-channels/basics.any.jsPass2 / 2
message-channels/close.any.jsPass12 / 12
message-channels/cross-document.htmlPass1 / 1
message-channels/detached-iframe.window.jsPass2 / 2
message-channels/dictionary-transferrable.any.jsPass2 / 2
message-channels/historical.any.jsPass9 / 9
message-channels/implied-start.any.jsPass2 / 2
message-channels/no-start.any.jsPass2 / 2
message-channels/worker-post-after-close.any.jsPass2 / 2
message-channels/worker.any.jsPass2 / 2
messageerror.htmlPass3 / 3
multi-globals/broadcastchannel-current.sub.htmlPass1 / 1
multi-globals/broadcastchannel-incumbent.sub.htmlPass1 / 1
multi-globals/messageport-current.htmlPass1 / 1
multi-globals/messageport-incumbent.htmlPass1 / 1
postMessage-to-target-not-fully-active-on-reload.htmlPass1 / 1
postMessage_ArrayBuffer.sub.htmPass2 / 2
postMessage_CryptoKey_insecure.sub.htmlPass1 / 1
postMessage_Date.sub.htmPass1 / 1
postMessage_Document.htmPass1 / 1
postMessage_Function.htmPass1 / 1
postMessage_MessagePorts_sorigin.htmPass2 / 2
postMessage_MessagePorts_xorigin.sub.htmPass2 / 2
postMessage_MessagePorts_xsite.sub.window.jsPass1 / 1
postMessage_arrays.sub.htmPass1 / 1
postMessage_asterisk_xorigin.sub.htmPass1 / 1
postMessage_cross_domain_image_transfer_2d.sub.htmPass3 / 3
postMessage_crosssite.sub.htmPass1 / 1
postMessage_dup_transfer_objects.htmPass1 / 1
postMessage_invalid_targetOrigin.htmPass1 / 1
postMessage_objects.sub.htmPass1 / 1
postMessage_origin_mismatch.sub.htmPass1 / 1
postMessage_origin_mismatch_xorigin.sub.htmPass1 / 1
postMessage_solidus_sorigin.htmPass1 / 1
postMessage_solidus_xorigin.sub.htmPass1 / 1
with-options/broken-origin.htmlPass1 / 1
with-options/host-specific-origin.htmlPass1 / 1
with-options/message-channel-transferable.htmlPass1 / 1
with-options/no-target-origin.htmlPass1 / 1
with-options/null-transfer.htmlPass1 / 1
with-options/one-arg.htmlPass1 / 1
with-options/slash-origin.htmlPass1 / 1
with-options/undefined-transferable.htmlPass1 / 1
with-options/unknown-parameter.htmlPass1 / 1
with-ports/001.htmlPass1 / 1
with-ports/002.htmlPass1 / 1
with-ports/003.htmlPass1 / 1
with-ports/004.htmlPass1 / 1
with-ports/005.htmlPass1 / 1
with-ports/006.htmlPass1 / 1
with-ports/007.htmlPass1 / 1
with-ports/010.htmlPass15 / 15
with-ports/011.htmlPass1 / 1
with-ports/012.htmlPass1 / 1
with-ports/013.htmlPass1 / 1
with-ports/014.htmlPass1 / 1
with-ports/015.htmlPass1 / 1
with-ports/016.htmlPass1 / 1
with-ports/017.htmlPass1 / 1
with-ports/018.htmlPass1 / 1
with-ports/019.htmlPass1 / 1
with-ports/020.htmlPass1 / 1
with-ports/021.htmlPass1 / 1
with-ports/023.htmlPass1 / 1
with-ports/024.htmlPass1 / 1
with-ports/025.htmlPass1 / 1
with-ports/026.htmlPass1 / 1
with-ports/027.htmlPass2 / 2
without-ports/001.htmlPass1 / 1
without-ports/002.htmlPass1 / 1
without-ports/003.htmlPass1 / 1
without-ports/004.htmlPass1 / 1
without-ports/005.htmlPass1 / 1
without-ports/006.htmlPass1 / 1
without-ports/007.htmlPass1 / 1
without-ports/009.htmlPass1 / 1
without-ports/010.htmlPass15 / 15
without-ports/011.htmlPass1 / 1
without-ports/012.htmlPass1 / 1
without-ports/013.htmlPass1 / 1
without-ports/014.htmlPass1 / 1
without-ports/015.htmlPass1 / 1
without-ports/016.htmlPass1 / 1
without-ports/017.htmlPass1 / 1
without-ports/018.htmlPass1 / 1
without-ports/019.htmlPass1 / 1
without-ports/020.htmlPass1 / 1
without-ports/021.htmlPass1 / 1
without-ports/023.htmlPass1 / 1
without-ports/024.htmlPass1 / 1
without-ports/025.htmlPass3 / 3
without-ports/026.htmlPass1 / 1
without-ports/027.htmlPass1 / 1
without-ports/028.htmlPass1 / 1
without-ports/029.htmlPass1 / 1

Tentative tests

TestResultSubtestsKindDescription
broadcastchannel/cross-partition.https.tentative.htmlFail0 / 5NOT IMPLEMENTEDpartitioning BroadcastChannel by storage key (a cross-site iframe receives the messages)
message-channels/close-event/document-destroyed.tentative.window.jsError0 / 3TEST RUNNERthe window.postMessage() stand-in does not transfer, so event.ports is empty (the helper then calls an undefined reject)
message-channels/close-event/entangled-after-back-forward-cache-restore.https.tentative.window.jsFail0 / 1REQUIRES(workers)service workers (navigator.serviceWorker is undefined)
message-channels/close-event/explicitly-closed.tentative.window.jsError2 / 4TEST RUNNERthe window.postMessage() stand-in does not transfer, so event.ports is empty (the helper then calls an undefined reject)
message-channels/close-event/garbage-collected.tentative.any.jsTimeout0 / 2NOT IMPLEMENTEDfiring close at a port whose entangled port is garbage collected (and no garbageCollect() hook)
message-channels/user-activation.tentative.any.jsFail0 / 2NOT IMPLEMENTEDMessageEvent.userActivation (includeUserActivation)
worker_postMessage_user_activation.tentative.htmlFail0 / 1NOT IMPLEMENTEDMessageEvent.userActivation (includeUserActivation)