|
1 #ifndef mozilla__ipdltest_TestBadActor_h |
|
2 #define mozilla__ipdltest_TestBadActor_h |
|
3 |
|
4 #include "mozilla/_ipdltest/IPDLUnitTests.h" |
|
5 |
|
6 #include "mozilla/_ipdltest/PTestBadActorParent.h" |
|
7 #include "mozilla/_ipdltest/PTestBadActorChild.h" |
|
8 |
|
9 #include "mozilla/_ipdltest/PTestBadActorSubParent.h" |
|
10 #include "mozilla/_ipdltest/PTestBadActorSubChild.h" |
|
11 |
|
12 namespace mozilla { |
|
13 namespace _ipdltest { |
|
14 |
|
15 class TestBadActorParent |
|
16 : public PTestBadActorParent |
|
17 { |
|
18 public: |
|
19 TestBadActorParent() { } |
|
20 virtual ~TestBadActorParent() { } |
|
21 |
|
22 static bool RunTestInProcesses() { return true; } |
|
23 static bool RunTestInThreads() { return false; } |
|
24 |
|
25 void Main(); |
|
26 |
|
27 protected: |
|
28 virtual void ActorDestroy(ActorDestroyReason why) MOZ_OVERRIDE |
|
29 { |
|
30 if (AbnormalShutdown != why) |
|
31 fail("unexpected destruction"); |
|
32 passed("ok"); |
|
33 QuitParent(); |
|
34 } |
|
35 |
|
36 virtual PTestBadActorSubParent* |
|
37 AllocPTestBadActorSubParent(); |
|
38 |
|
39 virtual bool |
|
40 DeallocPTestBadActorSubParent(PTestBadActorSubParent* actor) { |
|
41 delete actor; |
|
42 return true; |
|
43 } |
|
44 }; |
|
45 |
|
46 class TestBadActorSubParent |
|
47 : public PTestBadActorSubParent |
|
48 { |
|
49 public: |
|
50 TestBadActorSubParent() { } |
|
51 virtual ~TestBadActorSubParent() { } |
|
52 |
|
53 protected: |
|
54 virtual bool RecvPing(); |
|
55 }; |
|
56 |
|
57 class TestBadActorChild |
|
58 : public PTestBadActorChild |
|
59 { |
|
60 public: |
|
61 TestBadActorChild() { } |
|
62 virtual ~TestBadActorChild() { } |
|
63 |
|
64 protected: |
|
65 virtual PTestBadActorSubChild* |
|
66 AllocPTestBadActorSubChild(); |
|
67 |
|
68 virtual bool |
|
69 DeallocPTestBadActorSubChild(PTestBadActorSubChild* actor) |
|
70 { |
|
71 delete actor; |
|
72 return true; |
|
73 } |
|
74 |
|
75 virtual bool |
|
76 RecvPTestBadActorSubConstructor(PTestBadActorSubChild* actor); |
|
77 }; |
|
78 |
|
79 class TestBadActorSubChild |
|
80 : public PTestBadActorSubChild |
|
81 { |
|
82 public: |
|
83 TestBadActorSubChild() { } |
|
84 virtual ~TestBadActorSubChild() { } |
|
85 }; |
|
86 |
|
87 } // namespace _ipdltest |
|
88 } // namespace mozilla |
|
89 |
|
90 #endif // mozilla__ipdltest_TestBadActor_h |