mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-30 19:17:31 +09:00
Issue #2197 - Part 2a: Implement StructuredSerializeOptions for MessagePort
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1502802
This commit is contained in:
parent
47147d58b0
commit
fd982fd298
3 changed files with 22 additions and 1 deletions
|
|
@ -495,6 +495,14 @@ MessagePort::PostMessage(JSContext* aCx,
|
||||||
mActor->SendPostMessages(messages);
|
mActor->SendPostMessages(messages);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MessagePort::PostMessage(JSContext* aCx, JS::Handle<JS::Value> aMessage,
|
||||||
|
const StructuredSerializeOptions& aOptions,
|
||||||
|
ErrorResult& aRv)
|
||||||
|
{
|
||||||
|
PostMessage(aCx, aMessage, aOptions.mTransfer, aRv);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
MessagePort::Start()
|
MessagePort::Start()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ class MessagePortIdentifier;
|
||||||
class MessagePortMessage;
|
class MessagePortMessage;
|
||||||
class PostMessageRunnable;
|
class PostMessageRunnable;
|
||||||
class SharedMessagePortMessage;
|
class SharedMessagePortMessage;
|
||||||
|
struct StructuredSerializeOptions;
|
||||||
|
|
||||||
namespace workers {
|
namespace workers {
|
||||||
class WorkerHolder;
|
class WorkerHolder;
|
||||||
|
|
@ -65,6 +66,11 @@ public:
|
||||||
const Sequence<JSObject*>& aTransferable,
|
const Sequence<JSObject*>& aTransferable,
|
||||||
ErrorResult& aRv);
|
ErrorResult& aRv);
|
||||||
|
|
||||||
|
void
|
||||||
|
PostMessage(JSContext* aCx, JS::Handle<JS::Value> aMessage,
|
||||||
|
const StructuredSerializeOptions& aOptions,
|
||||||
|
ErrorResult& aRv);
|
||||||
|
|
||||||
void Start();
|
void Start();
|
||||||
|
|
||||||
void Close();
|
void Close();
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,9 @@
|
||||||
[Exposed=(Window,Worker,System)]
|
[Exposed=(Window,Worker,System)]
|
||||||
interface MessagePort : EventTarget {
|
interface MessagePort : EventTarget {
|
||||||
[Throws]
|
[Throws]
|
||||||
void postMessage(any message, optional sequence<object> transferable = []);
|
void postMessage(any message, sequence<object> transferable);
|
||||||
|
[Throws]
|
||||||
|
void postMessage(any message, optional StructuredSerializeOptions options);
|
||||||
|
|
||||||
void start();
|
void start();
|
||||||
void close();
|
void close();
|
||||||
|
|
@ -19,3 +21,8 @@ interface MessagePort : EventTarget {
|
||||||
attribute EventHandler onmessage;
|
attribute EventHandler onmessage;
|
||||||
};
|
};
|
||||||
// MessagePort implements Transferable;
|
// MessagePort implements Transferable;
|
||||||
|
|
||||||
|
// Used to declare which objects should be transferred.
|
||||||
|
dictionary StructuredSerializeOptions {
|
||||||
|
sequence<object> transfer = [];
|
||||||
|
};
|
||||||
Loading…
Add table
Add a link
Reference in a new issue