1/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5include protocol PBackground;
6include protocol PChildToParentStream; // FIXME: bug 792908
7include protocol PFileDescriptorSet; // FIXME: bug 792908
8include protocol PParentToChildStream; // FIXME: bug 792908
9include protocol PRemoteLazyInputStream; // FIXME: bug 792908
10
11include DOMTypes;
12
13using struct nsID from "nsID.h";
14
15namespace mozilla {
16namespace dom {
17
18// This protocol is used for the BroadcastChannel API
19[ManualDealloc, ChildImpl=virtual, ParentImpl=virtual]
20protocol PBroadcastChannel
21{
22  manager PBackground;
23
24parent:
25  async PostMessage(MessageData message);
26  async Close();
27
28child:
29  // A message must be delivered.
30  async Notify(MessageData message);
31
32  // A message has been delivered to other channels. It can be removed after
33  // all the actorsOnSamePid have retrieved it.
34  async RefMessageDelivered(nsID messageID, uint32_t actorsOnSamePid);
35
36  async __delete__();
37};
38
39} // namespace dom
40} // namespace mozilla
41