Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/ipc/ipdl/PProcessHangMonitor.cpp
Line
Count
Source (jump to first uncovered line)
1
//
2
// Automatically generated by ipdlc.
3
// Edit at your own risk
4
//
5
6
7
#include "mozilla/PProcessHangMonitor.h"
8
9
namespace mozilla {
10
namespace PProcessHangMonitor {
11
12
nsresult
13
CreateEndpoints(
14
        base::ProcessId aParentDestPid,
15
        base::ProcessId aChildDestPid,
16
        mozilla::ipc::Endpoint<mozilla::PProcessHangMonitorParent>* aParent,
17
        mozilla::ipc::Endpoint<mozilla::PProcessHangMonitorChild>* aChild)
18
0
{
19
0
    return mozilla::ipc::CreateEndpoints(mozilla::ipc::PrivateIPDLInterface(), aParentDestPid, aChildDestPid, aParent, aChild);
20
0
}
21
IPC::Message*
22
Msg_HangEvidence(int32_t routingId)
23
0
{
24
0
    return IPC::Message::IPDLMessage(routingId, Msg_HangEvidence__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
25
0
}
26
IPC::Message*
27
Msg_ClearHang(int32_t routingId)
28
0
{
29
0
    return IPC::Message::IPDLMessage(routingId, Msg_ClearHang__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
30
0
}
31
IPC::Message*
32
Msg_TerminateScript(int32_t routingId)
33
0
{
34
0
    return IPC::Message::IPDLMessage(routingId, Msg_TerminateScript__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
35
0
}
36
IPC::Message*
37
Msg_BeginStartingDebugger(int32_t routingId)
38
0
{
39
0
    return IPC::Message::IPDLMessage(routingId, Msg_BeginStartingDebugger__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
40
0
}
41
IPC::Message*
42
Msg_EndStartingDebugger(int32_t routingId)
43
0
{
44
0
    return IPC::Message::IPDLMessage(routingId, Msg_EndStartingDebugger__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
45
0
}
46
IPC::Message*
47
Msg_PaintWhileInterruptingJS(int32_t routingId)
48
0
{
49
0
    return IPC::Message::IPDLMessage(routingId, Msg_PaintWhileInterruptingJS__ID, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_INTERRUPT, IPC::Message::NOT_REPLY));
50
0
}
51
52
} // namespace PProcessHangMonitor
53
} // namespace mozilla
54
55
//-----------------------------------------------------------------------------
56
// Method definitions for the IPDL type |struct SlowScriptData|
57
//
58
namespace mozilla {
59
auto SlowScriptData::operator==(const SlowScriptData& _o) const -> bool
60
0
{
61
0
    if ((!((tabId()) == ((_o).tabId())))) {
62
0
        return false;
63
0
    }
64
0
    if ((!((filename()) == ((_o).filename())))) {
65
0
        return false;
66
0
    }
67
0
    if ((!((addonId()) == ((_o).addonId())))) {
68
0
        return false;
69
0
    }
70
0
    return true;
71
0
}
72
73
auto SlowScriptData::operator!=(const SlowScriptData& _o) const -> bool
74
0
{
75
0
    return (!(operator==(_o)));
76
0
}
77
78
} // namespace mozilla
79
80
namespace mozilla {
81
namespace ipc {
82
auto IPDLParamTraits<mozilla::SlowScriptData>::Write(
83
        IPC::Message* aMsg,
84
        mozilla::ipc::IProtocol* aActor,
85
        const paramType& aVar) -> void
86
0
{
87
0
    WriteIPDLParam(aMsg, aActor, (aVar).tabId());
88
0
    // Sentinel = 'tabId'
89
0
    (aMsg)->WriteSentinel(3419081923);
90
0
    WriteIPDLParam(aMsg, aActor, (aVar).filename());
91
0
    // Sentinel = 'filename'
92
0
    (aMsg)->WriteSentinel(1198638255);
93
0
    WriteIPDLParam(aMsg, aActor, (aVar).addonId());
94
0
    // Sentinel = 'addonId'
95
0
    (aMsg)->WriteSentinel(4000132214);
96
0
}
97
98
auto IPDLParamTraits<mozilla::SlowScriptData>::Read(
99
        const IPC::Message* aMsg,
100
        PickleIterator* aIter,
101
        mozilla::ipc::IProtocol* aActor,
102
        paramType* aVar) -> bool
103
0
{
104
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->tabId())))))) {
105
0
        (aActor)->FatalError("Error deserializing 'tabId' (TabId) member of 'SlowScriptData'");
106
0
        return false;
107
0
    }
108
0
    // Sentinel = 'tabId'
109
0
    if ((!((aMsg)->ReadSentinel(aIter, 3419081923)))) {
110
0
        mozilla::ipc::SentinelReadError("Error deserializing 'tabId' (TabId) member of 'SlowScriptData'");
111
0
        return false;
112
0
    }
113
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->filename())))))) {
114
0
        (aActor)->FatalError("Error deserializing 'filename' (nsCString) member of 'SlowScriptData'");
115
0
        return false;
116
0
    }
