no bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
[gecko.git] / dom / messagechannel / PMessagePort.ipdl
blob599e442df3a604e39af25a9df6e6eb1cd27b6eea
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/. */
5 include protocol PBackground;
7 include DOMTypes;
8 include ProtocolTypes;
10 namespace mozilla {
11 namespace dom {
13 // This protocol is used for the MessageChannel/MessagePort API
14 [ManualDealloc]
15 protocol PMessagePort
17   manager PBackground;
19   /* Many of these methods are used just for the shutdown sequence. The
20      correct sequence for the child actor is:
21      1. SendStopSendingData();
22      2. RecvStopSendingDataConfirmed();
23      3. SendClose();
24      4. Recv__delete__(); */
26   /* When the port is transferred the sequence is:
27      1. SendStopSendingData();
28      2. RecvStopSendingDataConfirmed();
29      3. SendDisentangle();
30      4. Recv__delete__(); */
32 parent:
33   async PostMessages(MessageData[] messages);
34   async Disentangle(MessageData[] messages);
35   async StopSendingData();
36   async Close();
38 child:
39   async Entangled(MessageData[] messages);
40   async ReceiveData(MessageData[] messages);
41   async StopSendingDataConfirmed();
43   async __delete__();
46 } // namespace dom
47 } // namespace mozilla