1/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2/* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 *
6 * For more information on this interface, please see
7 * https://html.spec.whatwg.org/#message-ports
8 */
9
10[Exposed=(Window,Worker,AudioWorklet)]
11interface MessagePort : EventTarget {
12  [Throws]
13  void postMessage(any message, sequence<object> transferable);
14  [Throws]
15  void postMessage(any message, optional StructuredSerializeOptions options = {});
16
17  void start();
18  void close();
19
20  // event handlers
21  attribute EventHandler onmessage;
22  attribute EventHandler onmessageerror;
23};
24
25dictionary StructuredSerializeOptions {
26  sequence<object> transfer = [];
27};
28