117
0
    // Sentinel = 'filename'
118
0
    if ((!((aMsg)->ReadSentinel(aIter, 1198638255)))) {
119
0
        mozilla::ipc::SentinelReadError("Error deserializing 'filename' (nsCString) member of 'SlowScriptData'");
120
0
        return false;
121
0
    }
122
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->addonId())))))) {
123
0
        (aActor)->FatalError("Error deserializing 'addonId' (nsString) member of 'SlowScriptData'");
124
0
        return false;
125
0
    }
126
0
    // Sentinel = 'addonId'
127
0
    if ((!((aMsg)->ReadSentinel(aIter, 4000132214)))) {
128
0
        mozilla::ipc::SentinelReadError("Error deserializing 'addonId' (nsString) member of 'SlowScriptData'");
129
0
        return false;
130
0
    }
131
0
    return true;
132
0
}
133
134
} // namespace ipc
135
} // namespace mozilla
136
137
//-----------------------------------------------------------------------------
138
// Method definitions for the IPDL type |struct PluginHangData|
139
//
140
namespace mozilla {
141
auto PluginHangData::operator==(const PluginHangData& _o) const -> bool
142
0
{
143
0
    if ((!((pluginId()) == ((_o).pluginId())))) {
144
0
        return false;
145
0
    }
146
0
    if ((!((contentProcessId()) == ((_o).contentProcessId())))) {
147
0
        return false;
148
0
    }
149
0
    return true;
150
0
}
151
152
auto PluginHangData::operator!=(const PluginHangData& _o) const -> bool
153
0
{
154
0
    return (!(operator==(_o)));
155
0
}
156
157
} // namespace mozilla
158
159
namespace mozilla {
160
namespace ipc {
161
auto IPDLParamTraits<mozilla::PluginHangData>::Write(
162
        IPC::Message* aMsg,
163
        mozilla::ipc::IProtocol* aActor,
164
        const paramType& aVar) -> void
165
0
{
166
0
    WriteIPDLParam(aMsg, aActor, (aVar).pluginId());
167
0
    // Sentinel = 'pluginId'
168
0
    (aMsg)->WriteSentinel(1563488274);
169
0
    WriteIPDLParam(aMsg, aActor, (aVar).contentProcessId());
170
0
    // Sentinel = 'contentProcessId'
171
0
    (aMsg)->WriteSentinel(3482197741);
172
0
}
173
174
auto IPDLParamTraits<mozilla::PluginHangData>::Read(
175
        const IPC::Message* aMsg,
176
        PickleIterator* aIter,
177
        mozilla::ipc::IProtocol* aActor,
178
        paramType* aVar) -> bool
179
0
{
180
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->pluginId())))))) {
181
0
        (aActor)->FatalError("Error deserializing 'pluginId' (uint32_t) member of 'PluginHangData'");
182
0
        return false;
183
0
    }
184
0
    // Sentinel = 'pluginId'
185
0
    if ((!((aMsg)->ReadSentinel(aIter, 1563488274)))) {
186
0
        mozilla::ipc::SentinelReadError("Error deserializing 'pluginId' (uint32_t) member of 'PluginHangData'");
187
0
        return false;
188
0
    }
189
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->contentProcessId())))))) {
190
0
        (aActor)->FatalError("Error deserializing 'contentProcessId' (ProcessId) member of 'PluginHangData'");
191
0
        return false;
192
0
    }
193
0
    // Sentinel = 'contentProcessId'
194
0
    if ((!((aMsg)->ReadSentinel(aIter, 3482197741)))) {
195
0
        mozilla::ipc::SentinelReadError("Error deserializing 'contentProcessId' (ProcessId) member of 'PluginHangData'");
196
0
        return false;
197
0
    }
198
0
    return true;
