diff --git a/source b/source
index 9aeb9c2618f..862669b2a31 100644
--- a/source
+++ b/source
@@ -78051,9 +78051,8 @@ interface Window : Eve
callback FrameRequestCallback = void (DOMHighResTimeStamp time);
-dictionary WindowPostMessageOptions {
+dictionary WindowPostMessageOptions : PostMessageOptions {
USVString targetOrigin = "/";
- sequence<object> transfer = [];
};
- Let targetPort be the port with which this Let transfer be the value of options's If transfer contains this
The Let targetPort be the port with which this Run the message port post message steps providing targetPort,
+ message and options. The Let targetPort be the port with which this Let options be a new instance of Set options's Run the message port post message steps providing
+ targetPort, message and options. The MessagePort
is
- entangled, if any; otherwise let it be null.transfer
member.MessagePort
, then throw a "DataCloneError
"
@@ -96045,6 +96058,39 @@ interface MessagePort : EventTarget {
+ postMessage(message,
+ options)
method, when invoked on a
+ MessagePort
object must run the following steps:
+
+
+ MessagePort
is
+ entangled, if any; otherwise let it be null.
+
+ postMessage(message,
+ transfer)
method, when invoked on a MessagePort
object
+ must run the following steps:
+
+
+ MessagePort
is
+ entangled, if any; otherwise let it be null.PostMessageOptions
+ object.transfer
member to be
+ transfer.
+
start()
method, when invoked, must
enable this MessagePort
object's port message queue, if it is not
already enabled.postMessage
(message [,
+ options ])Worker
object associated with
+ dedicatedWorkerGlobal. options can initialized with a transfer
+ property with a list of objects that are to be transferred rather than cloned.close
()Worker
constructor, used primarily for debugging purposes.
The postMessage()
- method on DedicatedWorkerGlobalScope
objects must act as if, when invoked, it
- immediately invoked the method of the same name
- on the port, with the same arguments, and returned the same return value.
postMessage()
+ methods on DedicatedWorkerGlobalScope
objects act as if, when invoked, it
+ immediately invoked the respective postMessage
+ and postMessage (with options) on the port,
+ with the same arguments, and returned the same return value.
To close a worker, given a workerGlobal, run these steps:
@@ -97672,6 +97728,7 @@ interface Worker : EventTarget { void terminate(); void postMessage(any message, optional sequence<object> transfer = []); + void postMessage(any message, optional PostMessageOptions options); attribute EventHandler onmessage; attribute EventHandler onmessageerror; }; @@ -97704,6 +97761,12 @@ enum WorkerType { "classic", "module" };postMessage
(message [, options ])
+ transfer
attribute can be passed as a list of objects that are to be transferred rather than
+ cloned.All messages received by that port must immediately be retargeted at the Worker
object.
The postMessage()
method on
- Worker
objects must act as if, when invoked, it immediately invoked the method of the same name on the port, with the same
- arguments, and returned the same return value.
The postMessage()
and
+ postMessage()
methods on
+ Worker
objects act as if, when invoked, it immediately invoked the respective
+ postMessage and
+ postMessage (with options) on the port,
+ with the same arguments, and returned the same return value.