Bug 1133748 - Fix ipdl code for bridged protocols that are also opened. r=billm.

--HG--
extra : rebase_source : 308d8e3ac3caea541b649329d5a35ecd31725de9
This commit is contained in:
Peter Van der Beken 2015-02-09 21:54:12 +01:00
Родитель 23a20ca941
Коммит 5914b2bdde
3 изменённых файлов: 13 добавлений и 1 удалений

Просмотреть файл

@ -4,6 +4,7 @@
import os, re, sys
from copy import deepcopy
from collections import OrderedDict
import ipdl.ast
import ipdl.builtin
@ -2780,7 +2781,7 @@ class _GenerateProtocolActorCode(ipdl.ast.Visitor):
bridgeActorsCreated = ProcessGraph.bridgeEndpointsOf(ptype, self.side)
opensActorsCreated = ProcessGraph.opensEndpointsOf(ptype, self.side)
channelOpenedActors = bridgeActorsCreated + opensActorsCreated
channelOpenedActors = OrderedDict.fromkeys(bridgeActorsCreated + opensActorsCreated, None)
friends = _FindFriends().findFriends(ptype)
if ptype.isManaged():

Просмотреть файл

@ -7,6 +7,7 @@ namespace _ipdltest {
protocol PTestBridgeMain {
child spawns PTestBridgeSub;
child opens PTestBridgeMainSub;
child:
Start();

Просмотреть файл

@ -72,6 +72,16 @@ public:
protected:
virtual bool RecvStart() MOZ_OVERRIDE;
virtual PTestBridgeMainSubChild*
AllocPTestBridgeMainSubChild(Transport* transport,
ProcessId otherProcess) MOZ_OVERRIDE
{
// This shouldn't be called. It's just a byproduct of testing that
// the right code is generated for a bridged protocol that's also
// opened, but we only test bridging here.
MOZ_CRASH();
}
virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE;
IPDLUnitTestSubprocess* mSubprocess;