include protocol PTestShutdown;
include protocol PTestShutdownSubsub;

namespace mozilla {
namespace _ipdltest {

intr protocol PTestShutdownSub {
    manager PTestShutdown;
    manages PTestShutdownSubsub;

both:
    intr StackFrame();

parent:
    async PTestShutdownSubsub(bool expectParentDeleted);
    sync __delete__();

state CREATING:
    recv PTestShutdownSubsub goto CREATING;
    answer StackFrame goto DUMMYFRAME;

state DUMMYFRAME:
    call StackFrame goto DEAD;

state DEAD:
    recv __delete__;
};

} // namespace _ipdltest
} // namespace mozilla