diff --git a/ipc/ipdl/test/cxx/PTestIndirectProtocolParam.ipdlh b/ipc/ipdl/test/cxx/PTestIndirectProtocolParam.ipdlh new file mode 100644 index 00000000000..a81fcdee462 --- /dev/null +++ b/ipc/ipdl/test/cxx/PTestIndirectProtocolParam.ipdlh @@ -0,0 +1,15 @@ +include protocol PTestIndirectProtocolParamSecond; + +namespace mozilla { +namespace _ipdltest { + +struct IndirectParamStruct { + PTestIndirectProtocolParamSecond actor; +}; + +union IndirectParamUnion { + IndirectParamStruct; +}; + +} +} diff --git a/ipc/ipdl/test/cxx/PTestIndirectProtocolParamFirst.ipdl b/ipc/ipdl/test/cxx/PTestIndirectProtocolParamFirst.ipdl new file mode 100644 index 00000000000..4d451e64721 --- /dev/null +++ b/ipc/ipdl/test/cxx/PTestIndirectProtocolParamFirst.ipdl @@ -0,0 +1,19 @@ +include protocol PTestIndirectProtocolParamManage; +// FIXME/bug 792908 protocol PTestIndirectProtocolParamSecond is +// already included in PTestIndirectProtocolParam.ipdlh +include protocol PTestIndirectProtocolParamSecond; +include PTestIndirectProtocolParam; + +namespace mozilla { +namespace _ipdltest { + +sync protocol PTestIndirectProtocolParamFirst { + manager PTestIndirectProtocolParamManage; +parent: + sync Test(IndirectParamUnion actor); +both: + __delete__(); +}; + +} +} diff --git a/ipc/ipdl/test/cxx/PTestIndirectProtocolParamManage.ipdl b/ipc/ipdl/test/cxx/PTestIndirectProtocolParamManage.ipdl new file mode 100644 index 00000000000..a95dc84184f --- /dev/null +++ b/ipc/ipdl/test/cxx/PTestIndirectProtocolParamManage.ipdl @@ -0,0 +1,17 @@ +include protocol PTestIndirectProtocolParamFirst; +include protocol PTestIndirectProtocolParamSecond; + +namespace mozilla { +namespace _ipdltest { + +sync protocol PTestIndirectProtocolParamManage { + manages PTestIndirectProtocolParamFirst; + manages PTestIndirectProtocolParamSecond; +both: + PTestIndirectProtocolParamFirst(); + PTestIndirectProtocolParamSecond(); + __delete__(); +}; + +} +} diff --git a/ipc/ipdl/test/cxx/PTestIndirectProtocolParamSecond.ipdl b/ipc/ipdl/test/cxx/PTestIndirectProtocolParamSecond.ipdl new file mode 100644 index 00000000000..a288b5be8a7 --- /dev/null +++ b/ipc/ipdl/test/cxx/PTestIndirectProtocolParamSecond.ipdl @@ -0,0 +1,13 @@ +include protocol PTestIndirectProtocolParamManage; + +namespace mozilla { +namespace _ipdltest { + +sync protocol PTestIndirectProtocolParamSecond { + manager PTestIndirectProtocolParamManage; +both: + __delete__(); +}; + +} +} diff --git a/ipc/ipdl/test/cxx/ipdl.mk b/ipc/ipdl/test/cxx/ipdl.mk index 90d8955c00e..d1b6d840b92 100644 --- a/ipc/ipdl/test/cxx/ipdl.mk +++ b/ipc/ipdl/test/cxx/ipdl.mk @@ -50,4 +50,8 @@ IPDLSRCS = \ PTestSysVShmem.ipdl \ PTestBadActor.ipdl \ PTestBadActorSub.ipdl \ + PTestIndirectProtocolParam.ipdlh \ + PTestIndirectProtocolParamManage.ipdl \ + PTestIndirectProtocolParamFirst.ipdl \ + PTestIndirectProtocolParamSecond.ipdl \ $(NULL)