199
0
}
200
201
} // namespace ipc
202
} // namespace mozilla
203
204
//-----------------------------------------------------------------------------
205
// Method definitions for the IPDL type |union HangData|
206
//
207
namespace mozilla {
208
auto HangData::MaybeDestroy(Type aNewType) -> bool
209
0
{
210
0
    if ((mType) == (T__None)) {
211
0
        return true;
212
0
    }
213
0
    if ((mType) == (aNewType)) {
214
0
        return false;
215
0
    }
216
0
    switch (mType) {
217
0
    case TSlowScriptData:
218
0
        {
219
0
            (ptr_SlowScriptData())->~SlowScriptData__tdef();
220
0
            break;
221
0
        }
222
0
    case TPluginHangData:
223
0
        {
224
0
            (ptr_PluginHangData())->~PluginHangData__tdef();
225
0
            break;
226
0
        }
227
0
    default:
228
0
        {
229
0
            mozilla::ipc::LogicError("not reached");
230
0
            break;
231
0
        }
232
0
    }
233
0
    return true;
234
0
}
235
236
MOZ_IMPLICIT HangData::HangData(const SlowScriptData& aOther)
237
0
{
238
0
    new (mozilla::KnownNotNull, ptr_SlowScriptData()) SlowScriptData(aOther);
239
0
    mType = TSlowScriptData;
240
0
}
241
242
MOZ_IMPLICIT HangData::HangData(SlowScriptData&& aOther)
243
0
{
244
0
    new (mozilla::KnownNotNull, ptr_SlowScriptData()) SlowScriptData(std::move(aOther));
245
0
    mType = TSlowScriptData;
246
0
}
247
248
MOZ_IMPLICIT HangData::HangData(const PluginHangData& aOther)
249
0
{
250
0
    new (mozilla::KnownNotNull, ptr_PluginHangData()) PluginHangData(aOther);
251
0
    mType = TPluginHangData;
252
0
}
253
254
MOZ_IMPLICIT HangData::HangData(PluginHangData&& aOther)
255
0
{
256
0
    new (mozilla::KnownNotNull, ptr_PluginHangData()) PluginHangData(std::move(aOther));
257
0
    mType = TPluginHangData;
258
0
}
259
260
MOZ_IMPLICIT HangData::HangData(const HangData& aOther)
261
0
{
262
0
    (aOther).AssertSanity();
263
0
    switch ((aOther).type()) {
264
0
    case TSlowScriptData:
265
0
        {
266
0
            new (mozilla::KnownNotNull, ptr_SlowScriptData()) SlowScriptData((aOther).get_SlowScriptData());
267
0
            break;
268
0
        }
269
0
    case TPluginHangData:
270
0
        {
271
0
            new (mozilla::KnownNotNull, ptr_PluginHangData()) PluginHangData((aOther).get_PluginHangData());
272
0
            break;
273
0
        }
274
0
    case T__None:
275
0
        {
276
0
            break;
277
0
        }
278
0
    default:
279
0
        {
280
0
            mozilla::ipc::LogicError("unreached");
281
0
            return;
282
0
        }
283
0
    }
284
0
    mType = (aOther).type();
285
0
}
286
287
MOZ_IMPLICIT HangData::HangData(HangData&& aOther)
288
0
{
289
0
    (aOther).AssertSanity();
290
0
    Type t = (aOther).type();
291
0
    switch (t) {
292
0
    case TSlowScriptData:
293
0
        {
294
0
            new (mozilla::KnownNotNull, ptr_SlowScriptData()) SlowScriptData(std::move((aOther).get_SlowScriptData()));
295
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
296
0
            break;
297
0
        }
298
0
    case TPluginHangData:
299
0
        {
300
0
            new (mozilla::KnownNotNull, ptr_PluginHangData()) PluginHangData(std::move((aOther).get_PluginHangData()));
301
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
302
0
            break;
303
0
        }
304
0
    case T__None:
305
0
        {
306
0
            break;
307
0
        }
308
0
    default:
309
0
        {
310
0
            mozilla::ipc::LogicError("unreached");
311
0
            return;
312
0
        }
313
0
    }
314
0
    (aOther).mType = T__None;
315
0
    mType = t;
316
0
}
317
318
HangData::~HangData()
319
0
{
320
0
    static_cast<void>(MaybeDestroy(T__None));
321
0
}
322
323
auto HangData::operator=(const SlowScriptData& aRhs) -> HangData&
324
0
{
325
0
    if (MaybeDestroy(TSlowScriptData)) {
326
0
        new (mozilla::KnownNotNull, ptr_SlowScriptData()) SlowScriptData;
327
0
    }
328
0
    (*(ptr_SlowScriptData())) = aRhs;
329
0
    mType = TSlowScriptData;
330
0
    return (*(this));
331
0
}
332
333
auto HangData::operator=(SlowScriptData&& aRhs) -> HangData&
334
0
{
335
0
    if (MaybeDestroy(TSlowScriptData)) {
336
0
        new (mozilla::KnownNotNull, ptr_SlowScriptData()) SlowScriptData;
337
0
    }
338
0
    (*(ptr_SlowScriptData())) = std::move(aRhs);
339
0
    mType = TSlowScriptData;
340
0
    return (*(this));
341
0
}
342
343
auto HangData::operator=(const PluginHangData& aRhs) -> HangData&
344
0
{
345
0
    if (MaybeDestroy(TPluginHangData)) {
346
0
        new (mozilla::KnownNotNull, ptr_PluginHangData()) PluginHangData;
347
0
    }
348
0
    (*(ptr_PluginHangData())) = aRhs;
349
0
    mType = TPluginHangData;
350
0
    return (*(this));
351
0
}
352
353
auto HangData::operator=(PluginHangData&& aRhs) -> HangData&
354
0
{
355
0
    if (MaybeDestroy(TPluginHangData)) {
356
0
        new (mozilla::KnownNotNull, ptr_PluginHangData()) PluginHangData;
357
0
    }
358
0
    (*(ptr_PluginHangData())) = std::move(aRhs);
359
0
    mType = TPluginHangData;
360
0
    return (*(this));
361
0
}
362
363
auto HangData::operator=(const HangData& aRhs) -> HangData&
364
0
{
365
0
    (aRhs).AssertSanity();
366
0
    Type t = (aRhs).type();
367
0
    switch (t) {
368
0
    case TSlowScriptData:
369
0
        {
370
0
            if (MaybeDestroy(t)) {
371
0
                new (mozilla::KnownNotNull, ptr_SlowScriptData()) SlowScriptData;
372
0
            }
373
0
            (*(ptr_SlowScriptData())) = (aRhs).get_SlowScriptData();
374
0
            break;
375
0
        }
376
0
    case TPluginHangData:
377
0
        {
378
0
            if (MaybeDestroy(t)) {
379
0
                new (mozilla::KnownNotNull, ptr_PluginHangData()) PluginHangData;
380
0
            }
381
0
            (*(ptr_PluginHangData())) = (aRhs).get_PluginHangData();
382
0
            break;
383
0
        }
384
0
    case T__None:
385
0
        {
386
0
            static_cast<void>(MaybeDestroy(t));
387
0
            break;
388
0
        }
389
0
    default:
390
0
        {
391
0
            mozilla::ipc::LogicError("unreached");
392
0
            break;
393
0
        }
394
0
    }
395
0
    mType = t;
396
0
    return (*(this));
397
0
}
398
399
auto HangData::operator=(HangData&& aRhs) -> HangData&
400
0
{
401
0
    (aRhs).AssertSanity();
402
0
    Type t = (aRhs).type();
403
0
    switch (t) {
404
0
    case TSlowScriptData:
405
0
        {
406
0
            if (MaybeDestroy(t)) {
407
0
                new (mozilla::KnownNotNull, ptr_SlowScriptData()) SlowScriptData;
408
0
            }
409
0
            (*(ptr_SlowScriptData())) = std::move((aRhs).get_SlowScriptData());
410
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
411
0
            break;
412
0
        }
413
0
    case TPluginHangData:
414
0
        {
415
0
            if (MaybeDestroy(t)) {
416
0
                new (mozilla::KnownNotNull, ptr_PluginHangData()) PluginHangData;
417
0
            }
418
0
            (*(ptr_PluginHangData())) = std::move((aRhs).get_PluginHangData());
419
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
420
0
            break;
421
0
        }
422
0
    case T__None:
423
0
        {
424
0
            static_cast<void>(MaybeDestroy(t));
425
0
            break;
426
0
        }
427
0
    default:
428
0
        {
429
0
            mozilla::ipc::LogicError("unreached");
430
0
            break;
431
0
        }
432
0
    }
433
0
    (aRhs).mType = T__None;
434
0
    mType = t;
435
0
    return (*(this));
436
0
}
437
438
auto HangData::operator==(const SlowScriptData& aRhs) const -> bool
439
0
{
440
0
    return (get_SlowScriptData()) == (aRhs);
441
0
}
442
443
auto HangData::operator==(const PluginHangData& aRhs) const -> bool
444
0
{
445
0
    return (get_PluginHangData()) == (aRhs);
446
0
}
447
448
auto HangData::operator==(const HangData& aRhs) const -> bool
449
0
{
450
0
    if ((type()) != ((aRhs).type())) {
451
0
        return false;
452
0
    }
453
0
454
0
    switch (type()) {
455
0
    case TSlowScriptData:
456
0
        {
457
0
            return (get_SlowScriptData()) == ((aRhs).get_SlowScriptData());
458
0
        }
459
0
    case TPluginHangData:
460
0
        {
461
0
            return (get_PluginHangData()) == ((aRhs).get_PluginHangData());
462
0
        }
463
0
    default:
464
0
        {
465
0
            mozilla::ipc::LogicError("unreached");
466
0
            return false;
467
0
        }
468
0
    }
469
0
}
470
471
auto HangData::get(SlowScriptData* aOutValue) const -> void
472
0
{
473
0
    (*(aOutValue)) = get_SlowScriptData();
474
0
}
475
476
auto HangData::get(PluginHangData* aOutValue) const -> void
477
0
{
478
0
    (*(aOutValue)) = get_PluginHangData();
479
0
}
480
481
} // namespace mozilla
482
483
namespace mozilla {
484
namespace ipc {
485
auto IPDLParamTraits<mozilla::HangData>::Write(
486
        IPC::Message* aMsg,
487
        mozilla::ipc::IProtocol* aActor,
488
        const paramType& aVar) -> void
489
{
490
    typedef mozilla::HangData union__;
491
    int type;
492
    type = (aVar).type();
493
    WriteIPDLParam(aMsg, aActor, type);
494
    // Sentinel = 'HangData'
495
    (aMsg)->WriteSentinel(424813128);
496
497
    switch (type) {
498
    case union__::TSlowScriptData:
499
        {
500
            WriteIPDLParam(aMsg, aActor, (aVar).get_SlowScriptData());
501
            // Sentinel = 'TSlowScriptData'
502
            (aMsg)->WriteSentinel(2725568093);
503
            return;
504
        }
505
    case union__::TPluginHangData:
506
        {
507
            WriteIPDLParam(aMsg, aActor, (aVar).get_PluginHangData());
508
            // Sentinel = 'TPluginHangData'
509
            (aMsg)->WriteSentinel(2781280854);
510
            return;
511
        }
512
    default:
513
        {
514
            (aActor)->FatalError("unknown union type");
515
            return;
516
        }
517
    }
518
}
519
520
auto IPDLParamTraits<mozilla::HangData>::Read(
521
        const IPC::Message* aMsg,
522
        PickleIterator* aIter,
523
        mozilla::ipc::IProtocol* aActor,
524
        paramType* aVar) -> bool
525
0
{
526
0
    typedef mozilla::HangData union__;
527
0
    int type;
528
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
529
0
        (aActor)->FatalError("Error deserializing type of union HangData");
530
0
        return false;
531
0
    }
532
0
    // Sentinel = 'HangData'
533
0
    if ((!((aMsg)->ReadSentinel(aIter, 424813128)))) {
534
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union HangData");
535
0
        return false;
536
0
    }
537
0
538
0
    switch (type) {
539
0
    case union__::TSlowScriptData:
540
0
        {
541
0
            mozilla::SlowScriptData tmp = mozilla::SlowScriptData();
542
0
            (*(aVar)) = tmp;
543
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_SlowScriptData())))))) {
544
0
                (aActor)->FatalError("Error deserializing variant TSlowScriptData of union HangData");
545
0
                return false;
546
0
            }
547
0
            // Sentinel = 'TSlowScriptData'
548
0
            if ((!((aMsg)->ReadSentinel(aIter, 2725568093)))) {
549
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TSlowScriptData of union HangData");
550
0
                return false;
551
0
            }
552
0
            return true;
553
0
        }
554
0
    case union__::TPluginHangData:
555
0
        {
556
0
            mozilla::PluginHangData tmp = mozilla::PluginHangData();
557
0
            (*(aVar)) = tmp;
558
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_PluginHangData())))))) {
559
0
                (aActor)->FatalError("Error deserializing variant TPluginHangData of union HangData");
560
0
                return false;
561
0
            }
562
0
            // Sentinel = 'TPluginHangData'
563
0
            if ((!((aMsg)->ReadSentinel(aIter, 2781280854)))) {
564
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TPluginHangData of union HangData");
565
0
                return false;
566
0
            }
567
0
            return true;
568
0
        }
569
0
    default:
570
0
        {
571
0
            (aActor)->FatalError("unknown union type");
572
0
            return false;
573
0
        }
574
0
    }
575
0
}
576
577
} // namespace ipc
578
} // namespace mozilla