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