Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/ipc/ipdl/LayersMessages.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 "gfxipc/ShadowLayerUtils.h"
8
#include "mozilla/GfxMessageUtils.h"
9
#include "ImageLayers.h"
10
#include "mozilla/layers/PCompositorBridgeParent.h"
11
#include "mozilla/layers/PCompositorBridgeChild.h"
12
#include "mozilla/layout/PRenderFrameParent.h"
13
#include "mozilla/layout/PRenderFrameChild.h"
14
#include "mozilla/layers/PTextureParent.h"
15
#include "mozilla/layers/PTextureChild.h"
16
#include "mozilla/layers/LayersMessages.h"
17
18
19
//-----------------------------------------------------------------------------
20
// Method definitions for the IPDL type |struct TargetConfig|
21
//
22
namespace mozilla {
23
namespace layers {
24
auto TargetConfig::operator==(const TargetConfig& _o) const -> bool
25
0
{
26
0
    if ((!((naturalBounds()) == ((_o).naturalBounds())))) {
27
0
        return false;
28
0
    }
29
0
    if ((!((rotation()) == ((_o).rotation())))) {
30
0
        return false;
31
0
    }
32
0
    if ((!((orientation()) == ((_o).orientation())))) {
33
0
        return false;
34
0
    }
35
0
    if ((!((clearRegion()) == ((_o).clearRegion())))) {
36
0
        return false;
37
0
    }
38
0
    return true;
39
0
}
40
41
auto TargetConfig::operator!=(const TargetConfig& _o) const -> bool
42
0
{
43
0
    return (!(operator==(_o)));
44
0
}
45
46
} // namespace layers
47
} // namespace mozilla
48
49
namespace mozilla {
50
namespace ipc {
51
auto IPDLParamTraits<mozilla::layers::TargetConfig>::Write(
52
        IPC::Message* aMsg,
53
        mozilla::ipc::IProtocol* aActor,
54
        const paramType& aVar) -> void
55
0
{
56
0
    WriteIPDLParam(aMsg, aActor, (aVar).naturalBounds());
57
0
    // Sentinel = 'naturalBounds'
58
0
    (aMsg)->WriteSentinel(2065643689);
59
0
    WriteIPDLParam(aMsg, aActor, (aVar).rotation());
60
0
    // Sentinel = 'rotation'
61
0
    (aMsg)->WriteSentinel(289872474);
62
0
    WriteIPDLParam(aMsg, aActor, (aVar).orientation());
63
0
    // Sentinel = 'orientation'
64
0
    (aMsg)->WriteSentinel(759639429);
65
0
    WriteIPDLParam(aMsg, aActor, (aVar).clearRegion());
66
0
    // Sentinel = 'clearRegion'
67
0
    (aMsg)->WriteSentinel(2731638988);
68
0
}
69
70
auto IPDLParamTraits<mozilla::layers::TargetConfig>::Read(
71
        const IPC::Message* aMsg,
72
        PickleIterator* aIter,
73
        mozilla::ipc::IProtocol* aActor,
74
        paramType* aVar) -> bool
75
0
{
76
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->naturalBounds())))))) {
77
0
        (aActor)->FatalError("Error deserializing 'naturalBounds' (IntRect) member of 'TargetConfig'");
78
0
        return false;
79
0
    }
80
0
    // Sentinel = 'naturalBounds'
81
0
    if ((!((aMsg)->ReadSentinel(aIter, 2065643689)))) {
82
0
        mozilla::ipc::SentinelReadError("Error deserializing 'naturalBounds' (IntRect) member of 'TargetConfig'");
83
0
        return false;
84
0
    }
85
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->rotation())))))) {
86
0
        (aActor)->FatalError("Error deserializing 'rotation' (ScreenRotation) member of 'TargetConfig'");
87
0
        return false;
88
0
    }
89
0
    // Sentinel = 'rotation'
90
0
    if ((!((aMsg)->ReadSentinel(aIter, 289872474)))) {
91
0
        mozilla::ipc::SentinelReadError("Error deserializing 'rotation' (ScreenRotation) member of 'TargetConfig'");
92
0
        return false;
93
0
    }
94
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->orientation())))))) {
95
0
        (aActor)->FatalError("Error deserializing 'orientation' (ScreenOrientation) member of 'TargetConfig'");
96
0
        return false;
97
0
    }
98
0
    // Sentinel = 'orientation'
99
0
    if ((!((aMsg)->ReadSentinel(aIter, 759639429)))) {
100
0
        mozilla::ipc::SentinelReadError("Error deserializing 'orientation' (ScreenOrientation) member of 'TargetConfig'");
101
0
        return false;
102
0
    }
103
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->clearRegion())))))) {
104
0
        (aActor)->FatalError("Error deserializing 'clearRegion' (nsIntRegion) member of 'TargetConfig'");
105
0
        return false;
106
0
    }
107
0
    // Sentinel = 'clearRegion'
108
0
    if ((!((aMsg)->ReadSentinel(aIter, 2731638988)))) {
109
0
        mozilla::ipc::SentinelReadError("Error deserializing 'clearRegion' (nsIntRegion) member of 'TargetConfig'");
110
0
        return false;
111
0
    }
112
0
    return true;
113
0
}
114
115
} // namespace ipc
116
} // namespace mozilla
117
118
//-----------------------------------------------------------------------------
119
// Method definitions for the IPDL type |struct OpCreatePaintedLayer|
120
//
121
namespace mozilla {
122
namespace layers {
123
auto OpCreatePaintedLayer::operator==(const OpCreatePaintedLayer& _o) const -> bool
124
0
{
125
0
    if ((!((layer()) == ((_o).layer())))) {
126
0
        return false;
127
0
    }
128
0
    return true;
129
0
}
130
131
auto OpCreatePaintedLayer::operator!=(const OpCreatePaintedLayer& _o) const -> bool
132
0
{
133
0
    return (!(operator==(_o)));
134
0
}
135
136
} // namespace layers
137
} // namespace mozilla
138
139
namespace mozilla {
140
namespace ipc {
141
auto IPDLParamTraits<mozilla::layers::OpCreatePaintedLayer>::Write(
142
        IPC::Message* aMsg,
143
        mozilla::ipc::IProtocol* aActor,
144
        const paramType& aVar) -> void
145
0
{
146
0
    WriteIPDLParam(aMsg, aActor, (aVar).layer());
147
0
    // Sentinel = 'layer'
148
0
    (aMsg)->WriteSentinel(1899167106);
149
0
}
150
151
auto IPDLParamTraits<mozilla::layers::OpCreatePaintedLayer>::Read(
152
        const IPC::Message* aMsg,
153
        PickleIterator* aIter,
154
        mozilla::ipc::IProtocol* aActor,
155
        paramType* aVar) -> bool
156
0
{
157
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->layer())))))) {
158
0
        (aActor)->FatalError("Error deserializing 'layer' (LayerHandle) member of 'OpCreatePaintedLayer'");
159
0
        return false;
160
0
    }
161
0
    // Sentinel = 'layer'
162
0
    if ((!((aMsg)->ReadSentinel(aIter, 1899167106)))) {
163
0
        mozilla::ipc::SentinelReadError("Error deserializing 'layer' (LayerHandle) member of 'OpCreatePaintedLayer'");
164
0
        return false;
165
0
    }
166
0
    return true;
167
0
}
168
169
} // namespace ipc
170
} // namespace mozilla
171
172
//-----------------------------------------------------------------------------
173
// Method definitions for the IPDL type |struct OpCreateContainerLayer|
174
//
175
namespace mozilla {
176
namespace layers {
177
auto OpCreateContainerLayer::operator==(const OpCreateContainerLayer& _o) const -> bool
178
0
{
179
0
    if ((!((layer()) == ((_o).layer())))) {
180
0
        return false;
181
0
    }
182
0
    return true;
183
0
}
184
185
auto OpCreateContainerLayer::operator!=(const OpCreateContainerLayer& _o) const -> bool
186
0
{
187
0
    return (!(operator==(_o)));
188
0
}
189
190
} // namespace layers
191
} // namespace mozilla
192
193
namespace mozilla {
194
namespace ipc {
195
auto IPDLParamTraits<mozilla::layers::OpCreateContainerLayer>::Write(
196
        IPC::Message* aMsg,
197
        mozilla::ipc::IProtocol* aActor,
198
        const paramType& aVar) -> void
199
0
{
200
0
    WriteIPDLParam(aMsg, aActor, (aVar).layer());
201
0
    // Sentinel = 'layer'
202
0
    (aMsg)->WriteSentinel(1899167106);
203
0
}
204
205
auto IPDLParamTraits<mozilla::layers::OpCreateContainerLayer>::Read(
206
        const IPC::Message* aMsg,
207
        PickleIterator* aIter,
208
        mozilla::ipc::IProtocol* aActor,
209
        paramType* aVar) -> bool
210
0
{
211
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->layer())))))) {
212
0
        (aActor)->FatalError("Error deserializing 'layer' (LayerHandle) member of 'OpCreateContainerLayer'");
213
0
        return false;
214
0
    }
215
0
    // Sentinel = 'layer'
216
0
    if ((!((aMsg)->ReadSentinel(aIter, 1899167106)))) {
217
0
        mozilla::ipc::SentinelReadError("Error deserializing 'layer' (LayerHandle) member of 'OpCreateContainerLayer'");
218
0
        return false;
219
0
    }
220
0
    return true;
221
0
}
222
223
} // namespace ipc
224
} // namespace mozilla
225
226
//-----------------------------------------------------------------------------
227
// Method definitions for the IPDL type |struct OpCreateImageLayer|
228
//
229
namespace mozilla {
230
namespace layers {
231
auto OpCreateImageLayer::operator==(const OpCreateImageLayer& _o) const -> bool
232
0
{
233
0
    if ((!((layer()) == ((_o).layer())))) {
234
0
        return false;
235
0
    }
236
0
    return true;
237
0
}
238
239
auto OpCreateImageLayer::operator!=(const OpCreateImageLayer& _o) const -> bool
240
0
{
241
0
    return (!(operator==(_o)));
242
0
}
243
244
} // namespace layers
245
} // namespace mozilla
246
247
namespace mozilla {
248
namespace ipc {
249
auto IPDLParamTraits<mozilla::layers::OpCreateImageLayer>::Write(
250
        IPC::Message* aMsg,
251
        mozilla::ipc::IProtocol* aActor,
252
        const paramType& aVar) -> void
253
0
{
254
0
    WriteIPDLParam(aMsg, aActor, (aVar).layer());
255
0
    // Sentinel = 'layer'
256
0
    (aMsg)->WriteSentinel(1899167106);
257
0
}
258
259
auto IPDLParamTraits<mozilla::layers::OpCreateImageLayer>::Read(
260
        const IPC::Message* aMsg,
261
        PickleIterator* aIter,
262
        mozilla::ipc::IProtocol* aActor,
263
        paramType* aVar) -> bool
264
0
{
265
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->layer())))))) {
266
0
        (aActor)->FatalError("Error deserializing 'layer' (LayerHandle) member of 'OpCreateImageLayer'");
267
0
        return false;
268
0
    }
269
0
    // Sentinel = 'layer'
270
0
    if ((!((aMsg)->ReadSentinel(aIter, 1899167106)))) {
271
0
        mozilla::ipc::SentinelReadError("Error deserializing 'layer' (LayerHandle) member of 'OpCreateImageLayer'");
272
0
        return false;
273
0
    }
274
0
    return true;
275
0
}
276
277
} // namespace ipc
278
} // namespace mozilla
279
280
//-----------------------------------------------------------------------------
281
// Method definitions for the IPDL type |struct OpCreateColorLayer|
282
//
283
namespace mozilla {
284
namespace layers {
285
auto OpCreateColorLayer::operator==(const OpCreateColorLayer& _o) const -> bool
286
0
{
287
0
    if ((!((layer()) == ((_o).layer())))) {
288
0
        return false;
289
0
    }
290
0
    return true;
291
0
}
292
293
auto OpCreateColorLayer::operator!=(const OpCreateColorLayer& _o) const -> bool
294
0
{
295
0
    return (!(operator==(_o)));
296
0
}
297
298
} // namespace layers
299
} // namespace mozilla
300
301
namespace mozilla {
302
namespace ipc {
303
auto IPDLParamTraits<mozilla::layers::OpCreateColorLayer>::Write(
304
        IPC::Message* aMsg,
305
        mozilla::ipc::IProtocol* aActor,
306
        const paramType& aVar) -> void
307
0
{
308
0
    WriteIPDLParam(aMsg, aActor, (aVar).layer());
309
0
    // Sentinel = 'layer'
310
0
    (aMsg)->WriteSentinel(1899167106);
311
0
}
312
313
auto IPDLParamTraits<mozilla::layers::OpCreateColorLayer>::Read(
314
        const IPC::Message* aMsg,
315
        PickleIterator* aIter,
316
        mozilla::ipc::IProtocol* aActor,
317
        paramType* aVar) -> bool
318
0
{
319
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->layer())))))) {
320
0
        (aActor)->FatalError("Error deserializing 'layer' (LayerHandle) member of 'OpCreateColorLayer'");
321
0
        return false;
322
0
    }
323
0
    // Sentinel = 'layer'
324
0
    if ((!((aMsg)->ReadSentinel(aIter, 1899167106)))) {
325
0
        mozilla::ipc::SentinelReadError("Error deserializing 'layer' (LayerHandle) member of 'OpCreateColorLayer'");
326
0
        return false;
327
0
    }
328
0
    return true;
329
0
}
330
331
} // namespace ipc
332
} // namespace mozilla
333
334
//-----------------------------------------------------------------------------
335
// Method definitions for the IPDL type |struct OpCreateCanvasLayer|
336
//
337
namespace mozilla {
338
namespace layers {
339
auto OpCreateCanvasLayer::operator==(const OpCreateCanvasLayer& _o) const -> bool
340
0
{
341
0
    if ((!((layer()) == ((_o).layer())))) {
342
0
        return false;
343
0
    }
344
0
    return true;
345
0
}
346
347
auto OpCreateCanvasLayer::operator!=(const OpCreateCanvasLayer& _o) const -> bool
348
0
{
349
0
    return (!(operator==(_o)));
350
0
}
351
352
} // namespace layers
353
} // namespace mozilla
354
355
namespace mozilla {
356
namespace ipc {
357
auto IPDLParamTraits<mozilla::layers::OpCreateCanvasLayer>::Write(
358
        IPC::Message* aMsg,
359
        mozilla::ipc::IProtocol* aActor,
360
        const paramType& aVar) -> void
361
0
{
362
0
    WriteIPDLParam(aMsg, aActor, (aVar).layer());
363
0
    // Sentinel = 'layer'
364
0
    (aMsg)->WriteSentinel(1899167106);
365
0
}
366
367
auto IPDLParamTraits<mozilla::layers::OpCreateCanvasLayer>::Read(
368
        const IPC::Message* aMsg,
369
        PickleIterator* aIter,
370
        mozilla::ipc::IProtocol* aActor,
371
        paramType* aVar) -> bool
372
0
{
373
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->layer())))))) {
374
0
        (aActor)->FatalError("Error deserializing 'layer' (LayerHandle) member of 'OpCreateCanvasLayer'");
375
0
        return false;
376
0
    }
377
0
    // Sentinel = 'layer'
378
0
    if ((!((aMsg)->ReadSentinel(aIter, 1899167106)))) {
379
0
        mozilla::ipc::SentinelReadError("Error deserializing 'layer' (LayerHandle) member of 'OpCreateCanvasLayer'");
380
0
        return false;
381
0
    }
382
0
    return true;
383
0
}
384
385
} // namespace ipc
386
} // namespace mozilla
387
388
//-----------------------------------------------------------------------------
389
// Method definitions for the IPDL type |struct OpCreateRefLayer|
390
//
391
namespace mozilla {
392
namespace layers {
393
auto OpCreateRefLayer::operator==(const OpCreateRefLayer& _o) const -> bool
394
0
{
395
0
    if ((!((layer()) == ((_o).layer())))) {
396
0
        return false;
397
0
    }
398
0
    return true;
399
0
}
400
401
auto OpCreateRefLayer::operator!=(const OpCreateRefLayer& _o) const -> bool
402
0
{
403
0
    return (!(operator==(_o)));
404
0
}
405
406
} // namespace layers
407
} // namespace mozilla
408
409
namespace mozilla {
410
namespace ipc {
411
auto IPDLParamTraits<mozilla::layers::OpCreateRefLayer>::Write(
412
        IPC::Message* aMsg,
413
        mozilla::ipc::IProtocol* aActor,
414
        const paramType& aVar) -> void
415
0
{
416
0
    WriteIPDLParam(aMsg, aActor, (aVar).layer());
417
0
    // Sentinel = 'layer'
418
0
    (aMsg)->WriteSentinel(1899167106);
419
0
}
420
421
auto IPDLParamTraits<mozilla::layers::OpCreateRefLayer>::Read(
422
        const IPC::Message* aMsg,
423
        PickleIterator* aIter,
424
        mozilla::ipc::IProtocol* aActor,
425
        paramType* aVar) -> bool
426
0
{
427
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->layer())))))) {
428
0
        (aActor)->FatalError("Error deserializing 'layer' (LayerHandle) member of 'OpCreateRefLayer'");
429
0
        return false;
430
0
    }
431
0
    // Sentinel = 'layer'
432
0
    if ((!((aMsg)->ReadSentinel(aIter, 1899167106)))) {
433
0
        mozilla::ipc::SentinelReadError("Error deserializing 'layer' (LayerHandle) member of 'OpCreateRefLayer'");
434
0
        return false;
435
0
    }
436
0
    return true;
437
0
}
438
439
} // namespace ipc
440
} // namespace mozilla
441
442
//-----------------------------------------------------------------------------
443
// Method definitions for the IPDL type |struct OpAttachCompositable|
444
//
445
namespace mozilla {
446
namespace layers {
447
auto OpAttachCompositable::operator==(const OpAttachCompositable& _o) const -> bool
448
0
{
449
0
    if ((!((layer()) == ((_o).layer())))) {
450
0
        return false;
451
0
    }
452
0
    if ((!((compositable()) == ((_o).compositable())))) {
453
0
        return false;
454
0
    }
455
0
    return true;
456
0
}
457
458
auto OpAttachCompositable::operator!=(const OpAttachCompositable& _o) const -> bool
459
0
{
460
0
    return (!(operator==(_o)));
461
0
}
462
463
} // namespace layers
464
} // namespace mozilla
465
466
namespace mozilla {
467
namespace ipc {
468
auto IPDLParamTraits<mozilla::layers::OpAttachCompositable>::Write(
469
        IPC::Message* aMsg,
470
        mozilla::ipc::IProtocol* aActor,
471
        const paramType& aVar) -> void
472
0
{
473
0
    WriteIPDLParam(aMsg, aActor, (aVar).layer());
474
0
    // Sentinel = 'layer'
475
0
    (aMsg)->WriteSentinel(1899167106);
476
0
    WriteIPDLParam(aMsg, aActor, (aVar).compositable());
477
0
    // Sentinel = 'compositable'
478
0
    (aMsg)->WriteSentinel(4031958248);
479
0
}
480
481
auto IPDLParamTraits<mozilla::layers::OpAttachCompositable>::Read(
482
        const IPC::Message* aMsg,
483
        PickleIterator* aIter,
484
        mozilla::ipc::IProtocol* aActor,
485
        paramType* aVar) -> bool
486
0
{
487
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->layer())))))) {
488
0
        (aActor)->FatalError("Error deserializing 'layer' (LayerHandle) member of 'OpAttachCompositable'");
489
0
        return false;
490
0
    }
491
0
    // Sentinel = 'layer'
492
0
    if ((!((aMsg)->ReadSentinel(aIter, 1899167106)))) {
493
0
        mozilla::ipc::SentinelReadError("Error deserializing 'layer' (LayerHandle) member of 'OpAttachCompositable'");
494
0
        return false;
495
0
    }
496
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->compositable())))))) {
497
0
        (aActor)->FatalError("Error deserializing 'compositable' (CompositableHandle) member of 'OpAttachCompositable'");
498
0
        return false;
499
0
    }
500
0
    // Sentinel = 'compositable'
501
0
    if ((!((aMsg)->ReadSentinel(aIter, 4031958248)))) {
502
0
        mozilla::ipc::SentinelReadError("Error deserializing 'compositable' (CompositableHandle) member of 'OpAttachCompositable'");
503
0
        return false;
504
0
    }
505
0
    return true;
506
0
}
507
508
} // namespace ipc
509
} // namespace mozilla
510
511
//-----------------------------------------------------------------------------
512
// Method definitions for the IPDL type |struct OpAttachAsyncCompositable|
513
//
514
namespace mozilla {
515
namespace layers {
516
auto OpAttachAsyncCompositable::operator==(const OpAttachAsyncCompositable& _o) const -> bool
517
0
{
518
0
    if ((!((layer()) == ((_o).layer())))) {
519
0
        return false;
520
0
    }
521
0
    if ((!((compositable()) == ((_o).compositable())))) {
522
0
        return false;
523
0
    }
524
0
    return true;
525
0
}
526
527
auto OpAttachAsyncCompositable::operator!=(const OpAttachAsyncCompositable& _o) const -> bool
528
0
{
529
0
    return (!(operator==(_o)));
530
0
}
531
532
} // namespace layers
533
} // namespace mozilla
534
535
namespace mozilla {
536
namespace ipc {
537
auto IPDLParamTraits<mozilla::layers::OpAttachAsyncCompositable>::Write(
538
        IPC::Message* aMsg,
539
        mozilla::ipc::IProtocol* aActor,
540
        const paramType& aVar) -> void
541
0
{
542
0
    WriteIPDLParam(aMsg, aActor, (aVar).layer());
543
0
    // Sentinel = 'layer'
544
0
    (aMsg)->WriteSentinel(1899167106);
545
0
    WriteIPDLParam(aMsg, aActor, (aVar).compositable());
546
0
    // Sentinel = 'compositable'
547
0
    (aMsg)->WriteSentinel(4031958248);
548
0
}
549
550
auto IPDLParamTraits<mozilla::layers::OpAttachAsyncCompositable>::Read(
551
        const IPC::Message* aMsg,
552
        PickleIterator* aIter,
553
        mozilla::ipc::IProtocol* aActor,
554
        paramType* aVar) -> bool
555
0
{
556
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->layer())))))) {
557
0
        (aActor)->FatalError("Error deserializing 'layer' (LayerHandle) member of 'OpAttachAsyncCompositable'");
558
0
        return false;
559
0
    }
560
0
    // Sentinel = 'layer'
561
0
    if ((!((aMsg)->ReadSentinel(aIter, 1899167106)))) {
562
0
        mozilla::ipc::SentinelReadError("Error deserializing 'layer' (LayerHandle) member of 'OpAttachAsyncCompositable'");
563
0
        return false;
564
0
    }
565
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->compositable())))))) {
566
0
        (aActor)->FatalError("Error deserializing 'compositable' (CompositableHandle) member of 'OpAttachAsyncCompositable'");
567
0
        return false;
568
0
    }
569
0
    // Sentinel = 'compositable'
570
0
    if ((!((aMsg)->ReadSentinel(aIter, 4031958248)))) {
571
0
        mozilla::ipc::SentinelReadError("Error deserializing 'compositable' (CompositableHandle) member of 'OpAttachAsyncCompositable'");
572
0
        return false;
573
0
    }
574
0
    return true;
575
0
}
576
577
} // namespace ipc
578
} // namespace mozilla
579
580
//-----------------------------------------------------------------------------
581
// Method definitions for the IPDL type |struct ThebesBufferData|
582
//
583
namespace mozilla {
584
namespace layers {
585
auto ThebesBufferData::operator==(const ThebesBufferData& _o) const -> bool
586
0
{
587
0
    if ((!((rect()) == ((_o).rect())))) {
588
0
        return false;
589
0
    }
590
0
    if ((!((rotation()) == ((_o).rotation())))) {
591
0
        return false;
592
0
    }
593
0
    return true;
594
0
}
595
596
auto ThebesBufferData::operator!=(const ThebesBufferData& _o) const -> bool
597
0
{
598
0
    return (!(operator==(_o)));
599
0
}
600
601
} // namespace layers
602
} // namespace mozilla
603
604
namespace mozilla {
605
namespace ipc {
606
auto IPDLParamTraits<mozilla::layers::ThebesBufferData>::Write(
607
        IPC::Message* aMsg,
608
        mozilla::ipc::IProtocol* aActor,
609
        const paramType& aVar) -> void
610
0
{
611
0
    WriteIPDLParam(aMsg, aActor, (aVar).rect());
612
0
    // Sentinel = 'rect'
613
0
    (aMsg)->WriteSentinel(438776542);
614
0
    WriteIPDLParam(aMsg, aActor, (aVar).rotation());
615
0
    // Sentinel = 'rotation'
616
0
    (aMsg)->WriteSentinel(289872474);
617
0
}
618
619
auto IPDLParamTraits<mozilla::layers::ThebesBufferData>::Read(
620
        const IPC::Message* aMsg,
621
        PickleIterator* aIter,
622
        mozilla::ipc::IProtocol* aActor,
623
        paramType* aVar) -> bool
624
0
{
625
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->rect())))))) {
626
0
        (aActor)->FatalError("Error deserializing 'rect' (IntRect) member of 'ThebesBufferData'");
627
0
        return false;
628
0
    }
629
0
    // Sentinel = 'rect'
630
0
    if ((!((aMsg)->ReadSentinel(aIter, 438776542)))) {
631
0
        mozilla::ipc::SentinelReadError("Error deserializing 'rect' (IntRect) member of 'ThebesBufferData'");
632
0
        return false;
633
0
    }
634
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->rotation())))))) {
635
0
        (aActor)->FatalError("Error deserializing 'rotation' (IntPoint) member of 'ThebesBufferData'");
636
0
        return false;
637
0
    }
638
0
    // Sentinel = 'rotation'
639
0
    if ((!((aMsg)->ReadSentinel(aIter, 289872474)))) {
640
0
        mozilla::ipc::SentinelReadError("Error deserializing 'rotation' (IntPoint) member of 'ThebesBufferData'");
641
0
        return false;
642
0
    }
643
0
    return true;
644
0
}
645
646
} // namespace ipc
647
} // namespace mozilla
648
649
//-----------------------------------------------------------------------------
650
// Method definitions for the IPDL type |struct CubicBezierFunction|
651
//
652
namespace mozilla {
653
namespace layers {
654
auto CubicBezierFunction::operator==(const CubicBezierFunction& _o) const -> bool
655
0
{
656
0
    if ((!((x1()) == ((_o).x1())))) {
657
0
        return false;
658
0
    }
659
0
    if ((!((y1()) == ((_o).y1())))) {
660
0
        return false;
661
0
    }
662
0
    if ((!((x2()) == ((_o).x2())))) {
663
0
        return false;
664
0
    }
665
0
    if ((!((y2()) == ((_o).y2())))) {
666
0
        return false;
667
0
    }
668
0
    return true;
669
0
}
670
671
auto CubicBezierFunction::operator!=(const CubicBezierFunction& _o) const -> bool
672
0
{
673
0
    return (!(operator==(_o)));
674
0
}
675
676
} // namespace layers
677
} // namespace mozilla
678
679
namespace mozilla {
680
namespace ipc {
681
auto IPDLParamTraits<mozilla::layers::CubicBezierFunction>::Write(
682
        IPC::Message* aMsg,
683
        mozilla::ipc::IProtocol* aActor,
684
        const paramType& aVar) -> void
685
0
{
686
0
    WriteIPDLParam(aMsg, aActor, (aVar).x1());
687
0
    // Sentinel = 'x1'
688
0
    (aMsg)->WriteSentinel(739453787);
689
0
    WriteIPDLParam(aMsg, aActor, (aVar).y1());
690
0
    // Sentinel = 'y1'
691
0
    (aMsg)->WriteSentinel(2893099544);
692
0
    WriteIPDLParam(aMsg, aActor, (aVar).x2());
693
0
    // Sentinel = 'x2'
694
0
    (aMsg)->WriteSentinel(739453784);
695
0
    WriteIPDLParam(aMsg, aActor, (aVar).y2());
696
0
    // Sentinel = 'y2'
697
0
    (aMsg)->WriteSentinel(2893099547);
698
0
}
699
700
auto IPDLParamTraits<mozilla::layers::CubicBezierFunction>::Read(
701
        const IPC::Message* aMsg,
702
        PickleIterator* aIter,
703
        mozilla::ipc::IProtocol* aActor,
704
        paramType* aVar) -> bool
705
0
{
706
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->x1())))))) {
707
0
        (aActor)->FatalError("Error deserializing 'x1' (float) member of 'CubicBezierFunction'");
708
0
        return false;
709
0
    }
710
0
    // Sentinel = 'x1'
711
0
    if ((!((aMsg)->ReadSentinel(aIter, 739453787)))) {
712
0
        mozilla::ipc::SentinelReadError("Error deserializing 'x1' (float) member of 'CubicBezierFunction'");
713
0
        return false;
714
0
    }
715
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->y1())))))) {
716
0
        (aActor)->FatalError("Error deserializing 'y1' (float) member of 'CubicBezierFunction'");
717
0
        return false;
718
0
    }
719
0
    // Sentinel = 'y1'
720
0
    if ((!((aMsg)->ReadSentinel(aIter, 2893099544)))) {
721
0
        mozilla::ipc::SentinelReadError("Error deserializing 'y1' (float) member of 'CubicBezierFunction'");
722
0
        return false;
723
0
    }
724
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->x2())))))) {
725
0
        (aActor)->FatalError("Error deserializing 'x2' (float) member of 'CubicBezierFunction'");
726
0
        return false;
727
0
    }
728
0
    // Sentinel = 'x2'
729
0
    if ((!((aMsg)->ReadSentinel(aIter, 739453784)))) {
730
0
        mozilla::ipc::SentinelReadError("Error deserializing 'x2' (float) member of 'CubicBezierFunction'");
731
0
        return false;
732
0
    }
733
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->y2())))))) {
734
0
        (aActor)->FatalError("Error deserializing 'y2' (float) member of 'CubicBezierFunction'");
735
0
        return false;
736
0
    }
737
0
    // Sentinel = 'y2'
738
0
    if ((!((aMsg)->ReadSentinel(aIter, 2893099547)))) {
739
0
        mozilla::ipc::SentinelReadError("Error deserializing 'y2' (float) member of 'CubicBezierFunction'");
740
0
        return false;
741
0
    }
742
0
    return true;
743
0
}
744
745
} // namespace ipc
746
} // namespace mozilla
747
748
//-----------------------------------------------------------------------------
749
// Method definitions for the IPDL type |struct StepFunction|
750
//
751
namespace mozilla {
752
namespace layers {
753
auto StepFunction::operator==(const StepFunction& _o) const -> bool
754
0
{
755
0
    if ((!((steps()) == ((_o).steps())))) {
756
0
        return false;
757
0
    }
758
0
    if ((!((type()) == ((_o).type())))) {
759
0
        return false;
760
0
    }
761
0
    return true;
762
0
}
763
764
auto StepFunction::operator!=(const StepFunction& _o) const -> bool
765
0
{
766
0
    return (!(operator==(_o)));
767
0
}
768
769
} // namespace layers
770
} // namespace mozilla
771
772
namespace mozilla {
773
namespace ipc {
774
auto IPDLParamTraits<mozilla::layers::StepFunction>::Write(
775
        IPC::Message* aMsg,
776
        mozilla::ipc::IProtocol* aActor,
777
        const paramType& aVar) -> void
778
0
{
779
0
    WriteIPDLParam(aMsg, aActor, (aVar).steps());
780
0
    // Sentinel = 'steps'
781
0
    (aMsg)->WriteSentinel(713197172);
782
0
    WriteIPDLParam(aMsg, aActor, (aVar).type());
783
0
    // Sentinel = 'type'
784
0
    (aMsg)->WriteSentinel(2982068540);
785
0
}
786
787
auto IPDLParamTraits<mozilla::layers::StepFunction>::Read(
788
        const IPC::Message* aMsg,
789
        PickleIterator* aIter,
790
        mozilla::ipc::IProtocol* aActor,
791
        paramType* aVar) -> bool
792
0
{
793
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->steps())))))) {
794
0
        (aActor)->FatalError("Error deserializing 'steps' (int) member of 'StepFunction'");
795
0
        return false;
796
0
    }
797
0
    // Sentinel = 'steps'
798
0
    if ((!((aMsg)->ReadSentinel(aIter, 713197172)))) {
799
0
        mozilla::ipc::SentinelReadError("Error deserializing 'steps' (int) member of 'StepFunction'");
800
0
        return false;
801
0
    }
802
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->type())))))) {
803
0
        (aActor)->FatalError("Error deserializing 'type' (int) member of 'StepFunction'");
804
0
        return false;
805
0
    }
806
0
    // Sentinel = 'type'
807
0
    if ((!((aMsg)->ReadSentinel(aIter, 2982068540)))) {
808
0
        mozilla::ipc::SentinelReadError("Error deserializing 'type' (int) member of 'StepFunction'");
809
0
        return false;
810
0
    }
811
0
    return true;
812
0
}
813
814
} // namespace ipc
815
} // namespace mozilla
816
817
//-----------------------------------------------------------------------------
818
// Method definitions for the IPDL type |struct FramesFunction|
819
//
820
namespace mozilla {
821
namespace layers {
822
auto FramesFunction::operator==(const FramesFunction& _o) const -> bool
823
0
{
824
0
    if ((!((frames()) == ((_o).frames())))) {
825
0
        return false;
826
0
    }
827
0
    return true;
828
0
}
829
830
auto FramesFunction::operator!=(const FramesFunction& _o) const -> bool
831
0
{
832
0
    return (!(operator==(_o)));
833
0
}
834
835
} // namespace layers
836
} // namespace mozilla
837
838
namespace mozilla {
839
namespace ipc {
840
auto IPDLParamTraits<mozilla::layers::FramesFunction>::Write(
841
        IPC::Message* aMsg,
842
        mozilla::ipc::IProtocol* aActor,
843
        const paramType& aVar) -> void
844
0
{
845
0
    WriteIPDLParam(aMsg, aActor, (aVar).frames());
846
0
    // Sentinel = 'frames'
847
0
    (aMsg)->WriteSentinel(3065599768);
848
0
}
849
850
auto IPDLParamTraits<mozilla::layers::FramesFunction>::Read(
851
        const IPC::Message* aMsg,
852
        PickleIterator* aIter,
853
        mozilla::ipc::IProtocol* aActor,
854
        paramType* aVar) -> bool
855
0
{
856
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->frames())))))) {
857
0
        (aActor)->FatalError("Error deserializing 'frames' (int) member of 'FramesFunction'");
858
0
        return false;
859
0
    }
860
0
    // Sentinel = 'frames'
861
0
    if ((!((aMsg)->ReadSentinel(aIter, 3065599768)))) {
862
0
        mozilla::ipc::SentinelReadError("Error deserializing 'frames' (int) member of 'FramesFunction'");
863
0
        return false;
864
0
    }
865
0
    return true;
866
0
}
867
868
} // namespace ipc
869
} // namespace mozilla
870
871
//-----------------------------------------------------------------------------
872
// Method definitions for the IPDL type |union TimingFunction|
873
//
874
namespace mozilla {
875
namespace layers {
876
auto TimingFunction::MaybeDestroy(Type aNewType) -> bool
877
0
{
878
0
    if ((mType) == (T__None)) {
879
0
        return true;
880
0
    }
881
0
    if ((mType) == (aNewType)) {
882
0
        return false;
883
0
    }
884
0
    switch (mType) {
885
0
    case Tnull_t:
886
0
        {
887
0
            (ptr_null_t())->~null_t__tdef();
888
0
            break;
889
0
        }
890
0
    case TCubicBezierFunction:
891
0
        {
892
0
            (ptr_CubicBezierFunction())->~CubicBezierFunction__tdef();
893
0
            break;
894
0
        }
895
0
    case TStepFunction:
896
0
        {
897
0
            (ptr_StepFunction())->~StepFunction__tdef();
898
0
            break;
899
0
        }
900
0
    case TFramesFunction:
901
0
        {
902
0
            (ptr_FramesFunction())->~FramesFunction__tdef();
903
0
            break;
904
0
        }
905
0
    default:
906
0
        {
907
0
            mozilla::ipc::LogicError("not reached");
908
0
            break;
909
0
        }
910
0
    }
911
0
    return true;
912
0
}
913
914
MOZ_IMPLICIT TimingFunction::TimingFunction(const null_t& aOther)
915
0
{
916
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(aOther);
917
0
    mType = Tnull_t;
918
0
}
919
920
MOZ_IMPLICIT TimingFunction::TimingFunction(null_t&& aOther)
921
0
{
922
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move(aOther));
923
0
    mType = Tnull_t;
924
0
}
925
926
MOZ_IMPLICIT TimingFunction::TimingFunction(const CubicBezierFunction& aOther)
927
0
{
928
0
    new (mozilla::KnownNotNull, ptr_CubicBezierFunction()) CubicBezierFunction(aOther);
929
0
    mType = TCubicBezierFunction;
930
0
}
931
932
MOZ_IMPLICIT TimingFunction::TimingFunction(CubicBezierFunction&& aOther)
933
0
{
934
0
    new (mozilla::KnownNotNull, ptr_CubicBezierFunction()) CubicBezierFunction(std::move(aOther));
935
0
    mType = TCubicBezierFunction;
936
0
}
937
938
MOZ_IMPLICIT TimingFunction::TimingFunction(const StepFunction& aOther)
939
0
{
940
0
    new (mozilla::KnownNotNull, ptr_StepFunction()) StepFunction(aOther);
941
0
    mType = TStepFunction;
942
0
}
943
944
MOZ_IMPLICIT TimingFunction::TimingFunction(StepFunction&& aOther)
945
0
{
946
0
    new (mozilla::KnownNotNull, ptr_StepFunction()) StepFunction(std::move(aOther));
947
0
    mType = TStepFunction;
948
0
}
949
950
MOZ_IMPLICIT TimingFunction::TimingFunction(const FramesFunction& aOther)
951
0
{
952
0
    new (mozilla::KnownNotNull, ptr_FramesFunction()) FramesFunction(aOther);
953
0
    mType = TFramesFunction;
954
0
}
955
956
MOZ_IMPLICIT TimingFunction::TimingFunction(FramesFunction&& aOther)
957
0
{
958
0
    new (mozilla::KnownNotNull, ptr_FramesFunction()) FramesFunction(std::move(aOther));
959
0
    mType = TFramesFunction;
960
0
}
961
962
MOZ_IMPLICIT TimingFunction::TimingFunction(const TimingFunction& aOther)
963
0
{
964
0
    (aOther).AssertSanity();
965
0
    switch ((aOther).type()) {
966
0
    case Tnull_t:
967
0
        {
968
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t((aOther).get_null_t());
969
0
            break;
970
0
        }
971
0
    case TCubicBezierFunction:
972
0
        {
973
0
            new (mozilla::KnownNotNull, ptr_CubicBezierFunction()) CubicBezierFunction((aOther).get_CubicBezierFunction());
974
0
            break;
975
0
        }
976
0
    case TStepFunction:
977
0
        {
978
0
            new (mozilla::KnownNotNull, ptr_StepFunction()) StepFunction((aOther).get_StepFunction());
979
0
            break;
980
0
        }
981
0
    case TFramesFunction:
982
0
        {
983
0
            new (mozilla::KnownNotNull, ptr_FramesFunction()) FramesFunction((aOther).get_FramesFunction());
984
0
            break;
985
0
        }
986
0
    case T__None:
987
0
        {
988
0
            break;
989
0
        }
990
0
    default:
991
0
        {
992
0
            mozilla::ipc::LogicError("unreached");
993
0
            return;
994
0
        }
995
0
    }
996
0
    mType = (aOther).type();
997
0
}
998
999
MOZ_IMPLICIT TimingFunction::TimingFunction(TimingFunction&& aOther)
1000
0
{
1001
0
    (aOther).AssertSanity();
1002
0
    Type t = (aOther).type();
1003
0
    switch (t) {
1004
0
    case Tnull_t:
1005
0
        {
1006
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move((aOther).get_null_t()));
1007
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
1008
0
            break;
1009
0
        }
1010
0
    case TCubicBezierFunction:
1011
0
        {
1012
0
            new (mozilla::KnownNotNull, ptr_CubicBezierFunction()) CubicBezierFunction(std::move((aOther).get_CubicBezierFunction()));
1013
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
1014
0
            break;
1015
0
        }
1016
0
    case TStepFunction:
1017
0
        {
1018
0
            new (mozilla::KnownNotNull, ptr_StepFunction()) StepFunction(std::move((aOther).get_StepFunction()));
1019
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
1020
0
            break;
1021
0
        }
1022
0
    case TFramesFunction:
1023
0
        {
1024
0
            new (mozilla::KnownNotNull, ptr_FramesFunction()) FramesFunction(std::move((aOther).get_FramesFunction()));
1025
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
1026
0
            break;
1027
0
        }
1028
0
    case T__None:
1029
0
        {
1030
0
            break;
1031
0
        }
1032
0
    default:
1033
0
        {
1034
0
            mozilla::ipc::LogicError("unreached");
1035
0
            return;
1036
0
        }
1037
0
    }
1038
0
    (aOther).mType = T__None;
1039
0
    mType = t;
1040
0
}
1041
1042
TimingFunction::~TimingFunction()
1043
0
{
1044
0
    static_cast<void>(MaybeDestroy(T__None));
1045
0
}
1046
1047
auto TimingFunction::operator=(const null_t& aRhs) -> TimingFunction&
1048
0
{
1049
0
    if (MaybeDestroy(Tnull_t)) {
1050
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
1051
0
    }
1052
0
    (*(ptr_null_t())) = aRhs;
1053
0
    mType = Tnull_t;
1054
0
    return (*(this));
1055
0
}
1056
1057
auto TimingFunction::operator=(null_t&& aRhs) -> TimingFunction&
1058
0
{
1059
0
    if (MaybeDestroy(Tnull_t)) {
1060
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
1061
0
    }
1062
0
    (*(ptr_null_t())) = std::move(aRhs);
1063
0
    mType = Tnull_t;
1064
0
    return (*(this));
1065
0
}
1066
1067
auto TimingFunction::operator=(const CubicBezierFunction& aRhs) -> TimingFunction&
1068
0
{
1069
0
    if (MaybeDestroy(TCubicBezierFunction)) {
1070
0
        new (mozilla::KnownNotNull, ptr_CubicBezierFunction()) CubicBezierFunction;
1071
0
    }
1072
0
    (*(ptr_CubicBezierFunction())) = aRhs;
1073
0
    mType = TCubicBezierFunction;
1074
0
    return (*(this));
1075
0
}
1076
1077
auto TimingFunction::operator=(CubicBezierFunction&& aRhs) -> TimingFunction&
1078
0
{
1079
0
    if (MaybeDestroy(TCubicBezierFunction)) {
1080
0
        new (mozilla::KnownNotNull, ptr_CubicBezierFunction()) CubicBezierFunction;
1081
0
    }
1082
0
    (*(ptr_CubicBezierFunction())) = std::move(aRhs);
1083
0
    mType = TCubicBezierFunction;
1084
0
    return (*(this));
1085
0
}
1086
1087
auto TimingFunction::operator=(const StepFunction& aRhs) -> TimingFunction&
1088
0
{
1089
0
    if (MaybeDestroy(TStepFunction)) {
1090
0
        new (mozilla::KnownNotNull, ptr_StepFunction()) StepFunction;
1091
0
    }
1092
0
    (*(ptr_StepFunction())) = aRhs;
1093
0
    mType = TStepFunction;
1094
0
    return (*(this));
1095
0
}
1096
1097
auto TimingFunction::operator=(StepFunction&& aRhs) -> TimingFunction&
1098
0
{
1099
0
    if (MaybeDestroy(TStepFunction)) {
1100
0
        new (mozilla::KnownNotNull, ptr_StepFunction()) StepFunction;
1101
0
    }
1102
0
    (*(ptr_StepFunction())) = std::move(aRhs);
1103
0
    mType = TStepFunction;
1104
0
    return (*(this));
1105
0
}
1106
1107
auto TimingFunction::operator=(const FramesFunction& aRhs) -> TimingFunction&
1108
0
{
1109
0
    if (MaybeDestroy(TFramesFunction)) {
1110
0
        new (mozilla::KnownNotNull, ptr_FramesFunction()) FramesFunction;
1111
0
    }
1112
0
    (*(ptr_FramesFunction())) = aRhs;
1113
0
    mType = TFramesFunction;
1114
0
    return (*(this));
1115
0
}
1116
1117
auto TimingFunction::operator=(FramesFunction&& aRhs) -> TimingFunction&
1118
0
{
1119
0
    if (MaybeDestroy(TFramesFunction)) {
1120
0
        new (mozilla::KnownNotNull, ptr_FramesFunction()) FramesFunction;
1121
0
    }
1122
0
    (*(ptr_FramesFunction())) = std::move(aRhs);
1123
0
    mType = TFramesFunction;
1124
0
    return (*(this));
1125
0
}
1126
1127
auto TimingFunction::operator=(const TimingFunction& aRhs) -> TimingFunction&
1128
0
{
1129
0
    (aRhs).AssertSanity();
1130
0
    Type t = (aRhs).type();
1131
0
    switch (t) {
1132
0
    case Tnull_t:
1133
0
        {
1134
0
            if (MaybeDestroy(t)) {
1135
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
1136
0
            }
1137
0
            (*(ptr_null_t())) = (aRhs).get_null_t();
1138
0
            break;
1139
0
        }
1140
0
    case TCubicBezierFunction:
1141
0
        {
1142
0
            if (MaybeDestroy(t)) {
1143
0
                new (mozilla::KnownNotNull, ptr_CubicBezierFunction()) CubicBezierFunction;
1144
0
            }
1145
0
            (*(ptr_CubicBezierFunction())) = (aRhs).get_CubicBezierFunction();
1146
0
            break;
1147
0
        }
1148
0
    case TStepFunction:
1149
0
        {
1150
0
            if (MaybeDestroy(t)) {
1151
0
                new (mozilla::KnownNotNull, ptr_StepFunction()) StepFunction;
1152
0
            }
1153
0
            (*(ptr_StepFunction())) = (aRhs).get_StepFunction();
1154
0
            break;
1155
0
        }
1156
0
    case TFramesFunction:
1157
0
        {
1158
0
            if (MaybeDestroy(t)) {
1159
0
                new (mozilla::KnownNotNull, ptr_FramesFunction()) FramesFunction;
1160
0
            }
1161
0
            (*(ptr_FramesFunction())) = (aRhs).get_FramesFunction();
1162
0
            break;
1163
0
        }
1164
0
    case T__None:
1165
0
        {
1166
0
            static_cast<void>(MaybeDestroy(t));
1167
0
            break;
1168
0
        }
1169
0
    default:
1170
0
        {
1171
0
            mozilla::ipc::LogicError("unreached");
1172
0
            break;
1173
0
        }
1174
0
    }
1175
0
    mType = t;
1176
0
    return (*(this));
1177
0
}
1178
1179
auto TimingFunction::operator=(TimingFunction&& aRhs) -> TimingFunction&
1180
0
{
1181
0
    (aRhs).AssertSanity();
1182
0
    Type t = (aRhs).type();
1183
0
    switch (t) {
1184
0
    case Tnull_t:
1185
0
        {
1186
0
            if (MaybeDestroy(t)) {
1187
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
1188
0
            }
1189
0
            (*(ptr_null_t())) = std::move((aRhs).get_null_t());
1190
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
1191
0
            break;
1192
0
        }
1193
0
    case TCubicBezierFunction:
1194
0
        {
1195
0
            if (MaybeDestroy(t)) {
1196
0
                new (mozilla::KnownNotNull, ptr_CubicBezierFunction()) CubicBezierFunction;
1197
0
            }
1198
0
            (*(ptr_CubicBezierFunction())) = std::move((aRhs).get_CubicBezierFunction());
1199
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
1200
0
            break;
1201
0
        }
1202
0
    case TStepFunction:
1203
0
        {
1204
0
            if (MaybeDestroy(t)) {
1205
0
                new (mozilla::KnownNotNull, ptr_StepFunction()) StepFunction;
1206
0
            }
1207
0
            (*(ptr_StepFunction())) = std::move((aRhs).get_StepFunction());
1208
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
1209
0
            break;
1210
0
        }
1211
0
    case TFramesFunction:
1212
0
        {
1213
0
            if (MaybeDestroy(t)) {
1214
0
                new (mozilla::KnownNotNull, ptr_FramesFunction()) FramesFunction;
1215
0
            }
1216
0
            (*(ptr_FramesFunction())) = std::move((aRhs).get_FramesFunction());
1217
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
1218
0
            break;
1219
0
        }
1220
0
    case T__None:
1221
0
        {
1222
0
            static_cast<void>(MaybeDestroy(t));
1223
0
            break;
1224
0
        }
1225
0
    default:
1226
0
        {
1227
0
            mozilla::ipc::LogicError("unreached");
1228
0
            break;
1229
0
        }
1230
0
    }
1231
0
    (aRhs).mType = T__None;
1232
0
    mType = t;
1233
0
    return (*(this));
1234
0
}
1235
1236
auto TimingFunction::operator==(const null_t& aRhs) const -> bool
1237
0
{
1238
0
    return (get_null_t()) == (aRhs);
1239
0
}
1240
1241
auto TimingFunction::operator==(const CubicBezierFunction& aRhs) const -> bool
1242
0
{
1243
0
    return (get_CubicBezierFunction()) == (aRhs);
1244
0
}
1245
1246
auto TimingFunction::operator==(const StepFunction& aRhs) const -> bool
1247
0
{
1248
0
    return (get_StepFunction()) == (aRhs);
1249
0
}
1250
1251
auto TimingFunction::operator==(const FramesFunction& aRhs) const -> bool
1252
0
{
1253
0
    return (get_FramesFunction()) == (aRhs);
1254
0
}
1255
1256
auto TimingFunction::operator==(const TimingFunction& aRhs) const -> bool
1257
0
{
1258
0
    if ((type()) != ((aRhs).type())) {
1259
0
        return false;
1260
0
    }
1261
0
1262
0
    switch (type()) {
1263
0
    case Tnull_t:
1264
0
        {
1265
0
            return (get_null_t()) == ((aRhs).get_null_t());
1266
0
        }
1267
0
    case TCubicBezierFunction:
1268
0
        {
1269
0
            return (get_CubicBezierFunction()) == ((aRhs).get_CubicBezierFunction());
1270
0
        }
1271
0
    case TStepFunction:
1272
0
        {
1273
0
            return (get_StepFunction()) == ((aRhs).get_StepFunction());
1274
0
        }
1275
0
    case TFramesFunction:
1276
0
        {
1277
0
            return (get_FramesFunction()) == ((aRhs).get_FramesFunction());
1278
0
        }
1279
0
    default:
1280
0
        {
1281
0
            mozilla::ipc::LogicError("unreached");
1282
0
            return false;
1283
0
        }
1284
0
    }
1285
0
}
1286
1287
auto TimingFunction::get(null_t* aOutValue) const -> void
1288
0
{
1289
0
    (*(aOutValue)) = get_null_t();
1290
0
}
1291
1292
auto TimingFunction::get(CubicBezierFunction* aOutValue) const -> void
1293
0
{
1294
0
    (*(aOutValue)) = get_CubicBezierFunction();
1295
0
}
1296
1297
auto TimingFunction::get(StepFunction* aOutValue) const -> void
1298
0
{
1299
0
    (*(aOutValue)) = get_StepFunction();
1300
0
}
1301
1302
auto TimingFunction::get(FramesFunction* aOutValue) const -> void
1303
0
{
1304
0
    (*(aOutValue)) = get_FramesFunction();
1305
0
}
1306
1307
} // namespace layers
1308
} // namespace mozilla
1309
1310
namespace mozilla {
1311
namespace ipc {
1312
auto IPDLParamTraits<mozilla::layers::TimingFunction>::Write(
1313
        IPC::Message* aMsg,
1314
        mozilla::ipc::IProtocol* aActor,
1315
        const paramType& aVar) -> void
1316
{
1317
    typedef mozilla::layers::TimingFunction union__;
1318
    int type;
1319
    type = (aVar).type();
1320
    WriteIPDLParam(aMsg, aActor, type);
1321
    // Sentinel = 'TimingFunction'
1322
    (aMsg)->WriteSentinel(1340109572);
1323
1324
    switch (type) {
1325
    case union__::Tnull_t:
1326
        {
1327
            WriteIPDLParam(aMsg, aActor, (aVar).get_null_t());
1328
            // Sentinel = 'Tnull_t'
1329
            (aMsg)->WriteSentinel(3731137201);
1330
            return;
1331
        }
1332
    case union__::TCubicBezierFunction:
1333
        {
1334
            WriteIPDLParam(aMsg, aActor, (aVar).get_CubicBezierFunction());
1335
            // Sentinel = 'TCubicBezierFunction'
1336
            (aMsg)->WriteSentinel(258133495);
1337
            return;
1338
        }
1339
    case union__::TStepFunction:
1340
        {
1341
            WriteIPDLParam(aMsg, aActor, (aVar).get_StepFunction());
1342
            // Sentinel = 'TStepFunction'
1343
            (aMsg)->WriteSentinel(2005731339);
1344
            return;
1345
        }
1346
    case union__::TFramesFunction:
1347
        {
1348
            WriteIPDLParam(aMsg, aActor, (aVar).get_FramesFunction());
1349
            // Sentinel = 'TFramesFunction'
1350
            (aMsg)->WriteSentinel(492999321);
1351
            return;
1352
        }
1353
    default:
1354
        {
1355
            (aActor)->FatalError("unknown union type");
1356
            return;
1357
        }
1358
    }
1359
}
1360
1361
auto IPDLParamTraits<mozilla::layers::TimingFunction>::Read(
1362
        const IPC::Message* aMsg,
1363
        PickleIterator* aIter,
1364
        mozilla::ipc::IProtocol* aActor,
1365
        paramType* aVar) -> bool
1366
0
{
1367
0
    typedef mozilla::layers::TimingFunction union__;
1368
0
    int type;
1369
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
1370
0
        (aActor)->FatalError("Error deserializing type of union TimingFunction");
1371
0
        return false;
1372
0
    }
1373
0
    // Sentinel = 'TimingFunction'
1374
0
    if ((!((aMsg)->ReadSentinel(aIter, 1340109572)))) {
1375
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union TimingFunction");
1376
0
        return false;
1377
0
    }
1378
0
1379
0
    switch (type) {
1380
0
    case union__::Tnull_t:
1381
0
        {
1382
0
            mozilla::null_t tmp = mozilla::null_t();
1383
0
            (*(aVar)) = tmp;
1384
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_null_t())))))) {
1385
0
                (aActor)->FatalError("Error deserializing variant Tnull_t of union TimingFunction");
1386
0
                return false;
1387
0
            }
1388
0
            // Sentinel = 'Tnull_t'
1389
0
            if ((!((aMsg)->ReadSentinel(aIter, 3731137201)))) {
1390
0
                mozilla::ipc::SentinelReadError("Error deserializing variant Tnull_t of union TimingFunction");
1391
0
                return false;
1392
0
            }
1393
0
            return true;
1394
0
        }
1395
0
    case union__::TCubicBezierFunction:
1396
0
        {
1397
0
            mozilla::layers::CubicBezierFunction tmp = mozilla::layers::CubicBezierFunction();
1398
0
            (*(aVar)) = tmp;
1399
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_CubicBezierFunction())))))) {
1400
0
                (aActor)->FatalError("Error deserializing variant TCubicBezierFunction of union TimingFunction");
1401
0
                return false;
1402
0
            }
1403
0
            // Sentinel = 'TCubicBezierFunction'
1404
0
            if ((!((aMsg)->ReadSentinel(aIter, 258133495)))) {
1405
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TCubicBezierFunction of union TimingFunction");
1406
0
                return false;
1407
0
            }
1408
0
            return true;
1409
0
        }
1410
0
    case union__::TStepFunction:
1411
0
        {
1412
0
            mozilla::layers::StepFunction tmp = mozilla::layers::StepFunction();
1413
0
            (*(aVar)) = tmp;
1414
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_StepFunction())))))) {
1415
0
                (aActor)->FatalError("Error deserializing variant TStepFunction of union TimingFunction");
1416
0
                return false;
1417
0
            }
1418
0
            // Sentinel = 'TStepFunction'
1419
0
            if ((!((aMsg)->ReadSentinel(aIter, 2005731339)))) {
1420
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TStepFunction of union TimingFunction");
1421
0
                return false;
1422
0
            }
1423
0
            return true;
1424
0
        }
1425
0
    case union__::TFramesFunction:
1426
0
        {
1427
0
            mozilla::layers::FramesFunction tmp = mozilla::layers::FramesFunction();
1428
0
            (*(aVar)) = tmp;
1429
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_FramesFunction())))))) {
1430
0
                (aActor)->FatalError("Error deserializing variant TFramesFunction of union TimingFunction");
1431
0
                return false;
1432
0
            }
1433
0
            // Sentinel = 'TFramesFunction'
1434
0
            if ((!((aMsg)->ReadSentinel(aIter, 492999321)))) {
1435
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TFramesFunction of union TimingFunction");
1436
0
                return false;
1437
0
            }
1438
0
            return true;
1439
0
        }
1440
0
    default:
1441
0
        {
1442
0
            (aActor)->FatalError("unknown union type");
1443
0
            return false;
1444
0
        }
1445
0
    }
1446
0
}
1447
1448
} // namespace ipc
1449
} // namespace mozilla
1450
1451
//-----------------------------------------------------------------------------
1452
// Method definitions for the IPDL type |struct CSSAngle|
1453
//
1454
namespace mozilla {
1455
namespace layers {
1456
auto CSSAngle::operator==(const CSSAngle& _o) const -> bool
1457
0
{
1458
0
    if ((!((value()) == ((_o).value())))) {
1459
0
        return false;
1460
0
    }
1461
0
    if ((!((unit()) == ((_o).unit())))) {
1462
0
        return false;
1463
0
    }
1464
0
    return true;
1465
0
}
1466
1467
auto CSSAngle::operator!=(const CSSAngle& _o) const -> bool
1468
0
{
1469
0
    return (!(operator==(_o)));
1470
0
}
1471
1472
} // namespace layers
1473
} // namespace mozilla
1474
1475
namespace mozilla {
1476
namespace ipc {
1477
auto IPDLParamTraits<mozilla::layers::CSSAngle>::Write(
1478
        IPC::Message* aMsg,
1479
        mozilla::ipc::IProtocol* aActor,
1480
        const paramType& aVar) -> void
1481
0
{
1482
0
    WriteIPDLParam(aMsg, aActor, (aVar).value());
1483
0
    // Sentinel = 'value'
1484
0
    (aMsg)->WriteSentinel(3456818542);
1485
0
    WriteIPDLParam(aMsg, aActor, (aVar).unit());
1486
0
    // Sentinel = 'unit'
1487
0
    (aMsg)->WriteSentinel(1305575710);
1488
0
}
1489
1490
auto IPDLParamTraits<mozilla::layers::CSSAngle>::Read(
1491
        const IPC::Message* aMsg,
1492
        PickleIterator* aIter,
1493
        mozilla::ipc::IProtocol* aActor,
1494
        paramType* aVar) -> bool
1495
0
{
1496
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->value())))))) {
1497
0
        (aActor)->FatalError("Error deserializing 'value' (float) member of 'CSSAngle'");
1498
0
        return false;
1499
0
    }
1500
0
    // Sentinel = 'value'
1501
0
    if ((!((aMsg)->ReadSentinel(aIter, 3456818542)))) {
1502
0
        mozilla::ipc::SentinelReadError("Error deserializing 'value' (float) member of 'CSSAngle'");
1503
0
        return false;
1504
0
    }
1505
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->unit())))))) {
1506
0
        (aActor)->FatalError("Error deserializing 'unit' (int) member of 'CSSAngle'");
1507
0
        return false;
1508
0
    }
1509
0
    // Sentinel = 'unit'
1510
0
    if ((!((aMsg)->ReadSentinel(aIter, 1305575710)))) {
1511
0
        mozilla::ipc::SentinelReadError("Error deserializing 'unit' (int) member of 'CSSAngle'");
1512
0
        return false;
1513
0
    }
1514
0
    return true;
1515
0
}
1516
1517
} // namespace ipc
1518
} // namespace mozilla
1519
1520
//-----------------------------------------------------------------------------
1521
// Method definitions for the IPDL type |struct LayerColor|
1522
//
1523
namespace mozilla {
1524
namespace layers {
1525
auto LayerColor::operator==(const LayerColor& _o) const -> bool
1526
0
{
1527
0
    if ((!((value()) == ((_o).value())))) {
1528
0
        return false;
1529
0
    }
1530
0
    return true;
1531
0
}
1532
1533
auto LayerColor::operator!=(const LayerColor& _o) const -> bool
1534
0
{
1535
0
    return (!(operator==(_o)));
1536
0
}
1537
1538
} // namespace layers
1539
} // namespace mozilla
1540
1541
namespace mozilla {
1542
namespace ipc {
1543
auto IPDLParamTraits<mozilla::layers::LayerColor>::Write(
1544
        IPC::Message* aMsg,
1545
        mozilla::ipc::IProtocol* aActor,
1546
        const paramType& aVar) -> void
1547
0
{
1548
0
    WriteIPDLParam(aMsg, aActor, (aVar).value());
1549
0
    // Sentinel = 'value'
1550
0
    (aMsg)->WriteSentinel(3456818542);
1551
0
}
1552
1553
auto IPDLParamTraits<mozilla::layers::LayerColor>::Read(
1554
        const IPC::Message* aMsg,
1555
        PickleIterator* aIter,
1556
        mozilla::ipc::IProtocol* aActor,
1557
        paramType* aVar) -> bool
1558
0
{
1559
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->value())))))) {
1560
0
        (aActor)->FatalError("Error deserializing 'value' (Color) member of 'LayerColor'");
1561
0
        return false;
1562
0
    }
1563
0
    // Sentinel = 'value'
1564
0
    if ((!((aMsg)->ReadSentinel(aIter, 3456818542)))) {
1565
0
        mozilla::ipc::SentinelReadError("Error deserializing 'value' (Color) member of 'LayerColor'");
1566
0
        return false;
1567
0
    }
1568
0
    return true;
1569
0
}
1570
1571
} // namespace ipc
1572
} // namespace mozilla
1573
1574
//-----------------------------------------------------------------------------
1575
// Method definitions for the IPDL type |struct Perspective|
1576
//
1577
namespace mozilla {
1578
namespace layers {
1579
auto Perspective::operator==(const Perspective& _o) const -> bool
1580
0
{
1581
0
    if ((!((value()) == ((_o).value())))) {
1582
0
        return false;
1583
0
    }
1584
0
    return true;
1585
0
}
1586
1587
auto Perspective::operator!=(const Perspective& _o) const -> bool
1588
0
{
1589
0
    return (!(operator==(_o)));
1590
0
}
1591
1592
} // namespace layers
1593
} // namespace mozilla
1594
1595
namespace mozilla {
1596
namespace ipc {
1597
auto IPDLParamTraits<mozilla::layers::Perspective>::Write(
1598
        IPC::Message* aMsg,
1599
        mozilla::ipc::IProtocol* aActor,
1600
        const paramType& aVar) -> void
1601
0
{
1602
0
    WriteIPDLParam(aMsg, aActor, (aVar).value());
1603
0
    // Sentinel = 'value'
1604
0
    (aMsg)->WriteSentinel(3456818542);
1605
0
}
1606
1607
auto IPDLParamTraits<mozilla::layers::Perspective>::Read(
1608
        const IPC::Message* aMsg,
1609
        PickleIterator* aIter,
1610
        mozilla::ipc::IProtocol* aActor,
1611
        paramType* aVar) -> bool
1612
0
{
1613
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->value())))))) {
1614
0
        (aActor)->FatalError("Error deserializing 'value' (float) member of 'Perspective'");
1615
0
        return false;
1616
0
    }
1617
0
    // Sentinel = 'value'
1618
0
    if ((!((aMsg)->ReadSentinel(aIter, 3456818542)))) {
1619
0
        mozilla::ipc::SentinelReadError("Error deserializing 'value' (float) member of 'Perspective'");
1620
0
        return false;
1621
0
    }
1622
0
    return true;
1623
0
}
1624
1625
} // namespace ipc
1626
} // namespace mozilla
1627
1628
//-----------------------------------------------------------------------------
1629
// Method definitions for the IPDL type |struct RotationX|
1630
//
1631
namespace mozilla {
1632
namespace layers {
1633
auto RotationX::operator==(const RotationX& _o) const -> bool
1634
0
{
1635
0
    if ((!((angle()) == ((_o).angle())))) {
1636
0
        return false;
1637
0
    }
1638
0
    return true;
1639
0
}
1640
1641
auto RotationX::operator!=(const RotationX& _o) const -> bool
1642
0
{
1643
0
    return (!(operator==(_o)));
1644
0
}
1645
1646
} // namespace layers
1647
} // namespace mozilla
1648
1649
namespace mozilla {
1650
namespace ipc {
1651
auto IPDLParamTraits<mozilla::layers::RotationX>::Write(
1652
        IPC::Message* aMsg,
1653
        mozilla::ipc::IProtocol* aActor,
1654
        const paramType& aVar) -> void
1655
0
{
1656
0
    WriteIPDLParam(aMsg, aActor, (aVar).angle());
1657
0
    // Sentinel = 'angle'
1658
0
    (aMsg)->WriteSentinel(3388308388);
1659
0
}
1660
1661
auto IPDLParamTraits<mozilla::layers::RotationX>::Read(
1662
        const IPC::Message* aMsg,
1663
        PickleIterator* aIter,
1664
        mozilla::ipc::IProtocol* aActor,
1665
        paramType* aVar) -> bool
1666
0
{
1667
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->angle())))))) {
1668
0
        (aActor)->FatalError("Error deserializing 'angle' (CSSAngle) member of 'RotationX'");
1669
0
        return false;
1670
0
    }
1671
0
    // Sentinel = 'angle'
1672
0
    if ((!((aMsg)->ReadSentinel(aIter, 3388308388)))) {
1673
0
        mozilla::ipc::SentinelReadError("Error deserializing 'angle' (CSSAngle) member of 'RotationX'");
1674
0
        return false;
1675
0
    }
1676
0
    return true;
1677
0
}
1678
1679
} // namespace ipc
1680
} // namespace mozilla
1681
1682
//-----------------------------------------------------------------------------
1683
// Method definitions for the IPDL type |struct RotationY|
1684
//
1685
namespace mozilla {
1686
namespace layers {
1687
auto RotationY::operator==(const RotationY& _o) const -> bool
1688
0
{
1689
0
    if ((!((angle()) == ((_o).angle())))) {
1690
0
        return false;
1691
0
    }
1692
0
    return true;
1693
0
}
1694
1695
auto RotationY::operator!=(const RotationY& _o) const -> bool
1696
0
{
1697
0
    return (!(operator==(_o)));
1698
0
}
1699
1700
} // namespace layers
1701
} // namespace mozilla
1702
1703
namespace mozilla {
1704
namespace ipc {
1705
auto IPDLParamTraits<mozilla::layers::RotationY>::Write(
1706
        IPC::Message* aMsg,
1707
        mozilla::ipc::IProtocol* aActor,
1708
        const paramType& aVar) -> void
1709
0
{
1710
0
    WriteIPDLParam(aMsg, aActor, (aVar).angle());
1711
0
    // Sentinel = 'angle'
1712
0
    (aMsg)->WriteSentinel(3388308388);
1713
0
}
1714
1715
auto IPDLParamTraits<mozilla::layers::RotationY>::Read(
1716
        const IPC::Message* aMsg,
1717
        PickleIterator* aIter,
1718
        mozilla::ipc::IProtocol* aActor,
1719
        paramType* aVar) -> bool
1720
0
{
1721
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->angle())))))) {
1722
0
        (aActor)->FatalError("Error deserializing 'angle' (CSSAngle) member of 'RotationY'");
1723
0
        return false;
1724
0
    }
1725
0
    // Sentinel = 'angle'
1726
0
    if ((!((aMsg)->ReadSentinel(aIter, 3388308388)))) {
1727
0
        mozilla::ipc::SentinelReadError("Error deserializing 'angle' (CSSAngle) member of 'RotationY'");
1728
0
        return false;
1729
0
    }
1730
0
    return true;
1731
0
}
1732
1733
} // namespace ipc
1734
} // namespace mozilla
1735
1736
//-----------------------------------------------------------------------------
1737
// Method definitions for the IPDL type |struct RotationZ|
1738
//
1739
namespace mozilla {
1740
namespace layers {
1741
auto RotationZ::operator==(const RotationZ& _o) const -> bool
1742
0
{
1743
0
    if ((!((angle()) == ((_o).angle())))) {
1744
0
        return false;
1745
0
    }
1746
0
    return true;
1747
0
}
1748
1749
auto RotationZ::operator!=(const RotationZ& _o) const -> bool
1750
0
{
1751
0
    return (!(operator==(_o)));
1752
0
}
1753
1754
} // namespace layers
1755
} // namespace mozilla
1756
1757
namespace mozilla {
1758
namespace ipc {
1759
auto IPDLParamTraits<mozilla::layers::RotationZ>::Write(
1760
        IPC::Message* aMsg,
1761
        mozilla::ipc::IProtocol* aActor,
1762
        const paramType& aVar) -> void
1763
0
{
1764
0
    WriteIPDLParam(aMsg, aActor, (aVar).angle());
1765
0
    // Sentinel = 'angle'
1766
0
    (aMsg)->WriteSentinel(3388308388);
1767
0
}
1768
1769
auto IPDLParamTraits<mozilla::layers::RotationZ>::Read(
1770
        const IPC::Message* aMsg,
1771
        PickleIterator* aIter,
1772
        mozilla::ipc::IProtocol* aActor,
1773
        paramType* aVar) -> bool
1774
0
{
1775
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->angle())))))) {
1776
0
        (aActor)->FatalError("Error deserializing 'angle' (CSSAngle) member of 'RotationZ'");
1777
0
        return false;
1778
0
    }
1779
0
    // Sentinel = 'angle'
1780
0
    if ((!((aMsg)->ReadSentinel(aIter, 3388308388)))) {
1781
0
        mozilla::ipc::SentinelReadError("Error deserializing 'angle' (CSSAngle) member of 'RotationZ'");
1782
0
        return false;
1783
0
    }
1784
0
    return true;
1785
0
}
1786
1787
} // namespace ipc
1788
} // namespace mozilla
1789
1790
//-----------------------------------------------------------------------------
1791
// Method definitions for the IPDL type |struct Rotation|
1792
//
1793
namespace mozilla {
1794
namespace layers {
1795
auto Rotation::operator==(const Rotation& _o) const -> bool
1796
0
{
1797
0
    if ((!((angle()) == ((_o).angle())))) {
1798
0
        return false;
1799
0
    }
1800
0
    return true;
1801
0
}
1802
1803
auto Rotation::operator!=(const Rotation& _o) const -> bool
1804
0
{
1805
0
    return (!(operator==(_o)));
1806
0
}
1807
1808
} // namespace layers
1809
} // namespace mozilla
1810
1811
namespace mozilla {
1812
namespace ipc {
1813
auto IPDLParamTraits<mozilla::layers::Rotation>::Write(
1814
        IPC::Message* aMsg,
1815
        mozilla::ipc::IProtocol* aActor,
1816
        const paramType& aVar) -> void
1817
0
{
1818
0
    WriteIPDLParam(aMsg, aActor, (aVar).angle());
1819
0
    // Sentinel = 'angle'
1820
0
    (aMsg)->WriteSentinel(3388308388);
1821
0
}
1822
1823
auto IPDLParamTraits<mozilla::layers::Rotation>::Read(
1824
        const IPC::Message* aMsg,
1825
        PickleIterator* aIter,
1826
        mozilla::ipc::IProtocol* aActor,
1827
        paramType* aVar) -> bool
1828
0
{
1829
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->angle())))))) {
1830
0
        (aActor)->FatalError("Error deserializing 'angle' (CSSAngle) member of 'Rotation'");
1831
0
        return false;
1832
0
    }
1833
0
    // Sentinel = 'angle'
1834
0
    if ((!((aMsg)->ReadSentinel(aIter, 3388308388)))) {
1835
0
        mozilla::ipc::SentinelReadError("Error deserializing 'angle' (CSSAngle) member of 'Rotation'");
1836
0
        return false;
1837
0
    }
1838
0
    return true;
1839
0
}
1840
1841
} // namespace ipc
1842
} // namespace mozilla
1843
1844
//-----------------------------------------------------------------------------
1845
// Method definitions for the IPDL type |struct Rotation3D|
1846
//
1847
namespace mozilla {
1848
namespace layers {
1849
auto Rotation3D::operator==(const Rotation3D& _o) const -> bool
1850
0
{
1851
0
    if ((!((x()) == ((_o).x())))) {
1852
0
        return false;
1853
0
    }
1854
0
    if ((!((y()) == ((_o).y())))) {
1855
0
        return false;
1856
0
    }
1857
0
    if ((!((z()) == ((_o).z())))) {
1858
0
        return false;
1859
0
    }
1860
0
    if ((!((angle()) == ((_o).angle())))) {
1861
0
        return false;
1862
0
    }
1863
0
    return true;
1864
0
}
1865
1866
auto Rotation3D::operator!=(const Rotation3D& _o) const -> bool
1867
0
{
1868
0
    return (!(operator==(_o)));
1869
0
}
1870
1871
} // namespace layers
1872
} // namespace mozilla
1873
1874
namespace mozilla {
1875
namespace ipc {
1876
auto IPDLParamTraits<mozilla::layers::Rotation3D>::Write(
1877
        IPC::Message* aMsg,
1878
        mozilla::ipc::IProtocol* aActor,
1879
        const paramType& aVar) -> void
1880
0
{
1881
0
    WriteIPDLParam(aMsg, aActor, (aVar).x());
1882
0
    // Sentinel = 'x'
1883
0
    (aMsg)->WriteSentinel(2475144313);
1884
0
    WriteIPDLParam(aMsg, aActor, (aVar).y());
1885
0
    // Sentinel = 'y'
1886
0
    (aMsg)->WriteSentinel(2603144696);
1887
0
    WriteIPDLParam(aMsg, aActor, (aVar).z());
1888
0
    // Sentinel = 'z'
1889
0
    (aMsg)->WriteSentinel(2731145083);
1890
0
    WriteIPDLParam(aMsg, aActor, (aVar).angle());
1891
0
    // Sentinel = 'angle'
1892
0
    (aMsg)->WriteSentinel(3388308388);
1893
0
}
1894
1895
auto IPDLParamTraits<mozilla::layers::Rotation3D>::Read(
1896
        const IPC::Message* aMsg,
1897
        PickleIterator* aIter,
1898
        mozilla::ipc::IProtocol* aActor,
1899
        paramType* aVar) -> bool
1900
0
{
1901
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->x())))))) {
1902
0
        (aActor)->FatalError("Error deserializing 'x' (float) member of 'Rotation3D'");
1903
0
        return false;
1904
0
    }
1905
0
    // Sentinel = 'x'
1906
0
    if ((!((aMsg)->ReadSentinel(aIter, 2475144313)))) {
1907
0
        mozilla::ipc::SentinelReadError("Error deserializing 'x' (float) member of 'Rotation3D'");
1908
0
        return false;
1909
0
    }
1910
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->y())))))) {
1911
0
        (aActor)->FatalError("Error deserializing 'y' (float) member of 'Rotation3D'");
1912
0
        return false;
1913
0
    }
1914
0
    // Sentinel = 'y'
1915
0
    if ((!((aMsg)->ReadSentinel(aIter, 2603144696)))) {
1916
0
        mozilla::ipc::SentinelReadError("Error deserializing 'y' (float) member of 'Rotation3D'");
1917
0
        return false;
1918
0
    }
1919
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->z())))))) {
1920
0
        (aActor)->FatalError("Error deserializing 'z' (float) member of 'Rotation3D'");
1921
0
        return false;
1922
0
    }
1923
0
    // Sentinel = 'z'
1924
0
    if ((!((aMsg)->ReadSentinel(aIter, 2731145083)))) {
1925
0
        mozilla::ipc::SentinelReadError("Error deserializing 'z' (float) member of 'Rotation3D'");
1926
0
        return false;
1927
0
    }
1928
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->angle())))))) {
1929
0
        (aActor)->FatalError("Error deserializing 'angle' (CSSAngle) member of 'Rotation3D'");
1930
0
        return false;
1931
0
    }
1932
0
    // Sentinel = 'angle'
1933
0
    if ((!((aMsg)->ReadSentinel(aIter, 3388308388)))) {
1934
0
        mozilla::ipc::SentinelReadError("Error deserializing 'angle' (CSSAngle) member of 'Rotation3D'");
1935
0
        return false;
1936
0
    }
1937
0
    return true;
1938
0
}
1939
1940
} // namespace ipc
1941
} // namespace mozilla
1942
1943
//-----------------------------------------------------------------------------
1944
// Method definitions for the IPDL type |struct Scale|
1945
//
1946
namespace mozilla {
1947
namespace layers {
1948
auto Scale::operator==(const Scale& _o) const -> bool
1949
0
{
1950
0
    if ((!((x()) == ((_o).x())))) {
1951
0
        return false;
1952
0
    }
1953
0
    if ((!((y()) == ((_o).y())))) {
1954
0
        return false;
1955
0
    }
1956
0
    if ((!((z()) == ((_o).z())))) {
1957
0
        return false;
1958
0
    }
1959
0
    return true;
1960
0
}
1961
1962
auto Scale::operator!=(const Scale& _o) const -> bool
1963
0
{
1964
0
    return (!(operator==(_o)));
1965
0
}
1966
1967
} // namespace layers
1968
} // namespace mozilla
1969
1970
namespace mozilla {
1971
namespace ipc {
1972
auto IPDLParamTraits<mozilla::layers::Scale>::Write(
1973
        IPC::Message* aMsg,
1974
        mozilla::ipc::IProtocol* aActor,
1975
        const paramType& aVar) -> void
1976
0
{
1977
0
    WriteIPDLParam(aMsg, aActor, (aVar).x());
1978
0
    // Sentinel = 'x'
1979
0
    (aMsg)->WriteSentinel(2475144313);
1980
0
    WriteIPDLParam(aMsg, aActor, (aVar).y());
1981
0
    // Sentinel = 'y'
1982
0
    (aMsg)->WriteSentinel(2603144696);
1983
0
    WriteIPDLParam(aMsg, aActor, (aVar).z());
1984
0
    // Sentinel = 'z'
1985
0
    (aMsg)->WriteSentinel(2731145083);
1986
0
}
1987
1988
auto IPDLParamTraits<mozilla::layers::Scale>::Read(
1989
        const IPC::Message* aMsg,
1990
        PickleIterator* aIter,
1991
        mozilla::ipc::IProtocol* aActor,
1992
        paramType* aVar) -> bool
1993
0
{
1994
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->x())))))) {
1995
0
        (aActor)->FatalError("Error deserializing 'x' (float) member of 'Scale'");
1996
0
        return false;
1997
0
    }
1998
0
    // Sentinel = 'x'
1999
0
    if ((!((aMsg)->ReadSentinel(aIter, 2475144313)))) {
2000
0
        mozilla::ipc::SentinelReadError("Error deserializing 'x' (float) member of 'Scale'");
2001
0
        return false;
2002
0
    }
2003
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->y())))))) {
2004
0
        (aActor)->FatalError("Error deserializing 'y' (float) member of 'Scale'");
2005
0
        return false;
2006
0
    }
2007
0
    // Sentinel = 'y'
2008
0
    if ((!((aMsg)->ReadSentinel(aIter, 2603144696)))) {
2009
0
        mozilla::ipc::SentinelReadError("Error deserializing 'y' (float) member of 'Scale'");
2010
0
        return false;
2011
0
    }
2012
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->z())))))) {
2013
0
        (aActor)->FatalError("Error deserializing 'z' (float) member of 'Scale'");
2014
0
        return false;
2015
0
    }
2016
0
    // Sentinel = 'z'
2017
0
    if ((!((aMsg)->ReadSentinel(aIter, 2731145083)))) {
2018
0
        mozilla::ipc::SentinelReadError("Error deserializing 'z' (float) member of 'Scale'");
2019
0
        return false;
2020
0
    }
2021
0
    return true;
2022
0
}
2023
2024
} // namespace ipc
2025
} // namespace mozilla
2026
2027
//-----------------------------------------------------------------------------
2028
// Method definitions for the IPDL type |struct Skew|
2029
//
2030
namespace mozilla {
2031
namespace layers {
2032
auto Skew::operator==(const Skew& _o) const -> bool
2033
0
{
2034
0
    if ((!((x()) == ((_o).x())))) {
2035
0
        return false;
2036
0
    }
2037
0
    if ((!((y()) == ((_o).y())))) {
2038
0
        return false;
2039
0
    }
2040
0
    return true;
2041
0
}
2042
2043
auto Skew::operator!=(const Skew& _o) const -> bool
2044
0
{
2045
0
    return (!(operator==(_o)));
2046
0
}
2047
2048
} // namespace layers
2049
} // namespace mozilla
2050
2051
namespace mozilla {
2052
namespace ipc {
2053
auto IPDLParamTraits<mozilla::layers::Skew>::Write(
2054
        IPC::Message* aMsg,
2055
        mozilla::ipc::IProtocol* aActor,
2056
        const paramType& aVar) -> void
2057
0
{
2058
0
    WriteIPDLParam(aMsg, aActor, (aVar).x());
2059
0
    // Sentinel = 'x'
2060
0
    (aMsg)->WriteSentinel(2475144313);
2061
0
    WriteIPDLParam(aMsg, aActor, (aVar).y());
2062
0
    // Sentinel = 'y'
2063
0
    (aMsg)->WriteSentinel(2603144696);
2064
0
}
2065
2066
auto IPDLParamTraits<mozilla::layers::Skew>::Read(
2067
        const IPC::Message* aMsg,
2068
        PickleIterator* aIter,
2069
        mozilla::ipc::IProtocol* aActor,
2070
        paramType* aVar) -> bool
2071
0
{
2072
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->x())))))) {
2073
0
        (aActor)->FatalError("Error deserializing 'x' (CSSAngle) member of 'Skew'");
2074
0
        return false;
2075
0
    }
2076
0
    // Sentinel = 'x'
2077
0
    if ((!((aMsg)->ReadSentinel(aIter, 2475144313)))) {
2078
0
        mozilla::ipc::SentinelReadError("Error deserializing 'x' (CSSAngle) member of 'Skew'");
2079
0
        return false;
2080
0
    }
2081
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->y())))))) {
2082
0
        (aActor)->FatalError("Error deserializing 'y' (CSSAngle) member of 'Skew'");
2083
0
        return false;
2084
0
    }
2085
0
    // Sentinel = 'y'
2086
0
    if ((!((aMsg)->ReadSentinel(aIter, 2603144696)))) {
2087
0
        mozilla::ipc::SentinelReadError("Error deserializing 'y' (CSSAngle) member of 'Skew'");
2088
0
        return false;
2089
0
    }
2090
0
    return true;
2091
0
}
2092
2093
} // namespace ipc
2094
} // namespace mozilla
2095
2096
//-----------------------------------------------------------------------------
2097
// Method definitions for the IPDL type |struct SkewX|
2098
//
2099
namespace mozilla {
2100
namespace layers {
2101
auto SkewX::operator==(const SkewX& _o) const -> bool
2102
0
{
2103
0
    if ((!((x()) == ((_o).x())))) {
2104
0
        return false;
2105
0
    }
2106
0
    return true;
2107
0
}
2108
2109
auto SkewX::operator!=(const SkewX& _o) const -> bool
2110
0
{
2111
0
    return (!(operator==(_o)));
2112
0
}
2113
2114
} // namespace layers
2115
} // namespace mozilla
2116
2117
namespace mozilla {
2118
namespace ipc {
2119
auto IPDLParamTraits<mozilla::layers::SkewX>::Write(
2120
        IPC::Message* aMsg,
2121
        mozilla::ipc::IProtocol* aActor,
2122
        const paramType& aVar) -> void
2123
0
{
2124
0
    WriteIPDLParam(aMsg, aActor, (aVar).x());
2125
0
    // Sentinel = 'x'
2126
0
    (aMsg)->WriteSentinel(2475144313);
2127
0
}
2128
2129
auto IPDLParamTraits<mozilla::layers::SkewX>::Read(
2130
        const IPC::Message* aMsg,
2131
        PickleIterator* aIter,
2132
        mozilla::ipc::IProtocol* aActor,
2133
        paramType* aVar) -> bool
2134
0
{
2135
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->x())))))) {
2136
0
        (aActor)->FatalError("Error deserializing 'x' (CSSAngle) member of 'SkewX'");
2137
0
        return false;
2138
0
    }
2139
0
    // Sentinel = 'x'
2140
0
    if ((!((aMsg)->ReadSentinel(aIter, 2475144313)))) {
2141
0
        mozilla::ipc::SentinelReadError("Error deserializing 'x' (CSSAngle) member of 'SkewX'");
2142
0
        return false;
2143
0
    }
2144
0
    return true;
2145
0
}
2146
2147
} // namespace ipc
2148
} // namespace mozilla
2149
2150
//-----------------------------------------------------------------------------
2151
// Method definitions for the IPDL type |struct SkewY|
2152
//
2153
namespace mozilla {
2154
namespace layers {
2155
auto SkewY::operator==(const SkewY& _o) const -> bool
2156
0
{
2157
0
    if ((!((y()) == ((_o).y())))) {
2158
0
        return false;
2159
0
    }
2160
0
    return true;
2161
0
}
2162
2163
auto SkewY::operator!=(const SkewY& _o) const -> bool
2164
0
{
2165
0
    return (!(operator==(_o)));
2166
0
}
2167
2168
} // namespace layers
2169
} // namespace mozilla
2170
2171
namespace mozilla {
2172
namespace ipc {
2173
auto IPDLParamTraits<mozilla::layers::SkewY>::Write(
2174
        IPC::Message* aMsg,
2175
        mozilla::ipc::IProtocol* aActor,
2176
        const paramType& aVar) -> void
2177
0
{
2178
0
    WriteIPDLParam(aMsg, aActor, (aVar).y());
2179
0
    // Sentinel = 'y'
2180
0
    (aMsg)->WriteSentinel(2603144696);
2181
0
}
2182
2183
auto IPDLParamTraits<mozilla::layers::SkewY>::Read(
2184
        const IPC::Message* aMsg,
2185
        PickleIterator* aIter,
2186
        mozilla::ipc::IProtocol* aActor,
2187
        paramType* aVar) -> bool
2188
0
{
2189
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->y())))))) {
2190
0
        (aActor)->FatalError("Error deserializing 'y' (CSSAngle) member of 'SkewY'");
2191
0
        return false;
2192
0
    }
2193
0
    // Sentinel = 'y'
2194
0
    if ((!((aMsg)->ReadSentinel(aIter, 2603144696)))) {
2195
0
        mozilla::ipc::SentinelReadError("Error deserializing 'y' (CSSAngle) member of 'SkewY'");
2196
0
        return false;
2197
0
    }
2198
0
    return true;
2199
0
}
2200
2201
} // namespace ipc
2202
} // namespace mozilla
2203
2204
//-----------------------------------------------------------------------------
2205
// Method definitions for the IPDL type |struct TransformMatrix|
2206
//
2207
namespace mozilla {
2208
namespace layers {
2209
auto TransformMatrix::operator==(const TransformMatrix& _o) const -> bool
2210
0
{
2211
0
    if ((!((value()) == ((_o).value())))) {
2212
0
        return false;
2213
0
    }
2214
0
    return true;
2215
0
}
2216
2217
auto TransformMatrix::operator!=(const TransformMatrix& _o) const -> bool
2218
0
{
2219
0
    return (!(operator==(_o)));
2220
0
}
2221
2222
} // namespace layers
2223
} // namespace mozilla
2224
2225
namespace mozilla {
2226
namespace ipc {
2227
auto IPDLParamTraits<mozilla::layers::TransformMatrix>::Write(
2228
        IPC::Message* aMsg,
2229
        mozilla::ipc::IProtocol* aActor,
2230
        const paramType& aVar) -> void
2231
0
{
2232
0
    WriteIPDLParam(aMsg, aActor, (aVar).value());
2233
0
    // Sentinel = 'value'
2234
0
    (aMsg)->WriteSentinel(3456818542);
2235
0
}
2236
2237
auto IPDLParamTraits<mozilla::layers::TransformMatrix>::Read(
2238
        const IPC::Message* aMsg,
2239
        PickleIterator* aIter,
2240
        mozilla::ipc::IProtocol* aActor,
2241
        paramType* aVar) -> bool
2242
0
{
2243
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->value())))))) {
2244
0
        (aActor)->FatalError("Error deserializing 'value' (Matrix4x4) member of 'TransformMatrix'");
2245
0
        return false;
2246
0
    }
2247
0
    // Sentinel = 'value'
2248
0
    if ((!((aMsg)->ReadSentinel(aIter, 3456818542)))) {
2249
0
        mozilla::ipc::SentinelReadError("Error deserializing 'value' (Matrix4x4) member of 'TransformMatrix'");
2250
0
        return false;
2251
0
    }
2252
0
    return true;
2253
0
}
2254
2255
} // namespace ipc
2256
} // namespace mozilla
2257
2258
//-----------------------------------------------------------------------------
2259
// Method definitions for the IPDL type |struct Translation|
2260
//
2261
namespace mozilla {
2262
namespace layers {
2263
auto Translation::operator==(const Translation& _o) const -> bool
2264
0
{
2265
0
    if ((!((x()) == ((_o).x())))) {
2266
0
        return false;
2267
0
    }
2268
0
    if ((!((y()) == ((_o).y())))) {
2269
0
        return false;
2270
0
    }
2271
0
    if ((!((z()) == ((_o).z())))) {
2272
0
        return false;
2273
0
    }
2274
0
    return true;
2275
0
}
2276
2277
auto Translation::operator!=(const Translation& _o) const -> bool
2278
0
{
2279
0
    return (!(operator==(_o)));
2280
0
}
2281
2282
} // namespace layers
2283
} // namespace mozilla
2284
2285
namespace mozilla {
2286
namespace ipc {
2287
auto IPDLParamTraits<mozilla::layers::Translation>::Write(
2288
        IPC::Message* aMsg,
2289
        mozilla::ipc::IProtocol* aActor,
2290
        const paramType& aVar) -> void
2291
0
{
2292
0
    WriteIPDLParam(aMsg, aActor, (aVar).x());
2293
0
    // Sentinel = 'x'
2294
0
    (aMsg)->WriteSentinel(2475144313);
2295
0
    WriteIPDLParam(aMsg, aActor, (aVar).y());
2296
0
    // Sentinel = 'y'
2297
0
    (aMsg)->WriteSentinel(2603144696);
2298
0
    WriteIPDLParam(aMsg, aActor, (aVar).z());
2299
0
    // Sentinel = 'z'
2300
0
    (aMsg)->WriteSentinel(2731145083);
2301
0
}
2302
2303
auto IPDLParamTraits<mozilla::layers::Translation>::Read(
2304
        const IPC::Message* aMsg,
2305
        PickleIterator* aIter,
2306
        mozilla::ipc::IProtocol* aActor,
2307
        paramType* aVar) -> bool
2308
0
{
2309
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->x())))))) {
2310
0
        (aActor)->FatalError("Error deserializing 'x' (float) member of 'Translation'");
2311
0
        return false;
2312
0
    }
2313
0
    // Sentinel = 'x'
2314
0
    if ((!((aMsg)->ReadSentinel(aIter, 2475144313)))) {
2315
0
        mozilla::ipc::SentinelReadError("Error deserializing 'x' (float) member of 'Translation'");
2316
0
        return false;
2317
0
    }
2318
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->y())))))) {
2319
0
        (aActor)->FatalError("Error deserializing 'y' (float) member of 'Translation'");
2320
0
        return false;
2321
0
    }
2322
0
    // Sentinel = 'y'
2323
0
    if ((!((aMsg)->ReadSentinel(aIter, 2603144696)))) {
2324
0
        mozilla::ipc::SentinelReadError("Error deserializing 'y' (float) member of 'Translation'");
2325
0
        return false;
2326
0
    }
2327
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->z())))))) {
2328
0
        (aActor)->FatalError("Error deserializing 'z' (float) member of 'Translation'");
2329
0
        return false;
2330
0
    }
2331
0
    // Sentinel = 'z'
2332
0
    if ((!((aMsg)->ReadSentinel(aIter, 2731145083)))) {
2333
0
        mozilla::ipc::SentinelReadError("Error deserializing 'z' (float) member of 'Translation'");
2334
0
        return false;
2335
0
    }
2336
0
    return true;
2337
0
}
2338
2339
} // namespace ipc
2340
} // namespace mozilla
2341
2342
//-----------------------------------------------------------------------------
2343
// Method definitions for the IPDL type |union TransformFunction|
2344
//
2345
namespace mozilla {
2346
namespace layers {
2347
auto TransformFunction::MaybeDestroy(Type aNewType) -> bool
2348
0
{
2349
0
    if ((mType) == (T__None)) {
2350
0
        return true;
2351
0
    }
2352
0
    if ((mType) == (aNewType)) {
2353
0
        return false;
2354
0
    }
2355
0
    switch (mType) {
2356
0
    case TPerspective:
2357
0
        {
2358
0
            (ptr_Perspective())->~Perspective__tdef();
2359
0
            break;
2360
0
        }
2361
0
    case TRotationX:
2362
0
        {
2363
0
            (ptr_RotationX())->~RotationX__tdef();
2364
0
            break;
2365
0
        }
2366
0
    case TRotationY:
2367
0
        {
2368
0
            (ptr_RotationY())->~RotationY__tdef();
2369
0
            break;
2370
0
        }
2371
0
    case TRotationZ:
2372
0
        {
2373
0
            (ptr_RotationZ())->~RotationZ__tdef();
2374
0
            break;
2375
0
        }
2376
0
    case TRotation:
2377
0
        {
2378
0
            (ptr_Rotation())->~Rotation__tdef();
2379
0
            break;
2380
0
        }
2381
0
    case TRotation3D:
2382
0
        {
2383
0
            (ptr_Rotation3D())->~Rotation3D__tdef();
2384
0
            break;
2385
0
        }
2386
0
    case TScale:
2387
0
        {
2388
0
            (ptr_Scale())->~Scale__tdef();
2389
0
            break;
2390
0
        }
2391
0
    case TSkew:
2392
0
        {
2393
0
            (ptr_Skew())->~Skew__tdef();
2394
0
            break;
2395
0
        }
2396
0
    case TSkewX:
2397
0
        {
2398
0
            (ptr_SkewX())->~SkewX__tdef();
2399
0
            break;
2400
0
        }
2401
0
    case TSkewY:
2402
0
        {
2403
0
            (ptr_SkewY())->~SkewY__tdef();
2404
0
            break;
2405
0
        }
2406
0
    case TTranslation:
2407
0
        {
2408
0
            (ptr_Translation())->~Translation__tdef();
2409
0
            break;
2410
0
        }
2411
0
    case TTransformMatrix:
2412
0
        {
2413
0
            (ptr_TransformMatrix())->~TransformMatrix__tdef();
2414
0
            break;
2415
0
        }
2416
0
    default:
2417
0
        {
2418
0
            mozilla::ipc::LogicError("not reached");
2419
0
            break;
2420
0
        }
2421
0
    }
2422
0
    return true;
2423
0
}
2424
2425
MOZ_IMPLICIT TransformFunction::TransformFunction(const Perspective& aOther)
2426
0
{
2427
0
    new (mozilla::KnownNotNull, ptr_Perspective()) Perspective(aOther);
2428
0
    mType = TPerspective;
2429
0
}
2430
2431
MOZ_IMPLICIT TransformFunction::TransformFunction(Perspective&& aOther)
2432
0
{
2433
0
    new (mozilla::KnownNotNull, ptr_Perspective()) Perspective(std::move(aOther));
2434
0
    mType = TPerspective;
2435
0
}
2436
2437
MOZ_IMPLICIT TransformFunction::TransformFunction(const RotationX& aOther)
2438
0
{
2439
0
    new (mozilla::KnownNotNull, ptr_RotationX()) RotationX(aOther);
2440
0
    mType = TRotationX;
2441
0
}
2442
2443
MOZ_IMPLICIT TransformFunction::TransformFunction(RotationX&& aOther)
2444
0
{
2445
0
    new (mozilla::KnownNotNull, ptr_RotationX()) RotationX(std::move(aOther));
2446
0
    mType = TRotationX;
2447
0
}
2448
2449
MOZ_IMPLICIT TransformFunction::TransformFunction(const RotationY& aOther)
2450
0
{
2451
0
    new (mozilla::KnownNotNull, ptr_RotationY()) RotationY(aOther);
2452
0
    mType = TRotationY;
2453
0
}
2454
2455
MOZ_IMPLICIT TransformFunction::TransformFunction(RotationY&& aOther)
2456
0
{
2457
0
    new (mozilla::KnownNotNull, ptr_RotationY()) RotationY(std::move(aOther));
2458
0
    mType = TRotationY;
2459
0
}
2460
2461
MOZ_IMPLICIT TransformFunction::TransformFunction(const RotationZ& aOther)
2462
0
{
2463
0
    new (mozilla::KnownNotNull, ptr_RotationZ()) RotationZ(aOther);
2464
0
    mType = TRotationZ;
2465
0
}
2466
2467
MOZ_IMPLICIT TransformFunction::TransformFunction(RotationZ&& aOther)
2468
0
{
2469
0
    new (mozilla::KnownNotNull, ptr_RotationZ()) RotationZ(std::move(aOther));
2470
0
    mType = TRotationZ;
2471
0
}
2472
2473
MOZ_IMPLICIT TransformFunction::TransformFunction(const Rotation& aOther)
2474
0
{
2475
0
    new (mozilla::KnownNotNull, ptr_Rotation()) Rotation(aOther);
2476
0
    mType = TRotation;
2477
0
}
2478
2479
MOZ_IMPLICIT TransformFunction::TransformFunction(Rotation&& aOther)
2480
0
{
2481
0
    new (mozilla::KnownNotNull, ptr_Rotation()) Rotation(std::move(aOther));
2482
0
    mType = TRotation;
2483
0
}
2484
2485
MOZ_IMPLICIT TransformFunction::TransformFunction(const Rotation3D& aOther)
2486
0
{
2487
0
    new (mozilla::KnownNotNull, ptr_Rotation3D()) Rotation3D(aOther);
2488
0
    mType = TRotation3D;
2489
0
}
2490
2491
MOZ_IMPLICIT TransformFunction::TransformFunction(Rotation3D&& aOther)
2492
0
{
2493
0
    new (mozilla::KnownNotNull, ptr_Rotation3D()) Rotation3D(std::move(aOther));
2494
0
    mType = TRotation3D;
2495
0
}
2496
2497
MOZ_IMPLICIT TransformFunction::TransformFunction(const Scale& aOther)
2498
0
{
2499
0
    new (mozilla::KnownNotNull, ptr_Scale()) Scale(aOther);
2500
0
    mType = TScale;
2501
0
}
2502
2503
MOZ_IMPLICIT TransformFunction::TransformFunction(Scale&& aOther)
2504
0
{
2505
0
    new (mozilla::KnownNotNull, ptr_Scale()) Scale(std::move(aOther));
2506
0
    mType = TScale;
2507
0
}
2508
2509
MOZ_IMPLICIT TransformFunction::TransformFunction(const Skew& aOther)
2510
0
{
2511
0
    new (mozilla::KnownNotNull, ptr_Skew()) Skew(aOther);
2512
0
    mType = TSkew;
2513
0
}
2514
2515
MOZ_IMPLICIT TransformFunction::TransformFunction(Skew&& aOther)
2516
0
{
2517
0
    new (mozilla::KnownNotNull, ptr_Skew()) Skew(std::move(aOther));
2518
0
    mType = TSkew;
2519
0
}
2520
2521
MOZ_IMPLICIT TransformFunction::TransformFunction(const SkewX& aOther)
2522
0
{
2523
0
    new (mozilla::KnownNotNull, ptr_SkewX()) SkewX(aOther);
2524
0
    mType = TSkewX;
2525
0
}
2526
2527
MOZ_IMPLICIT TransformFunction::TransformFunction(SkewX&& aOther)
2528
0
{
2529
0
    new (mozilla::KnownNotNull, ptr_SkewX()) SkewX(std::move(aOther));
2530
0
    mType = TSkewX;
2531
0
}
2532
2533
MOZ_IMPLICIT TransformFunction::TransformFunction(const SkewY& aOther)
2534
0
{
2535
0
    new (mozilla::KnownNotNull, ptr_SkewY()) SkewY(aOther);
2536
0
    mType = TSkewY;
2537
0
}
2538
2539
MOZ_IMPLICIT TransformFunction::TransformFunction(SkewY&& aOther)
2540
0
{
2541
0
    new (mozilla::KnownNotNull, ptr_SkewY()) SkewY(std::move(aOther));
2542
0
    mType = TSkewY;
2543
0
}
2544
2545
MOZ_IMPLICIT TransformFunction::TransformFunction(const Translation& aOther)
2546
0
{
2547
0
    new (mozilla::KnownNotNull, ptr_Translation()) Translation(aOther);
2548
0
    mType = TTranslation;
2549
0
}
2550
2551
MOZ_IMPLICIT TransformFunction::TransformFunction(Translation&& aOther)
2552
0
{
2553
0
    new (mozilla::KnownNotNull, ptr_Translation()) Translation(std::move(aOther));
2554
0
    mType = TTranslation;
2555
0
}
2556
2557
MOZ_IMPLICIT TransformFunction::TransformFunction(const TransformMatrix& aOther)
2558
0
{
2559
0
    new (mozilla::KnownNotNull, ptr_TransformMatrix()) TransformMatrix(aOther);
2560
0
    mType = TTransformMatrix;
2561
0
}
2562
2563
MOZ_IMPLICIT TransformFunction::TransformFunction(TransformMatrix&& aOther)
2564
0
{
2565
0
    new (mozilla::KnownNotNull, ptr_TransformMatrix()) TransformMatrix(std::move(aOther));
2566
0
    mType = TTransformMatrix;
2567
0
}
2568
2569
MOZ_IMPLICIT TransformFunction::TransformFunction(const TransformFunction& aOther)
2570
0
{
2571
0
    (aOther).AssertSanity();
2572
0
    switch ((aOther).type()) {
2573
0
    case TPerspective:
2574
0
        {
2575
0
            new (mozilla::KnownNotNull, ptr_Perspective()) Perspective((aOther).get_Perspective());
2576
0
            break;
2577
0
        }
2578
0
    case TRotationX:
2579
0
        {
2580
0
            new (mozilla::KnownNotNull, ptr_RotationX()) RotationX((aOther).get_RotationX());
2581
0
            break;
2582
0
        }
2583
0
    case TRotationY:
2584
0
        {
2585
0
            new (mozilla::KnownNotNull, ptr_RotationY()) RotationY((aOther).get_RotationY());
2586
0
            break;
2587
0
        }
2588
0
    case TRotationZ:
2589
0
        {
2590
0
            new (mozilla::KnownNotNull, ptr_RotationZ()) RotationZ((aOther).get_RotationZ());
2591
0
            break;
2592
0
        }
2593
0
    case TRotation:
2594
0
        {
2595
0
            new (mozilla::KnownNotNull, ptr_Rotation()) Rotation((aOther).get_Rotation());
2596
0
            break;
2597
0
        }
2598
0
    case TRotation3D:
2599
0
        {
2600
0
            new (mozilla::KnownNotNull, ptr_Rotation3D()) Rotation3D((aOther).get_Rotation3D());
2601
0
            break;
2602
0
        }
2603
0
    case TScale:
2604
0
        {
2605
0
            new (mozilla::KnownNotNull, ptr_Scale()) Scale((aOther).get_Scale());
2606
0
            break;
2607
0
        }
2608
0
    case TSkew:
2609
0
        {
2610
0
            new (mozilla::KnownNotNull, ptr_Skew()) Skew((aOther).get_Skew());
2611
0
            break;
2612
0
        }
2613
0
    case TSkewX:
2614
0
        {
2615
0
            new (mozilla::KnownNotNull, ptr_SkewX()) SkewX((aOther).get_SkewX());
2616
0
            break;
2617
0
        }
2618
0
    case TSkewY:
2619
0
        {
2620
0
            new (mozilla::KnownNotNull, ptr_SkewY()) SkewY((aOther).get_SkewY());
2621
0
            break;
2622
0
        }
2623
0
    case TTranslation:
2624
0
        {
2625
0
            new (mozilla::KnownNotNull, ptr_Translation()) Translation((aOther).get_Translation());
2626
0
            break;
2627
0
        }
2628
0
    case TTransformMatrix:
2629
0
        {
2630
0
            new (mozilla::KnownNotNull, ptr_TransformMatrix()) TransformMatrix((aOther).get_TransformMatrix());
2631
0
            break;
2632
0
        }
2633
0
    case T__None:
2634
0
        {
2635
0
            break;
2636
0
        }
2637
0
    default:
2638
0
        {
2639
0
            mozilla::ipc::LogicError("unreached");
2640
0
            return;
2641
0
        }
2642
0
    }
2643
0
    mType = (aOther).type();
2644
0
}
2645
2646
MOZ_IMPLICIT TransformFunction::TransformFunction(TransformFunction&& aOther)
2647
0
{
2648
0
    (aOther).AssertSanity();
2649
0
    Type t = (aOther).type();
2650
0
    switch (t) {
2651
0
    case TPerspective:
2652
0
        {
2653
0
            new (mozilla::KnownNotNull, ptr_Perspective()) Perspective(std::move((aOther).get_Perspective()));
2654
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
2655
0
            break;
2656
0
        }
2657
0
    case TRotationX:
2658
0
        {
2659
0
            new (mozilla::KnownNotNull, ptr_RotationX()) RotationX(std::move((aOther).get_RotationX()));
2660
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
2661
0
            break;
2662
0
        }
2663
0
    case TRotationY:
2664
0
        {
2665
0
            new (mozilla::KnownNotNull, ptr_RotationY()) RotationY(std::move((aOther).get_RotationY()));
2666
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
2667
0
            break;
2668
0
        }
2669
0
    case TRotationZ:
2670
0
        {
2671
0
            new (mozilla::KnownNotNull, ptr_RotationZ()) RotationZ(std::move((aOther).get_RotationZ()));
2672
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
2673
0
            break;
2674
0
        }
2675
0
    case TRotation:
2676
0
        {
2677
0
            new (mozilla::KnownNotNull, ptr_Rotation()) Rotation(std::move((aOther).get_Rotation()));
2678
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
2679
0
            break;
2680
0
        }
2681
0
    case TRotation3D:
2682
0
        {
2683
0
            new (mozilla::KnownNotNull, ptr_Rotation3D()) Rotation3D(std::move((aOther).get_Rotation3D()));
2684
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
2685
0
            break;
2686
0
        }
2687
0
    case TScale:
2688
0
        {
2689
0
            new (mozilla::KnownNotNull, ptr_Scale()) Scale(std::move((aOther).get_Scale()));
2690
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
2691
0
            break;
2692
0
        }
2693
0
    case TSkew:
2694
0
        {
2695
0
            new (mozilla::KnownNotNull, ptr_Skew()) Skew(std::move((aOther).get_Skew()));
2696
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
2697
0
            break;
2698
0
        }
2699
0
    case TSkewX:
2700
0
        {
2701
0
            new (mozilla::KnownNotNull, ptr_SkewX()) SkewX(std::move((aOther).get_SkewX()));
2702
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
2703
0
            break;
2704
0
        }
2705
0
    case TSkewY:
2706
0
        {
2707
0
            new (mozilla::KnownNotNull, ptr_SkewY()) SkewY(std::move((aOther).get_SkewY()));
2708
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
2709
0
            break;
2710
0
        }
2711
0
    case TTranslation:
2712
0
        {
2713
0
            new (mozilla::KnownNotNull, ptr_Translation()) Translation(std::move((aOther).get_Translation()));
2714
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
2715
0
            break;
2716
0
        }
2717
0
    case TTransformMatrix:
2718
0
        {
2719
0
            new (mozilla::KnownNotNull, ptr_TransformMatrix()) TransformMatrix(std::move((aOther).get_TransformMatrix()));
2720
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
2721
0
            break;
2722
0
        }
2723
0
    case T__None:
2724
0
        {
2725
0
            break;
2726
0
        }
2727
0
    default:
2728
0
        {
2729
0
            mozilla::ipc::LogicError("unreached");
2730
0
            return;
2731
0
        }
2732
0
    }
2733
0
    (aOther).mType = T__None;
2734
0
    mType = t;
2735
0
}
2736
2737
TransformFunction::~TransformFunction()
2738
0
{
2739
0
    static_cast<void>(MaybeDestroy(T__None));
2740
0
}
2741
2742
auto TransformFunction::operator=(const Perspective& aRhs) -> TransformFunction&
2743
0
{
2744
0
    if (MaybeDestroy(TPerspective)) {
2745
0
        new (mozilla::KnownNotNull, ptr_Perspective()) Perspective;
2746
0
    }
2747
0
    (*(ptr_Perspective())) = aRhs;
2748
0
    mType = TPerspective;
2749
0
    return (*(this));
2750
0
}
2751
2752
auto TransformFunction::operator=(Perspective&& aRhs) -> TransformFunction&
2753
0
{
2754
0
    if (MaybeDestroy(TPerspective)) {
2755
0
        new (mozilla::KnownNotNull, ptr_Perspective()) Perspective;
2756
0
    }
2757
0
    (*(ptr_Perspective())) = std::move(aRhs);
2758
0
    mType = TPerspective;
2759
0
    return (*(this));
2760
0
}
2761
2762
auto TransformFunction::operator=(const RotationX& aRhs) -> TransformFunction&
2763
0
{
2764
0
    if (MaybeDestroy(TRotationX)) {
2765
0
        new (mozilla::KnownNotNull, ptr_RotationX()) RotationX;
2766
0
    }
2767
0
    (*(ptr_RotationX())) = aRhs;
2768
0
    mType = TRotationX;
2769
0
    return (*(this));
2770
0
}
2771
2772
auto TransformFunction::operator=(RotationX&& aRhs) -> TransformFunction&
2773
0
{
2774
0
    if (MaybeDestroy(TRotationX)) {
2775
0
        new (mozilla::KnownNotNull, ptr_RotationX()) RotationX;
2776
0
    }
2777
0
    (*(ptr_RotationX())) = std::move(aRhs);
2778
0
    mType = TRotationX;
2779
0
    return (*(this));
2780
0
}
2781
2782
auto TransformFunction::operator=(const RotationY& aRhs) -> TransformFunction&
2783
0
{
2784
0
    if (MaybeDestroy(TRotationY)) {
2785
0
        new (mozilla::KnownNotNull, ptr_RotationY()) RotationY;
2786
0
    }
2787
0
    (*(ptr_RotationY())) = aRhs;
2788
0
    mType = TRotationY;
2789
0
    return (*(this));
2790
0
}
2791
2792
auto TransformFunction::operator=(RotationY&& aRhs) -> TransformFunction&
2793
0
{
2794
0
    if (MaybeDestroy(TRotationY)) {
2795
0
        new (mozilla::KnownNotNull, ptr_RotationY()) RotationY;
2796
0
    }
2797
0
    (*(ptr_RotationY())) = std::move(aRhs);
2798
0
    mType = TRotationY;
2799
0
    return (*(this));
2800
0
}
2801
2802
auto TransformFunction::operator=(const RotationZ& aRhs) -> TransformFunction&
2803
0
{
2804
0
    if (MaybeDestroy(TRotationZ)) {
2805
0
        new (mozilla::KnownNotNull, ptr_RotationZ()) RotationZ;
2806
0
    }
2807
0
    (*(ptr_RotationZ())) = aRhs;
2808
0
    mType = TRotationZ;
2809
0
    return (*(this));
2810
0
}
2811
2812
auto TransformFunction::operator=(RotationZ&& aRhs) -> TransformFunction&
2813
0
{
2814
0
    if (MaybeDestroy(TRotationZ)) {
2815
0
        new (mozilla::KnownNotNull, ptr_RotationZ()) RotationZ;
2816
0
    }
2817
0
    (*(ptr_RotationZ())) = std::move(aRhs);
2818
0
    mType = TRotationZ;
2819
0
    return (*(this));
2820
0
}
2821
2822
auto TransformFunction::operator=(const Rotation& aRhs) -> TransformFunction&
2823
0
{
2824
0
    if (MaybeDestroy(TRotation)) {
2825
0
        new (mozilla::KnownNotNull, ptr_Rotation()) Rotation;
2826
0
    }
2827
0
    (*(ptr_Rotation())) = aRhs;
2828
0
    mType = TRotation;
2829
0
    return (*(this));
2830
0
}
2831
2832
auto TransformFunction::operator=(Rotation&& aRhs) -> TransformFunction&
2833
0
{
2834
0
    if (MaybeDestroy(TRotation)) {
2835
0
        new (mozilla::KnownNotNull, ptr_Rotation()) Rotation;
2836
0
    }
2837
0
    (*(ptr_Rotation())) = std::move(aRhs);
2838
0
    mType = TRotation;
2839
0
    return (*(this));
2840
0
}
2841
2842
auto TransformFunction::operator=(const Rotation3D& aRhs) -> TransformFunction&
2843
0
{
2844
0
    if (MaybeDestroy(TRotation3D)) {
2845
0
        new (mozilla::KnownNotNull, ptr_Rotation3D()) Rotation3D;
2846
0
    }
2847
0
    (*(ptr_Rotation3D())) = aRhs;
2848
0
    mType = TRotation3D;
2849
0
    return (*(this));
2850
0
}
2851
2852
auto TransformFunction::operator=(Rotation3D&& aRhs) -> TransformFunction&
2853
0
{
2854
0
    if (MaybeDestroy(TRotation3D)) {
2855
0
        new (mozilla::KnownNotNull, ptr_Rotation3D()) Rotation3D;
2856
0
    }
2857
0
    (*(ptr_Rotation3D())) = std::move(aRhs);
2858
0
    mType = TRotation3D;
2859
0
    return (*(this));
2860
0
}
2861
2862
auto TransformFunction::operator=(const Scale& aRhs) -> TransformFunction&
2863
0
{
2864
0
    if (MaybeDestroy(TScale)) {
2865
0
        new (mozilla::KnownNotNull, ptr_Scale()) Scale;
2866
0
    }
2867
0
    (*(ptr_Scale())) = aRhs;
2868
0
    mType = TScale;
2869
0
    return (*(this));
2870
0
}
2871
2872
auto TransformFunction::operator=(Scale&& aRhs) -> TransformFunction&
2873
0
{
2874
0
    if (MaybeDestroy(TScale)) {
2875
0
        new (mozilla::KnownNotNull, ptr_Scale()) Scale;
2876
0
    }
2877
0
    (*(ptr_Scale())) = std::move(aRhs);
2878
0
    mType = TScale;
2879
0
    return (*(this));
2880
0
}
2881
2882
auto TransformFunction::operator=(const Skew& aRhs) -> TransformFunction&
2883
0
{
2884
0
    if (MaybeDestroy(TSkew)) {
2885
0
        new (mozilla::KnownNotNull, ptr_Skew()) Skew;
2886
0
    }
2887
0
    (*(ptr_Skew())) = aRhs;
2888
0
    mType = TSkew;
2889
0
    return (*(this));
2890
0
}
2891
2892
auto TransformFunction::operator=(Skew&& aRhs) -> TransformFunction&
2893
0
{
2894
0
    if (MaybeDestroy(TSkew)) {
2895
0
        new (mozilla::KnownNotNull, ptr_Skew()) Skew;
2896
0
    }
2897
0
    (*(ptr_Skew())) = std::move(aRhs);
2898
0
    mType = TSkew;
2899
0
    return (*(this));
2900
0
}
2901
2902
auto TransformFunction::operator=(const SkewX& aRhs) -> TransformFunction&
2903
0
{
2904
0
    if (MaybeDestroy(TSkewX)) {
2905
0
        new (mozilla::KnownNotNull, ptr_SkewX()) SkewX;
2906
0
    }
2907
0
    (*(ptr_SkewX())) = aRhs;
2908
0
    mType = TSkewX;
2909
0
    return (*(this));
2910
0
}
2911
2912
auto TransformFunction::operator=(SkewX&& aRhs) -> TransformFunction&
2913
0
{
2914
0
    if (MaybeDestroy(TSkewX)) {
2915
0
        new (mozilla::KnownNotNull, ptr_SkewX()) SkewX;
2916
0
    }
2917
0
    (*(ptr_SkewX())) = std::move(aRhs);
2918
0
    mType = TSkewX;
2919
0
    return (*(this));
2920
0
}
2921
2922
auto TransformFunction::operator=(const SkewY& aRhs) -> TransformFunction&
2923
0
{
2924
0
    if (MaybeDestroy(TSkewY)) {
2925
0
        new (mozilla::KnownNotNull, ptr_SkewY()) SkewY;
2926
0
    }
2927
0
    (*(ptr_SkewY())) = aRhs;
2928
0
    mType = TSkewY;
2929
0
    return (*(this));
2930
0
}
2931
2932
auto TransformFunction::operator=(SkewY&& aRhs) -> TransformFunction&
2933
0
{
2934
0
    if (MaybeDestroy(TSkewY)) {
2935
0
        new (mozilla::KnownNotNull, ptr_SkewY()) SkewY;
2936
0
    }
2937
0
    (*(ptr_SkewY())) = std::move(aRhs);
2938
0
    mType = TSkewY;
2939
0
    return (*(this));
2940
0
}
2941
2942
auto TransformFunction::operator=(const Translation& aRhs) -> TransformFunction&
2943
0
{
2944
0
    if (MaybeDestroy(TTranslation)) {
2945
0
        new (mozilla::KnownNotNull, ptr_Translation()) Translation;
2946
0
    }
2947
0
    (*(ptr_Translation())) = aRhs;
2948
0
    mType = TTranslation;
2949
0
    return (*(this));
2950
0
}
2951
2952
auto TransformFunction::operator=(Translation&& aRhs) -> TransformFunction&
2953
0
{
2954
0
    if (MaybeDestroy(TTranslation)) {
2955
0
        new (mozilla::KnownNotNull, ptr_Translation()) Translation;
2956
0
    }
2957
0
    (*(ptr_Translation())) = std::move(aRhs);
2958
0
    mType = TTranslation;
2959
0
    return (*(this));
2960
0
}
2961
2962
auto TransformFunction::operator=(const TransformMatrix& aRhs) -> TransformFunction&
2963
0
{
2964
0
    if (MaybeDestroy(TTransformMatrix)) {
2965
0
        new (mozilla::KnownNotNull, ptr_TransformMatrix()) TransformMatrix;
2966
0
    }
2967
0
    (*(ptr_TransformMatrix())) = aRhs;
2968
0
    mType = TTransformMatrix;
2969
0
    return (*(this));
2970
0
}
2971
2972
auto TransformFunction::operator=(TransformMatrix&& aRhs) -> TransformFunction&
2973
0
{
2974
0
    if (MaybeDestroy(TTransformMatrix)) {
2975
0
        new (mozilla::KnownNotNull, ptr_TransformMatrix()) TransformMatrix;
2976
0
    }
2977
0
    (*(ptr_TransformMatrix())) = std::move(aRhs);
2978
0
    mType = TTransformMatrix;
2979
0
    return (*(this));
2980
0
}
2981
2982
auto TransformFunction::operator=(const TransformFunction& aRhs) -> TransformFunction&
2983
0
{
2984
0
    (aRhs).AssertSanity();
2985
0
    Type t = (aRhs).type();
2986
0
    switch (t) {
2987
0
    case TPerspective:
2988
0
        {
2989
0
            if (MaybeDestroy(t)) {
2990
0
                new (mozilla::KnownNotNull, ptr_Perspective()) Perspective;
2991
0
            }
2992
0
            (*(ptr_Perspective())) = (aRhs).get_Perspective();
2993
0
            break;
2994
0
        }
2995
0
    case TRotationX:
2996
0
        {
2997
0
            if (MaybeDestroy(t)) {
2998
0
                new (mozilla::KnownNotNull, ptr_RotationX()) RotationX;
2999
0
            }
3000
0
            (*(ptr_RotationX())) = (aRhs).get_RotationX();
3001
0
            break;
3002
0
        }
3003
0
    case TRotationY:
3004
0
        {
3005
0
            if (MaybeDestroy(t)) {
3006
0
                new (mozilla::KnownNotNull, ptr_RotationY()) RotationY;
3007
0
            }
3008
0
            (*(ptr_RotationY())) = (aRhs).get_RotationY();
3009
0
            break;
3010
0
        }
3011
0
    case TRotationZ:
3012
0
        {
3013
0
            if (MaybeDestroy(t)) {
3014
0
                new (mozilla::KnownNotNull, ptr_RotationZ()) RotationZ;
3015
0
            }
3016
0
            (*(ptr_RotationZ())) = (aRhs).get_RotationZ();
3017
0
            break;
3018
0
        }
3019
0
    case TRotation:
3020
0
        {
3021
0
            if (MaybeDestroy(t)) {
3022
0
                new (mozilla::KnownNotNull, ptr_Rotation()) Rotation;
3023
0
            }
3024
0
            (*(ptr_Rotation())) = (aRhs).get_Rotation();
3025
0
            break;
3026
0
        }
3027
0
    case TRotation3D:
3028
0
        {
3029
0
            if (MaybeDestroy(t)) {
3030
0
                new (mozilla::KnownNotNull, ptr_Rotation3D()) Rotation3D;
3031
0
            }
3032
0
            (*(ptr_Rotation3D())) = (aRhs).get_Rotation3D();
3033
0
            break;
3034
0
        }
3035
0
    case TScale:
3036
0
        {
3037
0
            if (MaybeDestroy(t)) {
3038
0
                new (mozilla::KnownNotNull, ptr_Scale()) Scale;
3039
0
            }
3040
0
            (*(ptr_Scale())) = (aRhs).get_Scale();
3041
0
            break;
3042
0
        }
3043
0
    case TSkew:
3044
0
        {
3045
0
            if (MaybeDestroy(t)) {
3046
0
                new (mozilla::KnownNotNull, ptr_Skew()) Skew;
3047
0
            }
3048
0
            (*(ptr_Skew())) = (aRhs).get_Skew();
3049
0
            break;
3050
0
        }
3051
0
    case TSkewX:
3052
0
        {
3053
0
            if (MaybeDestroy(t)) {
3054
0
                new (mozilla::KnownNotNull, ptr_SkewX()) SkewX;
3055
0
            }
3056
0
            (*(ptr_SkewX())) = (aRhs).get_SkewX();
3057
0
            break;
3058
0
        }
3059
0
    case TSkewY:
3060
0
        {
3061
0
            if (MaybeDestroy(t)) {
3062
0
                new (mozilla::KnownNotNull, ptr_SkewY()) SkewY;
3063
0
            }
3064
0
            (*(ptr_SkewY())) = (aRhs).get_SkewY();
3065
0
            break;
3066
0
        }
3067
0
    case TTranslation:
3068
0
        {
3069
0
            if (MaybeDestroy(t)) {
3070
0
                new (mozilla::KnownNotNull, ptr_Translation()) Translation;
3071
0
            }
3072
0
            (*(ptr_Translation())) = (aRhs).get_Translation();
3073
0
            break;
3074
0
        }
3075
0
    case TTransformMatrix:
3076
0
        {
3077
0
            if (MaybeDestroy(t)) {
3078
0
                new (mozilla::KnownNotNull, ptr_TransformMatrix()) TransformMatrix;
3079
0
            }
3080
0
            (*(ptr_TransformMatrix())) = (aRhs).get_TransformMatrix();
3081
0
            break;
3082
0
        }
3083
0
    case T__None:
3084
0
        {
3085
0
            static_cast<void>(MaybeDestroy(t));
3086
0
            break;
3087
0
        }
3088
0
    default:
3089
0
        {
3090
0
            mozilla::ipc::LogicError("unreached");
3091
0
            break;
3092
0
        }
3093
0
    }
3094
0
    mType = t;
3095
0
    return (*(this));
3096
0
}
3097
3098
auto TransformFunction::operator=(TransformFunction&& aRhs) -> TransformFunction&
3099
0
{
3100
0
    (aRhs).AssertSanity();
3101
0
    Type t = (aRhs).type();
3102
0
    switch (t) {
3103
0
    case TPerspective:
3104
0
        {
3105
0
            if (MaybeDestroy(t)) {
3106
0
                new (mozilla::KnownNotNull, ptr_Perspective()) Perspective;
3107
0
            }
3108
0
            (*(ptr_Perspective())) = std::move((aRhs).get_Perspective());
3109
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
3110
0
            break;
3111
0
        }
3112
0
    case TRotationX:
3113
0
        {
3114
0
            if (MaybeDestroy(t)) {
3115
0
                new (mozilla::KnownNotNull, ptr_RotationX()) RotationX;
3116
0
            }
3117
0
            (*(ptr_RotationX())) = std::move((aRhs).get_RotationX());
3118
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
3119
0
            break;
3120
0
        }
3121
0
    case TRotationY:
3122
0
        {
3123
0
            if (MaybeDestroy(t)) {
3124
0
                new (mozilla::KnownNotNull, ptr_RotationY()) RotationY;
3125
0
            }
3126
0
            (*(ptr_RotationY())) = std::move((aRhs).get_RotationY());
3127
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
3128
0
            break;
3129
0
        }
3130
0
    case TRotationZ:
3131
0
        {
3132
0
            if (MaybeDestroy(t)) {
3133
0
                new (mozilla::KnownNotNull, ptr_RotationZ()) RotationZ;
3134
0
            }
3135
0
            (*(ptr_RotationZ())) = std::move((aRhs).get_RotationZ());
3136
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
3137
0
            break;
3138
0
        }
3139
0
    case TRotation:
3140
0
        {
3141
0
            if (MaybeDestroy(t)) {
3142
0
                new (mozilla::KnownNotNull, ptr_Rotation()) Rotation;
3143
0
            }
3144
0
            (*(ptr_Rotation())) = std::move((aRhs).get_Rotation());
3145
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
3146
0
            break;
3147
0
        }
3148
0
    case TRotation3D:
3149
0
        {
3150
0
            if (MaybeDestroy(t)) {
3151
0
                new (mozilla::KnownNotNull, ptr_Rotation3D()) Rotation3D;
3152
0
            }
3153
0
            (*(ptr_Rotation3D())) = std::move((aRhs).get_Rotation3D());
3154
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
3155
0
            break;
3156
0
        }
3157
0
    case TScale:
3158
0
        {
3159
0
            if (MaybeDestroy(t)) {
3160
0
                new (mozilla::KnownNotNull, ptr_Scale()) Scale;
3161
0
            }
3162
0
            (*(ptr_Scale())) = std::move((aRhs).get_Scale());
3163
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
3164
0
            break;
3165
0
        }
3166
0
    case TSkew:
3167
0
        {
3168
0
            if (MaybeDestroy(t)) {
3169
0
                new (mozilla::KnownNotNull, ptr_Skew()) Skew;
3170
0
            }
3171
0
            (*(ptr_Skew())) = std::move((aRhs).get_Skew());
3172
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
3173
0
            break;
3174
0
        }
3175
0
    case TSkewX:
3176
0
        {
3177
0
            if (MaybeDestroy(t)) {
3178
0
                new (mozilla::KnownNotNull, ptr_SkewX()) SkewX;
3179
0
            }
3180
0
            (*(ptr_SkewX())) = std::move((aRhs).get_SkewX());
3181
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
3182
0
            break;
3183
0
        }
3184
0
    case TSkewY:
3185
0
        {
3186
0
            if (MaybeDestroy(t)) {
3187
0
                new (mozilla::KnownNotNull, ptr_SkewY()) SkewY;
3188
0
            }
3189
0
            (*(ptr_SkewY())) = std::move((aRhs).get_SkewY());
3190
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
3191
0
            break;
3192
0
        }
3193
0
    case TTranslation:
3194
0
        {
3195
0
            if (MaybeDestroy(t)) {
3196
0
                new (mozilla::KnownNotNull, ptr_Translation()) Translation;
3197
0
            }
3198
0
            (*(ptr_Translation())) = std::move((aRhs).get_Translation());
3199
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
3200
0
            break;
3201
0
        }
3202
0
    case TTransformMatrix:
3203
0
        {
3204
0
            if (MaybeDestroy(t)) {
3205
0
                new (mozilla::KnownNotNull, ptr_TransformMatrix()) TransformMatrix;
3206
0
            }
3207
0
            (*(ptr_TransformMatrix())) = std::move((aRhs).get_TransformMatrix());
3208
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
3209
0
            break;
3210
0
        }
3211
0
    case T__None:
3212
0
        {
3213
0
            static_cast<void>(MaybeDestroy(t));
3214
0
            break;
3215
0
        }
3216
0
    default:
3217
0
        {
3218
0
            mozilla::ipc::LogicError("unreached");
3219
0
            break;
3220
0
        }
3221
0
    }
3222
0
    (aRhs).mType = T__None;
3223
0
    mType = t;
3224
0
    return (*(this));
3225
0
}
3226
3227
auto TransformFunction::operator==(const Perspective& aRhs) const -> bool
3228
0
{
3229
0
    return (get_Perspective()) == (aRhs);
3230
0
}
3231
3232
auto TransformFunction::operator==(const RotationX& aRhs) const -> bool
3233
0
{
3234
0
    return (get_RotationX()) == (aRhs);
3235
0
}
3236
3237
auto TransformFunction::operator==(const RotationY& aRhs) const -> bool
3238
0
{
3239
0
    return (get_RotationY()) == (aRhs);
3240
0
}
3241
3242
auto TransformFunction::operator==(const RotationZ& aRhs) const -> bool
3243
0
{
3244
0
    return (get_RotationZ()) == (aRhs);
3245
0
}
3246
3247
auto TransformFunction::operator==(const Rotation& aRhs) const -> bool
3248
0
{
3249
0
    return (get_Rotation()) == (aRhs);
3250
0
}
3251
3252
auto TransformFunction::operator==(const Rotation3D& aRhs) const -> bool
3253
0
{
3254
0
    return (get_Rotation3D()) == (aRhs);
3255
0
}
3256
3257
auto TransformFunction::operator==(const Scale& aRhs) const -> bool
3258
0
{
3259
0
    return (get_Scale()) == (aRhs);
3260
0
}
3261
3262
auto TransformFunction::operator==(const Skew& aRhs) const -> bool
3263
0
{
3264
0
    return (get_Skew()) == (aRhs);
3265
0
}
3266
3267
auto TransformFunction::operator==(const SkewX& aRhs) const -> bool
3268
0
{
3269
0
    return (get_SkewX()) == (aRhs);
3270
0
}
3271
3272
auto TransformFunction::operator==(const SkewY& aRhs) const -> bool
3273
0
{
3274
0
    return (get_SkewY()) == (aRhs);
3275
0
}
3276
3277
auto TransformFunction::operator==(const Translation& aRhs) const -> bool
3278
0
{
3279
0
    return (get_Translation()) == (aRhs);
3280
0
}
3281
3282
auto TransformFunction::operator==(const TransformMatrix& aRhs) const -> bool
3283
0
{
3284
0
    return (get_TransformMatrix()) == (aRhs);
3285
0
}
3286
3287
auto TransformFunction::operator==(const TransformFunction& aRhs) const -> bool
3288
0
{
3289
0
    if ((type()) != ((aRhs).type())) {
3290
0
        return false;
3291
0
    }
3292
0
3293
0
    switch (type()) {
3294
0
    case TPerspective:
3295
0
        {
3296
0
            return (get_Perspective()) == ((aRhs).get_Perspective());
3297
0
        }
3298
0
    case TRotationX:
3299
0
        {
3300
0
            return (get_RotationX()) == ((aRhs).get_RotationX());
3301
0
        }
3302
0
    case TRotationY:
3303
0
        {
3304
0
            return (get_RotationY()) == ((aRhs).get_RotationY());
3305
0
        }
3306
0
    case TRotationZ:
3307
0
        {
3308
0
            return (get_RotationZ()) == ((aRhs).get_RotationZ());
3309
0
        }
3310
0
    case TRotation:
3311
0
        {
3312
0
            return (get_Rotation()) == ((aRhs).get_Rotation());
3313
0
        }
3314
0
    case TRotation3D:
3315
0
        {
3316
0
            return (get_Rotation3D()) == ((aRhs).get_Rotation3D());
3317
0
        }
3318
0
    case TScale:
3319
0
        {
3320
0
            return (get_Scale()) == ((aRhs).get_Scale());
3321
0
        }
3322
0
    case TSkew:
3323
0
        {
3324
0
            return (get_Skew()) == ((aRhs).get_Skew());
3325
0
        }
3326
0
    case TSkewX:
3327
0
        {
3328
0
            return (get_SkewX()) == ((aRhs).get_SkewX());
3329
0
        }
3330
0
    case TSkewY:
3331
0
        {
3332
0
            return (get_SkewY()) == ((aRhs).get_SkewY());
3333
0
        }
3334
0
    case TTranslation:
3335
0
        {
3336
0
            return (get_Translation()) == ((aRhs).get_Translation());
3337
0
        }
3338
0
    case TTransformMatrix:
3339
0
        {
3340
0
            return (get_TransformMatrix()) == ((aRhs).get_TransformMatrix());
3341
0
        }
3342
0
    default:
3343
0
        {
3344
0
            mozilla::ipc::LogicError("unreached");
3345
0
            return false;
3346
0
        }
3347
0
    }
3348
0
}
3349
3350
auto TransformFunction::get(Perspective* aOutValue) const -> void
3351
0
{
3352
0
    (*(aOutValue)) = get_Perspective();
3353
0
}
3354
3355
auto TransformFunction::get(RotationX* aOutValue) const -> void
3356
0
{
3357
0
    (*(aOutValue)) = get_RotationX();
3358
0
}
3359
3360
auto TransformFunction::get(RotationY* aOutValue) const -> void
3361
0
{
3362
0
    (*(aOutValue)) = get_RotationY();
3363
0
}
3364
3365
auto TransformFunction::get(RotationZ* aOutValue) const -> void
3366
0
{
3367
0
    (*(aOutValue)) = get_RotationZ();
3368
0
}
3369
3370
auto TransformFunction::get(Rotation* aOutValue) const -> void
3371
0
{
3372
0
    (*(aOutValue)) = get_Rotation();
3373
0
}
3374
3375
auto TransformFunction::get(Rotation3D* aOutValue) const -> void
3376
0
{
3377
0
    (*(aOutValue)) = get_Rotation3D();
3378
0
}
3379
3380
auto TransformFunction::get(Scale* aOutValue) const -> void
3381
0
{
3382
0
    (*(aOutValue)) = get_Scale();
3383
0
}
3384
3385
auto TransformFunction::get(Skew* aOutValue) const -> void
3386
0
{
3387
0
    (*(aOutValue)) = get_Skew();
3388
0
}
3389
3390
auto TransformFunction::get(SkewX* aOutValue) const -> void
3391
0
{
3392
0
    (*(aOutValue)) = get_SkewX();
3393
0
}
3394
3395
auto TransformFunction::get(SkewY* aOutValue) const -> void
3396
0
{
3397
0
    (*(aOutValue)) = get_SkewY();
3398
0
}
3399
3400
auto TransformFunction::get(Translation* aOutValue) const -> void
3401
0
{
3402
0
    (*(aOutValue)) = get_Translation();
3403
0
}
3404
3405
auto TransformFunction::get(TransformMatrix* aOutValue) const -> void
3406
0
{
3407
0
    (*(aOutValue)) = get_TransformMatrix();
3408
0
}
3409
3410
} // namespace layers
3411
} // namespace mozilla
3412
3413
namespace mozilla {
3414
namespace ipc {
3415
auto IPDLParamTraits<mozilla::layers::TransformFunction>::Write(
3416
        IPC::Message* aMsg,
3417
        mozilla::ipc::IProtocol* aActor,
3418
        const paramType& aVar) -> void
3419
{
3420
    typedef mozilla::layers::TransformFunction union__;
3421
    int type;
3422
    type = (aVar).type();
3423
    WriteIPDLParam(aMsg, aActor, type);
3424
    // Sentinel = 'TransformFunction'
3425
    (aMsg)->WriteSentinel(2553734589);
3426
3427
    switch (type) {
3428
    case union__::TPerspective:
3429
        {
3430
            WriteIPDLParam(aMsg, aActor, (aVar).get_Perspective());
3431
            // Sentinel = 'TPerspective'
3432
            (aMsg)->WriteSentinel(536769614);
3433
            return;
3434
        }
3435
    case union__::TRotationX:
3436
        {
3437
            WriteIPDLParam(aMsg, aActor, (aVar).get_RotationX());
3438
            // Sentinel = 'TRotationX'
3439
            (aMsg)->WriteSentinel(3076537720);
3440
            return;
3441
        }
3442
    case union__::TRotationY:
3443
        {
3444
            WriteIPDLParam(aMsg, aActor, (aVar).get_RotationY());
3445
            // Sentinel = 'TRotationY'
3446
            (aMsg)->WriteSentinel(3076537721);
3447
            return;
3448
        }
3449
    case union__::TRotationZ:
3450
        {
3451
            WriteIPDLParam(aMsg, aActor, (aVar).get_RotationZ());
3452
            // Sentinel = 'TRotationZ'
3453
            (aMsg)->WriteSentinel(3076537722);
3454
            return;
3455
        }
3456
    case union__::TRotation:
3457
        {
3458
            WriteIPDLParam(aMsg, aActor, (aVar).get_Rotation());
3459
            // Sentinel = 'TRotation'
3460
            (aMsg)->WriteSentinel(204395655);
3461
            return;
3462
        }
3463
    case union__::TRotation3D:
3464
        {
3465
            WriteIPDLParam(aMsg, aActor, (aVar).get_Rotation3D());
3466
            // Sentinel = 'TRotation3D'
3467
            (aMsg)->WriteSentinel(1650945988);
3468
            return;
3469
        }
3470
    case union__::TScale:
3471
        {
3472
            WriteIPDLParam(aMsg, aActor, (aVar).get_Scale());
3473
            // Sentinel = 'TScale'
3474
            (aMsg)->WriteSentinel(4188009060);
3475
            return;
3476
        }
3477
    case union__::TSkew:
3478
        {
3479
            WriteIPDLParam(aMsg, aActor, (aVar).get_Skew());
3480
            // Sentinel = 'TSkew'
3481
            (aMsg)->WriteSentinel(398444919);
3482
            return;
3483
        }
3484
    case union__::TSkewX:
3485
        {
3486
            WriteIPDLParam(aMsg, aActor, (aVar).get_SkewX());
3487
            // Sentinel = 'TSkewX'
3488
            (aMsg)->WriteSentinel(1993284744);
3489
            return;
3490
        }
3491
    case union__::TSkewY:
3492
        {
3493
            WriteIPDLParam(aMsg, aActor, (aVar).get_SkewY());
3494
            // Sentinel = 'TSkewY'
3495
            (aMsg)->WriteSentinel(1993284745);
3496
            return;
3497
        }
3498
    case union__::TTranslation:
3499
        {
3500
            WriteIPDLParam(aMsg, aActor, (aVar).get_Translation());
3501
            // Sentinel = 'TTranslation'
3502
            (aMsg)->WriteSentinel(2021428737);
3503
            return;
3504
        }
3505
    case union__::TTransformMatrix:
3506
        {
3507
            WriteIPDLParam(aMsg, aActor, (aVar).get_TransformMatrix());
3508
            // Sentinel = 'TTransformMatrix'
3509
            (aMsg)->WriteSentinel(2585816443);
3510
            return;
3511
        }
3512
    default:
3513
        {
3514
            (aActor)->FatalError("unknown union type");
3515
            return;
3516
        }
3517
    }
3518
}
3519
3520
auto IPDLParamTraits<mozilla::layers::TransformFunction>::Read(
3521
        const IPC::Message* aMsg,
3522
        PickleIterator* aIter,
3523
        mozilla::ipc::IProtocol* aActor,
3524
        paramType* aVar) -> bool
3525
0
{
3526
0
    typedef mozilla::layers::TransformFunction union__;
3527
0
    int type;
3528
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
3529
0
        (aActor)->FatalError("Error deserializing type of union TransformFunction");
3530
0
        return false;
3531
0
    }
3532
0
    // Sentinel = 'TransformFunction'
3533
0
    if ((!((aMsg)->ReadSentinel(aIter, 2553734589)))) {
3534
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union TransformFunction");
3535
0
        return false;
3536
0
    }
3537
0
3538
0
    switch (type) {
3539
0
    case union__::TPerspective:
3540
0
        {
3541
0
            mozilla::layers::Perspective tmp = mozilla::layers::Perspective();
3542
0
            (*(aVar)) = tmp;
3543
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_Perspective())))))) {
3544
0
                (aActor)->FatalError("Error deserializing variant TPerspective of union TransformFunction");
3545
0
                return false;
3546
0
            }
3547
0
            // Sentinel = 'TPerspective'
3548
0
            if ((!((aMsg)->ReadSentinel(aIter, 536769614)))) {
3549
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TPerspective of union TransformFunction");
3550
0
                return false;
3551
0
            }
3552
0
            return true;
3553
0
        }
3554
0
    case union__::TRotationX:
3555
0
        {
3556
0
            mozilla::layers::RotationX tmp = mozilla::layers::RotationX();
3557
0
            (*(aVar)) = tmp;
3558
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_RotationX())))))) {
3559
0
                (aActor)->FatalError("Error deserializing variant TRotationX of union TransformFunction");
3560
0
                return false;
3561
0
            }
3562
0
            // Sentinel = 'TRotationX'
3563
0
            if ((!((aMsg)->ReadSentinel(aIter, 3076537720)))) {
3564
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TRotationX of union TransformFunction");
3565
0
                return false;
3566
0
            }
3567
0
            return true;
3568
0
        }
3569
0
    case union__::TRotationY:
3570
0
        {
3571
0
            mozilla::layers::RotationY tmp = mozilla::layers::RotationY();
3572
0
            (*(aVar)) = tmp;
3573
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_RotationY())))))) {
3574
0
                (aActor)->FatalError("Error deserializing variant TRotationY of union TransformFunction");
3575
0
                return false;
3576
0
            }
3577
0
            // Sentinel = 'TRotationY'
3578
0
            if ((!((aMsg)->ReadSentinel(aIter, 3076537721)))) {
3579
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TRotationY of union TransformFunction");
3580
0
                return false;
3581
0
            }
3582
0
            return true;
3583
0
        }
3584
0
    case union__::TRotationZ:
3585
0
        {
3586
0
            mozilla::layers::RotationZ tmp = mozilla::layers::RotationZ();
3587
0
            (*(aVar)) = tmp;
3588
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_RotationZ())))))) {
3589
0
                (aActor)->FatalError("Error deserializing variant TRotationZ of union TransformFunction");
3590
0
                return false;
3591
0
            }
3592
0
            // Sentinel = 'TRotationZ'
3593
0
            if ((!((aMsg)->ReadSentinel(aIter, 3076537722)))) {
3594
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TRotationZ of union TransformFunction");
3595
0
                return false;
3596
0
            }
3597
0
            return true;
3598
0
        }
3599
0
    case union__::TRotation:
3600
0
        {
3601
0
            mozilla::layers::Rotation tmp = mozilla::layers::Rotation();
3602
0
            (*(aVar)) = tmp;
3603
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_Rotation())))))) {
3604
0
                (aActor)->FatalError("Error deserializing variant TRotation of union TransformFunction");
3605
0
                return false;
3606
0
            }
3607
0
            // Sentinel = 'TRotation'
3608
0
            if ((!((aMsg)->ReadSentinel(aIter, 204395655)))) {
3609
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TRotation of union TransformFunction");
3610
0
                return false;
3611
0
            }
3612
0
            return true;
3613
0
        }
3614
0
    case union__::TRotation3D:
3615
0
        {
3616
0
            mozilla::layers::Rotation3D tmp = mozilla::layers::Rotation3D();
3617
0
            (*(aVar)) = tmp;
3618
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_Rotation3D())))))) {
3619
0
                (aActor)->FatalError("Error deserializing variant TRotation3D of union TransformFunction");
3620
0
                return false;
3621
0
            }
3622
0
            // Sentinel = 'TRotation3D'
3623
0
            if ((!((aMsg)->ReadSentinel(aIter, 1650945988)))) {
3624
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TRotation3D of union TransformFunction");
3625
0
                return false;
3626
0
            }
3627
0
            return true;
3628
0
        }
3629
0
    case union__::TScale:
3630
0
        {
3631
0
            mozilla::layers::Scale tmp = mozilla::layers::Scale();
3632
0
            (*(aVar)) = tmp;
3633
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_Scale())))))) {
3634
0
                (aActor)->FatalError("Error deserializing variant TScale of union TransformFunction");
3635
0
                return false;
3636
0
            }
3637
0
            // Sentinel = 'TScale'
3638
0
            if ((!((aMsg)->ReadSentinel(aIter, 4188009060)))) {
3639
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TScale of union TransformFunction");
3640
0
                return false;
3641
0
            }
3642
0
            return true;
3643
0
        }
3644
0
    case union__::TSkew:
3645
0
        {
3646
0
            mozilla::layers::Skew tmp = mozilla::layers::Skew();
3647
0
            (*(aVar)) = tmp;
3648
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_Skew())))))) {
3649
0
                (aActor)->FatalError("Error deserializing variant TSkew of union TransformFunction");
3650
0
                return false;
3651
0
            }
3652
0
            // Sentinel = 'TSkew'
3653
0
            if ((!((aMsg)->ReadSentinel(aIter, 398444919)))) {
3654
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TSkew of union TransformFunction");
3655
0
                return false;
3656
0
            }
3657
0
            return true;
3658
0
        }
3659
0
    case union__::TSkewX:
3660
0
        {
3661
0
            mozilla::layers::SkewX tmp = mozilla::layers::SkewX();
3662
0
            (*(aVar)) = tmp;
3663
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_SkewX())))))) {
3664
0
                (aActor)->FatalError("Error deserializing variant TSkewX of union TransformFunction");
3665
0
                return false;
3666
0
            }
3667
0
            // Sentinel = 'TSkewX'
3668
0
            if ((!((aMsg)->ReadSentinel(aIter, 1993284744)))) {
3669
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TSkewX of union TransformFunction");
3670
0
                return false;
3671
0
            }
3672
0
            return true;
3673
0
        }
3674
0
    case union__::TSkewY:
3675
0
        {
3676
0
            mozilla::layers::SkewY tmp = mozilla::layers::SkewY();
3677
0
            (*(aVar)) = tmp;
3678
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_SkewY())))))) {
3679
0
                (aActor)->FatalError("Error deserializing variant TSkewY of union TransformFunction");
3680
0
                return false;
3681
0
            }
3682
0
            // Sentinel = 'TSkewY'
3683
0
            if ((!((aMsg)->ReadSentinel(aIter, 1993284745)))) {
3684
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TSkewY of union TransformFunction");
3685
0
                return false;
3686
0
            }
3687
0
            return true;
3688
0
        }
3689
0
    case union__::TTranslation:
3690
0
        {
3691
0
            mozilla::layers::Translation tmp = mozilla::layers::Translation();
3692
0
            (*(aVar)) = tmp;
3693
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_Translation())))))) {
3694
0
                (aActor)->FatalError("Error deserializing variant TTranslation of union TransformFunction");
3695
0
                return false;
3696
0
            }
3697
0
            // Sentinel = 'TTranslation'
3698
0
            if ((!((aMsg)->ReadSentinel(aIter, 2021428737)))) {
3699
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TTranslation of union TransformFunction");
3700
0
                return false;
3701
0
            }
3702
0
            return true;
3703
0
        }
3704
0
    case union__::TTransformMatrix:
3705
0
        {
3706
0
            mozilla::layers::TransformMatrix tmp = mozilla::layers::TransformMatrix();
3707
0
            (*(aVar)) = tmp;
3708
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_TransformMatrix())))))) {
3709
0
                (aActor)->FatalError("Error deserializing variant TTransformMatrix of union TransformFunction");
3710
0
                return false;
3711
0
            }
3712
0
            // Sentinel = 'TTransformMatrix'
3713
0
            if ((!((aMsg)->ReadSentinel(aIter, 2585816443)))) {
3714
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TTransformMatrix of union TransformFunction");
3715
0
                return false;
3716
0
            }
3717
0
            return true;
3718
0
        }
3719
0
    default:
3720
0
        {
3721
0
            (aActor)->FatalError("unknown union type");
3722
0
            return false;
3723
0
        }
3724
0
    }
3725
0
}
3726
3727
} // namespace ipc
3728
} // namespace mozilla
3729
3730
//-----------------------------------------------------------------------------
3731
// Method definitions for the IPDL type |union MaybeTimeDuration|
3732
//
3733
namespace mozilla {
3734
namespace layers {
3735
auto MaybeTimeDuration::MaybeDestroy(Type aNewType) -> bool
3736
0
{
3737
0
    if ((mType) == (T__None)) {
3738
0
        return true;
3739
0
    }
3740
0
    if ((mType) == (aNewType)) {
3741
0
        return false;
3742
0
    }
3743
0
    switch (mType) {
3744
0
    case Tnull_t:
3745
0
        {
3746
0
            (ptr_null_t())->~null_t__tdef();
3747
0
            break;
3748
0
        }
3749
0
    case TTimeDuration:
3750
0
        {
3751
0
            (ptr_TimeDuration())->~TimeDuration__tdef();
3752
0
            break;
3753
0
        }
3754
0
    default:
3755
0
        {
3756
0
            mozilla::ipc::LogicError("not reached");
3757
0
            break;
3758
0
        }
3759
0
    }
3760
0
    return true;
3761
0
}
3762
3763
MOZ_IMPLICIT MaybeTimeDuration::MaybeTimeDuration(const null_t& aOther)
3764
0
{
3765
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(aOther);
3766
0
    mType = Tnull_t;
3767
0
}
3768
3769
MOZ_IMPLICIT MaybeTimeDuration::MaybeTimeDuration(null_t&& aOther)
3770
0
{
3771
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move(aOther));
3772
0
    mType = Tnull_t;
3773
0
}
3774
3775
MOZ_IMPLICIT MaybeTimeDuration::MaybeTimeDuration(const TimeDuration& aOther)
3776
0
{
3777
0
    new (mozilla::KnownNotNull, ptr_TimeDuration()) TimeDuration(aOther);
3778
0
    mType = TTimeDuration;
3779
0
}
3780
3781
MOZ_IMPLICIT MaybeTimeDuration::MaybeTimeDuration(TimeDuration&& aOther)
3782
0
{
3783
0
    new (mozilla::KnownNotNull, ptr_TimeDuration()) TimeDuration(std::move(aOther));
3784
0
    mType = TTimeDuration;
3785
0
}
3786
3787
MOZ_IMPLICIT MaybeTimeDuration::MaybeTimeDuration(const MaybeTimeDuration& aOther)
3788
0
{
3789
0
    (aOther).AssertSanity();
3790
0
    switch ((aOther).type()) {
3791
0
    case Tnull_t:
3792
0
        {
3793
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t((aOther).get_null_t());
3794
0
            break;
3795
0
        }
3796
0
    case TTimeDuration:
3797
0
        {
3798
0
            new (mozilla::KnownNotNull, ptr_TimeDuration()) TimeDuration((aOther).get_TimeDuration());
3799
0
            break;
3800
0
        }
3801
0
    case T__None:
3802
0
        {
3803
0
            break;
3804
0
        }
3805
0
    default:
3806
0
        {
3807
0
            mozilla::ipc::LogicError("unreached");
3808
0
            return;
3809
0
        }
3810
0
    }
3811
0
    mType = (aOther).type();
3812
0
}
3813
3814
MOZ_IMPLICIT MaybeTimeDuration::MaybeTimeDuration(MaybeTimeDuration&& aOther)
3815
0
{
3816
0
    (aOther).AssertSanity();
3817
0
    Type t = (aOther).type();
3818
0
    switch (t) {
3819
0
    case Tnull_t:
3820
0
        {
3821
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move((aOther).get_null_t()));
3822
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
3823
0
            break;
3824
0
        }
3825
0
    case TTimeDuration:
3826
0
        {
3827
0
            new (mozilla::KnownNotNull, ptr_TimeDuration()) TimeDuration(std::move((aOther).get_TimeDuration()));
3828
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
3829
0
            break;
3830
0
        }
3831
0
    case T__None:
3832
0
        {
3833
0
            break;
3834
0
        }
3835
0
    default:
3836
0
        {
3837
0
            mozilla::ipc::LogicError("unreached");
3838
0
            return;
3839
0
        }
3840
0
    }
3841
0
    (aOther).mType = T__None;
3842
0
    mType = t;
3843
0
}
3844
3845
MaybeTimeDuration::~MaybeTimeDuration()
3846
0
{
3847
0
    static_cast<void>(MaybeDestroy(T__None));
3848
0
}
3849
3850
auto MaybeTimeDuration::operator=(const null_t& aRhs) -> MaybeTimeDuration&
3851
0
{
3852
0
    if (MaybeDestroy(Tnull_t)) {
3853
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
3854
0
    }
3855
0
    (*(ptr_null_t())) = aRhs;
3856
0
    mType = Tnull_t;
3857
0
    return (*(this));
3858
0
}
3859
3860
auto MaybeTimeDuration::operator=(null_t&& aRhs) -> MaybeTimeDuration&
3861
0
{
3862
0
    if (MaybeDestroy(Tnull_t)) {
3863
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
3864
0
    }
3865
0
    (*(ptr_null_t())) = std::move(aRhs);
3866
0
    mType = Tnull_t;
3867
0
    return (*(this));
3868
0
}
3869
3870
auto MaybeTimeDuration::operator=(const TimeDuration& aRhs) -> MaybeTimeDuration&
3871
0
{
3872
0
    if (MaybeDestroy(TTimeDuration)) {
3873
0
        new (mozilla::KnownNotNull, ptr_TimeDuration()) TimeDuration;
3874
0
    }
3875
0
    (*(ptr_TimeDuration())) = aRhs;
3876
0
    mType = TTimeDuration;
3877
0
    return (*(this));
3878
0
}
3879
3880
auto MaybeTimeDuration::operator=(TimeDuration&& aRhs) -> MaybeTimeDuration&
3881
0
{
3882
0
    if (MaybeDestroy(TTimeDuration)) {
3883
0
        new (mozilla::KnownNotNull, ptr_TimeDuration()) TimeDuration;
3884
0
    }
3885
0
    (*(ptr_TimeDuration())) = std::move(aRhs);
3886
0
    mType = TTimeDuration;
3887
0
    return (*(this));
3888
0
}
3889
3890
auto MaybeTimeDuration::operator=(const MaybeTimeDuration& aRhs) -> MaybeTimeDuration&
3891
0
{
3892
0
    (aRhs).AssertSanity();
3893
0
    Type t = (aRhs).type();
3894
0
    switch (t) {
3895
0
    case Tnull_t:
3896
0
        {
3897
0
            if (MaybeDestroy(t)) {
3898
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
3899
0
            }
3900
0
            (*(ptr_null_t())) = (aRhs).get_null_t();
3901
0
            break;
3902
0
        }
3903
0
    case TTimeDuration:
3904
0
        {
3905
0
            if (MaybeDestroy(t)) {
3906
0
                new (mozilla::KnownNotNull, ptr_TimeDuration()) TimeDuration;
3907
0
            }
3908
0
            (*(ptr_TimeDuration())) = (aRhs).get_TimeDuration();
3909
0
            break;
3910
0
        }
3911
0
    case T__None:
3912
0
        {
3913
0
            static_cast<void>(MaybeDestroy(t));
3914
0
            break;
3915
0
        }
3916
0
    default:
3917
0
        {
3918
0
            mozilla::ipc::LogicError("unreached");
3919
0
            break;
3920
0
        }
3921
0
    }
3922
0
    mType = t;
3923
0
    return (*(this));
3924
0
}
3925
3926
auto MaybeTimeDuration::operator=(MaybeTimeDuration&& aRhs) -> MaybeTimeDuration&
3927
0
{
3928
0
    (aRhs).AssertSanity();
3929
0
    Type t = (aRhs).type();
3930
0
    switch (t) {
3931
0
    case Tnull_t:
3932
0
        {
3933
0
            if (MaybeDestroy(t)) {
3934
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
3935
0
            }
3936
0
            (*(ptr_null_t())) = std::move((aRhs).get_null_t());
3937
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
3938
0
            break;
3939
0
        }
3940
0
    case TTimeDuration:
3941
0
        {
3942
0
            if (MaybeDestroy(t)) {
3943
0
                new (mozilla::KnownNotNull, ptr_TimeDuration()) TimeDuration;
3944
0
            }
3945
0
            (*(ptr_TimeDuration())) = std::move((aRhs).get_TimeDuration());
3946
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
3947
0
            break;
3948
0
        }
3949
0
    case T__None:
3950
0
        {
3951
0
            static_cast<void>(MaybeDestroy(t));
3952
0
            break;
3953
0
        }
3954
0
    default:
3955
0
        {
3956
0
            mozilla::ipc::LogicError("unreached");
3957
0
            break;
3958
0
        }
3959
0
    }
3960
0
    (aRhs).mType = T__None;
3961
0
    mType = t;
3962
0
    return (*(this));
3963
0
}
3964
3965
auto MaybeTimeDuration::operator==(const null_t& aRhs) const -> bool
3966
0
{
3967
0
    return (get_null_t()) == (aRhs);
3968
0
}
3969
3970
auto MaybeTimeDuration::operator==(const TimeDuration& aRhs) const -> bool
3971
0
{
3972
0
    return (get_TimeDuration()) == (aRhs);
3973
0
}
3974
3975
auto MaybeTimeDuration::operator==(const MaybeTimeDuration& aRhs) const -> bool
3976
0
{
3977
0
    if ((type()) != ((aRhs).type())) {
3978
0
        return false;
3979
0
    }
3980
0
3981
0
    switch (type()) {
3982
0
    case Tnull_t:
3983
0
        {
3984
0
            return (get_null_t()) == ((aRhs).get_null_t());
3985
0
        }
3986
0
    case TTimeDuration:
3987
0
        {
3988
0
            return (get_TimeDuration()) == ((aRhs).get_TimeDuration());
3989
0
        }
3990
0
    default:
3991
0
        {
3992
0
            mozilla::ipc::LogicError("unreached");
3993
0
            return false;
3994
0
        }
3995
0
    }
3996
0
}
3997
3998
auto MaybeTimeDuration::get(null_t* aOutValue) const -> void
3999
0
{
4000
0
    (*(aOutValue)) = get_null_t();
4001
0
}
4002
4003
auto MaybeTimeDuration::get(TimeDuration* aOutValue) const -> void
4004
0
{
4005
0
    (*(aOutValue)) = get_TimeDuration();
4006
0
}
4007
4008
} // namespace layers
4009
} // namespace mozilla
4010
4011
namespace mozilla {
4012
namespace ipc {
4013
auto IPDLParamTraits<mozilla::layers::MaybeTimeDuration>::Write(
4014
        IPC::Message* aMsg,
4015
        mozilla::ipc::IProtocol* aActor,
4016
        const paramType& aVar) -> void
4017
{
4018
    typedef mozilla::layers::MaybeTimeDuration union__;
4019
    int type;
4020
    type = (aVar).type();
4021
    WriteIPDLParam(aMsg, aActor, type);
4022
    // Sentinel = 'MaybeTimeDuration'
4023
    (aMsg)->WriteSentinel(2974565326);
4024
4025
    switch (type) {
4026
    case union__::Tnull_t:
4027
        {
4028
            WriteIPDLParam(aMsg, aActor, (aVar).get_null_t());
4029
            // Sentinel = 'Tnull_t'
4030
            (aMsg)->WriteSentinel(3731137201);
4031
            return;
4032
        }
4033
    case union__::TTimeDuration:
4034
        {
4035
            WriteIPDLParam(aMsg, aActor, (aVar).get_TimeDuration());
4036
            // Sentinel = 'TTimeDuration'
4037
            (aMsg)->WriteSentinel(1576139930);
4038
            return;
4039
        }
4040
    default:
4041
        {
4042
            (aActor)->FatalError("unknown union type");
4043
            return;
4044
        }
4045
    }
4046
}
4047
4048
auto IPDLParamTraits<mozilla::layers::MaybeTimeDuration>::Read(
4049
        const IPC::Message* aMsg,
4050
        PickleIterator* aIter,
4051
        mozilla::ipc::IProtocol* aActor,
4052
        paramType* aVar) -> bool
4053
0
{
4054
0
    typedef mozilla::layers::MaybeTimeDuration union__;
4055
0
    int type;
4056
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
4057
0
        (aActor)->FatalError("Error deserializing type of union MaybeTimeDuration");
4058
0
        return false;
4059
0
    }
4060
0
    // Sentinel = 'MaybeTimeDuration'
4061
0
    if ((!((aMsg)->ReadSentinel(aIter, 2974565326)))) {
4062
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union MaybeTimeDuration");
4063
0
        return false;
4064
0
    }
4065
0
4066
0
    switch (type) {
4067
0
    case union__::Tnull_t:
4068
0
        {
4069
0
            mozilla::null_t tmp = mozilla::null_t();
4070
0
            (*(aVar)) = tmp;
4071
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_null_t())))))) {
4072
0
                (aActor)->FatalError("Error deserializing variant Tnull_t of union MaybeTimeDuration");
4073
0
                return false;
4074
0
            }
4075
0
            // Sentinel = 'Tnull_t'
4076
0
            if ((!((aMsg)->ReadSentinel(aIter, 3731137201)))) {
4077
0
                mozilla::ipc::SentinelReadError("Error deserializing variant Tnull_t of union MaybeTimeDuration");
4078
0
                return false;
4079
0
            }
4080
0
            return true;
4081
0
        }
4082
0
    case union__::TTimeDuration:
4083
0
        {
4084
0
            mozilla::TimeDuration tmp = mozilla::TimeDuration();
4085
0
            (*(aVar)) = tmp;
4086
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_TimeDuration())))))) {
4087
0
                (aActor)->FatalError("Error deserializing variant TTimeDuration of union MaybeTimeDuration");
4088
0
                return false;
4089
0
            }
4090
0
            // Sentinel = 'TTimeDuration'
4091
0
            if ((!((aMsg)->ReadSentinel(aIter, 1576139930)))) {
4092
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TTimeDuration of union MaybeTimeDuration");
4093
0
                return false;
4094
0
            }
4095
0
            return true;
4096
0
        }
4097
0
    default:
4098
0
        {
4099
0
            (aActor)->FatalError("unknown union type");
4100
0
            return false;
4101
0
        }
4102
0
    }
4103
0
}
4104
4105
} // namespace ipc
4106
} // namespace mozilla
4107
4108
//-----------------------------------------------------------------------------
4109
// Method definitions for the IPDL type |union Animatable|
4110
//
4111
namespace mozilla {
4112
namespace layers {
4113
auto Animatable::MaybeDestroy(Type aNewType) -> bool
4114
0
{
4115
0
    if ((mType) == (T__None)) {
4116
0
        return true;
4117
0
    }
4118
0
    if ((mType) == (aNewType)) {
4119
0
        return false;
4120
0
    }
4121
0
    switch (mType) {
4122
0
    case Tnull_t:
4123
0
        {
4124
0
            (ptr_null_t())->~null_t__tdef();
4125
0
            break;
4126
0
        }
4127
0
    case Tfloat:
4128
0
        {
4129
0
            (ptr_float())->~float__tdef();
4130
0
            break;
4131
0
        }
4132
0
    case TArrayOfTransformFunction:
4133
0
        {
4134
0
            (ptr_ArrayOfTransformFunction())->~ArrayOfTransformFunction__tdef();
4135
0
            break;
4136
0
        }
4137
0
    default:
4138
0
        {
4139
0
            mozilla::ipc::LogicError("not reached");
4140
0
            break;
4141
0
        }
4142
0
    }
4143
0
    return true;
4144
0
}
4145
4146
MOZ_IMPLICIT Animatable::Animatable(const null_t& aOther)
4147
0
{
4148
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(aOther);
4149
0
    mType = Tnull_t;
4150
0
}
4151
4152
MOZ_IMPLICIT Animatable::Animatable(null_t&& aOther)
4153
0
{
4154
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move(aOther));
4155
0
    mType = Tnull_t;
4156
0
}
4157
4158
MOZ_IMPLICIT Animatable::Animatable(const float& aOther)
4159
0
{
4160
0
    new (mozilla::KnownNotNull, ptr_float()) float(aOther);
4161
0
    mType = Tfloat;
4162
0
}
4163
4164
MOZ_IMPLICIT Animatable::Animatable(float&& aOther)
4165
0
{
4166
0
    new (mozilla::KnownNotNull, ptr_float()) float(std::move(aOther));
4167
0
    mType = Tfloat;
4168
0
}
4169
4170
MOZ_IMPLICIT Animatable::Animatable(const nsTArray<TransformFunction>& aOther)
4171
0
{
4172
0
    new (mozilla::KnownNotNull, ptr_ArrayOfTransformFunction()) nsTArray<TransformFunction>(aOther);
4173
0
    mType = TArrayOfTransformFunction;
4174
0
}
4175
4176
MOZ_IMPLICIT Animatable::Animatable(nsTArray<TransformFunction>&& aOther)
4177
0
{
4178
0
    new (mozilla::KnownNotNull, ptr_ArrayOfTransformFunction()) nsTArray<TransformFunction>(std::move(aOther));
4179
0
    mType = TArrayOfTransformFunction;
4180
0
}
4181
4182
MOZ_IMPLICIT Animatable::Animatable(const Animatable& aOther)
4183
0
{
4184
0
    (aOther).AssertSanity();
4185
0
    switch ((aOther).type()) {
4186
0
    case Tnull_t:
4187
0
        {
4188
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t((aOther).get_null_t());
4189
0
            break;
4190
0
        }
4191
0
    case Tfloat:
4192
0
        {
4193
0
            new (mozilla::KnownNotNull, ptr_float()) float((aOther).get_float());
4194
0
            break;
4195
0
        }
4196
0
    case TArrayOfTransformFunction:
4197
0
        {
4198
0
            new (mozilla::KnownNotNull, ptr_ArrayOfTransformFunction()) nsTArray<TransformFunction>((aOther).get_ArrayOfTransformFunction());
4199
0
            break;
4200
0
        }
4201
0
    case T__None:
4202
0
        {
4203
0
            break;
4204
0
        }
4205
0
    default:
4206
0
        {
4207
0
            mozilla::ipc::LogicError("unreached");
4208
0
            return;
4209
0
        }
4210
0
    }
4211
0
    mType = (aOther).type();
4212
0
}
4213
4214
MOZ_IMPLICIT Animatable::Animatable(Animatable&& aOther)
4215
0
{
4216
0
    (aOther).AssertSanity();
4217
0
    Type t = (aOther).type();
4218
0
    switch (t) {
4219
0
    case Tnull_t:
4220
0
        {
4221
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move((aOther).get_null_t()));
4222
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
4223
0
            break;
4224
0
        }
4225
0
    case Tfloat:
4226
0
        {
4227
0
            new (mozilla::KnownNotNull, ptr_float()) float(std::move((aOther).get_float()));
4228
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
4229
0
            break;
4230
0
        }
4231
0
    case TArrayOfTransformFunction:
4232
0
        {
4233
0
            new (mozilla::KnownNotNull, ptr_ArrayOfTransformFunction()) nsTArray<TransformFunction>(std::move((aOther).get_ArrayOfTransformFunction()));
4234
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
4235
0
            break;
4236
0
        }
4237
0
    case T__None:
4238
0
        {
4239
0
            break;
4240
0
        }
4241
0
    default:
4242
0
        {
4243
0
            mozilla::ipc::LogicError("unreached");
4244
0
            return;
4245
0
        }
4246
0
    }
4247
0
    (aOther).mType = T__None;
4248
0
    mType = t;
4249
0
}
4250
4251
Animatable::~Animatable()
4252
0
{
4253
0
    static_cast<void>(MaybeDestroy(T__None));
4254
0
}
4255
4256
auto Animatable::operator=(const null_t& aRhs) -> Animatable&
4257
0
{
4258
0
    if (MaybeDestroy(Tnull_t)) {
4259
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
4260
0
    }
4261
0
    (*(ptr_null_t())) = aRhs;
4262
0
    mType = Tnull_t;
4263
0
    return (*(this));
4264
0
}
4265
4266
auto Animatable::operator=(null_t&& aRhs) -> Animatable&
4267
0
{
4268
0
    if (MaybeDestroy(Tnull_t)) {
4269
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
4270
0
    }
4271
0
    (*(ptr_null_t())) = std::move(aRhs);
4272
0
    mType = Tnull_t;
4273
0
    return (*(this));
4274
0
}
4275
4276
auto Animatable::operator=(const float& aRhs) -> Animatable&
4277
0
{
4278
0
    if (MaybeDestroy(Tfloat)) {
4279
0
        new (mozilla::KnownNotNull, ptr_float()) float;
4280
0
    }
4281
0
    (*(ptr_float())) = aRhs;
4282
0
    mType = Tfloat;
4283
0
    return (*(this));
4284
0
}
4285
4286
auto Animatable::operator=(float&& aRhs) -> Animatable&
4287
0
{
4288
0
    if (MaybeDestroy(Tfloat)) {
4289
0
        new (mozilla::KnownNotNull, ptr_float()) float;
4290
0
    }
4291
0
    (*(ptr_float())) = std::move(aRhs);
4292
0
    mType = Tfloat;
4293
0
    return (*(this));
4294
0
}
4295
4296
auto Animatable::operator=(const nsTArray<TransformFunction>& aRhs) -> Animatable&
4297
0
{
4298
0
    if (MaybeDestroy(TArrayOfTransformFunction)) {
4299
0
        new (mozilla::KnownNotNull, ptr_ArrayOfTransformFunction()) nsTArray<TransformFunction>;
4300
0
    }
4301
0
    (*(ptr_ArrayOfTransformFunction())) = aRhs;
4302
0
    mType = TArrayOfTransformFunction;
4303
0
    return (*(this));
4304
0
}
4305
4306
auto Animatable::operator=(nsTArray<TransformFunction>&& aRhs) -> Animatable&
4307
0
{
4308
0
    if (MaybeDestroy(TArrayOfTransformFunction)) {
4309
0
        new (mozilla::KnownNotNull, ptr_ArrayOfTransformFunction()) nsTArray<TransformFunction>;
4310
0
    }
4311
0
    (*(ptr_ArrayOfTransformFunction())) = std::move(aRhs);
4312
0
    mType = TArrayOfTransformFunction;
4313
0
    return (*(this));
4314
0
}
4315
4316
auto Animatable::operator=(const Animatable& aRhs) -> Animatable&
4317
0
{
4318
0
    (aRhs).AssertSanity();
4319
0
    Type t = (aRhs).type();
4320
0
    switch (t) {
4321
0
    case Tnull_t:
4322
0
        {
4323
0
            if (MaybeDestroy(t)) {
4324
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
4325
0
            }
4326
0
            (*(ptr_null_t())) = (aRhs).get_null_t();
4327
0
            break;
4328
0
        }
4329
0
    case Tfloat:
4330
0
        {
4331
0
            if (MaybeDestroy(t)) {
4332
0
                new (mozilla::KnownNotNull, ptr_float()) float;
4333
0
            }
4334
0
            (*(ptr_float())) = (aRhs).get_float();
4335
0
            break;
4336
0
        }
4337
0
    case TArrayOfTransformFunction:
4338
0
        {
4339
0
            if (MaybeDestroy(t)) {
4340
0
                new (mozilla::KnownNotNull, ptr_ArrayOfTransformFunction()) nsTArray<TransformFunction>;
4341
0
            }
4342
0
            (*(ptr_ArrayOfTransformFunction())) = (aRhs).get_ArrayOfTransformFunction();
4343
0
            break;
4344
0
        }
4345
0
    case T__None:
4346
0
        {
4347
0
            static_cast<void>(MaybeDestroy(t));
4348
0
            break;
4349
0
        }
4350
0
    default:
4351
0
        {
4352
0
            mozilla::ipc::LogicError("unreached");
4353
0
            break;
4354
0
        }
4355
0
    }
4356
0
    mType = t;
4357
0
    return (*(this));
4358
0
}
4359
4360
auto Animatable::operator=(Animatable&& aRhs) -> Animatable&
4361
0
{
4362
0
    (aRhs).AssertSanity();
4363
0
    Type t = (aRhs).type();
4364
0
    switch (t) {
4365
0
    case Tnull_t:
4366
0
        {
4367
0
            if (MaybeDestroy(t)) {
4368
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
4369
0
            }
4370
0
            (*(ptr_null_t())) = std::move((aRhs).get_null_t());
4371
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
4372
0
            break;
4373
0
        }
4374
0
    case Tfloat:
4375
0
        {
4376
0
            if (MaybeDestroy(t)) {
4377
0
                new (mozilla::KnownNotNull, ptr_float()) float;
4378
0
            }
4379
0
            (*(ptr_float())) = std::move((aRhs).get_float());
4380
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
4381
0
            break;
4382
0
        }
4383
0
    case TArrayOfTransformFunction:
4384
0
        {
4385
0
            if (MaybeDestroy(t)) {
4386
0
                new (mozilla::KnownNotNull, ptr_ArrayOfTransformFunction()) nsTArray<TransformFunction>;
4387
0
            }
4388
0
            (*(ptr_ArrayOfTransformFunction())) = std::move((aRhs).get_ArrayOfTransformFunction());
4389
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
4390
0
            break;
4391
0
        }
4392
0
    case T__None:
4393
0
        {
4394
0
            static_cast<void>(MaybeDestroy(t));
4395
0
            break;
4396
0
        }
4397
0
    default:
4398
0
        {
4399
0
            mozilla::ipc::LogicError("unreached");
4400
0
            break;
4401
0
        }
4402
0
    }
4403
0
    (aRhs).mType = T__None;
4404
0
    mType = t;
4405
0
    return (*(this));
4406
0
}
4407
4408
auto Animatable::operator==(const null_t& aRhs) const -> bool
4409
0
{
4410
0
    return (get_null_t()) == (aRhs);
4411
0
}
4412
4413
auto Animatable::operator==(const float& aRhs) const -> bool
4414
0
{
4415
0
    return (get_float()) == (aRhs);
4416
0
}
4417
4418
auto Animatable::operator==(const nsTArray<TransformFunction>& aRhs) const -> bool
4419
0
{
4420
0
    return (get_ArrayOfTransformFunction()) == (aRhs);
4421
0
}
4422
4423
auto Animatable::operator==(const Animatable& aRhs) const -> bool
4424
0
{
4425
0
    if ((type()) != ((aRhs).type())) {
4426
0
        return false;
4427
0
    }
4428
0
4429
0
    switch (type()) {
4430
0
    case Tnull_t:
4431
0
        {
4432
0
            return (get_null_t()) == ((aRhs).get_null_t());
4433
0
        }
4434
0
    case Tfloat:
4435
0
        {
4436
0
            return (get_float()) == ((aRhs).get_float());
4437
0
        }
4438
0
    case TArrayOfTransformFunction:
4439
0
        {
4440
0
            return (get_ArrayOfTransformFunction()) == ((aRhs).get_ArrayOfTransformFunction());
4441
0
        }
4442
0
    default:
4443
0
        {
4444
0
            mozilla::ipc::LogicError("unreached");
4445
0
            return false;
4446
0
        }
4447
0
    }
4448
0
}
4449
4450
auto Animatable::get(null_t* aOutValue) const -> void
4451
0
{
4452
0
    (*(aOutValue)) = get_null_t();
4453
0
}
4454
4455
auto Animatable::get(float* aOutValue) const -> void
4456
0
{
4457
0
    (*(aOutValue)) = get_float();
4458
0
}
4459
4460
auto Animatable::get(nsTArray<TransformFunction>* aOutValue) const -> void
4461
0
{
4462
0
    (*(aOutValue)) = get_ArrayOfTransformFunction();
4463
0
}
4464
4465
} // namespace layers
4466
} // namespace mozilla
4467
4468
namespace mozilla {
4469
namespace ipc {
4470
auto IPDLParamTraits<mozilla::layers::Animatable>::Write(
4471
        IPC::Message* aMsg,
4472
        mozilla::ipc::IProtocol* aActor,
4473
        const paramType& aVar) -> void
4474
{
4475
    typedef mozilla::layers::Animatable union__;
4476
    int type;
4477
    type = (aVar).type();
4478
    WriteIPDLParam(aMsg, aActor, type);
4479
    // Sentinel = 'Animatable'
4480
    (aMsg)->WriteSentinel(1922875594);
4481
4482
    switch (type) {
4483
    case union__::Tnull_t:
4484
        {
4485
            WriteIPDLParam(aMsg, aActor, (aVar).get_null_t());
4486
            // Sentinel = 'Tnull_t'
4487
            (aMsg)->WriteSentinel(3731137201);
4488
            return;
4489
        }
4490
    case union__::Tfloat:
4491
        {
4492
            WriteIPDLParam(aMsg, aActor, (aVar).get_float());
4493
            // Sentinel = 'Tfloat'
4494
            (aMsg)->WriteSentinel(2693237468);
4495
            return;
4496
        }
4497
    case union__::TArrayOfTransformFunction:
4498
        {
4499
            WriteIPDLParam(aMsg, aActor, (aVar).get_ArrayOfTransformFunction());
4500
            // Sentinel = 'TArrayOfTransformFunction'
4501
            (aMsg)->WriteSentinel(2388656529);
4502
            return;
4503
        }
4504
    default:
4505
        {
4506
            (aActor)->FatalError("unknown union type");
4507
            return;
4508
        }
4509
    }
4510
}
4511
4512
auto IPDLParamTraits<mozilla::layers::Animatable>::Read(
4513
        const IPC::Message* aMsg,
4514
        PickleIterator* aIter,
4515
        mozilla::ipc::IProtocol* aActor,
4516
        paramType* aVar) -> bool
4517
0
{
4518
0
    typedef mozilla::layers::Animatable union__;
4519
0
    int type;
4520
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
4521
0
        (aActor)->FatalError("Error deserializing type of union Animatable");
4522
0
        return false;
4523
0
    }
4524
0
    // Sentinel = 'Animatable'
4525
0
    if ((!((aMsg)->ReadSentinel(aIter, 1922875594)))) {
4526
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union Animatable");
4527
0
        return false;
4528
0
    }
4529
0
4530
0
    switch (type) {
4531
0
    case union__::Tnull_t:
4532
0
        {
4533
0
            mozilla::null_t tmp = mozilla::null_t();
4534
0
            (*(aVar)) = tmp;
4535
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_null_t())))))) {
4536
0
                (aActor)->FatalError("Error deserializing variant Tnull_t of union Animatable");
4537
0
                return false;
4538
0
            }
4539
0
            // Sentinel = 'Tnull_t'
4540
0
            if ((!((aMsg)->ReadSentinel(aIter, 3731137201)))) {
4541
0
                mozilla::ipc::SentinelReadError("Error deserializing variant Tnull_t of union Animatable");
4542
0
                return false;
4543
0
            }
4544
0
            return true;
4545
0
        }
4546
0
    case union__::Tfloat:
4547
0
        {
4548
0
            float tmp = float();
4549
0
            (*(aVar)) = tmp;
4550
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_float())))))) {
4551
0
                (aActor)->FatalError("Error deserializing variant Tfloat of union Animatable");
4552
0
                return false;
4553
0
            }
4554
0
            // Sentinel = 'Tfloat'
4555
0
            if ((!((aMsg)->ReadSentinel(aIter, 2693237468)))) {
4556
0
                mozilla::ipc::SentinelReadError("Error deserializing variant Tfloat of union Animatable");
4557
0
                return false;
4558
0
            }
4559
0
            return true;
4560
0
        }
4561
0
    case union__::TArrayOfTransformFunction:
4562
0
        {
4563
0
            nsTArray<mozilla::layers::TransformFunction> tmp;
4564
0
            (*(aVar)) = tmp;
4565
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_ArrayOfTransformFunction())))))) {
4566
0
                (aActor)->FatalError("Error deserializing variant TArrayOfTransformFunction of union Animatable");
4567
0
                return false;
4568
0
            }
4569
0
            // Sentinel = 'TArrayOfTransformFunction'
4570
0
            if ((!((aMsg)->ReadSentinel(aIter, 2388656529)))) {
4571
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TArrayOfTransformFunction of union Animatable");
4572
0
                return false;
4573
0
            }
4574
0
            return true;
4575
0
        }
4576
0
    default:
4577
0
        {
4578
0
            (aActor)->FatalError("unknown union type");
4579
0
            return false;
4580
0
        }
4581
0
    }
4582
0
}
4583
4584
} // namespace ipc
4585
} // namespace mozilla
4586
4587
//-----------------------------------------------------------------------------
4588
// Method definitions for the IPDL type |struct AnimationSegment|
4589
//
4590
namespace mozilla {
4591
namespace layers {
4592
auto AnimationSegment::operator==(const AnimationSegment& _o) const -> bool
4593
0
{
4594
0
    if ((!((startState()) == ((_o).startState())))) {
4595
0
        return false;
4596
0
    }
4597
0
    if ((!((endState()) == ((_o).endState())))) {
4598
0
        return false;
4599
0
    }
4600
0
    if ((!((startPortion()) == ((_o).startPortion())))) {
4601
0
        return false;
4602
0
    }
4603
0
    if ((!((endPortion()) == ((_o).endPortion())))) {
4604
0
        return false;
4605
0
    }
4606
0
    if ((!((startComposite()) == ((_o).startComposite())))) {
4607
0
        return false;
4608
0
    }
4609
0
    if ((!((endComposite()) == ((_o).endComposite())))) {
4610
0
        return false;
4611
0
    }
4612
0
    if ((!((sampleFn()) == ((_o).sampleFn())))) {
4613
0
        return false;
4614
0
    }
4615
0
    return true;
4616
0
}
4617
4618
auto AnimationSegment::operator!=(const AnimationSegment& _o) const -> bool
4619
0
{
4620
0
    return (!(operator==(_o)));
4621
0
}
4622
4623
} // namespace layers
4624
} // namespace mozilla
4625
4626
namespace mozilla {
4627
namespace ipc {
4628
auto IPDLParamTraits<mozilla::layers::AnimationSegment>::Write(
4629
        IPC::Message* aMsg,
4630
        mozilla::ipc::IProtocol* aActor,
4631
        const paramType& aVar) -> void
4632
0
{
4633
0
    WriteIPDLParam(aMsg, aActor, (aVar).startState());
4634
0
    // Sentinel = 'startState'
4635
0
    (aMsg)->WriteSentinel(4108886385);
4636
0
    WriteIPDLParam(aMsg, aActor, (aVar).endState());
4637
0
    // Sentinel = 'endState'
4638
0
    (aMsg)->WriteSentinel(1429422250);
4639
0
    WriteIPDLParam(aMsg, aActor, (aVar).startPortion());
4640
0
    // Sentinel = 'startPortion'
4641
0
    (aMsg)->WriteSentinel(3719513325);
4642
0
    WriteIPDLParam(aMsg, aActor, (aVar).endPortion());
4643
0
    // Sentinel = 'endPortion'
4644
0
    (aMsg)->WriteSentinel(2820069090);
4645
0
    WriteIPDLParam(aMsg, aActor, (aVar).startComposite());
4646
0
    // Sentinel = 'startComposite'
4647
0
    (aMsg)->WriteSentinel(293778843);
4648
0
    WriteIPDLParam(aMsg, aActor, (aVar).endComposite());
4649
0
    // Sentinel = 'endComposite'
4650
0
    (aMsg)->WriteSentinel(734492384);
4651
0
    WriteIPDLParam(aMsg, aActor, (aVar).sampleFn());
4652
0
    // Sentinel = 'sampleFn'
4653
0
    (aMsg)->WriteSentinel(939676522);
4654
0
}
4655
4656
auto IPDLParamTraits<mozilla::layers::AnimationSegment>::Read(
4657
        const IPC::Message* aMsg,
4658
        PickleIterator* aIter,
4659
        mozilla::ipc::IProtocol* aActor,
4660
        paramType* aVar) -> bool
4661
0
{
4662
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->startState())))))) {
4663
0
        (aActor)->FatalError("Error deserializing 'startState' (Animatable) member of 'AnimationSegment'");
4664
0
        return false;
4665
0
    }
4666
0
    // Sentinel = 'startState'
4667
0
    if ((!((aMsg)->ReadSentinel(aIter, 4108886385)))) {
4668
0
        mozilla::ipc::SentinelReadError("Error deserializing 'startState' (Animatable) member of 'AnimationSegment'");
4669
0
        return false;
4670
0
    }
4671
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->endState())))))) {
4672
0
        (aActor)->FatalError("Error deserializing 'endState' (Animatable) member of 'AnimationSegment'");
4673
0
        return false;
4674
0
    }
4675
0
    // Sentinel = 'endState'
4676
0
    if ((!((aMsg)->ReadSentinel(aIter, 1429422250)))) {
4677
0
        mozilla::ipc::SentinelReadError("Error deserializing 'endState' (Animatable) member of 'AnimationSegment'");
4678
0
        return false;
4679
0
    }
4680
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->startPortion())))))) {
4681
0
        (aActor)->FatalError("Error deserializing 'startPortion' (float) member of 'AnimationSegment'");
4682
0
        return false;
4683
0
    }
4684
0
    // Sentinel = 'startPortion'
4685
0
    if ((!((aMsg)->ReadSentinel(aIter, 3719513325)))) {
4686
0
        mozilla::ipc::SentinelReadError("Error deserializing 'startPortion' (float) member of 'AnimationSegment'");
4687
0
        return false;
4688
0
    }
4689
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->endPortion())))))) {
4690
0
        (aActor)->FatalError("Error deserializing 'endPortion' (float) member of 'AnimationSegment'");
4691
0
        return false;
4692
0
    }
4693
0
    // Sentinel = 'endPortion'
4694
0
    if ((!((aMsg)->ReadSentinel(aIter, 2820069090)))) {
4695
0
        mozilla::ipc::SentinelReadError("Error deserializing 'endPortion' (float) member of 'AnimationSegment'");
4696
0
        return false;
4697
0
    }
4698
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->startComposite())))))) {
4699
0
        (aActor)->FatalError("Error deserializing 'startComposite' (uint8_t) member of 'AnimationSegment'");
4700
0
        return false;
4701
0
    }
4702
0
    // Sentinel = 'startComposite'
4703
0
    if ((!((aMsg)->ReadSentinel(aIter, 293778843)))) {
4704
0
        mozilla::ipc::SentinelReadError("Error deserializing 'startComposite' (uint8_t) member of 'AnimationSegment'");
4705
0
        return false;
4706
0
    }
4707
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->endComposite())))))) {
4708
0
        (aActor)->FatalError("Error deserializing 'endComposite' (uint8_t) member of 'AnimationSegment'");
4709
0
        return false;
4710
0
    }
4711
0
    // Sentinel = 'endComposite'
4712
0
    if ((!((aMsg)->ReadSentinel(aIter, 734492384)))) {
4713
0
        mozilla::ipc::SentinelReadError("Error deserializing 'endComposite' (uint8_t) member of 'AnimationSegment'");
4714
0
        return false;
4715
0
    }
4716
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->sampleFn())))))) {
4717
0
        (aActor)->FatalError("Error deserializing 'sampleFn' (TimingFunction) member of 'AnimationSegment'");
4718
0
        return false;
4719
0
    }
4720
0
    // Sentinel = 'sampleFn'
4721
0
    if ((!((aMsg)->ReadSentinel(aIter, 939676522)))) {
4722
0
        mozilla::ipc::SentinelReadError("Error deserializing 'sampleFn' (TimingFunction) member of 'AnimationSegment'");
4723
0
        return false;
4724
0
    }
4725
0
    return true;
4726
0
}
4727
4728
} // namespace ipc
4729
} // namespace mozilla
4730
4731
//-----------------------------------------------------------------------------
4732
// Method definitions for the IPDL type |struct TransformData|
4733
//
4734
namespace mozilla {
4735
namespace layers {
4736
auto TransformData::operator==(const TransformData& _o) const -> bool
4737
0
{
4738
0
    if ((!((origin()) == ((_o).origin())))) {
4739
0
        return false;
4740
0
    }
4741
0
    if ((!((transformOrigin()) == ((_o).transformOrigin())))) {
4742
0
        return false;
4743
0
    }
4744
0
    if ((!((bounds()) == ((_o).bounds())))) {
4745
0
        return false;
4746
0
    }
4747
0
    if ((!((appUnitsPerDevPixel()) == ((_o).appUnitsPerDevPixel())))) {
4748
0
        return false;
4749
0
    }
4750
0
    if ((!((inheritedXScale()) == ((_o).inheritedXScale())))) {
4751
0
        return false;
4752
0
    }
4753
0
    if ((!((inheritedYScale()) == ((_o).inheritedYScale())))) {
4754
0
        return false;
4755
0
    }
4756
0
    if ((!((hasPerspectiveParent()) == ((_o).hasPerspectiveParent())))) {
4757
0
        return false;
4758
0
    }
4759
0
    return true;
4760
0
}
4761
4762
auto TransformData::operator!=(const TransformData& _o) const -> bool
4763
0
{
4764
0
    return (!(operator==(_o)));
4765
0
}
4766
4767
} // namespace layers
4768
} // namespace mozilla
4769
4770
namespace mozilla {
4771
namespace ipc {
4772
auto IPDLParamTraits<mozilla::layers::TransformData>::Write(
4773
        IPC::Message* aMsg,
4774
        mozilla::ipc::IProtocol* aActor,
4775
        const paramType& aVar) -> void
4776
0
{
4777
0
    WriteIPDLParam(aMsg, aActor, (aVar).origin());
4778
0
    // Sentinel = 'origin'
4779
0
    (aMsg)->WriteSentinel(1429924608);
4780
0
    WriteIPDLParam(aMsg, aActor, (aVar).transformOrigin());
4781
0
    // Sentinel = 'transformOrigin'
4782
0
    (aMsg)->WriteSentinel(466321709);
4783
0
    WriteIPDLParam(aMsg, aActor, (aVar).bounds());
4784
0
    // Sentinel = 'bounds'
4785
0
    (aMsg)->WriteSentinel(809584493);
4786
0
    WriteIPDLParam(aMsg, aActor, (aVar).appUnitsPerDevPixel());
4787
0
    // Sentinel = 'appUnitsPerDevPixel'
4788
0
    (aMsg)->WriteSentinel(2226875639);
4789
0
    WriteIPDLParam(aMsg, aActor, (aVar).inheritedXScale());
4790
0
    // Sentinel = 'inheritedXScale'
4791
0
    (aMsg)->WriteSentinel(1285237395);
4792
0
    WriteIPDLParam(aMsg, aActor, (aVar).inheritedYScale());
4793
0
    // Sentinel = 'inheritedYScale'
4794
0
    (aMsg)->WriteSentinel(3724217552);
4795
0
    WriteIPDLParam(aMsg, aActor, (aVar).hasPerspectiveParent());
4796
0
    // Sentinel = 'hasPerspectiveParent'
4797
0
    (aMsg)->WriteSentinel(1340430378);
4798
0
}
4799
4800
auto IPDLParamTraits<mozilla::layers::TransformData>::Read(
4801
        const IPC::Message* aMsg,
4802
        PickleIterator* aIter,
4803
        mozilla::ipc::IProtocol* aActor,
4804
        paramType* aVar) -> bool
4805
0
{
4806
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->origin())))))) {
4807
0
        (aActor)->FatalError("Error deserializing 'origin' (nsPoint) member of 'TransformData'");
4808
0
        return false;
4809
0
    }
4810
0
    // Sentinel = 'origin'
4811
0
    if ((!((aMsg)->ReadSentinel(aIter, 1429924608)))) {
4812
0
        mozilla::ipc::SentinelReadError("Error deserializing 'origin' (nsPoint) member of 'TransformData'");
4813
0
        return false;
4814
0
    }
4815
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->transformOrigin())))))) {
4816
0
        (aActor)->FatalError("Error deserializing 'transformOrigin' (Point3D) member of 'TransformData'");
4817
0
        return false;
4818
0
    }
4819
0
    // Sentinel = 'transformOrigin'
4820
0
    if ((!((aMsg)->ReadSentinel(aIter, 466321709)))) {
4821
0
        mozilla::ipc::SentinelReadError("Error deserializing 'transformOrigin' (Point3D) member of 'TransformData'");
4822
0
        return false;
4823
0
    }
4824
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->bounds())))))) {
4825
0
        (aActor)->FatalError("Error deserializing 'bounds' (nsRect) member of 'TransformData'");
4826
0
        return false;
4827
0
    }
4828
0
    // Sentinel = 'bounds'
4829
0
    if ((!((aMsg)->ReadSentinel(aIter, 809584493)))) {
4830
0
        mozilla::ipc::SentinelReadError("Error deserializing 'bounds' (nsRect) member of 'TransformData'");
4831
0
        return false;
4832
0
    }
4833
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->appUnitsPerDevPixel())))))) {
4834
0
        (aActor)->FatalError("Error deserializing 'appUnitsPerDevPixel' (int32_t) member of 'TransformData'");
4835
0
        return false;
4836
0
    }
4837
0
    // Sentinel = 'appUnitsPerDevPixel'
4838
0
    if ((!((aMsg)->ReadSentinel(aIter, 2226875639)))) {
4839
0
        mozilla::ipc::SentinelReadError("Error deserializing 'appUnitsPerDevPixel' (int32_t) member of 'TransformData'");
4840
0
        return false;
4841
0
    }
4842
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->inheritedXScale())))))) {
4843
0
        (aActor)->FatalError("Error deserializing 'inheritedXScale' (float) member of 'TransformData'");
4844
0
        return false;
4845
0
    }
4846
0
    // Sentinel = 'inheritedXScale'
4847
0
    if ((!((aMsg)->ReadSentinel(aIter, 1285237395)))) {
4848
0
        mozilla::ipc::SentinelReadError("Error deserializing 'inheritedXScale' (float) member of 'TransformData'");
4849
0
        return false;
4850
0
    }
4851
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->inheritedYScale())))))) {
4852
0
        (aActor)->FatalError("Error deserializing 'inheritedYScale' (float) member of 'TransformData'");
4853
0
        return false;
4854
0
    }
4855
0
    // Sentinel = 'inheritedYScale'
4856
0
    if ((!((aMsg)->ReadSentinel(aIter, 3724217552)))) {
4857
0
        mozilla::ipc::SentinelReadError("Error deserializing 'inheritedYScale' (float) member of 'TransformData'");
4858
0
        return false;
4859
0
    }
4860
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->hasPerspectiveParent())))))) {
4861
0
        (aActor)->FatalError("Error deserializing 'hasPerspectiveParent' (bool) member of 'TransformData'");
4862
0
        return false;
4863
0
    }
4864
0
    // Sentinel = 'hasPerspectiveParent'
4865
0
    if ((!((aMsg)->ReadSentinel(aIter, 1340430378)))) {
4866
0
        mozilla::ipc::SentinelReadError("Error deserializing 'hasPerspectiveParent' (bool) member of 'TransformData'");
4867
0
        return false;
4868
0
    }
4869
0
    return true;
4870
0
}
4871
4872
} // namespace ipc
4873
} // namespace mozilla
4874
4875
//-----------------------------------------------------------------------------
4876
// Method definitions for the IPDL type |union AnimationData|
4877
//
4878
namespace mozilla {
4879
namespace layers {
4880
auto AnimationData::MaybeDestroy(Type aNewType) -> bool
4881
0
{
4882
0
    if ((mType) == (T__None)) {
4883
0
        return true;
4884
0
    }
4885
0
    if ((mType) == (aNewType)) {
4886
0
        return false;
4887
0
    }
4888
0
    switch (mType) {
4889
0
    case Tnull_t:
4890
0
        {
4891
0
            (ptr_null_t())->~null_t__tdef();
4892
0
            break;
4893
0
        }
4894
0
    case TTransformData:
4895
0
        {
4896
0
            (ptr_TransformData())->~TransformData__tdef();
4897
0
            break;
4898
0
        }
4899
0
    default:
4900
0
        {
4901
0
            mozilla::ipc::LogicError("not reached");
4902
0
            break;
4903
0
        }
4904
0
    }
4905
0
    return true;
4906
0
}
4907
4908
MOZ_IMPLICIT AnimationData::AnimationData(const null_t& aOther)
4909
0
{
4910
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(aOther);
4911
0
    mType = Tnull_t;
4912
0
}
4913
4914
MOZ_IMPLICIT AnimationData::AnimationData(null_t&& aOther)
4915
0
{
4916
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move(aOther));
4917
0
    mType = Tnull_t;
4918
0
}
4919
4920
MOZ_IMPLICIT AnimationData::AnimationData(const TransformData& aOther)
4921
0
{
4922
0
    new (mozilla::KnownNotNull, ptr_TransformData()) TransformData(aOther);
4923
0
    mType = TTransformData;
4924
0
}
4925
4926
MOZ_IMPLICIT AnimationData::AnimationData(TransformData&& aOther)
4927
0
{
4928
0
    new (mozilla::KnownNotNull, ptr_TransformData()) TransformData(std::move(aOther));
4929
0
    mType = TTransformData;
4930
0
}
4931
4932
MOZ_IMPLICIT AnimationData::AnimationData(const AnimationData& aOther)
4933
0
{
4934
0
    (aOther).AssertSanity();
4935
0
    switch ((aOther).type()) {
4936
0
    case Tnull_t:
4937
0
        {
4938
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t((aOther).get_null_t());
4939
0
            break;
4940
0
        }
4941
0
    case TTransformData:
4942
0
        {
4943
0
            new (mozilla::KnownNotNull, ptr_TransformData()) TransformData((aOther).get_TransformData());
4944
0
            break;
4945
0
        }
4946
0
    case T__None:
4947
0
        {
4948
0
            break;
4949
0
        }
4950
0
    default:
4951
0
        {
4952
0
            mozilla::ipc::LogicError("unreached");
4953
0
            return;
4954
0
        }
4955
0
    }
4956
0
    mType = (aOther).type();
4957
0
}
4958
4959
MOZ_IMPLICIT AnimationData::AnimationData(AnimationData&& aOther)
4960
0
{
4961
0
    (aOther).AssertSanity();
4962
0
    Type t = (aOther).type();
4963
0
    switch (t) {
4964
0
    case Tnull_t:
4965
0
        {
4966
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move((aOther).get_null_t()));
4967
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
4968
0
            break;
4969
0
        }
4970
0
    case TTransformData:
4971
0
        {
4972
0
            new (mozilla::KnownNotNull, ptr_TransformData()) TransformData(std::move((aOther).get_TransformData()));
4973
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
4974
0
            break;
4975
0
        }
4976
0
    case T__None:
4977
0
        {
4978
0
            break;
4979
0
        }
4980
0
    default:
4981
0
        {
4982
0
            mozilla::ipc::LogicError("unreached");
4983
0
            return;
4984
0
        }
4985
0
    }
4986
0
    (aOther).mType = T__None;
4987
0
    mType = t;
4988
0
}
4989
4990
AnimationData::~AnimationData()
4991
0
{
4992
0
    static_cast<void>(MaybeDestroy(T__None));
4993
0
}
4994
4995
auto AnimationData::operator=(const null_t& aRhs) -> AnimationData&
4996
0
{
4997
0
    if (MaybeDestroy(Tnull_t)) {
4998
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
4999
0
    }
5000
0
    (*(ptr_null_t())) = aRhs;
5001
0
    mType = Tnull_t;
5002
0
    return (*(this));
5003
0
}
5004
5005
auto AnimationData::operator=(null_t&& aRhs) -> AnimationData&
5006
0
{
5007
0
    if (MaybeDestroy(Tnull_t)) {
5008
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
5009
0
    }
5010
0
    (*(ptr_null_t())) = std::move(aRhs);
5011
0
    mType = Tnull_t;
5012
0
    return (*(this));
5013
0
}
5014
5015
auto AnimationData::operator=(const TransformData& aRhs) -> AnimationData&
5016
0
{
5017
0
    if (MaybeDestroy(TTransformData)) {
5018
0
        new (mozilla::KnownNotNull, ptr_TransformData()) TransformData;
5019
0
    }
5020
0
    (*(ptr_TransformData())) = aRhs;
5021
0
    mType = TTransformData;
5022
0
    return (*(this));
5023
0
}
5024
5025
auto AnimationData::operator=(TransformData&& aRhs) -> AnimationData&
5026
0
{
5027
0
    if (MaybeDestroy(TTransformData)) {
5028
0
        new (mozilla::KnownNotNull, ptr_TransformData()) TransformData;
5029
0
    }
5030
0
    (*(ptr_TransformData())) = std::move(aRhs);
5031
0
    mType = TTransformData;
5032
0
    return (*(this));
5033
0
}
5034
5035
auto AnimationData::operator=(const AnimationData& aRhs) -> AnimationData&
5036
0
{
5037
0
    (aRhs).AssertSanity();
5038
0
    Type t = (aRhs).type();
5039
0
    switch (t) {
5040
0
    case Tnull_t:
5041
0
        {
5042
0
            if (MaybeDestroy(t)) {
5043
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
5044
0
            }
5045
0
            (*(ptr_null_t())) = (aRhs).get_null_t();
5046
0
            break;
5047
0
        }
5048
0
    case TTransformData:
5049
0
        {
5050
0
            if (MaybeDestroy(t)) {
5051
0
                new (mozilla::KnownNotNull, ptr_TransformData()) TransformData;
5052
0
            }
5053
0
            (*(ptr_TransformData())) = (aRhs).get_TransformData();
5054
0
            break;
5055
0
        }
5056
0
    case T__None:
5057
0
        {
5058
0
            static_cast<void>(MaybeDestroy(t));
5059
0
            break;
5060
0
        }
5061
0
    default:
5062
0
        {
5063
0
            mozilla::ipc::LogicError("unreached");
5064
0
            break;
5065
0
        }
5066
0
    }
5067
0
    mType = t;
5068
0
    return (*(this));
5069
0
}
5070
5071
auto AnimationData::operator=(AnimationData&& aRhs) -> AnimationData&
5072
0
{
5073
0
    (aRhs).AssertSanity();
5074
0
    Type t = (aRhs).type();
5075
0
    switch (t) {
5076
0
    case Tnull_t:
5077
0
        {
5078
0
            if (MaybeDestroy(t)) {
5079
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
5080
0
            }
5081
0
            (*(ptr_null_t())) = std::move((aRhs).get_null_t());
5082
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
5083
0
            break;
5084
0
        }
5085
0
    case TTransformData:
5086
0
        {
5087
0
            if (MaybeDestroy(t)) {
5088
0
                new (mozilla::KnownNotNull, ptr_TransformData()) TransformData;
5089
0
            }
5090
0
            (*(ptr_TransformData())) = std::move((aRhs).get_TransformData());
5091
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
5092
0
            break;
5093
0
        }
5094
0
    case T__None:
5095
0
        {
5096
0
            static_cast<void>(MaybeDestroy(t));
5097
0
            break;
5098
0
        }
5099
0
    default:
5100
0
        {
5101
0
            mozilla::ipc::LogicError("unreached");
5102
0
            break;
5103
0
        }
5104
0
    }
5105
0
    (aRhs).mType = T__None;
5106
0
    mType = t;
5107
0
    return (*(this));
5108
0
}
5109
5110
auto AnimationData::operator==(const null_t& aRhs) const -> bool
5111
0
{
5112
0
    return (get_null_t()) == (aRhs);
5113
0
}
5114
5115
auto AnimationData::operator==(const TransformData& aRhs) const -> bool
5116
0
{
5117
0
    return (get_TransformData()) == (aRhs);
5118
0
}
5119
5120
auto AnimationData::operator==(const AnimationData& aRhs) const -> bool
5121
0
{
5122
0
    if ((type()) != ((aRhs).type())) {
5123
0
        return false;
5124
0
    }
5125
0
5126
0
    switch (type()) {
5127
0
    case Tnull_t:
5128
0
        {
5129
0
            return (get_null_t()) == ((aRhs).get_null_t());
5130
0
        }
5131
0
    case TTransformData:
5132
0
        {
5133
0
            return (get_TransformData()) == ((aRhs).get_TransformData());
5134
0
        }
5135
0
    default:
5136
0
        {
5137
0
            mozilla::ipc::LogicError("unreached");
5138
0
            return false;
5139
0
        }
5140
0
    }
5141
0
}
5142
5143
auto AnimationData::get(null_t* aOutValue) const -> void
5144
0
{
5145
0
    (*(aOutValue)) = get_null_t();
5146
0
}
5147
5148
auto AnimationData::get(TransformData* aOutValue) const -> void
5149
0
{
5150
0
    (*(aOutValue)) = get_TransformData();
5151
0
}
5152
5153
} // namespace layers
5154
} // namespace mozilla
5155
5156
namespace mozilla {
5157
namespace ipc {
5158
auto IPDLParamTraits<mozilla::layers::AnimationData>::Write(
5159
        IPC::Message* aMsg,
5160
        mozilla::ipc::IProtocol* aActor,
5161
        const paramType& aVar) -> void
5162
{
5163
    typedef mozilla::layers::AnimationData union__;
5164
    int type;
5165
    type = (aVar).type();
5166
    WriteIPDLParam(aMsg, aActor, type);
5167
    // Sentinel = 'AnimationData'
5168
    (aMsg)->WriteSentinel(3226711031);
5169
5170
    switch (type) {
5171
    case union__::Tnull_t:
5172
        {
5173
            WriteIPDLParam(aMsg, aActor, (aVar).get_null_t());
5174
            // Sentinel = 'Tnull_t'
5175
            (aMsg)->WriteSentinel(3731137201);
5176
            return;
5177
        }
5178
    case union__::TTransformData:
5179
        {
5180
            WriteIPDLParam(aMsg, aActor, (aVar).get_TransformData());
5181
            // Sentinel = 'TTransformData'
5182
            (aMsg)->WriteSentinel(3843342686);
5183
            return;
5184
        }
5185
    default:
5186
        {
5187
            (aActor)->FatalError("unknown union type");
5188
            return;
5189
        }
5190
    }
5191
}
5192
5193
auto IPDLParamTraits<mozilla::layers::AnimationData>::Read(
5194
        const IPC::Message* aMsg,
5195
        PickleIterator* aIter,
5196
        mozilla::ipc::IProtocol* aActor,
5197
        paramType* aVar) -> bool
5198
0
{
5199
0
    typedef mozilla::layers::AnimationData union__;
5200
0
    int type;
5201
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
5202
0
        (aActor)->FatalError("Error deserializing type of union AnimationData");
5203
0
        return false;
5204
0
    }
5205
0
    // Sentinel = 'AnimationData'
5206
0
    if ((!((aMsg)->ReadSentinel(aIter, 3226711031)))) {
5207
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union AnimationData");
5208
0
        return false;
5209
0
    }
5210
0
5211
0
    switch (type) {
5212
0
    case union__::Tnull_t:
5213
0
        {
5214
0
            mozilla::null_t tmp = mozilla::null_t();
5215
0
            (*(aVar)) = tmp;
5216
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_null_t())))))) {
5217
0
                (aActor)->FatalError("Error deserializing variant Tnull_t of union AnimationData");
5218
0
                return false;
5219
0
            }
5220
0
            // Sentinel = 'Tnull_t'
5221
0
            if ((!((aMsg)->ReadSentinel(aIter, 3731137201)))) {
5222
0
                mozilla::ipc::SentinelReadError("Error deserializing variant Tnull_t of union AnimationData");
5223
0
                return false;
5224
0
            }
5225
0
            return true;
5226
0
        }
5227
0
    case union__::TTransformData:
5228
0
        {
5229
0
            mozilla::layers::TransformData tmp = mozilla::layers::TransformData();
5230
0
            (*(aVar)) = tmp;
5231
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_TransformData())))))) {
5232
0
                (aActor)->FatalError("Error deserializing variant TTransformData of union AnimationData");
5233
0
                return false;
5234
0
            }
5235
0
            // Sentinel = 'TTransformData'
5236
0
            if ((!((aMsg)->ReadSentinel(aIter, 3843342686)))) {
5237
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TTransformData of union AnimationData");
5238
0
                return false;
5239
0
            }
5240
0
            return true;
5241
0
        }
5242
0
    default:
5243
0
        {
5244
0
            (aActor)->FatalError("unknown union type");
5245
0
            return false;
5246
0
        }
5247
0
    }
5248
0
}
5249
5250
} // namespace ipc
5251
} // namespace mozilla
5252
5253
//-----------------------------------------------------------------------------
5254
// Method definitions for the IPDL type |struct Animation|
5255
//
5256
namespace mozilla {
5257
namespace layers {
5258
auto Animation::operator==(const Animation& _o) const -> bool
5259
0
{
5260
0
    if ((!((originTime()) == ((_o).originTime())))) {
5261
0
        return false;
5262
0
    }
5263
0
    if ((!((startTime()) == ((_o).startTime())))) {
5264
0
        return false;
5265
0
    }
5266
0
    if ((!((delay()) == ((_o).delay())))) {
5267
0
        return false;
5268
0
    }
5269
0
    if ((!((endDelay()) == ((_o).endDelay())))) {
5270
0
        return false;
5271
0
    }
5272
0
    if ((!((holdTime()) == ((_o).holdTime())))) {
5273
0
        return false;
5274
0
    }
5275
0
    if ((!((duration()) == ((_o).duration())))) {
5276
0
        return false;
5277
0
    }
5278
0
    if ((!((segments()) == ((_o).segments())))) {
5279
0
        return false;
5280
0
    }
5281
0
    if ((!((iterations()) == ((_o).iterations())))) {
5282
0
        return false;
5283
0
    }
5284
0
    if ((!((iterationStart()) == ((_o).iterationStart())))) {
5285
0
        return false;
5286
0
    }
5287
0
    if ((!((direction()) == ((_o).direction())))) {
5288
0
        return false;
5289
0
    }
5290
0
    if ((!((fillMode()) == ((_o).fillMode())))) {
5291
0
        return false;
5292
0
    }
5293
0
    if ((!((property()) == ((_o).property())))) {
5294
0
        return false;
5295
0
    }
5296
0
    if ((!((data()) == ((_o).data())))) {
5297
0
        return false;
5298
0
    }
5299
0
    if ((!((playbackRate()) == ((_o).playbackRate())))) {
5300
0
        return false;
5301
0
    }
5302
0
    if ((!((previousPlaybackRate()) == ((_o).previousPlaybackRate())))) {
5303
0
        return false;
5304
0
    }
5305
0
    if ((!((easingFunction()) == ((_o).easingFunction())))) {
5306
0
        return false;
5307
0
    }
5308
0
    if ((!((iterationComposite()) == ((_o).iterationComposite())))) {
5309
0
        return false;
5310
0
    }
5311
0
    if ((!((isNotPlaying()) == ((_o).isNotPlaying())))) {
5312
0
        return false;
5313
0
    }
5314
0
    if ((!((baseStyle()) == ((_o).baseStyle())))) {
5315
0
        return false;
5316
0
    }
5317
0
    return true;
5318
0
}
5319
5320
auto Animation::operator!=(const Animation& _o) const -> bool
5321
0
{
5322
0
    return (!(operator==(_o)));
5323
0
}
5324
5325
} // namespace layers
5326
} // namespace mozilla
5327
5328
namespace mozilla {
5329
namespace ipc {
5330
auto IPDLParamTraits<mozilla::layers::Animation>::Write(
5331
        IPC::Message* aMsg,
5332
        mozilla::ipc::IProtocol* aActor,
5333
        const paramType& aVar) -> void
5334
0
{
5335
0
    WriteIPDLParam(aMsg, aActor, (aVar).originTime());
5336
0
    // Sentinel = 'originTime'
5337
0
    (aMsg)->WriteSentinel(1478411195);
5338
0
    WriteIPDLParam(aMsg, aActor, (aVar).startTime());
5339
0
    // Sentinel = 'startTime'
5340
0
    (aMsg)->WriteSentinel(2351600086);
5341
0
    WriteIPDLParam(aMsg, aActor, (aVar).delay());
5342
0
    // Sentinel = 'delay'
5343
0
    (aMsg)->WriteSentinel(1275664816);
5344
0
    WriteIPDLParam(aMsg, aActor, (aVar).endDelay());
5345
0
    // Sentinel = 'endDelay'
5346
0
    (aMsg)->WriteSentinel(3866533328);
5347
0
    WriteIPDLParam(aMsg, aActor, (aVar).holdTime());
5348
0
    // Sentinel = 'holdTime'
5349
0
    (aMsg)->WriteSentinel(1802005980);
5350
0
    WriteIPDLParam(aMsg, aActor, (aVar).duration());
5351
0
    // Sentinel = 'duration'
5352
0
    (aMsg)->WriteSentinel(1938599576);
5353
0
    WriteIPDLParam(aMsg, aActor, (aVar).segments());
5354
0
    // Sentinel = 'segments'
5355
0
    (aMsg)->WriteSentinel(2098446378);
5356
0
    WriteIPDLParam(aMsg, aActor, (aVar).iterations());
5357
0
    // Sentinel = 'iterations'
5358
0
    (aMsg)->WriteSentinel(3248319766);
5359
0
    WriteIPDLParam(aMsg, aActor, (aVar).iterationStart());
5360
0
    // Sentinel = 'iterationStart'
5361
0
    (aMsg)->WriteSentinel(335770313);
5362
0
    WriteIPDLParam(aMsg, aActor, (aVar).direction());
5363
0
    // Sentinel = 'direction'
5364
0
    (aMsg)->WriteSentinel(1283484994);
5365
0
    WriteIPDLParam(aMsg, aActor, (aVar).fillMode());
5366
0
    // Sentinel = 'fillMode'
5367
0
    (aMsg)->WriteSentinel(319252690);
5368
0
    WriteIPDLParam(aMsg, aActor, (aVar).property());
5369
0
    // Sentinel = 'property'
5370
0
    (aMsg)->WriteSentinel(1482237307);
5371
0
    WriteIPDLParam(aMsg, aActor, (aVar).data());
5372
0
    // Sentinel = 'data'
5373
0
    (aMsg)->WriteSentinel(843352540);
5374
0
    WriteIPDLParam(aMsg, aActor, (aVar).playbackRate());
5375
0
    // Sentinel = 'playbackRate'
5376
0
    (aMsg)->WriteSentinel(1664611053);
5377
0
    WriteIPDLParam(aMsg, aActor, (aVar).previousPlaybackRate());
5378
0
    // Sentinel = 'previousPlaybackRate'
5379
0
    (aMsg)->WriteSentinel(1096565390);
5380
0
    WriteIPDLParam(aMsg, aActor, (aVar).easingFunction());
5381
0
    // Sentinel = 'easingFunction'
5382
0
    (aMsg)->WriteSentinel(2740589013);
5383
0
    WriteIPDLParam(aMsg, aActor, (aVar).iterationComposite());
5384
0
    // Sentinel = 'iterationComposite'
5385
0
    (aMsg)->WriteSentinel(3806204580);
5386
0
    WriteIPDLParam(aMsg, aActor, (aVar).isNotPlaying());
5387
0
    // Sentinel = 'isNotPlaying'
5388
0
    (aMsg)->WriteSentinel(3910541071);
5389
0
    WriteIPDLParam(aMsg, aActor, (aVar).baseStyle());
5390
0
    // Sentinel = 'baseStyle'
5391
0
    (aMsg)->WriteSentinel(2514776219);
5392
0
}
5393
5394
auto IPDLParamTraits<mozilla::layers::Animation>::Read(
5395
        const IPC::Message* aMsg,
5396
        PickleIterator* aIter,
5397
        mozilla::ipc::IProtocol* aActor,
5398
        paramType* aVar) -> bool
5399
0
{
5400
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->originTime())))))) {
5401
0
        (aActor)->FatalError("Error deserializing 'originTime' (TimeStamp) member of 'Animation'");
5402
0
        return false;
5403
0
    }
5404
0
    // Sentinel = 'originTime'
5405
0
    if ((!((aMsg)->ReadSentinel(aIter, 1478411195)))) {
5406
0
        mozilla::ipc::SentinelReadError("Error deserializing 'originTime' (TimeStamp) member of 'Animation'");
5407
0
        return false;
5408
0
    }
5409
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->startTime())))))) {
5410
0
        (aActor)->FatalError("Error deserializing 'startTime' (MaybeTimeDuration) member of 'Animation'");
5411
0
        return false;
5412
0
    }
5413
0
    // Sentinel = 'startTime'
5414
0
    if ((!((aMsg)->ReadSentinel(aIter, 2351600086)))) {
5415
0
        mozilla::ipc::SentinelReadError("Error deserializing 'startTime' (MaybeTimeDuration) member of 'Animation'");
5416
0
        return false;
5417
0
    }
5418
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->delay())))))) {
5419
0
        (aActor)->FatalError("Error deserializing 'delay' (TimeDuration) member of 'Animation'");
5420
0
        return false;
5421
0
    }
5422
0
    // Sentinel = 'delay'
5423
0
    if ((!((aMsg)->ReadSentinel(aIter, 1275664816)))) {
5424
0
        mozilla::ipc::SentinelReadError("Error deserializing 'delay' (TimeDuration) member of 'Animation'");
5425
0
        return false;
5426
0
    }
5427
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->endDelay())))))) {
5428
0
        (aActor)->FatalError("Error deserializing 'endDelay' (TimeDuration) member of 'Animation'");
5429
0
        return false;
5430
0
    }
5431
0
    // Sentinel = 'endDelay'
5432
0
    if ((!((aMsg)->ReadSentinel(aIter, 3866533328)))) {
5433
0
        mozilla::ipc::SentinelReadError("Error deserializing 'endDelay' (TimeDuration) member of 'Animation'");
5434
0
        return false;
5435
0
    }
5436
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->holdTime())))))) {
5437
0
        (aActor)->FatalError("Error deserializing 'holdTime' (TimeDuration) member of 'Animation'");
5438
0
        return false;
5439
0
    }
5440
0
    // Sentinel = 'holdTime'
5441
0
    if ((!((aMsg)->ReadSentinel(aIter, 1802005980)))) {
5442
0
        mozilla::ipc::SentinelReadError("Error deserializing 'holdTime' (TimeDuration) member of 'Animation'");
5443
0
        return false;
5444
0
    }
5445
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->duration())))))) {
5446
0
        (aActor)->FatalError("Error deserializing 'duration' (TimeDuration) member of 'Animation'");
5447
0
        return false;
5448
0
    }
5449
0
    // Sentinel = 'duration'
5450
0
    if ((!((aMsg)->ReadSentinel(aIter, 1938599576)))) {
5451
0
        mozilla::ipc::SentinelReadError("Error deserializing 'duration' (TimeDuration) member of 'Animation'");
5452
0
        return false;
5453
0
    }
5454
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->segments())))))) {
5455
0
        (aActor)->FatalError("Error deserializing 'segments' (AnimationSegment[]) member of 'Animation'");
5456
0
        return false;
5457
0
    }
5458
0
    // Sentinel = 'segments'
5459
0
    if ((!((aMsg)->ReadSentinel(aIter, 2098446378)))) {
5460
0
        mozilla::ipc::SentinelReadError("Error deserializing 'segments' (AnimationSegment[]) member of 'Animation'");
5461
0
        return false;
5462
0
    }
5463
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->iterations())))))) {
5464
0
        (aActor)->FatalError("Error deserializing 'iterations' (float) member of 'Animation'");
5465
0
        return false;
5466
0
    }
5467
0
    // Sentinel = 'iterations'
5468
0
    if ((!((aMsg)->ReadSentinel(aIter, 3248319766)))) {
5469
0
        mozilla::ipc::SentinelReadError("Error deserializing 'iterations' (float) member of 'Animation'");
5470
0
        return false;
5471
0
    }
5472
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->iterationStart())))))) {
5473
0
        (aActor)->FatalError("Error deserializing 'iterationStart' (float) member of 'Animation'");
5474
0
        return false;
5475
0
    }
5476
0
    // Sentinel = 'iterationStart'
5477
0
    if ((!((aMsg)->ReadSentinel(aIter, 335770313)))) {
5478
0
        mozilla::ipc::SentinelReadError("Error deserializing 'iterationStart' (float) member of 'Animation'");
5479
0
        return false;
5480
0
    }
5481
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->direction())))))) {
5482
0
        (aActor)->FatalError("Error deserializing 'direction' (uint8_t) member of 'Animation'");
5483
0
        return false;
5484
0
    }
5485
0
    // Sentinel = 'direction'
5486
0
    if ((!((aMsg)->ReadSentinel(aIter, 1283484994)))) {
5487
0
        mozilla::ipc::SentinelReadError("Error deserializing 'direction' (uint8_t) member of 'Animation'");
5488
0
        return false;
5489
0
    }
5490
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->fillMode())))))) {
5491
0
        (aActor)->FatalError("Error deserializing 'fillMode' (uint8_t) member of 'Animation'");
5492
0
        return false;
5493
0
    }
5494
0
    // Sentinel = 'fillMode'
5495
0
    if ((!((aMsg)->ReadSentinel(aIter, 319252690)))) {
5496
0
        mozilla::ipc::SentinelReadError("Error deserializing 'fillMode' (uint8_t) member of 'Animation'");
5497
0
        return false;
5498
0
    }
5499
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->property())))))) {
5500
0
        (aActor)->FatalError("Error deserializing 'property' (nsCSSPropertyID) member of 'Animation'");
5501
0
        return false;
5502
0
    }
5503
0
    // Sentinel = 'property'
5504
0
    if ((!((aMsg)->ReadSentinel(aIter, 1482237307)))) {
5505
0
        mozilla::ipc::SentinelReadError("Error deserializing 'property' (nsCSSPropertyID) member of 'Animation'");
5506
0
        return false;
5507
0
    }
5508
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->data())))))) {
5509
0
        (aActor)->FatalError("Error deserializing 'data' (AnimationData) member of 'Animation'");
5510
0
        return false;
5511
0
    }
5512
0
    // Sentinel = 'data'
5513
0
    if ((!((aMsg)->ReadSentinel(aIter, 843352540)))) {
5514
0
        mozilla::ipc::SentinelReadError("Error deserializing 'data' (AnimationData) member of 'Animation'");
5515
0
        return false;
5516
0
    }
5517
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->playbackRate())))))) {
5518
0
        (aActor)->FatalError("Error deserializing 'playbackRate' (float) member of 'Animation'");
5519
0
        return false;
5520
0
    }
5521
0
    // Sentinel = 'playbackRate'
5522
0
    if ((!((aMsg)->ReadSentinel(aIter, 1664611053)))) {
5523
0
        mozilla::ipc::SentinelReadError("Error deserializing 'playbackRate' (float) member of 'Animation'");
5524
0
        return false;
5525
0
    }
5526
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->previousPlaybackRate())))))) {
5527
0
        (aActor)->FatalError("Error deserializing 'previousPlaybackRate' (float) member of 'Animation'");
5528
0
        return false;
5529
0
    }
5530
0
    // Sentinel = 'previousPlaybackRate'
5531
0
    if ((!((aMsg)->ReadSentinel(aIter, 1096565390)))) {
5532
0
        mozilla::ipc::SentinelReadError("Error deserializing 'previousPlaybackRate' (float) member of 'Animation'");
5533
0
        return false;
5534
0
    }
5535
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->easingFunction())))))) {
5536
0
        (aActor)->FatalError("Error deserializing 'easingFunction' (TimingFunction) member of 'Animation'");
5537
0
        return false;
5538
0
    }
5539
0
    // Sentinel = 'easingFunction'
5540
0
    if ((!((aMsg)->ReadSentinel(aIter, 2740589013)))) {
5541
0
        mozilla::ipc::SentinelReadError("Error deserializing 'easingFunction' (TimingFunction) member of 'Animation'");
5542
0
        return false;
5543
0
    }
5544
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->iterationComposite())))))) {
5545
0
        (aActor)->FatalError("Error deserializing 'iterationComposite' (uint8_t) member of 'Animation'");
5546
0
        return false;
5547
0
    }
5548
0
    // Sentinel = 'iterationComposite'
5549
0
    if ((!((aMsg)->ReadSentinel(aIter, 3806204580)))) {
5550
0
        mozilla::ipc::SentinelReadError("Error deserializing 'iterationComposite' (uint8_t) member of 'Animation'");
5551
0
        return false;
5552
0
    }
5553
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->isNotPlaying())))))) {
5554
0
        (aActor)->FatalError("Error deserializing 'isNotPlaying' (bool) member of 'Animation'");
5555
0
        return false;
5556
0
    }
5557
0
    // Sentinel = 'isNotPlaying'
5558
0
    if ((!((aMsg)->ReadSentinel(aIter, 3910541071)))) {
5559
0
        mozilla::ipc::SentinelReadError("Error deserializing 'isNotPlaying' (bool) member of 'Animation'");
5560
0
        return false;
5561
0
    }
5562
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->baseStyle())))))) {
5563
0
        (aActor)->FatalError("Error deserializing 'baseStyle' (Animatable) member of 'Animation'");
5564
0
        return false;
5565
0
    }
5566
0
    // Sentinel = 'baseStyle'
5567
0
    if ((!((aMsg)->ReadSentinel(aIter, 2514776219)))) {
5568
0
        mozilla::ipc::SentinelReadError("Error deserializing 'baseStyle' (Animatable) member of 'Animation'");
5569
0
        return false;
5570
0
    }
5571
0
    return true;
5572
0
}
5573
5574
} // namespace ipc
5575
} // namespace mozilla
5576
5577
//-----------------------------------------------------------------------------
5578
// Method definitions for the IPDL type |struct CompositorAnimations|
5579
//
5580
namespace mozilla {
5581
namespace layers {
5582
auto CompositorAnimations::operator==(const CompositorAnimations& _o) const -> bool
5583
0
{
5584
0
    if ((!((animations()) == ((_o).animations())))) {
5585
0
        return false;
5586
0
    }
5587
0
    if ((!((id()) == ((_o).id())))) {
5588
0
        return false;
5589
0
    }
5590
0
    return true;
5591
0
}
5592
5593
auto CompositorAnimations::operator!=(const CompositorAnimations& _o) const -> bool
5594
0
{
5595
0
    return (!(operator==(_o)));
5596
0
}
5597
5598
} // namespace layers
5599
} // namespace mozilla
5600
5601
namespace mozilla {
5602
namespace ipc {
5603
auto IPDLParamTraits<mozilla::layers::CompositorAnimations>::Write(
5604
        IPC::Message* aMsg,
5605
        mozilla::ipc::IProtocol* aActor,
5606
        const paramType& aVar) -> void
5607
0
{
5608
0
    WriteIPDLParam(aMsg, aActor, (aVar).animations());
5609
0
    // Sentinel = 'animations'
5610
0
    (aMsg)->WriteSentinel(2502829527);
5611
0
    WriteIPDLParam(aMsg, aActor, (aVar).id());
5612
0
    // Sentinel = 'id'
5613
0
    (aMsg)->WriteSentinel(2794505629);
5614
0
}
5615
5616
auto IPDLParamTraits<mozilla::layers::CompositorAnimations>::Read(
5617
        const IPC::Message* aMsg,
5618
        PickleIterator* aIter,
5619
        mozilla::ipc::IProtocol* aActor,
5620
        paramType* aVar) -> bool
5621
0
{
5622
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->animations())))))) {
5623
0
        (aActor)->FatalError("Error deserializing 'animations' (Animation[]) member of 'CompositorAnimations'");
5624
0
        return false;
5625
0
    }
5626
0
    // Sentinel = 'animations'
5627
0
    if ((!((aMsg)->ReadSentinel(aIter, 2502829527)))) {
5628
0
        mozilla::ipc::SentinelReadError("Error deserializing 'animations' (Animation[]) member of 'CompositorAnimations'");
5629
0
        return false;
5630
0
    }
5631
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->id())))))) {
5632
0
        (aActor)->FatalError("Error deserializing 'id' (uint64_t) member of 'CompositorAnimations'");
5633
0
        return false;
5634
0
    }
5635
0
    // Sentinel = 'id'
5636
0
    if ((!((aMsg)->ReadSentinel(aIter, 2794505629)))) {
5637
0
        mozilla::ipc::SentinelReadError("Error deserializing 'id' (uint64_t) member of 'CompositorAnimations'");
5638
0
        return false;
5639
0
    }
5640
0
    return true;
5641
0
}
5642
5643
} // namespace ipc
5644
} // namespace mozilla
5645
5646
//-----------------------------------------------------------------------------
5647
// Method definitions for the IPDL type |struct CommonLayerAttributes|
5648
//
5649
namespace mozilla {
5650
namespace layers {
5651
auto CommonLayerAttributes::operator==(const CommonLayerAttributes& _o) const -> bool
5652
0
{
5653
0
    if ((!((visibleRegion()) == ((_o).visibleRegion())))) {
5654
0
        return false;
5655
0
    }
5656
0
    if ((!((eventRegions()) == ((_o).eventRegions())))) {
5657
0
        return false;
5658
0
    }
5659
0
    if ((!((useClipRect()) == ((_o).useClipRect())))) {
5660
0
        return false;
5661
0
    }
5662
0
    if ((!((clipRect()) == ((_o).clipRect())))) {
5663
0
        return false;
5664
0
    }
5665
0
    if ((!((maskLayer()) == ((_o).maskLayer())))) {
5666
0
        return false;
5667
0
    }
5668
0
    if ((!((ancestorMaskLayers()) == ((_o).ancestorMaskLayers())))) {
5669
0
        return false;
5670
0
    }
5671
0
    if ((!((compositorAnimations()) == ((_o).compositorAnimations())))) {
5672
0
        return false;
5673
0
    }
5674
0
    if ((!((invalidRegion()) == ((_o).invalidRegion())))) {
5675
0
        return false;
5676
0
    }
5677
0
    if ((!((scrollMetadata()) == ((_o).scrollMetadata())))) {
5678
0
        return false;
5679
0
    }
5680
0
    if ((!((displayListLog()) == ((_o).displayListLog())))) {
5681
0
        return false;
5682
0
    }
5683
0
    return true;
5684
0
}
5685
5686
auto CommonLayerAttributes::operator!=(const CommonLayerAttributes& _o) const -> bool
5687
0
{
5688
0
    return (!(operator==(_o)));
5689
0
}
5690
5691
} // namespace layers
5692
} // namespace mozilla
5693
5694
namespace mozilla {
5695
namespace ipc {
5696
auto IPDLParamTraits<mozilla::layers::CommonLayerAttributes>::Write(
5697
        IPC::Message* aMsg,
5698
        mozilla::ipc::IProtocol* aActor,
5699
        const paramType& aVar) -> void
5700
0
{
5701
0
    WriteIPDLParam(aMsg, aActor, (aVar).visibleRegion());
5702
0
    // Sentinel = 'visibleRegion'
5703
0
    (aMsg)->WriteSentinel(2676991175);
5704
0
    WriteIPDLParam(aMsg, aActor, (aVar).eventRegions());
5705
0
    // Sentinel = 'eventRegions'
5706
0
    (aMsg)->WriteSentinel(438949443);
5707
0
    WriteIPDLParam(aMsg, aActor, (aVar).useClipRect());
5708
0
    // Sentinel = 'useClipRect'
5709
0
    (aMsg)->WriteSentinel(677378102);
5710
0
    WriteIPDLParam(aMsg, aActor, (aVar).clipRect());
5711
0
    // Sentinel = 'clipRect'
5712
0
    (aMsg)->WriteSentinel(1242385220);
5713
0
    WriteIPDLParam(aMsg, aActor, (aVar).maskLayer());
5714
0
    // Sentinel = 'maskLayer'
5715
0
    (aMsg)->WriteSentinel(1412766294);
5716
0
    WriteIPDLParam(aMsg, aActor, (aVar).ancestorMaskLayers());
5717
0
    // Sentinel = 'ancestorMaskLayers'
5718
0
    (aMsg)->WriteSentinel(2851099655);
5719
0
    WriteIPDLParam(aMsg, aActor, (aVar).compositorAnimations());
5720
0
    // Sentinel = 'compositorAnimations'
5721
0
    (aMsg)->WriteSentinel(1016284326);
5722
0
    WriteIPDLParam(aMsg, aActor, (aVar).invalidRegion());
5723
0
    // Sentinel = 'invalidRegion'
5724
0
    (aMsg)->WriteSentinel(3857779772);
5725
0
    WriteIPDLParam(aMsg, aActor, (aVar).scrollMetadata());
5726
0
    // Sentinel = 'scrollMetadata'
5727
0
    (aMsg)->WriteSentinel(257252514);
5728
0
    WriteIPDLParam(aMsg, aActor, (aVar).displayListLog());
5729
0
    // Sentinel = 'displayListLog'
5730
0
    (aMsg)->WriteSentinel(1994382750);
5731
0
}
5732
5733
auto IPDLParamTraits<mozilla::layers::CommonLayerAttributes>::Read(
5734
        const IPC::Message* aMsg,
5735
        PickleIterator* aIter,
5736
        mozilla::ipc::IProtocol* aActor,
5737
        paramType* aVar) -> bool
5738
0
{
5739
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->visibleRegion())))))) {
5740
0
        (aActor)->FatalError("Error deserializing 'visibleRegion' (LayerIntRegion) member of 'CommonLayerAttributes'");
5741
0
        return false;
5742
0
    }
5743
0
    // Sentinel = 'visibleRegion'
5744
0
    if ((!((aMsg)->ReadSentinel(aIter, 2676991175)))) {
5745
0
        mozilla::ipc::SentinelReadError("Error deserializing 'visibleRegion' (LayerIntRegion) member of 'CommonLayerAttributes'");
5746
0
        return false;
5747
0
    }
5748
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->eventRegions())))))) {
5749
0
        (aActor)->FatalError("Error deserializing 'eventRegions' (EventRegions) member of 'CommonLayerAttributes'");
5750
0
        return false;
5751
0
    }
5752
0
    // Sentinel = 'eventRegions'
5753
0
    if ((!((aMsg)->ReadSentinel(aIter, 438949443)))) {
5754
0
        mozilla::ipc::SentinelReadError("Error deserializing 'eventRegions' (EventRegions) member of 'CommonLayerAttributes'");
5755
0
        return false;
5756
0
    }
5757
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->useClipRect())))))) {
5758
0
        (aActor)->FatalError("Error deserializing 'useClipRect' (bool) member of 'CommonLayerAttributes'");
5759
0
        return false;
5760
0
    }
5761
0
    // Sentinel = 'useClipRect'
5762
0
    if ((!((aMsg)->ReadSentinel(aIter, 677378102)))) {
5763
0
        mozilla::ipc::SentinelReadError("Error deserializing 'useClipRect' (bool) member of 'CommonLayerAttributes'");
5764
0
        return false;
5765
0
    }
5766
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->clipRect())))))) {
5767
0
        (aActor)->FatalError("Error deserializing 'clipRect' (ParentLayerIntRect) member of 'CommonLayerAttributes'");
5768
0
        return false;
5769
0
    }
5770
0
    // Sentinel = 'clipRect'
5771
0
    if ((!((aMsg)->ReadSentinel(aIter, 1242385220)))) {
5772
0
        mozilla::ipc::SentinelReadError("Error deserializing 'clipRect' (ParentLayerIntRect) member of 'CommonLayerAttributes'");
5773
0
        return false;
5774
0
    }
5775
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->maskLayer())))))) {
5776
0
        (aActor)->FatalError("Error deserializing 'maskLayer' (LayerHandle) member of 'CommonLayerAttributes'");
5777
0
        return false;
5778
0
    }
5779
0
    // Sentinel = 'maskLayer'
5780
0
    if ((!((aMsg)->ReadSentinel(aIter, 1412766294)))) {
5781
0
        mozilla::ipc::SentinelReadError("Error deserializing 'maskLayer' (LayerHandle) member of 'CommonLayerAttributes'");
5782
0
        return false;
5783
0
    }
5784
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->ancestorMaskLayers())))))) {
5785
0
        (aActor)->FatalError("Error deserializing 'ancestorMaskLayers' (LayerHandle[]) member of 'CommonLayerAttributes'");
5786
0
        return false;
5787
0
    }
5788
0
    // Sentinel = 'ancestorMaskLayers'
5789
0
    if ((!((aMsg)->ReadSentinel(aIter, 2851099655)))) {
5790
0
        mozilla::ipc::SentinelReadError("Error deserializing 'ancestorMaskLayers' (LayerHandle[]) member of 'CommonLayerAttributes'");
5791
0
        return false;
5792
0
    }
5793
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->compositorAnimations())))))) {
5794
0
        (aActor)->FatalError("Error deserializing 'compositorAnimations' (CompositorAnimations) member of 'CommonLayerAttributes'");
5795
0
        return false;
5796
0
    }
5797
0
    // Sentinel = 'compositorAnimations'
5798
0
    if ((!((aMsg)->ReadSentinel(aIter, 1016284326)))) {
5799
0
        mozilla::ipc::SentinelReadError("Error deserializing 'compositorAnimations' (CompositorAnimations) member of 'CommonLayerAttributes'");
5800
0
        return false;
5801
0
    }
5802
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->invalidRegion())))))) {
5803
0
        (aActor)->FatalError("Error deserializing 'invalidRegion' (nsIntRegion) member of 'CommonLayerAttributes'");
5804
0
        return false;
5805
0
    }
5806
0
    // Sentinel = 'invalidRegion'
5807
0
    if ((!((aMsg)->ReadSentinel(aIter, 3857779772)))) {
5808
0
        mozilla::ipc::SentinelReadError("Error deserializing 'invalidRegion' (nsIntRegion) member of 'CommonLayerAttributes'");
5809
0
        return false;
5810
0
    }
5811
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->scrollMetadata())))))) {
5812
0
        (aActor)->FatalError("Error deserializing 'scrollMetadata' (ScrollMetadata[]) member of 'CommonLayerAttributes'");
5813
0
        return false;
5814
0
    }
5815
0
    // Sentinel = 'scrollMetadata'
5816
0
    if ((!((aMsg)->ReadSentinel(aIter, 257252514)))) {
5817
0
        mozilla::ipc::SentinelReadError("Error deserializing 'scrollMetadata' (ScrollMetadata[]) member of 'CommonLayerAttributes'");
5818
0
        return false;
5819
0
    }
5820
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->displayListLog())))))) {
5821
0
        (aActor)->FatalError("Error deserializing 'displayListLog' (nsCString) member of 'CommonLayerAttributes'");
5822
0
        return false;
5823
0
    }
5824
0
    // Sentinel = 'displayListLog'
5825
0
    if ((!((aMsg)->ReadSentinel(aIter, 1994382750)))) {
5826
0
        mozilla::ipc::SentinelReadError("Error deserializing 'displayListLog' (nsCString) member of 'CommonLayerAttributes'");
5827
0
        return false;
5828
0
    }
5829
0
    return true;
5830
0
}
5831
5832
} // namespace ipc
5833
} // namespace mozilla
5834
5835
//-----------------------------------------------------------------------------
5836
// Method definitions for the IPDL type |struct PaintedLayerAttributes|
5837
//
5838
namespace mozilla {
5839
namespace layers {
5840
auto PaintedLayerAttributes::operator==(const PaintedLayerAttributes& _o) const -> bool
5841
0
{
5842
0
    if ((!((validRegion()) == ((_o).validRegion())))) {
5843
0
        return false;
5844
0
    }
5845
0
    return true;
5846
0
}
5847
5848
auto PaintedLayerAttributes::operator!=(const PaintedLayerAttributes& _o) const -> bool
5849
0
{
5850
0
    return (!(operator==(_o)));
5851
0
}
5852
5853
} // namespace layers
5854
} // namespace mozilla
5855
5856
namespace mozilla {
5857
namespace ipc {
5858
auto IPDLParamTraits<mozilla::layers::PaintedLayerAttributes>::Write(
5859
        IPC::Message* aMsg,
5860
        mozilla::ipc::IProtocol* aActor,
5861
        const paramType& aVar) -> void
5862
0
{
5863
0
    WriteIPDLParam(aMsg, aActor, (aVar).validRegion());
5864
0
    // Sentinel = 'validRegion'
5865
0
    (aMsg)->WriteSentinel(1063106721);
5866
0
}
5867
5868
auto IPDLParamTraits<mozilla::layers::PaintedLayerAttributes>::Read(
5869
        const IPC::Message* aMsg,
5870
        PickleIterator* aIter,
5871
        mozilla::ipc::IProtocol* aActor,
5872
        paramType* aVar) -> bool
5873
0
{
5874
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->validRegion())))))) {
5875
0
        (aActor)->FatalError("Error deserializing 'validRegion' (nsIntRegion) member of 'PaintedLayerAttributes'");
5876
0
        return false;
5877
0
    }
5878
0
    // Sentinel = 'validRegion'
5879
0
    if ((!((aMsg)->ReadSentinel(aIter, 1063106721)))) {
5880
0
        mozilla::ipc::SentinelReadError("Error deserializing 'validRegion' (nsIntRegion) member of 'PaintedLayerAttributes'");
5881
0
        return false;
5882
0
    }
5883
0
    return true;
5884
0
}
5885
5886
} // namespace ipc
5887
} // namespace mozilla
5888
5889
//-----------------------------------------------------------------------------
5890
// Method definitions for the IPDL type |struct ContainerLayerAttributes|
5891
//
5892
namespace mozilla {
5893
namespace layers {
5894
auto ContainerLayerAttributes::operator==(const ContainerLayerAttributes& _o) const -> bool
5895
0
{
5896
0
    if ((!((preXScale()) == ((_o).preXScale())))) {
5897
0
        return false;
5898
0
    }
5899
0
    if ((!((preYScale()) == ((_o).preYScale())))) {
5900
0
        return false;
5901
0
    }
5902
0
    if ((!((inheritedXScale()) == ((_o).inheritedXScale())))) {
5903
0
        return false;
5904
0
    }
5905
0
    if ((!((inheritedYScale()) == ((_o).inheritedYScale())))) {
5906
0
        return false;
5907
0
    }
5908
0
    if ((!((presShellResolution()) == ((_o).presShellResolution())))) {
5909
0
        return false;
5910
0
    }
5911
0
    if ((!((scaleToResolution()) == ((_o).scaleToResolution())))) {
5912
0
        return false;
5913
0
    }
5914
0
    return true;
5915
0
}
5916
5917
auto ContainerLayerAttributes::operator!=(const ContainerLayerAttributes& _o) const -> bool
5918
0
{
5919
0
    return (!(operator==(_o)));
5920
0
}
5921
5922
} // namespace layers
5923
} // namespace mozilla
5924
5925
namespace mozilla {
5926
namespace ipc {
5927
auto IPDLParamTraits<mozilla::layers::ContainerLayerAttributes>::Write(
5928
        IPC::Message* aMsg,
5929
        mozilla::ipc::IProtocol* aActor,
5930
        const paramType& aVar) -> void
5931
0
{
5932
0
    WriteIPDLParam(aMsg, aActor, (aVar).preXScale());
5933
0
    // Sentinel = 'preXScale'
5934
0
    (aMsg)->WriteSentinel(2584362704);
5935
0
    WriteIPDLParam(aMsg, aActor, (aVar).preYScale());
5936
0
    // Sentinel = 'preYScale'
5937
0
    (aMsg)->WriteSentinel(970268767);
5938
0
    WriteIPDLParam(aMsg, aActor, (aVar).inheritedXScale());
5939
0
    // Sentinel = 'inheritedXScale'
5940
0
    (aMsg)->WriteSentinel(1285237395);
5941
0
    WriteIPDLParam(aMsg, aActor, (aVar).inheritedYScale());
5942
0
    // Sentinel = 'inheritedYScale'
5943
0
    (aMsg)->WriteSentinel(3724217552);
5944
0
    WriteIPDLParam(aMsg, aActor, (aVar).presShellResolution());
5945
0
    // Sentinel = 'presShellResolution'
5946
0
    (aMsg)->WriteSentinel(526924453);
5947
0
    WriteIPDLParam(aMsg, aActor, (aVar).scaleToResolution());
5948
0
    // Sentinel = 'scaleToResolution'
5949
0
    (aMsg)->WriteSentinel(2681979286);
5950
0
}
5951
5952
auto IPDLParamTraits<mozilla::layers::ContainerLayerAttributes>::Read(
5953
        const IPC::Message* aMsg,
5954
        PickleIterator* aIter,
5955
        mozilla::ipc::IProtocol* aActor,
5956
        paramType* aVar) -> bool
5957
0
{
5958
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->preXScale())))))) {
5959
0
        (aActor)->FatalError("Error deserializing 'preXScale' (float) member of 'ContainerLayerAttributes'");
5960
0
        return false;
5961
0
    }
5962
0
    // Sentinel = 'preXScale'
5963
0
    if ((!((aMsg)->ReadSentinel(aIter, 2584362704)))) {
5964
0
        mozilla::ipc::SentinelReadError("Error deserializing 'preXScale' (float) member of 'ContainerLayerAttributes'");
5965
0
        return false;
5966
0
    }
5967
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->preYScale())))))) {
5968
0
        (aActor)->FatalError("Error deserializing 'preYScale' (float) member of 'ContainerLayerAttributes'");
5969
0
        return false;
5970
0
    }
5971
0
    // Sentinel = 'preYScale'
5972
0
    if ((!((aMsg)->ReadSentinel(aIter, 970268767)))) {
5973
0
        mozilla::ipc::SentinelReadError("Error deserializing 'preYScale' (float) member of 'ContainerLayerAttributes'");
5974
0
        return false;
5975
0
    }
5976
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->inheritedXScale())))))) {
5977
0
        (aActor)->FatalError("Error deserializing 'inheritedXScale' (float) member of 'ContainerLayerAttributes'");
5978
0
        return false;
5979
0
    }
5980
0
    // Sentinel = 'inheritedXScale'
5981
0
    if ((!((aMsg)->ReadSentinel(aIter, 1285237395)))) {
5982
0
        mozilla::ipc::SentinelReadError("Error deserializing 'inheritedXScale' (float) member of 'ContainerLayerAttributes'");
5983
0
        return false;
5984
0
    }
5985
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->inheritedYScale())))))) {
5986
0
        (aActor)->FatalError("Error deserializing 'inheritedYScale' (float) member of 'ContainerLayerAttributes'");
5987
0
        return false;
5988
0
    }
5989
0
    // Sentinel = 'inheritedYScale'
5990
0
    if ((!((aMsg)->ReadSentinel(aIter, 3724217552)))) {
5991
0
        mozilla::ipc::SentinelReadError("Error deserializing 'inheritedYScale' (float) member of 'ContainerLayerAttributes'");
5992
0
        return false;
5993
0
    }
5994
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->presShellResolution())))))) {
5995
0
        (aActor)->FatalError("Error deserializing 'presShellResolution' (float) member of 'ContainerLayerAttributes'");
5996
0
        return false;
5997
0
    }
5998
0
    // Sentinel = 'presShellResolution'
5999
0
    if ((!((aMsg)->ReadSentinel(aIter, 526924453)))) {
6000
0
        mozilla::ipc::SentinelReadError("Error deserializing 'presShellResolution' (float) member of 'ContainerLayerAttributes'");
6001
0
        return false;
6002
0
    }
6003
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->scaleToResolution())))))) {
6004
0
        (aActor)->FatalError("Error deserializing 'scaleToResolution' (bool) member of 'ContainerLayerAttributes'");
6005
0
        return false;
6006
0
    }
6007
0
    // Sentinel = 'scaleToResolution'
6008
0
    if ((!((aMsg)->ReadSentinel(aIter, 2681979286)))) {
6009
0
        mozilla::ipc::SentinelReadError("Error deserializing 'scaleToResolution' (bool) member of 'ContainerLayerAttributes'");
6010
0
        return false;
6011
0
    }
6012
0
    return true;
6013
0
}
6014
6015
} // namespace ipc
6016
} // namespace mozilla
6017
6018
//-----------------------------------------------------------------------------
6019
// Method definitions for the IPDL type |struct GlyphArray|
6020
//
6021
namespace mozilla {
6022
namespace layers {
6023
auto GlyphArray::operator==(const GlyphArray& _o) const -> bool
6024
0
{
6025
0
    if ((!((color()) == ((_o).color())))) {
6026
0
        return false;
6027
0
    }
6028
0
    if ((!((glyphs()) == ((_o).glyphs())))) {
6029
0
        return false;
6030
0
    }
6031
0
    return true;
6032
0
}
6033
6034
auto GlyphArray::operator!=(const GlyphArray& _o) const -> bool
6035
0
{
6036
0
    return (!(operator==(_o)));
6037
0
}
6038
6039
} // namespace layers
6040
} // namespace mozilla
6041
6042
namespace mozilla {
6043
namespace ipc {
6044
auto IPDLParamTraits<mozilla::layers::GlyphArray>::Write(
6045
        IPC::Message* aMsg,
6046
        mozilla::ipc::IProtocol* aActor,
6047
        const paramType& aVar) -> void
6048
0
{
6049
0
    WriteIPDLParam(aMsg, aActor, (aVar).color());
6050
0
    // Sentinel = 'color'
6051
0
    (aMsg)->WriteSentinel(2703551752);
6052
0
    WriteIPDLParam(aMsg, aActor, (aVar).glyphs());
6053
0
    // Sentinel = 'glyphs'
6054
0
    (aMsg)->WriteSentinel(2497623611);
6055
0
}
6056
6057
auto IPDLParamTraits<mozilla::layers::GlyphArray>::Read(
6058
        const IPC::Message* aMsg,
6059
        PickleIterator* aIter,
6060
        mozilla::ipc::IProtocol* aActor,
6061
        paramType* aVar) -> bool
6062
0
{
6063
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->color())))))) {
6064
0
        (aActor)->FatalError("Error deserializing 'color' (LayerColor) member of 'GlyphArray'");
6065
0
        return false;
6066
0
    }
6067
0
    // Sentinel = 'color'
6068
0
    if ((!((aMsg)->ReadSentinel(aIter, 2703551752)))) {
6069
0
        mozilla::ipc::SentinelReadError("Error deserializing 'color' (LayerColor) member of 'GlyphArray'");
6070
0
        return false;
6071
0
    }
6072
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->glyphs())))))) {
6073
0
        (aActor)->FatalError("Error deserializing 'glyphs' (Glyph[]) member of 'GlyphArray'");
6074
0
        return false;
6075
0
    }
6076
0
    // Sentinel = 'glyphs'
6077
0
    if ((!((aMsg)->ReadSentinel(aIter, 2497623611)))) {
6078
0
        mozilla::ipc::SentinelReadError("Error deserializing 'glyphs' (Glyph[]) member of 'GlyphArray'");
6079
0
        return false;
6080
0
    }
6081
0
    return true;
6082
0
}
6083
6084
} // namespace ipc
6085
} // namespace mozilla
6086
6087
//-----------------------------------------------------------------------------
6088
// Method definitions for the IPDL type |struct ColorLayerAttributes|
6089
//
6090
namespace mozilla {
6091
namespace layers {
6092
auto ColorLayerAttributes::operator==(const ColorLayerAttributes& _o) const -> bool
6093
0
{
6094
0
    if ((!((color()) == ((_o).color())))) {
6095
0
        return false;
6096
0
    }
6097
0
    if ((!((bounds()) == ((_o).bounds())))) {
6098
0
        return false;
6099
0
    }
6100
0
    return true;
6101
0
}
6102
6103
auto ColorLayerAttributes::operator!=(const ColorLayerAttributes& _o) const -> bool
6104
0
{
6105
0
    return (!(operator==(_o)));
6106
0
}
6107
6108
} // namespace layers
6109
} // namespace mozilla
6110
6111
namespace mozilla {
6112
namespace ipc {
6113
auto IPDLParamTraits<mozilla::layers::ColorLayerAttributes>::Write(
6114
        IPC::Message* aMsg,
6115
        mozilla::ipc::IProtocol* aActor,
6116
        const paramType& aVar) -> void
6117
0
{
6118
0
    WriteIPDLParam(aMsg, aActor, (aVar).color());
6119
0
    // Sentinel = 'color'
6120
0
    (aMsg)->WriteSentinel(2703551752);
6121
0
    WriteIPDLParam(aMsg, aActor, (aVar).bounds());
6122
0
    // Sentinel = 'bounds'
6123
0
    (aMsg)->WriteSentinel(809584493);
6124
0
}
6125
6126
auto IPDLParamTraits<mozilla::layers::ColorLayerAttributes>::Read(
6127
        const IPC::Message* aMsg,
6128
        PickleIterator* aIter,
6129
        mozilla::ipc::IProtocol* aActor,
6130
        paramType* aVar) -> bool
6131
0
{
6132
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->color())))))) {
6133
0
        (aActor)->FatalError("Error deserializing 'color' (LayerColor) member of 'ColorLayerAttributes'");
6134
0
        return false;
6135
0
    }
6136
0
    // Sentinel = 'color'
6137
0
    if ((!((aMsg)->ReadSentinel(aIter, 2703551752)))) {
6138
0
        mozilla::ipc::SentinelReadError("Error deserializing 'color' (LayerColor) member of 'ColorLayerAttributes'");
6139
0
        return false;
6140
0
    }
6141
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->bounds())))))) {
6142
0
        (aActor)->FatalError("Error deserializing 'bounds' (IntRect) member of 'ColorLayerAttributes'");
6143
0
        return false;
6144
0
    }
6145
0
    // Sentinel = 'bounds'
6146
0
    if ((!((aMsg)->ReadSentinel(aIter, 809584493)))) {
6147
0
        mozilla::ipc::SentinelReadError("Error deserializing 'bounds' (IntRect) member of 'ColorLayerAttributes'");
6148
0
        return false;
6149
0
    }
6150
0
    return true;
6151
0
}
6152
6153
} // namespace ipc
6154
} // namespace mozilla
6155
6156
//-----------------------------------------------------------------------------
6157
// Method definitions for the IPDL type |struct CanvasLayerAttributes|
6158
//
6159
namespace mozilla {
6160
namespace layers {
6161
auto CanvasLayerAttributes::operator==(const CanvasLayerAttributes& _o) const -> bool
6162
0
{
6163
0
    if ((!((samplingFilter()) == ((_o).samplingFilter())))) {
6164
0
        return false;
6165
0
    }
6166
0
    if ((!((bounds()) == ((_o).bounds())))) {
6167
0
        return false;
6168
0
    }
6169
0
    return true;
6170
0
}
6171
6172
auto CanvasLayerAttributes::operator!=(const CanvasLayerAttributes& _o) const -> bool
6173
0
{
6174
0
    return (!(operator==(_o)));
6175
0
}
6176
6177
} // namespace layers
6178
} // namespace mozilla
6179
6180
namespace mozilla {
6181
namespace ipc {
6182
auto IPDLParamTraits<mozilla::layers::CanvasLayerAttributes>::Write(
6183
        IPC::Message* aMsg,
6184
        mozilla::ipc::IProtocol* aActor,
6185
        const paramType& aVar) -> void
6186
0
{
6187
0
    WriteIPDLParam(aMsg, aActor, (aVar).samplingFilter());
6188
0
    // Sentinel = 'samplingFilter'
6189
0
    (aMsg)->WriteSentinel(2274374003);
6190
0
    WriteIPDLParam(aMsg, aActor, (aVar).bounds());
6191
0
    // Sentinel = 'bounds'
6192
0
    (aMsg)->WriteSentinel(809584493);
6193
0
}
6194
6195
auto IPDLParamTraits<mozilla::layers::CanvasLayerAttributes>::Read(
6196
        const IPC::Message* aMsg,
6197
        PickleIterator* aIter,
6198
        mozilla::ipc::IProtocol* aActor,
6199
        paramType* aVar) -> bool
6200
0
{
6201
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->samplingFilter())))))) {
6202
0
        (aActor)->FatalError("Error deserializing 'samplingFilter' (SamplingFilter) member of 'CanvasLayerAttributes'");
6203
0
        return false;
6204
0
    }
6205
0
    // Sentinel = 'samplingFilter'
6206
0
    if ((!((aMsg)->ReadSentinel(aIter, 2274374003)))) {
6207
0
        mozilla::ipc::SentinelReadError("Error deserializing 'samplingFilter' (SamplingFilter) member of 'CanvasLayerAttributes'");
6208
0
        return false;
6209
0
    }
6210
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->bounds())))))) {
6211
0
        (aActor)->FatalError("Error deserializing 'bounds' (IntRect) member of 'CanvasLayerAttributes'");
6212
0
        return false;
6213
0
    }
6214
0
    // Sentinel = 'bounds'
6215
0
    if ((!((aMsg)->ReadSentinel(aIter, 809584493)))) {
6216
0
        mozilla::ipc::SentinelReadError("Error deserializing 'bounds' (IntRect) member of 'CanvasLayerAttributes'");
6217
0
        return false;
6218
0
    }
6219
0
    return true;
6220
0
}
6221
6222
} // namespace ipc
6223
} // namespace mozilla
6224
6225
//-----------------------------------------------------------------------------
6226
// Method definitions for the IPDL type |struct RefLayerAttributes|
6227
//
6228
namespace mozilla {
6229
namespace layers {
6230
auto RefLayerAttributes::operator==(const RefLayerAttributes& _o) const -> bool
6231
0
{
6232
0
    if ((!((id()) == ((_o).id())))) {
6233
0
        return false;
6234
0
    }
6235
0
    if ((!((eventRegionsOverride()) == ((_o).eventRegionsOverride())))) {
6236
0
        return false;
6237
0
    }
6238
0
    return true;
6239
0
}
6240
6241
auto RefLayerAttributes::operator!=(const RefLayerAttributes& _o) const -> bool
6242
0
{
6243
0
    return (!(operator==(_o)));
6244
0
}
6245
6246
} // namespace layers
6247
} // namespace mozilla
6248
6249
namespace mozilla {
6250
namespace ipc {
6251
auto IPDLParamTraits<mozilla::layers::RefLayerAttributes>::Write(
6252
        IPC::Message* aMsg,
6253
        mozilla::ipc::IProtocol* aActor,
6254
        const paramType& aVar) -> void
6255
0
{
6256
0
    WriteIPDLParam(aMsg, aActor, (aVar).id());
6257
0
    // Sentinel = 'id'
6258
0
    (aMsg)->WriteSentinel(2794505629);
6259
0
    WriteIPDLParam(aMsg, aActor, (aVar).eventRegionsOverride());
6260
0
    // Sentinel = 'eventRegionsOverride'
6261
0
    (aMsg)->WriteSentinel(2829940611);
6262
0
}
6263
6264
auto IPDLParamTraits<mozilla::layers::RefLayerAttributes>::Read(
6265
        const IPC::Message* aMsg,
6266
        PickleIterator* aIter,
6267
        mozilla::ipc::IProtocol* aActor,
6268
        paramType* aVar) -> bool
6269
0
{
6270
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->id())))))) {
6271
0
        (aActor)->FatalError("Error deserializing 'id' (LayersId) member of 'RefLayerAttributes'");
6272
0
        return false;
6273
0
    }
6274
0
    // Sentinel = 'id'
6275
0
    if ((!((aMsg)->ReadSentinel(aIter, 2794505629)))) {
6276
0
        mozilla::ipc::SentinelReadError("Error deserializing 'id' (LayersId) member of 'RefLayerAttributes'");
6277
0
        return false;
6278
0
    }
6279
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->eventRegionsOverride())))))) {
6280
0
        (aActor)->FatalError("Error deserializing 'eventRegionsOverride' (EventRegionsOverride) member of 'RefLayerAttributes'");
6281
0
        return false;
6282
0
    }
6283
0
    // Sentinel = 'eventRegionsOverride'
6284
0
    if ((!((aMsg)->ReadSentinel(aIter, 2829940611)))) {
6285
0
        mozilla::ipc::SentinelReadError("Error deserializing 'eventRegionsOverride' (EventRegionsOverride) member of 'RefLayerAttributes'");
6286
0
        return false;
6287
0
    }
6288
0
    return true;
6289
0
}
6290
6291
} // namespace ipc
6292
} // namespace mozilla
6293
6294
//-----------------------------------------------------------------------------
6295
// Method definitions for the IPDL type |struct ImageLayerAttributes|
6296
//
6297
namespace mozilla {
6298
namespace layers {
6299
auto ImageLayerAttributes::operator==(const ImageLayerAttributes& _o) const -> bool
6300
0
{
6301
0
    if ((!((samplingFilter()) == ((_o).samplingFilter())))) {
6302
0
        return false;
6303
0
    }
6304
0
    if ((!((scaleToSize()) == ((_o).scaleToSize())))) {
6305
0
        return false;
6306
0
    }
6307
0
    if ((!((scaleMode()) == ((_o).scaleMode())))) {
6308
0
        return false;
6309
0
    }
6310
0
    return true;
6311
0
}
6312
6313
auto ImageLayerAttributes::operator!=(const ImageLayerAttributes& _o) const -> bool
6314
0
{
6315
0
    return (!(operator==(_o)));
6316
0
}
6317
6318
} // namespace layers
6319
} // namespace mozilla
6320
6321
namespace mozilla {
6322
namespace ipc {
6323
auto IPDLParamTraits<mozilla::layers::ImageLayerAttributes>::Write(
6324
        IPC::Message* aMsg,
6325
        mozilla::ipc::IProtocol* aActor,
6326
        const paramType& aVar) -> void
6327
0
{
6328
0
    WriteIPDLParam(aMsg, aActor, (aVar).samplingFilter());
6329
0
    // Sentinel = 'samplingFilter'
6330
0
    (aMsg)->WriteSentinel(2274374003);
6331
0
    WriteIPDLParam(aMsg, aActor, (aVar).scaleToSize());
6332
0
    // Sentinel = 'scaleToSize'
6333
0
    (aMsg)->WriteSentinel(1078440273);
6334
0
    WriteIPDLParam(aMsg, aActor, (aVar).scaleMode());
6335
0
    // Sentinel = 'scaleMode'
6336
0
    (aMsg)->WriteSentinel(1807422362);
6337
0
}
6338
6339
auto IPDLParamTraits<mozilla::layers::ImageLayerAttributes>::Read(
6340
        const IPC::Message* aMsg,
6341
        PickleIterator* aIter,
6342
        mozilla::ipc::IProtocol* aActor,
6343
        paramType* aVar) -> bool
6344
0
{
6345
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->samplingFilter())))))) {
6346
0
        (aActor)->FatalError("Error deserializing 'samplingFilter' (SamplingFilter) member of 'ImageLayerAttributes'");
6347
0
        return false;
6348
0
    }
6349
0
    // Sentinel = 'samplingFilter'
6350
0
    if ((!((aMsg)->ReadSentinel(aIter, 2274374003)))) {
6351
0
        mozilla::ipc::SentinelReadError("Error deserializing 'samplingFilter' (SamplingFilter) member of 'ImageLayerAttributes'");
6352
0
        return false;
6353
0
    }
6354
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->scaleToSize())))))) {
6355
0
        (aActor)->FatalError("Error deserializing 'scaleToSize' (IntSize) member of 'ImageLayerAttributes'");
6356
0
        return false;
6357
0
    }
6358
0
    // Sentinel = 'scaleToSize'
6359
0
    if ((!((aMsg)->ReadSentinel(aIter, 1078440273)))) {
6360
0
        mozilla::ipc::SentinelReadError("Error deserializing 'scaleToSize' (IntSize) member of 'ImageLayerAttributes'");
6361
0
        return false;
6362
0
    }
6363
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->scaleMode())))))) {
6364
0
        (aActor)->FatalError("Error deserializing 'scaleMode' (ScaleMode) member of 'ImageLayerAttributes'");
6365
0
        return false;
6366
0
    }
6367
0
    // Sentinel = 'scaleMode'
6368
0
    if ((!((aMsg)->ReadSentinel(aIter, 1807422362)))) {
6369
0
        mozilla::ipc::SentinelReadError("Error deserializing 'scaleMode' (ScaleMode) member of 'ImageLayerAttributes'");
6370
0
        return false;
6371
0
    }
6372
0
    return true;
6373
0
}
6374
6375
} // namespace ipc
6376
} // namespace mozilla
6377
6378
//-----------------------------------------------------------------------------
6379
// Method definitions for the IPDL type |union SpecificLayerAttributes|
6380
//
6381
namespace mozilla {
6382
namespace layers {
6383
auto SpecificLayerAttributes::MaybeDestroy(Type aNewType) -> bool
6384
0
{
6385
0
    if ((mType) == (T__None)) {
6386
0
        return true;
6387
0
    }
6388
0
    if ((mType) == (aNewType)) {
6389
0
        return false;
6390
0
    }
6391
0
    switch (mType) {
6392
0
    case Tnull_t:
6393
0
        {
6394
0
            (ptr_null_t())->~null_t__tdef();
6395
0
            break;
6396
0
        }
6397
0
    case TPaintedLayerAttributes:
6398
0
        {
6399
0
            (ptr_PaintedLayerAttributes())->~PaintedLayerAttributes__tdef();
6400
0
            break;
6401
0
        }
6402
0
    case TContainerLayerAttributes:
6403
0
        {
6404
0
            (ptr_ContainerLayerAttributes())->~ContainerLayerAttributes__tdef();
6405
0
            break;
6406
0
        }
6407
0
    case TColorLayerAttributes:
6408
0
        {
6409
0
            (ptr_ColorLayerAttributes())->~ColorLayerAttributes__tdef();
6410
0
            break;
6411
0
        }
6412
0
    case TCanvasLayerAttributes:
6413
0
        {
6414
0
            (ptr_CanvasLayerAttributes())->~CanvasLayerAttributes__tdef();
6415
0
            break;
6416
0
        }
6417
0
    case TRefLayerAttributes:
6418
0
        {
6419
0
            (ptr_RefLayerAttributes())->~RefLayerAttributes__tdef();
6420
0
            break;
6421
0
        }
6422
0
    case TImageLayerAttributes:
6423
0
        {
6424
0
            (ptr_ImageLayerAttributes())->~ImageLayerAttributes__tdef();
6425
0
            break;
6426
0
        }
6427
0
    default:
6428
0
        {
6429
0
            mozilla::ipc::LogicError("not reached");
6430
0
            break;
6431
0
        }
6432
0
    }
6433
0
    return true;
6434
0
}
6435
6436
MOZ_IMPLICIT SpecificLayerAttributes::SpecificLayerAttributes(const null_t& aOther)
6437
0
{
6438
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(aOther);
6439
0
    mType = Tnull_t;
6440
0
}
6441
6442
MOZ_IMPLICIT SpecificLayerAttributes::SpecificLayerAttributes(null_t&& aOther)
6443
0
{
6444
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move(aOther));
6445
0
    mType = Tnull_t;
6446
0
}
6447
6448
MOZ_IMPLICIT SpecificLayerAttributes::SpecificLayerAttributes(const PaintedLayerAttributes& aOther)
6449
0
{
6450
0
    new (mozilla::KnownNotNull, ptr_PaintedLayerAttributes()) PaintedLayerAttributes(aOther);
6451
0
    mType = TPaintedLayerAttributes;
6452
0
}
6453
6454
MOZ_IMPLICIT SpecificLayerAttributes::SpecificLayerAttributes(PaintedLayerAttributes&& aOther)
6455
0
{
6456
0
    new (mozilla::KnownNotNull, ptr_PaintedLayerAttributes()) PaintedLayerAttributes(std::move(aOther));
6457
0
    mType = TPaintedLayerAttributes;
6458
0
}
6459
6460
MOZ_IMPLICIT SpecificLayerAttributes::SpecificLayerAttributes(const ContainerLayerAttributes& aOther)
6461
0
{
6462
0
    new (mozilla::KnownNotNull, ptr_ContainerLayerAttributes()) ContainerLayerAttributes(aOther);
6463
0
    mType = TContainerLayerAttributes;
6464
0
}
6465
6466
MOZ_IMPLICIT SpecificLayerAttributes::SpecificLayerAttributes(ContainerLayerAttributes&& aOther)
6467
0
{
6468
0
    new (mozilla::KnownNotNull, ptr_ContainerLayerAttributes()) ContainerLayerAttributes(std::move(aOther));
6469
0
    mType = TContainerLayerAttributes;
6470
0
}
6471
6472
MOZ_IMPLICIT SpecificLayerAttributes::SpecificLayerAttributes(const ColorLayerAttributes& aOther)
6473
0
{
6474
0
    new (mozilla::KnownNotNull, ptr_ColorLayerAttributes()) ColorLayerAttributes(aOther);
6475
0
    mType = TColorLayerAttributes;
6476
0
}
6477
6478
MOZ_IMPLICIT SpecificLayerAttributes::SpecificLayerAttributes(ColorLayerAttributes&& aOther)
6479
0
{
6480
0
    new (mozilla::KnownNotNull, ptr_ColorLayerAttributes()) ColorLayerAttributes(std::move(aOther));
6481
0
    mType = TColorLayerAttributes;
6482
0
}
6483
6484
MOZ_IMPLICIT SpecificLayerAttributes::SpecificLayerAttributes(const CanvasLayerAttributes& aOther)
6485
0
{
6486
0
    new (mozilla::KnownNotNull, ptr_CanvasLayerAttributes()) CanvasLayerAttributes(aOther);
6487
0
    mType = TCanvasLayerAttributes;
6488
0
}
6489
6490
MOZ_IMPLICIT SpecificLayerAttributes::SpecificLayerAttributes(CanvasLayerAttributes&& aOther)
6491
0
{
6492
0
    new (mozilla::KnownNotNull, ptr_CanvasLayerAttributes()) CanvasLayerAttributes(std::move(aOther));
6493
0
    mType = TCanvasLayerAttributes;
6494
0
}
6495
6496
MOZ_IMPLICIT SpecificLayerAttributes::SpecificLayerAttributes(const RefLayerAttributes& aOther)
6497
0
{
6498
0
    new (mozilla::KnownNotNull, ptr_RefLayerAttributes()) RefLayerAttributes(aOther);
6499
0
    mType = TRefLayerAttributes;
6500
0
}
6501
6502
MOZ_IMPLICIT SpecificLayerAttributes::SpecificLayerAttributes(RefLayerAttributes&& aOther)
6503
0
{
6504
0
    new (mozilla::KnownNotNull, ptr_RefLayerAttributes()) RefLayerAttributes(std::move(aOther));
6505
0
    mType = TRefLayerAttributes;
6506
0
}
6507
6508
MOZ_IMPLICIT SpecificLayerAttributes::SpecificLayerAttributes(const ImageLayerAttributes& aOther)
6509
0
{
6510
0
    new (mozilla::KnownNotNull, ptr_ImageLayerAttributes()) ImageLayerAttributes(aOther);
6511
0
    mType = TImageLayerAttributes;
6512
0
}
6513
6514
MOZ_IMPLICIT SpecificLayerAttributes::SpecificLayerAttributes(ImageLayerAttributes&& aOther)
6515
0
{
6516
0
    new (mozilla::KnownNotNull, ptr_ImageLayerAttributes()) ImageLayerAttributes(std::move(aOther));
6517
0
    mType = TImageLayerAttributes;
6518
0
}
6519
6520
MOZ_IMPLICIT SpecificLayerAttributes::SpecificLayerAttributes(const SpecificLayerAttributes& aOther)
6521
0
{
6522
0
    (aOther).AssertSanity();
6523
0
    switch ((aOther).type()) {
6524
0
    case Tnull_t:
6525
0
        {
6526
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t((aOther).get_null_t());
6527
0
            break;
6528
0
        }
6529
0
    case TPaintedLayerAttributes:
6530
0
        {
6531
0
            new (mozilla::KnownNotNull, ptr_PaintedLayerAttributes()) PaintedLayerAttributes((aOther).get_PaintedLayerAttributes());
6532
0
            break;
6533
0
        }
6534
0
    case TContainerLayerAttributes:
6535
0
        {
6536
0
            new (mozilla::KnownNotNull, ptr_ContainerLayerAttributes()) ContainerLayerAttributes((aOther).get_ContainerLayerAttributes());
6537
0
            break;
6538
0
        }
6539
0
    case TColorLayerAttributes:
6540
0
        {
6541
0
            new (mozilla::KnownNotNull, ptr_ColorLayerAttributes()) ColorLayerAttributes((aOther).get_ColorLayerAttributes());
6542
0
            break;
6543
0
        }
6544
0
    case TCanvasLayerAttributes:
6545
0
        {
6546
0
            new (mozilla::KnownNotNull, ptr_CanvasLayerAttributes()) CanvasLayerAttributes((aOther).get_CanvasLayerAttributes());
6547
0
            break;
6548
0
        }
6549
0
    case TRefLayerAttributes:
6550
0
        {
6551
0
            new (mozilla::KnownNotNull, ptr_RefLayerAttributes()) RefLayerAttributes((aOther).get_RefLayerAttributes());
6552
0
            break;
6553
0
        }
6554
0
    case TImageLayerAttributes:
6555
0
        {
6556
0
            new (mozilla::KnownNotNull, ptr_ImageLayerAttributes()) ImageLayerAttributes((aOther).get_ImageLayerAttributes());
6557
0
            break;
6558
0
        }
6559
0
    case T__None:
6560
0
        {
6561
0
            break;
6562
0
        }
6563
0
    default:
6564
0
        {
6565
0
            mozilla::ipc::LogicError("unreached");
6566
0
            return;
6567
0
        }
6568
0
    }
6569
0
    mType = (aOther).type();
6570
0
}
6571
6572
MOZ_IMPLICIT SpecificLayerAttributes::SpecificLayerAttributes(SpecificLayerAttributes&& aOther)
6573
0
{
6574
0
    (aOther).AssertSanity();
6575
0
    Type t = (aOther).type();
6576
0
    switch (t) {
6577
0
    case Tnull_t:
6578
0
        {
6579
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move((aOther).get_null_t()));
6580
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
6581
0
            break;
6582
0
        }
6583
0
    case TPaintedLayerAttributes:
6584
0
        {
6585
0
            new (mozilla::KnownNotNull, ptr_PaintedLayerAttributes()) PaintedLayerAttributes(std::move((aOther).get_PaintedLayerAttributes()));
6586
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
6587
0
            break;
6588
0
        }
6589
0
    case TContainerLayerAttributes:
6590
0
        {
6591
0
            new (mozilla::KnownNotNull, ptr_ContainerLayerAttributes()) ContainerLayerAttributes(std::move((aOther).get_ContainerLayerAttributes()));
6592
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
6593
0
            break;
6594
0
        }
6595
0
    case TColorLayerAttributes:
6596
0
        {
6597
0
            new (mozilla::KnownNotNull, ptr_ColorLayerAttributes()) ColorLayerAttributes(std::move((aOther).get_ColorLayerAttributes()));
6598
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
6599
0
            break;
6600
0
        }
6601
0
    case TCanvasLayerAttributes:
6602
0
        {
6603
0
            new (mozilla::KnownNotNull, ptr_CanvasLayerAttributes()) CanvasLayerAttributes(std::move((aOther).get_CanvasLayerAttributes()));
6604
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
6605
0
            break;
6606
0
        }
6607
0
    case TRefLayerAttributes:
6608
0
        {
6609
0
            new (mozilla::KnownNotNull, ptr_RefLayerAttributes()) RefLayerAttributes(std::move((aOther).get_RefLayerAttributes()));
6610
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
6611
0
            break;
6612
0
        }
6613
0
    case TImageLayerAttributes:
6614
0
        {
6615
0
            new (mozilla::KnownNotNull, ptr_ImageLayerAttributes()) ImageLayerAttributes(std::move((aOther).get_ImageLayerAttributes()));
6616
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
6617
0
            break;
6618
0
        }
6619
0
    case T__None:
6620
0
        {
6621
0
            break;
6622
0
        }
6623
0
    default:
6624
0
        {
6625
0
            mozilla::ipc::LogicError("unreached");
6626
0
            return;
6627
0
        }
6628
0
    }
6629
0
    (aOther).mType = T__None;
6630
0
    mType = t;
6631
0
}
6632
6633
SpecificLayerAttributes::~SpecificLayerAttributes()
6634
0
{
6635
0
    static_cast<void>(MaybeDestroy(T__None));
6636
0
}
6637
6638
auto SpecificLayerAttributes::operator=(const null_t& aRhs) -> SpecificLayerAttributes&
6639
0
{
6640
0
    if (MaybeDestroy(Tnull_t)) {
6641
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
6642
0
    }
6643
0
    (*(ptr_null_t())) = aRhs;
6644
0
    mType = Tnull_t;
6645
0
    return (*(this));
6646
0
}
6647
6648
auto SpecificLayerAttributes::operator=(null_t&& aRhs) -> SpecificLayerAttributes&
6649
0
{
6650
0
    if (MaybeDestroy(Tnull_t)) {
6651
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
6652
0
    }
6653
0
    (*(ptr_null_t())) = std::move(aRhs);
6654
0
    mType = Tnull_t;
6655
0
    return (*(this));
6656
0
}
6657
6658
auto SpecificLayerAttributes::operator=(const PaintedLayerAttributes& aRhs) -> SpecificLayerAttributes&
6659
0
{
6660
0
    if (MaybeDestroy(TPaintedLayerAttributes)) {
6661
0
        new (mozilla::KnownNotNull, ptr_PaintedLayerAttributes()) PaintedLayerAttributes;
6662
0
    }
6663
0
    (*(ptr_PaintedLayerAttributes())) = aRhs;
6664
0
    mType = TPaintedLayerAttributes;
6665
0
    return (*(this));
6666
0
}
6667
6668
auto SpecificLayerAttributes::operator=(PaintedLayerAttributes&& aRhs) -> SpecificLayerAttributes&
6669
0
{
6670
0
    if (MaybeDestroy(TPaintedLayerAttributes)) {
6671
0
        new (mozilla::KnownNotNull, ptr_PaintedLayerAttributes()) PaintedLayerAttributes;
6672
0
    }
6673
0
    (*(ptr_PaintedLayerAttributes())) = std::move(aRhs);
6674
0
    mType = TPaintedLayerAttributes;
6675
0
    return (*(this));
6676
0
}
6677
6678
auto SpecificLayerAttributes::operator=(const ContainerLayerAttributes& aRhs) -> SpecificLayerAttributes&
6679
0
{
6680
0
    if (MaybeDestroy(TContainerLayerAttributes)) {
6681
0
        new (mozilla::KnownNotNull, ptr_ContainerLayerAttributes()) ContainerLayerAttributes;
6682
0
    }
6683
0
    (*(ptr_ContainerLayerAttributes())) = aRhs;
6684
0
    mType = TContainerLayerAttributes;
6685
0
    return (*(this));
6686
0
}
6687
6688
auto SpecificLayerAttributes::operator=(ContainerLayerAttributes&& aRhs) -> SpecificLayerAttributes&
6689
0
{
6690
0
    if (MaybeDestroy(TContainerLayerAttributes)) {
6691
0
        new (mozilla::KnownNotNull, ptr_ContainerLayerAttributes()) ContainerLayerAttributes;
6692
0
    }
6693
0
    (*(ptr_ContainerLayerAttributes())) = std::move(aRhs);
6694
0
    mType = TContainerLayerAttributes;
6695
0
    return (*(this));
6696
0
}
6697
6698
auto SpecificLayerAttributes::operator=(const ColorLayerAttributes& aRhs) -> SpecificLayerAttributes&
6699
0
{
6700
0
    if (MaybeDestroy(TColorLayerAttributes)) {
6701
0
        new (mozilla::KnownNotNull, ptr_ColorLayerAttributes()) ColorLayerAttributes;
6702
0
    }
6703
0
    (*(ptr_ColorLayerAttributes())) = aRhs;
6704
0
    mType = TColorLayerAttributes;
6705
0
    return (*(this));
6706
0
}
6707
6708
auto SpecificLayerAttributes::operator=(ColorLayerAttributes&& aRhs) -> SpecificLayerAttributes&
6709
0
{
6710
0
    if (MaybeDestroy(TColorLayerAttributes)) {
6711
0
        new (mozilla::KnownNotNull, ptr_ColorLayerAttributes()) ColorLayerAttributes;
6712
0
    }
6713
0
    (*(ptr_ColorLayerAttributes())) = std::move(aRhs);
6714
0
    mType = TColorLayerAttributes;
6715
0
    return (*(this));
6716
0
}
6717
6718
auto SpecificLayerAttributes::operator=(const CanvasLayerAttributes& aRhs) -> SpecificLayerAttributes&
6719
0
{
6720
0
    if (MaybeDestroy(TCanvasLayerAttributes)) {
6721
0
        new (mozilla::KnownNotNull, ptr_CanvasLayerAttributes()) CanvasLayerAttributes;
6722
0
    }
6723
0
    (*(ptr_CanvasLayerAttributes())) = aRhs;
6724
0
    mType = TCanvasLayerAttributes;
6725
0
    return (*(this));
6726
0
}
6727
6728
auto SpecificLayerAttributes::operator=(CanvasLayerAttributes&& aRhs) -> SpecificLayerAttributes&
6729
0
{
6730
0
    if (MaybeDestroy(TCanvasLayerAttributes)) {
6731
0
        new (mozilla::KnownNotNull, ptr_CanvasLayerAttributes()) CanvasLayerAttributes;
6732
0
    }
6733
0
    (*(ptr_CanvasLayerAttributes())) = std::move(aRhs);
6734
0
    mType = TCanvasLayerAttributes;
6735
0
    return (*(this));
6736
0
}
6737
6738
auto SpecificLayerAttributes::operator=(const RefLayerAttributes& aRhs) -> SpecificLayerAttributes&
6739
0
{
6740
0
    if (MaybeDestroy(TRefLayerAttributes)) {
6741
0
        new (mozilla::KnownNotNull, ptr_RefLayerAttributes()) RefLayerAttributes;
6742
0
    }
6743
0
    (*(ptr_RefLayerAttributes())) = aRhs;
6744
0
    mType = TRefLayerAttributes;
6745
0
    return (*(this));
6746
0
}
6747
6748
auto SpecificLayerAttributes::operator=(RefLayerAttributes&& aRhs) -> SpecificLayerAttributes&
6749
0
{
6750
0
    if (MaybeDestroy(TRefLayerAttributes)) {
6751
0
        new (mozilla::KnownNotNull, ptr_RefLayerAttributes()) RefLayerAttributes;
6752
0
    }
6753
0
    (*(ptr_RefLayerAttributes())) = std::move(aRhs);
6754
0
    mType = TRefLayerAttributes;
6755
0
    return (*(this));
6756
0
}
6757
6758
auto SpecificLayerAttributes::operator=(const ImageLayerAttributes& aRhs) -> SpecificLayerAttributes&
6759
0
{
6760
0
    if (MaybeDestroy(TImageLayerAttributes)) {
6761
0
        new (mozilla::KnownNotNull, ptr_ImageLayerAttributes()) ImageLayerAttributes;
6762
0
    }
6763
0
    (*(ptr_ImageLayerAttributes())) = aRhs;
6764
0
    mType = TImageLayerAttributes;
6765
0
    return (*(this));
6766
0
}
6767
6768
auto SpecificLayerAttributes::operator=(ImageLayerAttributes&& aRhs) -> SpecificLayerAttributes&
6769
0
{
6770
0
    if (MaybeDestroy(TImageLayerAttributes)) {
6771
0
        new (mozilla::KnownNotNull, ptr_ImageLayerAttributes()) ImageLayerAttributes;
6772
0
    }
6773
0
    (*(ptr_ImageLayerAttributes())) = std::move(aRhs);
6774
0
    mType = TImageLayerAttributes;
6775
0
    return (*(this));
6776
0
}
6777
6778
auto SpecificLayerAttributes::operator=(const SpecificLayerAttributes& aRhs) -> SpecificLayerAttributes&
6779
0
{
6780
0
    (aRhs).AssertSanity();
6781
0
    Type t = (aRhs).type();
6782
0
    switch (t) {
6783
0
    case Tnull_t:
6784
0
        {
6785
0
            if (MaybeDestroy(t)) {
6786
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
6787
0
            }
6788
0
            (*(ptr_null_t())) = (aRhs).get_null_t();
6789
0
            break;
6790
0
        }
6791
0
    case TPaintedLayerAttributes:
6792
0
        {
6793
0
            if (MaybeDestroy(t)) {
6794
0
                new (mozilla::KnownNotNull, ptr_PaintedLayerAttributes()) PaintedLayerAttributes;
6795
0
            }
6796
0
            (*(ptr_PaintedLayerAttributes())) = (aRhs).get_PaintedLayerAttributes();
6797
0
            break;
6798
0
        }
6799
0
    case TContainerLayerAttributes:
6800
0
        {
6801
0
            if (MaybeDestroy(t)) {
6802
0
                new (mozilla::KnownNotNull, ptr_ContainerLayerAttributes()) ContainerLayerAttributes;
6803
0
            }
6804
0
            (*(ptr_ContainerLayerAttributes())) = (aRhs).get_ContainerLayerAttributes();
6805
0
            break;
6806
0
        }
6807
0
    case TColorLayerAttributes:
6808
0
        {
6809
0
            if (MaybeDestroy(t)) {
6810
0
                new (mozilla::KnownNotNull, ptr_ColorLayerAttributes()) ColorLayerAttributes;
6811
0
            }
6812
0
            (*(ptr_ColorLayerAttributes())) = (aRhs).get_ColorLayerAttributes();
6813
0
            break;
6814
0
        }
6815
0
    case TCanvasLayerAttributes:
6816
0
        {
6817
0
            if (MaybeDestroy(t)) {
6818
0
                new (mozilla::KnownNotNull, ptr_CanvasLayerAttributes()) CanvasLayerAttributes;
6819
0
            }
6820
0
            (*(ptr_CanvasLayerAttributes())) = (aRhs).get_CanvasLayerAttributes();
6821
0
            break;
6822
0
        }
6823
0
    case TRefLayerAttributes:
6824
0
        {
6825
0
            if (MaybeDestroy(t)) {
6826
0
                new (mozilla::KnownNotNull, ptr_RefLayerAttributes()) RefLayerAttributes;
6827
0
            }
6828
0
            (*(ptr_RefLayerAttributes())) = (aRhs).get_RefLayerAttributes();
6829
0
            break;
6830
0
        }
6831
0
    case TImageLayerAttributes:
6832
0
        {
6833
0
            if (MaybeDestroy(t)) {
6834
0
                new (mozilla::KnownNotNull, ptr_ImageLayerAttributes()) ImageLayerAttributes;
6835
0
            }
6836
0
            (*(ptr_ImageLayerAttributes())) = (aRhs).get_ImageLayerAttributes();
6837
0
            break;
6838
0
        }
6839
0
    case T__None:
6840
0
        {
6841
0
            static_cast<void>(MaybeDestroy(t));
6842
0
            break;
6843
0
        }
6844
0
    default:
6845
0
        {
6846
0
            mozilla::ipc::LogicError("unreached");
6847
0
            break;
6848
0
        }
6849
0
    }
6850
0
    mType = t;
6851
0
    return (*(this));
6852
0
}
6853
6854
auto SpecificLayerAttributes::operator=(SpecificLayerAttributes&& aRhs) -> SpecificLayerAttributes&
6855
0
{
6856
0
    (aRhs).AssertSanity();
6857
0
    Type t = (aRhs).type();
6858
0
    switch (t) {
6859
0
    case Tnull_t:
6860
0
        {
6861
0
            if (MaybeDestroy(t)) {
6862
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
6863
0
            }
6864
0
            (*(ptr_null_t())) = std::move((aRhs).get_null_t());
6865
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
6866
0
            break;
6867
0
        }
6868
0
    case TPaintedLayerAttributes:
6869
0
        {
6870
0
            if (MaybeDestroy(t)) {
6871
0
                new (mozilla::KnownNotNull, ptr_PaintedLayerAttributes()) PaintedLayerAttributes;
6872
0
            }
6873
0
            (*(ptr_PaintedLayerAttributes())) = std::move((aRhs).get_PaintedLayerAttributes());
6874
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
6875
0
            break;
6876
0
        }
6877
0
    case TContainerLayerAttributes:
6878
0
        {
6879
0
            if (MaybeDestroy(t)) {
6880
0
                new (mozilla::KnownNotNull, ptr_ContainerLayerAttributes()) ContainerLayerAttributes;
6881
0
            }
6882
0
            (*(ptr_ContainerLayerAttributes())) = std::move((aRhs).get_ContainerLayerAttributes());
6883
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
6884
0
            break;
6885
0
        }
6886
0
    case TColorLayerAttributes:
6887
0
        {
6888
0
            if (MaybeDestroy(t)) {
6889
0
                new (mozilla::KnownNotNull, ptr_ColorLayerAttributes()) ColorLayerAttributes;
6890
0
            }
6891
0
            (*(ptr_ColorLayerAttributes())) = std::move((aRhs).get_ColorLayerAttributes());
6892
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
6893
0
            break;
6894
0
        }
6895
0
    case TCanvasLayerAttributes:
6896
0
        {
6897
0
            if (MaybeDestroy(t)) {
6898
0
                new (mozilla::KnownNotNull, ptr_CanvasLayerAttributes()) CanvasLayerAttributes;
6899
0
            }
6900
0
            (*(ptr_CanvasLayerAttributes())) = std::move((aRhs).get_CanvasLayerAttributes());
6901
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
6902
0
            break;
6903
0
        }
6904
0
    case TRefLayerAttributes:
6905
0
        {
6906
0
            if (MaybeDestroy(t)) {
6907
0
                new (mozilla::KnownNotNull, ptr_RefLayerAttributes()) RefLayerAttributes;
6908
0
            }
6909
0
            (*(ptr_RefLayerAttributes())) = std::move((aRhs).get_RefLayerAttributes());
6910
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
6911
0
            break;
6912
0
        }
6913
0
    case TImageLayerAttributes:
6914
0
        {
6915
0
            if (MaybeDestroy(t)) {
6916
0
                new (mozilla::KnownNotNull, ptr_ImageLayerAttributes()) ImageLayerAttributes;
6917
0
            }
6918
0
            (*(ptr_ImageLayerAttributes())) = std::move((aRhs).get_ImageLayerAttributes());
6919
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
6920
0
            break;
6921
0
        }
6922
0
    case T__None:
6923
0
        {
6924
0
            static_cast<void>(MaybeDestroy(t));
6925
0
            break;
6926
0
        }
6927
0
    default:
6928
0
        {
6929
0
            mozilla::ipc::LogicError("unreached");
6930
0
            break;
6931
0
        }
6932
0
    }
6933
0
    (aRhs).mType = T__None;
6934
0
    mType = t;
6935
0
    return (*(this));
6936
0
}
6937
6938
auto SpecificLayerAttributes::operator==(const null_t& aRhs) const -> bool
6939
0
{
6940
0
    return (get_null_t()) == (aRhs);
6941
0
}
6942
6943
auto SpecificLayerAttributes::operator==(const PaintedLayerAttributes& aRhs) const -> bool
6944
0
{
6945
0
    return (get_PaintedLayerAttributes()) == (aRhs);
6946
0
}
6947
6948
auto SpecificLayerAttributes::operator==(const ContainerLayerAttributes& aRhs) const -> bool
6949
0
{
6950
0
    return (get_ContainerLayerAttributes()) == (aRhs);
6951
0
}
6952
6953
auto SpecificLayerAttributes::operator==(const ColorLayerAttributes& aRhs) const -> bool
6954
0
{
6955
0
    return (get_ColorLayerAttributes()) == (aRhs);
6956
0
}
6957
6958
auto SpecificLayerAttributes::operator==(const CanvasLayerAttributes& aRhs) const -> bool
6959
0
{
6960
0
    return (get_CanvasLayerAttributes()) == (aRhs);
6961
0
}
6962
6963
auto SpecificLayerAttributes::operator==(const RefLayerAttributes& aRhs) const -> bool
6964
0
{
6965
0
    return (get_RefLayerAttributes()) == (aRhs);
6966
0
}
6967
6968
auto SpecificLayerAttributes::operator==(const ImageLayerAttributes& aRhs) const -> bool
6969
0
{
6970
0
    return (get_ImageLayerAttributes()) == (aRhs);
6971
0
}
6972
6973
auto SpecificLayerAttributes::operator==(const SpecificLayerAttributes& aRhs) const -> bool
6974
0
{
6975
0
    if ((type()) != ((aRhs).type())) {
6976
0
        return false;
6977
0
    }
6978
0
6979
0
    switch (type()) {
6980
0
    case Tnull_t:
6981
0
        {
6982
0
            return (get_null_t()) == ((aRhs).get_null_t());
6983
0
        }
6984
0
    case TPaintedLayerAttributes:
6985
0
        {
6986
0
            return (get_PaintedLayerAttributes()) == ((aRhs).get_PaintedLayerAttributes());
6987
0
        }
6988
0
    case TContainerLayerAttributes:
6989
0
        {
6990
0
            return (get_ContainerLayerAttributes()) == ((aRhs).get_ContainerLayerAttributes());
6991
0
        }
6992
0
    case TColorLayerAttributes:
6993
0
        {
6994
0
            return (get_ColorLayerAttributes()) == ((aRhs).get_ColorLayerAttributes());
6995
0
        }
6996
0
    case TCanvasLayerAttributes:
6997
0
        {
6998
0
            return (get_CanvasLayerAttributes()) == ((aRhs).get_CanvasLayerAttributes());
6999
0
        }
7000
0
    case TRefLayerAttributes:
7001
0
        {
7002
0
            return (get_RefLayerAttributes()) == ((aRhs).get_RefLayerAttributes());
7003
0
        }
7004
0
    case TImageLayerAttributes:
7005
0
        {
7006
0
            return (get_ImageLayerAttributes()) == ((aRhs).get_ImageLayerAttributes());
7007
0
        }
7008
0
    default:
7009
0
        {
7010
0
            mozilla::ipc::LogicError("unreached");
7011
0
            return false;
7012
0
        }
7013
0
    }
7014
0
}
7015
7016
auto SpecificLayerAttributes::get(null_t* aOutValue) const -> void
7017
0
{
7018
0
    (*(aOutValue)) = get_null_t();
7019
0
}
7020
7021
auto SpecificLayerAttributes::get(PaintedLayerAttributes* aOutValue) const -> void
7022
0
{
7023
0
    (*(aOutValue)) = get_PaintedLayerAttributes();
7024
0
}
7025
7026
auto SpecificLayerAttributes::get(ContainerLayerAttributes* aOutValue) const -> void
7027
0
{
7028
0
    (*(aOutValue)) = get_ContainerLayerAttributes();
7029
0
}
7030
7031
auto SpecificLayerAttributes::get(ColorLayerAttributes* aOutValue) const -> void
7032
0
{
7033
0
    (*(aOutValue)) = get_ColorLayerAttributes();
7034
0
}
7035
7036
auto SpecificLayerAttributes::get(CanvasLayerAttributes* aOutValue) const -> void
7037
0
{
7038
0
    (*(aOutValue)) = get_CanvasLayerAttributes();
7039
0
}
7040
7041
auto SpecificLayerAttributes::get(RefLayerAttributes* aOutValue) const -> void
7042
0
{
7043
0
    (*(aOutValue)) = get_RefLayerAttributes();
7044
0
}
7045
7046
auto SpecificLayerAttributes::get(ImageLayerAttributes* aOutValue) const -> void
7047
0
{
7048
0
    (*(aOutValue)) = get_ImageLayerAttributes();
7049
0
}
7050
7051
} // namespace layers
7052
} // namespace mozilla
7053
7054
namespace mozilla {
7055
namespace ipc {
7056
auto IPDLParamTraits<mozilla::layers::SpecificLayerAttributes>::Write(
7057
        IPC::Message* aMsg,
7058
        mozilla::ipc::IProtocol* aActor,
7059
        const paramType& aVar) -> void
7060
{
7061
    typedef mozilla::layers::SpecificLayerAttributes union__;
7062
    int type;
7063
    type = (aVar).type();
7064
    WriteIPDLParam(aMsg, aActor, type);
7065
    // Sentinel = 'SpecificLayerAttributes'
7066
    (aMsg)->WriteSentinel(764973155);
7067
7068
    switch (type) {
7069
    case union__::Tnull_t:
7070
        {
7071
            WriteIPDLParam(aMsg, aActor, (aVar).get_null_t());
7072
            // Sentinel = 'Tnull_t'
7073
            (aMsg)->WriteSentinel(3731137201);
7074
            return;
7075
        }
7076
    case union__::TPaintedLayerAttributes:
7077
        {
7078
            WriteIPDLParam(aMsg, aActor, (aVar).get_PaintedLayerAttributes());
7079
            // Sentinel = 'TPaintedLayerAttributes'
7080
            (aMsg)->WriteSentinel(299542338);
7081
            return;
7082
        }
7083
    case union__::TContainerLayerAttributes:
7084
        {
7085
            WriteIPDLParam(aMsg, aActor, (aVar).get_ContainerLayerAttributes());
7086
            // Sentinel = 'TContainerLayerAttributes'
7087
            (aMsg)->WriteSentinel(2707677910);
7088
            return;
7089
        }
7090
    case union__::TColorLayerAttributes:
7091
        {
7092
            WriteIPDLParam(aMsg, aActor, (aVar).get_ColorLayerAttributes());
7093
            // Sentinel = 'TColorLayerAttributes'
7094
            (aMsg)->WriteSentinel(1741074522);
7095
            return;
7096
        }
7097
    case union__::TCanvasLayerAttributes:
7098
        {
7099
            WriteIPDLParam(aMsg, aActor, (aVar).get_CanvasLayerAttributes());
7100
            // Sentinel = 'TCanvasLayerAttributes'
7101
            (aMsg)->WriteSentinel(1471416018);
7102
            return;
7103
        }
7104
    case union__::TRefLayerAttributes:
7105
        {
7106
            WriteIPDLParam(aMsg, aActor, (aVar).get_RefLayerAttributes());
7107
            // Sentinel = 'TRefLayerAttributes'
7108
            (aMsg)->WriteSentinel(3960711078);
7109
            return;
7110
        }
7111
    case union__::TImageLayerAttributes:
7112
        {
7113
            WriteIPDLParam(aMsg, aActor, (aVar).get_ImageLayerAttributes());
7114
            // Sentinel = 'TImageLayerAttributes'
7115
            (aMsg)->WriteSentinel(1391450712);
7116
            return;
7117
        }
7118
    default:
7119
        {
7120
            (aActor)->FatalError("unknown union type");
7121
            return;
7122
        }
7123
    }
7124
}
7125
7126
auto IPDLParamTraits<mozilla::layers::SpecificLayerAttributes>::Read(
7127
        const IPC::Message* aMsg,
7128
        PickleIterator* aIter,
7129
        mozilla::ipc::IProtocol* aActor,
7130
        paramType* aVar) -> bool
7131
0
{
7132
0
    typedef mozilla::layers::SpecificLayerAttributes union__;
7133
0
    int type;
7134
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
7135
0
        (aActor)->FatalError("Error deserializing type of union SpecificLayerAttributes");
7136
0
        return false;
7137
0
    }
7138
0
    // Sentinel = 'SpecificLayerAttributes'
7139
0
    if ((!((aMsg)->ReadSentinel(aIter, 764973155)))) {
7140
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union SpecificLayerAttributes");
7141
0
        return false;
7142
0
    }
7143
0
7144
0
    switch (type) {
7145
0
    case union__::Tnull_t:
7146
0
        {
7147
0
            mozilla::null_t tmp = mozilla::null_t();
7148
0
            (*(aVar)) = tmp;
7149
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_null_t())))))) {
7150
0
                (aActor)->FatalError("Error deserializing variant Tnull_t of union SpecificLayerAttributes");
7151
0
                return false;
7152
0
            }
7153
0
            // Sentinel = 'Tnull_t'
7154
0
            if ((!((aMsg)->ReadSentinel(aIter, 3731137201)))) {
7155
0
                mozilla::ipc::SentinelReadError("Error deserializing variant Tnull_t of union SpecificLayerAttributes");
7156
0
                return false;
7157
0
            }
7158
0
            return true;
7159
0
        }
7160
0
    case union__::TPaintedLayerAttributes:
7161
0
        {
7162
0
            mozilla::layers::PaintedLayerAttributes tmp = mozilla::layers::PaintedLayerAttributes();
7163
0
            (*(aVar)) = tmp;
7164
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_PaintedLayerAttributes())))))) {
7165
0
                (aActor)->FatalError("Error deserializing variant TPaintedLayerAttributes of union SpecificLayerAttributes");
7166
0
                return false;
7167
0
            }
7168
0
            // Sentinel = 'TPaintedLayerAttributes'
7169
0
            if ((!((aMsg)->ReadSentinel(aIter, 299542338)))) {
7170
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TPaintedLayerAttributes of union SpecificLayerAttributes");
7171
0
                return false;
7172
0
            }
7173
0
            return true;
7174
0
        }
7175
0
    case union__::TContainerLayerAttributes:
7176
0
        {
7177
0
            mozilla::layers::ContainerLayerAttributes tmp = mozilla::layers::ContainerLayerAttributes();
7178
0
            (*(aVar)) = tmp;
7179
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_ContainerLayerAttributes())))))) {
7180
0
                (aActor)->FatalError("Error deserializing variant TContainerLayerAttributes of union SpecificLayerAttributes");
7181
0
                return false;
7182
0
            }
7183
0
            // Sentinel = 'TContainerLayerAttributes'
7184
0
            if ((!((aMsg)->ReadSentinel(aIter, 2707677910)))) {
7185
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TContainerLayerAttributes of union SpecificLayerAttributes");
7186
0
                return false;
7187
0
            }
7188
0
            return true;
7189
0
        }
7190
0
    case union__::TColorLayerAttributes:
7191
0
        {
7192
0
            mozilla::layers::ColorLayerAttributes tmp = mozilla::layers::ColorLayerAttributes();
7193
0
            (*(aVar)) = tmp;
7194
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_ColorLayerAttributes())))))) {
7195
0
                (aActor)->FatalError("Error deserializing variant TColorLayerAttributes of union SpecificLayerAttributes");
7196
0
                return false;
7197
0
            }
7198
0
            // Sentinel = 'TColorLayerAttributes'
7199
0
            if ((!((aMsg)->ReadSentinel(aIter, 1741074522)))) {
7200
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TColorLayerAttributes of union SpecificLayerAttributes");
7201
0
                return false;
7202
0
            }
7203
0
            return true;
7204
0
        }
7205
0
    case union__::TCanvasLayerAttributes:
7206
0
        {
7207
0
            mozilla::layers::CanvasLayerAttributes tmp = mozilla::layers::CanvasLayerAttributes();
7208
0
            (*(aVar)) = tmp;
7209
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_CanvasLayerAttributes())))))) {
7210
0
                (aActor)->FatalError("Error deserializing variant TCanvasLayerAttributes of union SpecificLayerAttributes");
7211
0
                return false;
7212
0
            }
7213
0
            // Sentinel = 'TCanvasLayerAttributes'
7214
0
            if ((!((aMsg)->ReadSentinel(aIter, 1471416018)))) {
7215
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TCanvasLayerAttributes of union SpecificLayerAttributes");
7216
0
                return false;
7217
0
            }
7218
0
            return true;
7219
0
        }
7220
0
    case union__::TRefLayerAttributes:
7221
0
        {
7222
0
            mozilla::layers::RefLayerAttributes tmp = mozilla::layers::RefLayerAttributes();
7223
0
            (*(aVar)) = tmp;
7224
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_RefLayerAttributes())))))) {
7225
0
                (aActor)->FatalError("Error deserializing variant TRefLayerAttributes of union SpecificLayerAttributes");
7226
0
                return false;
7227
0
            }
7228
0
            // Sentinel = 'TRefLayerAttributes'
7229
0
            if ((!((aMsg)->ReadSentinel(aIter, 3960711078)))) {
7230
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TRefLayerAttributes of union SpecificLayerAttributes");
7231
0
                return false;
7232
0
            }
7233
0
            return true;
7234
0
        }
7235
0
    case union__::TImageLayerAttributes:
7236
0
        {
7237
0
            mozilla::layers::ImageLayerAttributes tmp = mozilla::layers::ImageLayerAttributes();
7238
0
            (*(aVar)) = tmp;
7239
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_ImageLayerAttributes())))))) {
7240
0
                (aActor)->FatalError("Error deserializing variant TImageLayerAttributes of union SpecificLayerAttributes");
7241
0
                return false;
7242
0
            }
7243
0
            // Sentinel = 'TImageLayerAttributes'
7244
0
            if ((!((aMsg)->ReadSentinel(aIter, 1391450712)))) {
7245
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TImageLayerAttributes of union SpecificLayerAttributes");
7246
0
                return false;
7247
0
            }
7248
0
            return true;
7249
0
        }
7250
0
    default:
7251
0
        {
7252
0
            (aActor)->FatalError("unknown union type");
7253
0
            return false;
7254
0
        }
7255
0
    }
7256
0
}
7257
7258
} // namespace ipc
7259
} // namespace mozilla
7260
7261
//-----------------------------------------------------------------------------
7262
// Method definitions for the IPDL type |struct LayerAttributes|
7263
//
7264
namespace mozilla {
7265
namespace layers {
7266
auto LayerAttributes::operator==(const LayerAttributes& _o) const -> bool
7267
0
{
7268
0
    if ((!((common()) == ((_o).common())))) {
7269
0
        return false;
7270
0
    }
7271
0
    if ((!((specific()) == ((_o).specific())))) {
7272
0
        return false;
7273
0
    }
7274
0
    return true;
7275
0
}
7276
7277
auto LayerAttributes::operator!=(const LayerAttributes& _o) const -> bool
7278
0
{
7279
0
    return (!(operator==(_o)));
7280
0
}
7281
7282
} // namespace layers
7283
} // namespace mozilla
7284
7285
namespace mozilla {
7286
namespace ipc {
7287
auto IPDLParamTraits<mozilla::layers::LayerAttributes>::Write(
7288
        IPC::Message* aMsg,
7289
        mozilla::ipc::IProtocol* aActor,
7290
        const paramType& aVar) -> void
7291
0
{
7292
0
    WriteIPDLParam(aMsg, aActor, (aVar).common());
7293
0
    // Sentinel = 'common'
7294
0
    (aMsg)->WriteSentinel(2459522165);
7295
0
    WriteIPDLParam(aMsg, aActor, (aVar).specific());
7296
0
    // Sentinel = 'specific'
7297
0
    (aMsg)->WriteSentinel(1386407536);
7298
0
}
7299
7300
auto IPDLParamTraits<mozilla::layers::LayerAttributes>::Read(
7301
        const IPC::Message* aMsg,
7302
        PickleIterator* aIter,
7303
        mozilla::ipc::IProtocol* aActor,
7304
        paramType* aVar) -> bool
7305
0
{
7306
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->common())))))) {
7307
0
        (aActor)->FatalError("Error deserializing 'common' (CommonLayerAttributes) member of 'LayerAttributes'");
7308
0
        return false;
7309
0
    }
7310
0
    // Sentinel = 'common'
7311
0
    if ((!((aMsg)->ReadSentinel(aIter, 2459522165)))) {
7312
0
        mozilla::ipc::SentinelReadError("Error deserializing 'common' (CommonLayerAttributes) member of 'LayerAttributes'");
7313
0
        return false;
7314
0
    }
7315
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->specific())))))) {
7316
0
        (aActor)->FatalError("Error deserializing 'specific' (SpecificLayerAttributes) member of 'LayerAttributes'");
7317
0
        return false;
7318
0
    }
7319
0
    // Sentinel = 'specific'
7320
0
    if ((!((aMsg)->ReadSentinel(aIter, 1386407536)))) {
7321
0
        mozilla::ipc::SentinelReadError("Error deserializing 'specific' (SpecificLayerAttributes) member of 'LayerAttributes'");
7322
0
        return false;
7323
0
    }
7324
0
    return true;
7325
0
}
7326
7327
} // namespace ipc
7328
} // namespace mozilla
7329
7330
//-----------------------------------------------------------------------------
7331
// Method definitions for the IPDL type |struct PluginWindowData|
7332
//
7333
namespace mozilla {
7334
namespace layers {
7335
auto PluginWindowData::operator==(const PluginWindowData& _o) const -> bool
7336
0
{
7337
0
    if ((!((windowId()) == ((_o).windowId())))) {
7338
0
        return false;
7339
0
    }
7340
0
    if ((!((clip()) == ((_o).clip())))) {
7341
0
        return false;
7342
0
    }
7343
0
    if ((!((bounds()) == ((_o).bounds())))) {
7344
0
        return false;
7345
0
    }
7346
0
    if ((!((visible()) == ((_o).visible())))) {
7347
0
        return false;
7348
0
    }
7349
0
    return true;
7350
0
}
7351
7352
auto PluginWindowData::operator!=(const PluginWindowData& _o) const -> bool
7353
0
{
7354
0
    return (!(operator==(_o)));
7355
0
}
7356
7357
} // namespace layers
7358
} // namespace mozilla
7359
7360
namespace mozilla {
7361
namespace ipc {
7362
auto IPDLParamTraits<mozilla::layers::PluginWindowData>::Write(
7363
        IPC::Message* aMsg,
7364
        mozilla::ipc::IProtocol* aActor,
7365
        const paramType& aVar) -> void
7366
0
{
7367
0
    WriteIPDLParam(aMsg, aActor, (aVar).windowId());
7368
0
    // Sentinel = 'windowId'
7369
0
    (aMsg)->WriteSentinel(719502035);
7370
0
    WriteIPDLParam(aMsg, aActor, (aVar).clip());
7371
0
    // Sentinel = 'clip'
7372
0
    (aMsg)->WriteSentinel(3899292550);
7373
0
    WriteIPDLParam(aMsg, aActor, (aVar).bounds());
7374
0
    // Sentinel = 'bounds'
7375
0
    (aMsg)->WriteSentinel(809584493);
7376
0
    WriteIPDLParam(aMsg, aActor, (aVar).visible());
7377
0
    // Sentinel = 'visible'
7378
0
    (aMsg)->WriteSentinel(1037099281);
7379
0
}
7380
7381
auto IPDLParamTraits<mozilla::layers::PluginWindowData>::Read(
7382
        const IPC::Message* aMsg,
7383
        PickleIterator* aIter,
7384
        mozilla::ipc::IProtocol* aActor,
7385
        paramType* aVar) -> bool
7386
0
{
7387
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->windowId())))))) {
7388
0
        (aActor)->FatalError("Error deserializing 'windowId' (uintptr_t) member of 'PluginWindowData'");
7389
0
        return false;
7390
0
    }
7391
0
    // Sentinel = 'windowId'
7392
0
    if ((!((aMsg)->ReadSentinel(aIter, 719502035)))) {
7393
0
        mozilla::ipc::SentinelReadError("Error deserializing 'windowId' (uintptr_t) member of 'PluginWindowData'");
7394
0
        return false;
7395
0
    }
7396
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->clip())))))) {
7397
0
        (aActor)->FatalError("Error deserializing 'clip' (LayoutDeviceIntRect[]) member of 'PluginWindowData'");
7398
0
        return false;
7399
0
    }
7400
0
    // Sentinel = 'clip'
7401
0
    if ((!((aMsg)->ReadSentinel(aIter, 3899292550)))) {
7402
0
        mozilla::ipc::SentinelReadError("Error deserializing 'clip' (LayoutDeviceIntRect[]) member of 'PluginWindowData'");
7403
0
        return false;
7404
0
    }
7405
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->bounds())))))) {
7406
0
        (aActor)->FatalError("Error deserializing 'bounds' (LayoutDeviceIntRect) member of 'PluginWindowData'");
7407
0
        return false;
7408
0
    }
7409
0
    // Sentinel = 'bounds'
7410
0
    if ((!((aMsg)->ReadSentinel(aIter, 809584493)))) {
7411
0
        mozilla::ipc::SentinelReadError("Error deserializing 'bounds' (LayoutDeviceIntRect) member of 'PluginWindowData'");
7412
0
        return false;
7413
0
    }
7414
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->visible())))))) {
7415
0
        (aActor)->FatalError("Error deserializing 'visible' (bool) member of 'PluginWindowData'");
7416
0
        return false;
7417
0
    }
7418
0
    // Sentinel = 'visible'
7419
0
    if ((!((aMsg)->ReadSentinel(aIter, 1037099281)))) {
7420
0
        mozilla::ipc::SentinelReadError("Error deserializing 'visible' (bool) member of 'PluginWindowData'");
7421
0
        return false;
7422
0
    }
7423
0
    return true;
7424
0
}
7425
7426
} // namespace ipc
7427
} // namespace mozilla
7428
7429
//-----------------------------------------------------------------------------
7430
// Method definitions for the IPDL type |struct OpSetSimpleLayerAttributes|
7431
//
7432
namespace mozilla {
7433
namespace layers {
7434
auto OpSetSimpleLayerAttributes::operator==(const OpSetSimpleLayerAttributes& _o) const -> bool
7435
0
{
7436
0
    if ((!((layer()) == ((_o).layer())))) {
7437
0
        return false;
7438
0
    }
7439
0
    if ((!((attrs()) == ((_o).attrs())))) {
7440
0
        return false;
7441
0
    }
7442
0
    return true;
7443
0
}
7444
7445
auto OpSetSimpleLayerAttributes::operator!=(const OpSetSimpleLayerAttributes& _o) const -> bool
7446
0
{
7447
0
    return (!(operator==(_o)));
7448
0
}
7449
7450
} // namespace layers
7451
} // namespace mozilla
7452
7453
namespace mozilla {
7454
namespace ipc {
7455
auto IPDLParamTraits<mozilla::layers::OpSetSimpleLayerAttributes>::Write(
7456
        IPC::Message* aMsg,
7457
        mozilla::ipc::IProtocol* aActor,
7458
        const paramType& aVar) -> void
7459
0
{
7460
0
    WriteIPDLParam(aMsg, aActor, (aVar).layer());
7461
0
    // Sentinel = 'layer'
7462
0
    (aMsg)->WriteSentinel(1899167106);
7463
0
    WriteIPDLParam(aMsg, aActor, (aVar).attrs());
7464
0
    // Sentinel = 'attrs'
7465
0
    (aMsg)->WriteSentinel(3014987797);
7466
0
}
7467
7468
auto IPDLParamTraits<mozilla::layers::OpSetSimpleLayerAttributes>::Read(
7469
        const IPC::Message* aMsg,
7470
        PickleIterator* aIter,
7471
        mozilla::ipc::IProtocol* aActor,
7472
        paramType* aVar) -> bool
7473
0
{
7474
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->layer())))))) {
7475
0
        (aActor)->FatalError("Error deserializing 'layer' (LayerHandle) member of 'OpSetSimpleLayerAttributes'");
7476
0
        return false;
7477
0
    }
7478
0
    // Sentinel = 'layer'
7479
0
    if ((!((aMsg)->ReadSentinel(aIter, 1899167106)))) {
7480
0
        mozilla::ipc::SentinelReadError("Error deserializing 'layer' (LayerHandle) member of 'OpSetSimpleLayerAttributes'");
7481
0
        return false;
7482
0
    }
7483
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->attrs())))))) {
7484
0
        (aActor)->FatalError("Error deserializing 'attrs' (SimpleLayerAttributes) member of 'OpSetSimpleLayerAttributes'");
7485
0
        return false;
7486
0
    }
7487
0
    // Sentinel = 'attrs'
7488
0
    if ((!((aMsg)->ReadSentinel(aIter, 3014987797)))) {
7489
0
        mozilla::ipc::SentinelReadError("Error deserializing 'attrs' (SimpleLayerAttributes) member of 'OpSetSimpleLayerAttributes'");
7490
0
        return false;
7491
0
    }
7492
0
    return true;
7493
0
}
7494
7495
} // namespace ipc
7496
} // namespace mozilla
7497
7498
//-----------------------------------------------------------------------------
7499
// Method definitions for the IPDL type |struct OpSetLayerAttributes|
7500
//
7501
namespace mozilla {
7502
namespace layers {
7503
auto OpSetLayerAttributes::operator==(const OpSetLayerAttributes& _o) const -> bool
7504
0
{
7505
0
    if ((!((layer()) == ((_o).layer())))) {
7506
0
        return false;
7507
0
    }
7508
0
    if ((!((attrs()) == ((_o).attrs())))) {
7509
0
        return false;
7510
0
    }
7511
0
    return true;
7512
0
}
7513
7514
auto OpSetLayerAttributes::operator!=(const OpSetLayerAttributes& _o) const -> bool
7515
0
{
7516
0
    return (!(operator==(_o)));
7517
0
}
7518
7519
} // namespace layers
7520
} // namespace mozilla
7521
7522
namespace mozilla {
7523
namespace ipc {
7524
auto IPDLParamTraits<mozilla::layers::OpSetLayerAttributes>::Write(
7525
        IPC::Message* aMsg,
7526
        mozilla::ipc::IProtocol* aActor,
7527
        const paramType& aVar) -> void
7528
0
{
7529
0
    WriteIPDLParam(aMsg, aActor, (aVar).layer());
7530
0
    // Sentinel = 'layer'
7531
0
    (aMsg)->WriteSentinel(1899167106);
7532
0
    WriteIPDLParam(aMsg, aActor, (aVar).attrs());
7533
0
    // Sentinel = 'attrs'
7534
0
    (aMsg)->WriteSentinel(3014987797);
7535
0
}
7536
7537
auto IPDLParamTraits<mozilla::layers::OpSetLayerAttributes>::Read(
7538
        const IPC::Message* aMsg,
7539
        PickleIterator* aIter,
7540
        mozilla::ipc::IProtocol* aActor,
7541
        paramType* aVar) -> bool
7542
0
{
7543
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->layer())))))) {
7544
0
        (aActor)->FatalError("Error deserializing 'layer' (LayerHandle) member of 'OpSetLayerAttributes'");
7545
0
        return false;
7546
0
    }
7547
0
    // Sentinel = 'layer'
7548
0
    if ((!((aMsg)->ReadSentinel(aIter, 1899167106)))) {
7549
0
        mozilla::ipc::SentinelReadError("Error deserializing 'layer' (LayerHandle) member of 'OpSetLayerAttributes'");
7550
0
        return false;
7551
0
    }
7552
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->attrs())))))) {
7553
0
        (aActor)->FatalError("Error deserializing 'attrs' (LayerAttributes) member of 'OpSetLayerAttributes'");
7554
0
        return false;
7555
0
    }
7556
0
    // Sentinel = 'attrs'
7557
0
    if ((!((aMsg)->ReadSentinel(aIter, 3014987797)))) {
7558
0
        mozilla::ipc::SentinelReadError("Error deserializing 'attrs' (LayerAttributes) member of 'OpSetLayerAttributes'");
7559
0
        return false;
7560
0
    }
7561
0
    return true;
7562
0
}
7563
7564
} // namespace ipc
7565
} // namespace mozilla
7566
7567
//-----------------------------------------------------------------------------
7568
// Method definitions for the IPDL type |struct OpSetRoot|
7569
//
7570
namespace mozilla {
7571
namespace layers {
7572
auto OpSetRoot::operator==(const OpSetRoot& _o) const -> bool
7573
0
{
7574
0
    if ((!((root()) == ((_o).root())))) {
7575
0
        return false;
7576
0
    }
7577
0
    return true;
7578
0
}
7579
7580
auto OpSetRoot::operator!=(const OpSetRoot& _o) const -> bool
7581
0
{
7582
0
    return (!(operator==(_o)));
7583
0
}
7584
7585
} // namespace layers
7586
} // namespace mozilla
7587
7588
namespace mozilla {
7589
namespace ipc {
7590
auto IPDLParamTraits<mozilla::layers::OpSetRoot>::Write(
7591
        IPC::Message* aMsg,
7592
        mozilla::ipc::IProtocol* aActor,
7593
        const paramType& aVar) -> void
7594
0
{
7595
0
    WriteIPDLParam(aMsg, aActor, (aVar).root());
7596
0
    // Sentinel = 'root'
7597
0
    (aMsg)->WriteSentinel(333463932);
7598
0
}
7599
7600
auto IPDLParamTraits<mozilla::layers::OpSetRoot>::Read(
7601
        const IPC::Message* aMsg,
7602
        PickleIterator* aIter,
7603
        mozilla::ipc::IProtocol* aActor,
7604
        paramType* aVar) -> bool
7605
0
{
7606
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->root())))))) {
7607
0
        (aActor)->FatalError("Error deserializing 'root' (LayerHandle) member of 'OpSetRoot'");
7608
0
        return false;
7609
0
    }
7610
0
    // Sentinel = 'root'
7611
0
    if ((!((aMsg)->ReadSentinel(aIter, 333463932)))) {
7612
0
        mozilla::ipc::SentinelReadError("Error deserializing 'root' (LayerHandle) member of 'OpSetRoot'");
7613
0
        return false;
7614
0
    }
7615
0
    return true;
7616
0
}
7617
7618
} // namespace ipc
7619
} // namespace mozilla
7620
7621
//-----------------------------------------------------------------------------
7622
// Method definitions for the IPDL type |struct OpInsertAfter|
7623
//
7624
namespace mozilla {
7625
namespace layers {
7626
auto OpInsertAfter::operator==(const OpInsertAfter& _o) const -> bool
7627
0
{
7628
0
    if ((!((container()) == ((_o).container())))) {
7629
0
        return false;
7630
0
    }
7631
0
    if ((!((childLayer()) == ((_o).childLayer())))) {
7632
0
        return false;
7633
0
    }
7634
0
    if ((!((after()) == ((_o).after())))) {
7635
0
        return false;
7636
0
    }
7637
0
    return true;
7638
0
}
7639
7640
auto OpInsertAfter::operator!=(const OpInsertAfter& _o) const -> bool
7641
0
{
7642
0
    return (!(operator==(_o)));
7643
0
}
7644
7645
} // namespace layers
7646
} // namespace mozilla
7647
7648
namespace mozilla {
7649
namespace ipc {
7650
auto IPDLParamTraits<mozilla::layers::OpInsertAfter>::Write(
7651
        IPC::Message* aMsg,
7652
        mozilla::ipc::IProtocol* aActor,
7653
        const paramType& aVar) -> void
7654
0
{
7655
0
    WriteIPDLParam(aMsg, aActor, (aVar).container());
7656
0
    // Sentinel = 'container'
7657
0
    (aMsg)->WriteSentinel(613059236);
7658
0
    WriteIPDLParam(aMsg, aActor, (aVar).childLayer());
7659
0
    // Sentinel = 'childLayer'
7660
0
    (aMsg)->WriteSentinel(154398963);
7661
0
    WriteIPDLParam(aMsg, aActor, (aVar).after());
7662
0
    // Sentinel = 'after'
7663
0
    (aMsg)->WriteSentinel(3066110411);
7664
0
}
7665
7666
auto IPDLParamTraits<mozilla::layers::OpInsertAfter>::Read(
7667
        const IPC::Message* aMsg,
7668
        PickleIterator* aIter,
7669
        mozilla::ipc::IProtocol* aActor,
7670
        paramType* aVar) -> bool
7671
0
{
7672
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->container())))))) {
7673
0
        (aActor)->FatalError("Error deserializing 'container' (LayerHandle) member of 'OpInsertAfter'");
7674
0
        return false;
7675
0
    }
7676
0
    // Sentinel = 'container'
7677
0
    if ((!((aMsg)->ReadSentinel(aIter, 613059236)))) {
7678
0
        mozilla::ipc::SentinelReadError("Error deserializing 'container' (LayerHandle) member of 'OpInsertAfter'");
7679
0
        return false;
7680
0
    }
7681
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->childLayer())))))) {
7682
0
        (aActor)->FatalError("Error deserializing 'childLayer' (LayerHandle) member of 'OpInsertAfter'");
7683
0
        return false;
7684
0
    }
7685
0
    // Sentinel = 'childLayer'
7686
0
    if ((!((aMsg)->ReadSentinel(aIter, 154398963)))) {
7687
0
        mozilla::ipc::SentinelReadError("Error deserializing 'childLayer' (LayerHandle) member of 'OpInsertAfter'");
7688
0
        return false;
7689
0
    }
7690
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->after())))))) {
7691
0
        (aActor)->FatalError("Error deserializing 'after' (LayerHandle) member of 'OpInsertAfter'");
7692
0
        return false;
7693
0
    }
7694
0
    // Sentinel = 'after'
7695
0
    if ((!((aMsg)->ReadSentinel(aIter, 3066110411)))) {
7696
0
        mozilla::ipc::SentinelReadError("Error deserializing 'after' (LayerHandle) member of 'OpInsertAfter'");
7697
0
        return false;
7698
0
    }
7699
0
    return true;
7700
0
}
7701
7702
} // namespace ipc
7703
} // namespace mozilla
7704
7705
//-----------------------------------------------------------------------------
7706
// Method definitions for the IPDL type |struct OpPrependChild|
7707
//
7708
namespace mozilla {
7709
namespace layers {
7710
auto OpPrependChild::operator==(const OpPrependChild& _o) const -> bool
7711
0
{
7712
0
    if ((!((container()) == ((_o).container())))) {
7713
0
        return false;
7714
0
    }
7715
0
    if ((!((childLayer()) == ((_o).childLayer())))) {
7716
0
        return false;
7717
0
    }
7718
0
    return true;
7719
0
}
7720
7721
auto OpPrependChild::operator!=(const OpPrependChild& _o) const -> bool
7722
0
{
7723
0
    return (!(operator==(_o)));
7724
0
}
7725
7726
} // namespace layers
7727
} // namespace mozilla
7728
7729
namespace mozilla {
7730
namespace ipc {
7731
auto IPDLParamTraits<mozilla::layers::OpPrependChild>::Write(
7732
        IPC::Message* aMsg,
7733
        mozilla::ipc::IProtocol* aActor,
7734
        const paramType& aVar) -> void
7735
0
{
7736
0
    WriteIPDLParam(aMsg, aActor, (aVar).container());
7737
0
    // Sentinel = 'container'
7738
0
    (aMsg)->WriteSentinel(613059236);
7739
0
    WriteIPDLParam(aMsg, aActor, (aVar).childLayer());
7740
0
    // Sentinel = 'childLayer'
7741
0
    (aMsg)->WriteSentinel(154398963);
7742
0
}
7743
7744
auto IPDLParamTraits<mozilla::layers::OpPrependChild>::Read(
7745
        const IPC::Message* aMsg,
7746
        PickleIterator* aIter,
7747
        mozilla::ipc::IProtocol* aActor,
7748
        paramType* aVar) -> bool
7749
0
{
7750
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->container())))))) {
7751
0
        (aActor)->FatalError("Error deserializing 'container' (LayerHandle) member of 'OpPrependChild'");
7752
0
        return false;
7753
0
    }
7754
0
    // Sentinel = 'container'
7755
0
    if ((!((aMsg)->ReadSentinel(aIter, 613059236)))) {
7756
0
        mozilla::ipc::SentinelReadError("Error deserializing 'container' (LayerHandle) member of 'OpPrependChild'");
7757
0
        return false;
7758
0
    }
7759
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->childLayer())))))) {
7760
0
        (aActor)->FatalError("Error deserializing 'childLayer' (LayerHandle) member of 'OpPrependChild'");
7761
0
        return false;
7762
0
    }
7763
0
    // Sentinel = 'childLayer'
7764
0
    if ((!((aMsg)->ReadSentinel(aIter, 154398963)))) {
7765
0
        mozilla::ipc::SentinelReadError("Error deserializing 'childLayer' (LayerHandle) member of 'OpPrependChild'");
7766
0
        return false;
7767
0
    }
7768
0
    return true;
7769
0
}
7770
7771
} // namespace ipc
7772
} // namespace mozilla
7773
7774
//-----------------------------------------------------------------------------
7775
// Method definitions for the IPDL type |struct OpRemoveChild|
7776
//
7777
namespace mozilla {
7778
namespace layers {
7779
auto OpRemoveChild::operator==(const OpRemoveChild& _o) const -> bool
7780
0
{
7781
0
    if ((!((container()) == ((_o).container())))) {
7782
0
        return false;
7783
0
    }
7784
0
    if ((!((childLayer()) == ((_o).childLayer())))) {
7785
0
        return false;
7786
0
    }
7787
0
    return true;
7788
0
}
7789
7790
auto OpRemoveChild::operator!=(const OpRemoveChild& _o) const -> bool
7791
0
{
7792
0
    return (!(operator==(_o)));
7793
0
}
7794
7795
} // namespace layers
7796
} // namespace mozilla
7797
7798
namespace mozilla {
7799
namespace ipc {
7800
auto IPDLParamTraits<mozilla::layers::OpRemoveChild>::Write(
7801
        IPC::Message* aMsg,
7802
        mozilla::ipc::IProtocol* aActor,
7803
        const paramType& aVar) -> void
7804
0
{
7805
0
    WriteIPDLParam(aMsg, aActor, (aVar).container());
7806
0
    // Sentinel = 'container'
7807
0
    (aMsg)->WriteSentinel(613059236);
7808
0
    WriteIPDLParam(aMsg, aActor, (aVar).childLayer());
7809
0
    // Sentinel = 'childLayer'
7810
0
    (aMsg)->WriteSentinel(154398963);
7811
0
}
7812
7813
auto IPDLParamTraits<mozilla::layers::OpRemoveChild>::Read(
7814
        const IPC::Message* aMsg,
7815
        PickleIterator* aIter,
7816
        mozilla::ipc::IProtocol* aActor,
7817
        paramType* aVar) -> bool
7818
0
{
7819
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->container())))))) {
7820
0
        (aActor)->FatalError("Error deserializing 'container' (LayerHandle) member of 'OpRemoveChild'");
7821
0
        return false;
7822
0
    }
7823
0
    // Sentinel = 'container'
7824
0
    if ((!((aMsg)->ReadSentinel(aIter, 613059236)))) {
7825
0
        mozilla::ipc::SentinelReadError("Error deserializing 'container' (LayerHandle) member of 'OpRemoveChild'");
7826
0
        return false;
7827
0
    }
7828
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->childLayer())))))) {
7829
0
        (aActor)->FatalError("Error deserializing 'childLayer' (LayerHandle) member of 'OpRemoveChild'");
7830
0
        return false;
7831
0
    }
7832
0
    // Sentinel = 'childLayer'
7833
0
    if ((!((aMsg)->ReadSentinel(aIter, 154398963)))) {
7834
0
        mozilla::ipc::SentinelReadError("Error deserializing 'childLayer' (LayerHandle) member of 'OpRemoveChild'");
7835
0
        return false;
7836
0
    }
7837
0
    return true;
7838
0
}
7839
7840
} // namespace ipc
7841
} // namespace mozilla
7842
7843
//-----------------------------------------------------------------------------
7844
// Method definitions for the IPDL type |struct OpRepositionChild|
7845
//
7846
namespace mozilla {
7847
namespace layers {
7848
auto OpRepositionChild::operator==(const OpRepositionChild& _o) const -> bool
7849
0
{
7850
0
    if ((!((container()) == ((_o).container())))) {
7851
0
        return false;
7852
0
    }
7853
0
    if ((!((childLayer()) == ((_o).childLayer())))) {
7854
0
        return false;
7855
0
    }
7856
0
    if ((!((after()) == ((_o).after())))) {
7857
0
        return false;
7858
0
    }
7859
0
    return true;
7860
0
}
7861
7862
auto OpRepositionChild::operator!=(const OpRepositionChild& _o) const -> bool
7863
0
{
7864
0
    return (!(operator==(_o)));
7865
0
}
7866
7867
} // namespace layers
7868
} // namespace mozilla
7869
7870
namespace mozilla {
7871
namespace ipc {
7872
auto IPDLParamTraits<mozilla::layers::OpRepositionChild>::Write(
7873
        IPC::Message* aMsg,
7874
        mozilla::ipc::IProtocol* aActor,
7875
        const paramType& aVar) -> void
7876
0
{
7877
0
    WriteIPDLParam(aMsg, aActor, (aVar).container());
7878
0
    // Sentinel = 'container'
7879
0
    (aMsg)->WriteSentinel(613059236);
7880
0
    WriteIPDLParam(aMsg, aActor, (aVar).childLayer());
7881
0
    // Sentinel = 'childLayer'
7882
0
    (aMsg)->WriteSentinel(154398963);
7883
0
    WriteIPDLParam(aMsg, aActor, (aVar).after());
7884
0
    // Sentinel = 'after'
7885
0
    (aMsg)->WriteSentinel(3066110411);
7886
0
}
7887
7888
auto IPDLParamTraits<mozilla::layers::OpRepositionChild>::Read(
7889
        const IPC::Message* aMsg,
7890
        PickleIterator* aIter,
7891
        mozilla::ipc::IProtocol* aActor,
7892
        paramType* aVar) -> bool
7893
0
{
7894
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->container())))))) {
7895
0
        (aActor)->FatalError("Error deserializing 'container' (LayerHandle) member of 'OpRepositionChild'");
7896
0
        return false;
7897
0
    }
7898
0
    // Sentinel = 'container'
7899
0
    if ((!((aMsg)->ReadSentinel(aIter, 613059236)))) {
7900
0
        mozilla::ipc::SentinelReadError("Error deserializing 'container' (LayerHandle) member of 'OpRepositionChild'");
7901
0
        return false;
7902
0
    }
7903
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->childLayer())))))) {
7904
0
        (aActor)->FatalError("Error deserializing 'childLayer' (LayerHandle) member of 'OpRepositionChild'");
7905
0
        return false;
7906
0
    }
7907
0
    // Sentinel = 'childLayer'
7908
0
    if ((!((aMsg)->ReadSentinel(aIter, 154398963)))) {
7909
0
        mozilla::ipc::SentinelReadError("Error deserializing 'childLayer' (LayerHandle) member of 'OpRepositionChild'");
7910
0
        return false;
7911
0
    }
7912
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->after())))))) {
7913
0
        (aActor)->FatalError("Error deserializing 'after' (LayerHandle) member of 'OpRepositionChild'");
7914
0
        return false;
7915
0
    }
7916
0
    // Sentinel = 'after'
7917
0
    if ((!((aMsg)->ReadSentinel(aIter, 3066110411)))) {
7918
0
        mozilla::ipc::SentinelReadError("Error deserializing 'after' (LayerHandle) member of 'OpRepositionChild'");
7919
0
        return false;
7920
0
    }
7921
0
    return true;
7922
0
}
7923
7924
} // namespace ipc
7925
} // namespace mozilla
7926
7927
//-----------------------------------------------------------------------------
7928
// Method definitions for the IPDL type |struct OpRaiseToTopChild|
7929
//
7930
namespace mozilla {
7931
namespace layers {
7932
auto OpRaiseToTopChild::operator==(const OpRaiseToTopChild& _o) const -> bool
7933
0
{
7934
0
    if ((!((container()) == ((_o).container())))) {
7935
0
        return false;
7936
0
    }
7937
0
    if ((!((childLayer()) == ((_o).childLayer())))) {
7938
0
        return false;
7939
0
    }
7940
0
    return true;
7941
0
}
7942
7943
auto OpRaiseToTopChild::operator!=(const OpRaiseToTopChild& _o) const -> bool
7944
0
{
7945
0
    return (!(operator==(_o)));
7946
0
}
7947
7948
} // namespace layers
7949
} // namespace mozilla
7950
7951
namespace mozilla {
7952
namespace ipc {
7953
auto IPDLParamTraits<mozilla::layers::OpRaiseToTopChild>::Write(
7954
        IPC::Message* aMsg,
7955
        mozilla::ipc::IProtocol* aActor,
7956
        const paramType& aVar) -> void
7957
0
{
7958
0
    WriteIPDLParam(aMsg, aActor, (aVar).container());
7959
0
    // Sentinel = 'container'
7960
0
    (aMsg)->WriteSentinel(613059236);
7961
0
    WriteIPDLParam(aMsg, aActor, (aVar).childLayer());
7962
0
    // Sentinel = 'childLayer'
7963
0
    (aMsg)->WriteSentinel(154398963);
7964
0
}
7965
7966
auto IPDLParamTraits<mozilla::layers::OpRaiseToTopChild>::Read(
7967
        const IPC::Message* aMsg,
7968
        PickleIterator* aIter,
7969
        mozilla::ipc::IProtocol* aActor,
7970
        paramType* aVar) -> bool
7971
0
{
7972
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->container())))))) {
7973
0
        (aActor)->FatalError("Error deserializing 'container' (LayerHandle) member of 'OpRaiseToTopChild'");
7974
0
        return false;
7975
0
    }
7976
0
    // Sentinel = 'container'
7977
0
    if ((!((aMsg)->ReadSentinel(aIter, 613059236)))) {
7978
0
        mozilla::ipc::SentinelReadError("Error deserializing 'container' (LayerHandle) member of 'OpRaiseToTopChild'");
7979
0
        return false;
7980
0
    }
7981
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->childLayer())))))) {
7982
0
        (aActor)->FatalError("Error deserializing 'childLayer' (LayerHandle) member of 'OpRaiseToTopChild'");
7983
0
        return false;
7984
0
    }
7985
0
    // Sentinel = 'childLayer'
7986
0
    if ((!((aMsg)->ReadSentinel(aIter, 154398963)))) {
7987
0
        mozilla::ipc::SentinelReadError("Error deserializing 'childLayer' (LayerHandle) member of 'OpRaiseToTopChild'");
7988
0
        return false;
7989
0
    }
7990
0
    return true;
7991
0
}
7992
7993
} // namespace ipc
7994
} // namespace mozilla
7995
7996
//-----------------------------------------------------------------------------
7997
// Method definitions for the IPDL type |struct OpSetDiagnosticTypes|
7998
//
7999
namespace mozilla {
8000
namespace layers {
8001
auto OpSetDiagnosticTypes::operator==(const OpSetDiagnosticTypes& _o) const -> bool
8002
0
{
8003
0
    if ((!((diagnostics()) == ((_o).diagnostics())))) {
8004
0
        return false;
8005
0
    }
8006
0
    return true;
8007
0
}
8008
8009
auto OpSetDiagnosticTypes::operator!=(const OpSetDiagnosticTypes& _o) const -> bool
8010
0
{
8011
0
    return (!(operator==(_o)));
8012
0
}
8013
8014
} // namespace layers
8015
} // namespace mozilla
8016
8017
namespace mozilla {
8018
namespace ipc {
8019
auto IPDLParamTraits<mozilla::layers::OpSetDiagnosticTypes>::Write(
8020
        IPC::Message* aMsg,
8021
        mozilla::ipc::IProtocol* aActor,
8022
        const paramType& aVar) -> void
8023
0
{
8024
0
    WriteIPDLParam(aMsg, aActor, (aVar).diagnostics());
8025
0
    // Sentinel = 'diagnostics'
8026
0
    (aMsg)->WriteSentinel(2961767415);
8027
0
}
8028
8029
auto IPDLParamTraits<mozilla::layers::OpSetDiagnosticTypes>::Read(
8030
        const IPC::Message* aMsg,
8031
        PickleIterator* aIter,
8032
        mozilla::ipc::IProtocol* aActor,
8033
        paramType* aVar) -> bool
8034
0
{
8035
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->diagnostics())))))) {
8036
0
        (aActor)->FatalError("Error deserializing 'diagnostics' (DiagnosticTypes) member of 'OpSetDiagnosticTypes'");
8037
0
        return false;
8038
0
    }
8039
0
    // Sentinel = 'diagnostics'
8040
0
    if ((!((aMsg)->ReadSentinel(aIter, 2961767415)))) {
8041
0
        mozilla::ipc::SentinelReadError("Error deserializing 'diagnostics' (DiagnosticTypes) member of 'OpSetDiagnosticTypes'");
8042
0
        return false;
8043
0
    }
8044
0
    return true;
8045
0
}
8046
8047
} // namespace ipc
8048
} // namespace mozilla
8049
8050
//-----------------------------------------------------------------------------
8051
// Method definitions for the IPDL type |struct OpWindowOverlayChanged|
8052
//
8053
namespace mozilla {
8054
namespace layers {
8055
auto OpWindowOverlayChanged::operator==(const OpWindowOverlayChanged& _o) const -> bool
8056
0
{
8057
0
    return true;
8058
0
}
8059
8060
auto OpWindowOverlayChanged::operator!=(const OpWindowOverlayChanged& _o) const -> bool
8061
0
{
8062
0
    return (!(operator==(_o)));
8063
0
}
8064
8065
} // namespace layers
8066
} // namespace mozilla
8067
8068
namespace mozilla {
8069
namespace ipc {
8070
auto IPDLParamTraits<mozilla::layers::OpWindowOverlayChanged>::Write(
8071
        IPC::Message* aMsg,
8072
        mozilla::ipc::IProtocol* aActor,
8073
        const paramType& aVar) -> void
8074
0
{
8075
0
}
8076
8077
auto IPDLParamTraits<mozilla::layers::OpWindowOverlayChanged>::Read(
8078
        const IPC::Message* aMsg,
8079
        PickleIterator* aIter,
8080
        mozilla::ipc::IProtocol* aActor,
8081
        paramType* aVar) -> bool
8082
0
{
8083
0
    return true;
8084
0
}
8085
8086
} // namespace ipc
8087
} // namespace mozilla
8088
8089
//-----------------------------------------------------------------------------
8090
// Method definitions for the IPDL type |struct ShmemSection|
8091
//
8092
namespace mozilla {
8093
namespace layers {
8094
auto ShmemSection::operator==(const ShmemSection& _o) const -> bool
8095
0
{
8096
0
    if ((!((shmem()) == ((_o).shmem())))) {
8097
0
        return false;
8098
0
    }
8099
0
    if ((!((offset()) == ((_o).offset())))) {
8100
0
        return false;
8101
0
    }
8102
0
    if ((!((size()) == ((_o).size())))) {
8103
0
        return false;
8104
0
    }
8105
0
    return true;
8106
0
}
8107
8108
auto ShmemSection::operator!=(const ShmemSection& _o) const -> bool
8109
0
{
8110
0
    return (!(operator==(_o)));
8111
0
}
8112
8113
} // namespace layers
8114
} // namespace mozilla
8115
8116
namespace mozilla {
8117
namespace ipc {
8118
auto IPDLParamTraits<mozilla::layers::ShmemSection>::Write(
8119
        IPC::Message* aMsg,
8120
        mozilla::ipc::IProtocol* aActor,
8121
        const paramType& aVar) -> void
8122
0
{
8123
0
    WriteIPDLParam(aMsg, aActor, (aVar).shmem());
8124
0
    // Sentinel = 'shmem'
8125
0
    (aMsg)->WriteSentinel(4252604405);
8126
0
    WriteIPDLParam(aMsg, aActor, (aVar).offset());
8127
0
    // Sentinel = 'offset'
8128
0
    (aMsg)->WriteSentinel(1369947863);
8129
0
    WriteIPDLParam(aMsg, aActor, (aVar).size());
8130
0
    // Sentinel = 'size'
8131
0
    (aMsg)->WriteSentinel(931048223);
8132
0
}
8133
8134
auto IPDLParamTraits<mozilla::layers::ShmemSection>::Read(
8135
        const IPC::Message* aMsg,
8136
        PickleIterator* aIter,
8137
        mozilla::ipc::IProtocol* aActor,
8138
        paramType* aVar) -> bool
8139
0
{
8140
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->shmem())))))) {
8141
0
        (aActor)->FatalError("Error deserializing 'shmem' (Shmem) member of 'ShmemSection'");
8142
0
        return false;
8143
0
    }
8144
0
    // Sentinel = 'shmem'
8145
0
    if ((!((aMsg)->ReadSentinel(aIter, 4252604405)))) {
8146
0
        mozilla::ipc::SentinelReadError("Error deserializing 'shmem' (Shmem) member of 'ShmemSection'");
8147
0
        return false;
8148
0
    }
8149
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->offset())))))) {
8150
0
        (aActor)->FatalError("Error deserializing 'offset' (uint32_t) member of 'ShmemSection'");
8151
0
        return false;
8152
0
    }
8153
0
    // Sentinel = 'offset'
8154
0
    if ((!((aMsg)->ReadSentinel(aIter, 1369947863)))) {
8155
0
        mozilla::ipc::SentinelReadError("Error deserializing 'offset' (uint32_t) member of 'ShmemSection'");
8156
0
        return false;
8157
0
    }
8158
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->size())))))) {
8159
0
        (aActor)->FatalError("Error deserializing 'size' (size_t) member of 'ShmemSection'");
8160
0
        return false;
8161
0
    }
8162
0
    // Sentinel = 'size'
8163
0
    if ((!((aMsg)->ReadSentinel(aIter, 931048223)))) {
8164
0
        mozilla::ipc::SentinelReadError("Error deserializing 'size' (size_t) member of 'ShmemSection'");
8165
0
        return false;
8166
0
    }
8167
0
    return true;
8168
0
}
8169
8170
} // namespace ipc
8171
} // namespace mozilla
8172
8173
//-----------------------------------------------------------------------------
8174
// Method definitions for the IPDL type |struct CrossProcessSemaphoreDescriptor|
8175
//
8176
namespace mozilla {
8177
namespace layers {
8178
auto CrossProcessSemaphoreDescriptor::operator==(const CrossProcessSemaphoreDescriptor& _o) const -> bool
8179
0
{
8180
0
    if ((!((sem()) == ((_o).sem())))) {
8181
0
        return false;
8182
0
    }
8183
0
    return true;
8184
0
}
8185
8186
auto CrossProcessSemaphoreDescriptor::operator!=(const CrossProcessSemaphoreDescriptor& _o) const -> bool
8187
0
{
8188
0
    return (!(operator==(_o)));
8189
0
}
8190
8191
} // namespace layers
8192
} // namespace mozilla
8193
8194
namespace mozilla {
8195
namespace ipc {
8196
auto IPDLParamTraits<mozilla::layers::CrossProcessSemaphoreDescriptor>::Write(
8197
        IPC::Message* aMsg,
8198
        mozilla::ipc::IProtocol* aActor,
8199
        const paramType& aVar) -> void
8200
0
{
8201
0
    WriteIPDLParam(aMsg, aActor, (aVar).sem());
8202
0
    // Sentinel = 'sem'
8203
0
    (aMsg)->WriteSentinel(3763377306);
8204
0
}
8205
8206
auto IPDLParamTraits<mozilla::layers::CrossProcessSemaphoreDescriptor>::Read(
8207
        const IPC::Message* aMsg,
8208
        PickleIterator* aIter,
8209
        mozilla::ipc::IProtocol* aActor,
8210
        paramType* aVar) -> bool
8211
0
{
8212
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->sem())))))) {
8213
0
        (aActor)->FatalError("Error deserializing 'sem' (CrossProcessSemaphoreHandle) member of 'CrossProcessSemaphoreDescriptor'");
8214
0
        return false;
8215
0
    }
8216
0
    // Sentinel = 'sem'
8217
0
    if ((!((aMsg)->ReadSentinel(aIter, 3763377306)))) {
8218
0
        mozilla::ipc::SentinelReadError("Error deserializing 'sem' (CrossProcessSemaphoreHandle) member of 'CrossProcessSemaphoreDescriptor'");
8219
0
        return false;
8220
0
    }
8221
0
    return true;
8222
0
}
8223
8224
} // namespace ipc
8225
} // namespace mozilla
8226
8227
//-----------------------------------------------------------------------------
8228
// Method definitions for the IPDL type |union ReadLockDescriptor|
8229
//
8230
namespace mozilla {
8231
namespace layers {
8232
auto ReadLockDescriptor::MaybeDestroy(Type aNewType) -> bool
8233
0
{
8234
0
    if ((mType) == (T__None)) {
8235
0
        return true;
8236
0
    }
8237
0
    if ((mType) == (aNewType)) {
8238
0
        return false;
8239
0
    }
8240
0
    switch (mType) {
8241
0
    case TShmemSection:
8242
0
        {
8243
0
            (ptr_ShmemSection())->~ShmemSection__tdef();
8244
0
            break;
8245
0
        }
8246
0
    case TCrossProcessSemaphoreDescriptor:
8247
0
        {
8248
0
            (ptr_CrossProcessSemaphoreDescriptor())->~CrossProcessSemaphoreDescriptor__tdef();
8249
0
            break;
8250
0
        }
8251
0
    case Tuintptr_t:
8252
0
        {
8253
0
            (ptr_uintptr_t())->~uintptr_t__tdef();
8254
0
            break;
8255
0
        }
8256
0
    case Tnull_t:
8257
0
        {
8258
0
            (ptr_null_t())->~null_t__tdef();
8259
0
            break;
8260
0
        }
8261
0
    default:
8262
0
        {
8263
0
            mozilla::ipc::LogicError("not reached");
8264
0
            break;
8265
0
        }
8266
0
    }
8267
0
    return true;
8268
0
}
8269
8270
MOZ_IMPLICIT ReadLockDescriptor::ReadLockDescriptor(const ShmemSection& aOther)
8271
0
{
8272
0
    new (mozilla::KnownNotNull, ptr_ShmemSection()) ShmemSection(aOther);
8273
0
    mType = TShmemSection;
8274
0
}
8275
8276
MOZ_IMPLICIT ReadLockDescriptor::ReadLockDescriptor(ShmemSection&& aOther)
8277
0
{
8278
0
    new (mozilla::KnownNotNull, ptr_ShmemSection()) ShmemSection(std::move(aOther));
8279
0
    mType = TShmemSection;
8280
0
}
8281
8282
MOZ_IMPLICIT ReadLockDescriptor::ReadLockDescriptor(const CrossProcessSemaphoreDescriptor& aOther)
8283
0
{
8284
0
    new (mozilla::KnownNotNull, ptr_CrossProcessSemaphoreDescriptor()) CrossProcessSemaphoreDescriptor(aOther);
8285
0
    mType = TCrossProcessSemaphoreDescriptor;
8286
0
}
8287
8288
MOZ_IMPLICIT ReadLockDescriptor::ReadLockDescriptor(CrossProcessSemaphoreDescriptor&& aOther)
8289
0
{
8290
0
    new (mozilla::KnownNotNull, ptr_CrossProcessSemaphoreDescriptor()) CrossProcessSemaphoreDescriptor(std::move(aOther));
8291
0
    mType = TCrossProcessSemaphoreDescriptor;
8292
0
}
8293
8294
MOZ_IMPLICIT ReadLockDescriptor::ReadLockDescriptor(const uintptr_t& aOther)
8295
0
{
8296
0
    new (mozilla::KnownNotNull, ptr_uintptr_t()) uintptr_t(aOther);
8297
0
    mType = Tuintptr_t;
8298
0
}
8299
8300
MOZ_IMPLICIT ReadLockDescriptor::ReadLockDescriptor(uintptr_t&& aOther)
8301
0
{
8302
0
    new (mozilla::KnownNotNull, ptr_uintptr_t()) uintptr_t(std::move(aOther));
8303
0
    mType = Tuintptr_t;
8304
0
}
8305
8306
MOZ_IMPLICIT ReadLockDescriptor::ReadLockDescriptor(const null_t& aOther)
8307
0
{
8308
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(aOther);
8309
0
    mType = Tnull_t;
8310
0
}
8311
8312
MOZ_IMPLICIT ReadLockDescriptor::ReadLockDescriptor(null_t&& aOther)
8313
0
{
8314
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move(aOther));
8315
0
    mType = Tnull_t;
8316
0
}
8317
8318
MOZ_IMPLICIT ReadLockDescriptor::ReadLockDescriptor(const ReadLockDescriptor& aOther)
8319
0
{
8320
0
    (aOther).AssertSanity();
8321
0
    switch ((aOther).type()) {
8322
0
    case TShmemSection:
8323
0
        {
8324
0
            new (mozilla::KnownNotNull, ptr_ShmemSection()) ShmemSection((aOther).get_ShmemSection());
8325
0
            break;
8326
0
        }
8327
0
    case TCrossProcessSemaphoreDescriptor:
8328
0
        {
8329
0
            new (mozilla::KnownNotNull, ptr_CrossProcessSemaphoreDescriptor()) CrossProcessSemaphoreDescriptor((aOther).get_CrossProcessSemaphoreDescriptor());
8330
0
            break;
8331
0
        }
8332
0
    case Tuintptr_t:
8333
0
        {
8334
0
            new (mozilla::KnownNotNull, ptr_uintptr_t()) uintptr_t((aOther).get_uintptr_t());
8335
0
            break;
8336
0
        }
8337
0
    case Tnull_t:
8338
0
        {
8339
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t((aOther).get_null_t());
8340
0
            break;
8341
0
        }
8342
0
    case T__None:
8343
0
        {
8344
0
            break;
8345
0
        }
8346
0
    default:
8347
0
        {
8348
0
            mozilla::ipc::LogicError("unreached");
8349
0
            return;
8350
0
        }
8351
0
    }
8352
0
    mType = (aOther).type();
8353
0
}
8354
8355
MOZ_IMPLICIT ReadLockDescriptor::ReadLockDescriptor(ReadLockDescriptor&& aOther)
8356
0
{
8357
0
    (aOther).AssertSanity();
8358
0
    Type t = (aOther).type();
8359
0
    switch (t) {
8360
0
    case TShmemSection:
8361
0
        {
8362
0
            new (mozilla::KnownNotNull, ptr_ShmemSection()) ShmemSection(std::move((aOther).get_ShmemSection()));
8363
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
8364
0
            break;
8365
0
        }
8366
0
    case TCrossProcessSemaphoreDescriptor:
8367
0
        {
8368
0
            new (mozilla::KnownNotNull, ptr_CrossProcessSemaphoreDescriptor()) CrossProcessSemaphoreDescriptor(std::move((aOther).get_CrossProcessSemaphoreDescriptor()));
8369
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
8370
0
            break;
8371
0
        }
8372
0
    case Tuintptr_t:
8373
0
        {
8374
0
            new (mozilla::KnownNotNull, ptr_uintptr_t()) uintptr_t(std::move((aOther).get_uintptr_t()));
8375
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
8376
0
            break;
8377
0
        }
8378
0
    case Tnull_t:
8379
0
        {
8380
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move((aOther).get_null_t()));
8381
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
8382
0
            break;
8383
0
        }
8384
0
    case T__None:
8385
0
        {
8386
0
            break;
8387
0
        }
8388
0
    default:
8389
0
        {
8390
0
            mozilla::ipc::LogicError("unreached");
8391
0
            return;
8392
0
        }
8393
0
    }
8394
0
    (aOther).mType = T__None;
8395
0
    mType = t;
8396
0
}
8397
8398
ReadLockDescriptor::~ReadLockDescriptor()
8399
0
{
8400
0
    static_cast<void>(MaybeDestroy(T__None));
8401
0
}
8402
8403
auto ReadLockDescriptor::operator=(const ShmemSection& aRhs) -> ReadLockDescriptor&
8404
0
{
8405
0
    if (MaybeDestroy(TShmemSection)) {
8406
0
        new (mozilla::KnownNotNull, ptr_ShmemSection()) ShmemSection;
8407
0
    }
8408
0
    (*(ptr_ShmemSection())) = aRhs;
8409
0
    mType = TShmemSection;
8410
0
    return (*(this));
8411
0
}
8412
8413
auto ReadLockDescriptor::operator=(ShmemSection&& aRhs) -> ReadLockDescriptor&
8414
0
{
8415
0
    if (MaybeDestroy(TShmemSection)) {
8416
0
        new (mozilla::KnownNotNull, ptr_ShmemSection()) ShmemSection;
8417
0
    }
8418
0
    (*(ptr_ShmemSection())) = std::move(aRhs);
8419
0
    mType = TShmemSection;
8420
0
    return (*(this));
8421
0
}
8422
8423
auto ReadLockDescriptor::operator=(const CrossProcessSemaphoreDescriptor& aRhs) -> ReadLockDescriptor&
8424
0
{
8425
0
    if (MaybeDestroy(TCrossProcessSemaphoreDescriptor)) {
8426
0
        new (mozilla::KnownNotNull, ptr_CrossProcessSemaphoreDescriptor()) CrossProcessSemaphoreDescriptor;
8427
0
    }
8428
0
    (*(ptr_CrossProcessSemaphoreDescriptor())) = aRhs;
8429
0
    mType = TCrossProcessSemaphoreDescriptor;
8430
0
    return (*(this));
8431
0
}
8432
8433
auto ReadLockDescriptor::operator=(CrossProcessSemaphoreDescriptor&& aRhs) -> ReadLockDescriptor&
8434
0
{
8435
0
    if (MaybeDestroy(TCrossProcessSemaphoreDescriptor)) {
8436
0
        new (mozilla::KnownNotNull, ptr_CrossProcessSemaphoreDescriptor()) CrossProcessSemaphoreDescriptor;
8437
0
    }
8438
0
    (*(ptr_CrossProcessSemaphoreDescriptor())) = std::move(aRhs);
8439
0
    mType = TCrossProcessSemaphoreDescriptor;
8440
0
    return (*(this));
8441
0
}
8442
8443
auto ReadLockDescriptor::operator=(const uintptr_t& aRhs) -> ReadLockDescriptor&
8444
0
{
8445
0
    if (MaybeDestroy(Tuintptr_t)) {
8446
0
        new (mozilla::KnownNotNull, ptr_uintptr_t()) uintptr_t;
8447
0
    }
8448
0
    (*(ptr_uintptr_t())) = aRhs;
8449
0
    mType = Tuintptr_t;
8450
0
    return (*(this));
8451
0
}
8452
8453
auto ReadLockDescriptor::operator=(uintptr_t&& aRhs) -> ReadLockDescriptor&
8454
0
{
8455
0
    if (MaybeDestroy(Tuintptr_t)) {
8456
0
        new (mozilla::KnownNotNull, ptr_uintptr_t()) uintptr_t;
8457
0
    }
8458
0
    (*(ptr_uintptr_t())) = std::move(aRhs);
8459
0
    mType = Tuintptr_t;
8460
0
    return (*(this));
8461
0
}
8462
8463
auto ReadLockDescriptor::operator=(const null_t& aRhs) -> ReadLockDescriptor&
8464
0
{
8465
0
    if (MaybeDestroy(Tnull_t)) {
8466
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
8467
0
    }
8468
0
    (*(ptr_null_t())) = aRhs;
8469
0
    mType = Tnull_t;
8470
0
    return (*(this));
8471
0
}
8472
8473
auto ReadLockDescriptor::operator=(null_t&& aRhs) -> ReadLockDescriptor&
8474
0
{
8475
0
    if (MaybeDestroy(Tnull_t)) {
8476
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
8477
0
    }
8478
0
    (*(ptr_null_t())) = std::move(aRhs);
8479
0
    mType = Tnull_t;
8480
0
    return (*(this));
8481
0
}
8482
8483
auto ReadLockDescriptor::operator=(const ReadLockDescriptor& aRhs) -> ReadLockDescriptor&
8484
0
{
8485
0
    (aRhs).AssertSanity();
8486
0
    Type t = (aRhs).type();
8487
0
    switch (t) {
8488
0
    case TShmemSection:
8489
0
        {
8490
0
            if (MaybeDestroy(t)) {
8491
0
                new (mozilla::KnownNotNull, ptr_ShmemSection()) ShmemSection;
8492
0
            }
8493
0
            (*(ptr_ShmemSection())) = (aRhs).get_ShmemSection();
8494
0
            break;
8495
0
        }
8496
0
    case TCrossProcessSemaphoreDescriptor:
8497
0
        {
8498
0
            if (MaybeDestroy(t)) {
8499
0
                new (mozilla::KnownNotNull, ptr_CrossProcessSemaphoreDescriptor()) CrossProcessSemaphoreDescriptor;
8500
0
            }
8501
0
            (*(ptr_CrossProcessSemaphoreDescriptor())) = (aRhs).get_CrossProcessSemaphoreDescriptor();
8502
0
            break;
8503
0
        }
8504
0
    case Tuintptr_t:
8505
0
        {
8506
0
            if (MaybeDestroy(t)) {
8507
0
                new (mozilla::KnownNotNull, ptr_uintptr_t()) uintptr_t;
8508
0
            }
8509
0
            (*(ptr_uintptr_t())) = (aRhs).get_uintptr_t();
8510
0
            break;
8511
0
        }
8512
0
    case Tnull_t:
8513
0
        {
8514
0
            if (MaybeDestroy(t)) {
8515
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
8516
0
            }
8517
0
            (*(ptr_null_t())) = (aRhs).get_null_t();
8518
0
            break;
8519
0
        }
8520
0
    case T__None:
8521
0
        {
8522
0
            static_cast<void>(MaybeDestroy(t));
8523
0
            break;
8524
0
        }
8525
0
    default:
8526
0
        {
8527
0
            mozilla::ipc::LogicError("unreached");
8528
0
            break;
8529
0
        }
8530
0
    }
8531
0
    mType = t;
8532
0
    return (*(this));
8533
0
}
8534
8535
auto ReadLockDescriptor::operator=(ReadLockDescriptor&& aRhs) -> ReadLockDescriptor&
8536
0
{
8537
0
    (aRhs).AssertSanity();
8538
0
    Type t = (aRhs).type();
8539
0
    switch (t) {
8540
0
    case TShmemSection:
8541
0
        {
8542
0
            if (MaybeDestroy(t)) {
8543
0
                new (mozilla::KnownNotNull, ptr_ShmemSection()) ShmemSection;
8544
0
            }
8545
0
            (*(ptr_ShmemSection())) = std::move((aRhs).get_ShmemSection());
8546
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
8547
0
            break;
8548
0
        }
8549
0
    case TCrossProcessSemaphoreDescriptor:
8550
0
        {
8551
0
            if (MaybeDestroy(t)) {
8552
0
                new (mozilla::KnownNotNull, ptr_CrossProcessSemaphoreDescriptor()) CrossProcessSemaphoreDescriptor;
8553
0
            }
8554
0
            (*(ptr_CrossProcessSemaphoreDescriptor())) = std::move((aRhs).get_CrossProcessSemaphoreDescriptor());
8555
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
8556
0
            break;
8557
0
        }
8558
0
    case Tuintptr_t:
8559
0
        {
8560
0
            if (MaybeDestroy(t)) {
8561
0
                new (mozilla::KnownNotNull, ptr_uintptr_t()) uintptr_t;
8562
0
            }
8563
0
            (*(ptr_uintptr_t())) = std::move((aRhs).get_uintptr_t());
8564
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
8565
0
            break;
8566
0
        }
8567
0
    case Tnull_t:
8568
0
        {
8569
0
            if (MaybeDestroy(t)) {
8570
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
8571
0
            }
8572
0
            (*(ptr_null_t())) = std::move((aRhs).get_null_t());
8573
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
8574
0
            break;
8575
0
        }
8576
0
    case T__None:
8577
0
        {
8578
0
            static_cast<void>(MaybeDestroy(t));
8579
0
            break;
8580
0
        }
8581
0
    default:
8582
0
        {
8583
0
            mozilla::ipc::LogicError("unreached");
8584
0
            break;
8585
0
        }
8586
0
    }
8587
0
    (aRhs).mType = T__None;
8588
0
    mType = t;
8589
0
    return (*(this));
8590
0
}
8591
8592
auto ReadLockDescriptor::operator==(const ShmemSection& aRhs) const -> bool
8593
0
{
8594
0
    return (get_ShmemSection()) == (aRhs);
8595
0
}
8596
8597
auto ReadLockDescriptor::operator==(const CrossProcessSemaphoreDescriptor& aRhs) const -> bool
8598
0
{
8599
0
    return (get_CrossProcessSemaphoreDescriptor()) == (aRhs);
8600
0
}
8601
8602
auto ReadLockDescriptor::operator==(const uintptr_t& aRhs) const -> bool
8603
0
{
8604
0
    return (get_uintptr_t()) == (aRhs);
8605
0
}
8606
8607
auto ReadLockDescriptor::operator==(const null_t& aRhs) const -> bool
8608
0
{
8609
0
    return (get_null_t()) == (aRhs);
8610
0
}
8611
8612
auto ReadLockDescriptor::operator==(const ReadLockDescriptor& aRhs) const -> bool
8613
0
{
8614
0
    if ((type()) != ((aRhs).type())) {
8615
0
        return false;
8616
0
    }
8617
0
8618
0
    switch (type()) {
8619
0
    case TShmemSection:
8620
0
        {
8621
0
            return (get_ShmemSection()) == ((aRhs).get_ShmemSection());
8622
0
        }
8623
0
    case TCrossProcessSemaphoreDescriptor:
8624
0
        {
8625
0
            return (get_CrossProcessSemaphoreDescriptor()) == ((aRhs).get_CrossProcessSemaphoreDescriptor());
8626
0
        }
8627
0
    case Tuintptr_t:
8628
0
        {
8629
0
            return (get_uintptr_t()) == ((aRhs).get_uintptr_t());
8630
0
        }
8631
0
    case Tnull_t:
8632
0
        {
8633
0
            return (get_null_t()) == ((aRhs).get_null_t());
8634
0
        }
8635
0
    default:
8636
0
        {
8637
0
            mozilla::ipc::LogicError("unreached");
8638
0
            return false;
8639
0
        }
8640
0
    }
8641
0
}
8642
8643
auto ReadLockDescriptor::get(ShmemSection* aOutValue) const -> void
8644
0
{
8645
0
    (*(aOutValue)) = get_ShmemSection();
8646
0
}
8647
8648
auto ReadLockDescriptor::get(CrossProcessSemaphoreDescriptor* aOutValue) const -> void
8649
0
{
8650
0
    (*(aOutValue)) = get_CrossProcessSemaphoreDescriptor();
8651
0
}
8652
8653
auto ReadLockDescriptor::get(uintptr_t* aOutValue) const -> void
8654
0
{
8655
0
    (*(aOutValue)) = get_uintptr_t();
8656
0
}
8657
8658
auto ReadLockDescriptor::get(null_t* aOutValue) const -> void
8659
0
{
8660
0
    (*(aOutValue)) = get_null_t();
8661
0
}
8662
8663
} // namespace layers
8664
} // namespace mozilla
8665
8666
namespace mozilla {
8667
namespace ipc {
8668
auto IPDLParamTraits<mozilla::layers::ReadLockDescriptor>::Write(
8669
        IPC::Message* aMsg,
8670
        mozilla::ipc::IProtocol* aActor,
8671
        const paramType& aVar) -> void
8672
{
8673
    typedef mozilla::layers::ReadLockDescriptor union__;
8674
    int type;
8675
    type = (aVar).type();
8676
    WriteIPDLParam(aMsg, aActor, type);
8677
    // Sentinel = 'ReadLockDescriptor'
8678
    (aMsg)->WriteSentinel(3238270764);
8679
8680
    switch (type) {
8681
    case union__::TShmemSection:
8682
        {
8683
            WriteIPDLParam(aMsg, aActor, (aVar).get_ShmemSection());
8684
            // Sentinel = 'TShmemSection'
8685
            (aMsg)->WriteSentinel(3037204004);
8686
            return;
8687
        }
8688
    case union__::TCrossProcessSemaphoreDescriptor:
8689
        {
8690
            WriteIPDLParam(aMsg, aActor, (aVar).get_CrossProcessSemaphoreDescriptor());
8691
            // Sentinel = 'TCrossProcessSemaphoreDescriptor'
8692
            (aMsg)->WriteSentinel(2516853580);
8693
            return;
8694
        }
8695
    case union__::Tuintptr_t:
8696
        {
8697
            WriteIPDLParam(aMsg, aActor, (aVar).get_uintptr_t());
8698
            // Sentinel = 'Tuintptr_t'
8699
            (aMsg)->WriteSentinel(3218141805);
8700
            return;
8701
        }
8702
    case union__::Tnull_t:
8703
        {
8704
            WriteIPDLParam(aMsg, aActor, (aVar).get_null_t());
8705
            // Sentinel = 'Tnull_t'
8706
            (aMsg)->WriteSentinel(3731137201);
8707
            return;
8708
        }
8709
    default:
8710
        {
8711
            (aActor)->FatalError("unknown union type");
8712
            return;
8713
        }
8714
    }
8715
}
8716
8717
auto IPDLParamTraits<mozilla::layers::ReadLockDescriptor>::Read(
8718
        const IPC::Message* aMsg,
8719
        PickleIterator* aIter,
8720
        mozilla::ipc::IProtocol* aActor,
8721
        paramType* aVar) -> bool
8722
0
{
8723
0
    typedef mozilla::layers::ReadLockDescriptor union__;
8724
0
    int type;
8725
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
8726
0
        (aActor)->FatalError("Error deserializing type of union ReadLockDescriptor");
8727
0
        return false;
8728
0
    }
8729
0
    // Sentinel = 'ReadLockDescriptor'
8730
0
    if ((!((aMsg)->ReadSentinel(aIter, 3238270764)))) {
8731
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union ReadLockDescriptor");
8732
0
        return false;
8733
0
    }
8734
0
8735
0
    switch (type) {
8736
0
    case union__::TShmemSection:
8737
0
        {
8738
0
            mozilla::layers::ShmemSection tmp = mozilla::layers::ShmemSection();
8739
0
            (*(aVar)) = tmp;
8740
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_ShmemSection())))))) {
8741
0
                (aActor)->FatalError("Error deserializing variant TShmemSection of union ReadLockDescriptor");
8742
0
                return false;
8743
0
            }
8744
0
            // Sentinel = 'TShmemSection'
8745
0
            if ((!((aMsg)->ReadSentinel(aIter, 3037204004)))) {
8746
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TShmemSection of union ReadLockDescriptor");
8747
0
                return false;
8748
0
            }
8749
0
            return true;
8750
0
        }
8751
0
    case union__::TCrossProcessSemaphoreDescriptor:
8752
0
        {
8753
0
            mozilla::layers::CrossProcessSemaphoreDescriptor tmp = mozilla::layers::CrossProcessSemaphoreDescriptor();
8754
0
            (*(aVar)) = tmp;
8755
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_CrossProcessSemaphoreDescriptor())))))) {
8756
0
                (aActor)->FatalError("Error deserializing variant TCrossProcessSemaphoreDescriptor of union ReadLockDescriptor");
8757
0
                return false;
8758
0
            }
8759
0
            // Sentinel = 'TCrossProcessSemaphoreDescriptor'
8760
0
            if ((!((aMsg)->ReadSentinel(aIter, 2516853580)))) {
8761
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TCrossProcessSemaphoreDescriptor of union ReadLockDescriptor");
8762
0
                return false;
8763
0
            }
8764
0
            return true;
8765
0
        }
8766
0
    case union__::Tuintptr_t:
8767
0
        {
8768
0
            uintptr_t tmp = uintptr_t();
8769
0
            (*(aVar)) = tmp;
8770
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_uintptr_t())))))) {
8771
0
                (aActor)->FatalError("Error deserializing variant Tuintptr_t of union ReadLockDescriptor");
8772
0
                return false;
8773
0
            }
8774
0
            // Sentinel = 'Tuintptr_t'
8775
0
            if ((!((aMsg)->ReadSentinel(aIter, 3218141805)))) {
8776
0
                mozilla::ipc::SentinelReadError("Error deserializing variant Tuintptr_t of union ReadLockDescriptor");
8777
0
                return false;
8778
0
            }
8779
0
            return true;
8780
0
        }
8781
0
    case union__::Tnull_t:
8782
0
        {
8783
0
            mozilla::null_t tmp = mozilla::null_t();
8784
0
            (*(aVar)) = tmp;
8785
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_null_t())))))) {
8786
0
                (aActor)->FatalError("Error deserializing variant Tnull_t of union ReadLockDescriptor");
8787
0
                return false;
8788
0
            }
8789
0
            // Sentinel = 'Tnull_t'
8790
0
            if ((!((aMsg)->ReadSentinel(aIter, 3731137201)))) {
8791
0
                mozilla::ipc::SentinelReadError("Error deserializing variant Tnull_t of union ReadLockDescriptor");
8792
0
                return false;
8793
0
            }
8794
0
            return true;
8795
0
        }
8796
0
    default:
8797
0
        {
8798
0
            (aActor)->FatalError("unknown union type");
8799
0
            return false;
8800
0
        }
8801
0
    }
8802
0
}
8803
8804
} // namespace ipc
8805
} // namespace mozilla
8806
8807
//-----------------------------------------------------------------------------
8808
// Method definitions for the IPDL type |union MaybeTexture|
8809
//
8810
namespace mozilla {
8811
namespace layers {
8812
auto MaybeTexture::MaybeDestroy(Type aNewType) -> bool
8813
0
{
8814
0
    if ((mType) == (T__None)) {
8815
0
        return true;
8816
0
    }
8817
0
    if ((mType) == (aNewType)) {
8818
0
        return false;
8819
0
    }
8820
0
    switch (mType) {
8821
0
    case TPTextureParent:
8822
0
        {
8823
0
            (ptr_PTextureParent())->~PTextureParent__tdef();
8824
0
            break;
8825
0
        }
8826
0
    case TPTextureChild:
8827
0
        {
8828
0
            (ptr_PTextureChild())->~PTextureChild__tdef();
8829
0
            break;
8830
0
        }
8831
0
    case Tnull_t:
8832
0
        {
8833
0
            (ptr_null_t())->~null_t__tdef();
8834
0
            break;
8835
0
        }
8836
0
    default:
8837
0
        {
8838
0
            mozilla::ipc::LogicError("not reached");
8839
0
            break;
8840
0
        }
8841
0
    }
8842
0
    return true;
8843
0
}
8844
8845
MOZ_IMPLICIT MaybeTexture::MaybeTexture(PTextureParent* aOther)
8846
0
{
8847
0
    new (mozilla::KnownNotNull, ptr_PTextureParent()) PTextureParent*(const_cast<PTextureParent*>(aOther));
8848
0
    mType = TPTextureParent;
8849
0
}
8850
8851
MOZ_IMPLICIT MaybeTexture::MaybeTexture(PTextureChild* aOther)
8852
0
{
8853
0
    new (mozilla::KnownNotNull, ptr_PTextureChild()) PTextureChild*(const_cast<PTextureChild*>(aOther));
8854
0
    mType = TPTextureChild;
8855
0
}
8856
8857
MOZ_IMPLICIT MaybeTexture::MaybeTexture(const null_t& aOther)
8858
0
{
8859
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(aOther);
8860
0
    mType = Tnull_t;
8861
0
}
8862
8863
MOZ_IMPLICIT MaybeTexture::MaybeTexture(null_t&& aOther)
8864
0
{
8865
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move(aOther));
8866
0
    mType = Tnull_t;
8867
0
}
8868
8869
MOZ_IMPLICIT MaybeTexture::MaybeTexture(const MaybeTexture& aOther)
8870
0
{
8871
0
    (aOther).AssertSanity();
8872
0
    switch ((aOther).type()) {
8873
0
    case TPTextureParent:
8874
0
        {
8875
0
            new (mozilla::KnownNotNull, ptr_PTextureParent()) PTextureParent*(const_cast<PTextureParent*>((aOther).get_PTextureParent()));
8876
0
            break;
8877
0
        }
8878
0
    case TPTextureChild:
8879
0
        {
8880
0
            new (mozilla::KnownNotNull, ptr_PTextureChild()) PTextureChild*(const_cast<PTextureChild*>((aOther).get_PTextureChild()));
8881
0
            break;
8882
0
        }
8883
0
    case Tnull_t:
8884
0
        {
8885
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t((aOther).get_null_t());
8886
0
            break;
8887
0
        }
8888
0
    case T__None:
8889
0
        {
8890
0
            break;
8891
0
        }
8892
0
    default:
8893
0
        {
8894
0
            mozilla::ipc::LogicError("unreached");
8895
0
            return;
8896
0
        }
8897
0
    }
8898
0
    mType = (aOther).type();
8899
0
}
8900
8901
MOZ_IMPLICIT MaybeTexture::MaybeTexture(MaybeTexture&& aOther)
8902
0
{
8903
0
    (aOther).AssertSanity();
8904
0
    Type t = (aOther).type();
8905
0
    switch (t) {
8906
0
    case TPTextureParent:
8907
0
        {
8908
0
            new (mozilla::KnownNotNull, ptr_PTextureParent()) PTextureParent*(const_cast<PTextureParent*>(std::move((aOther).get_PTextureParent())));
8909
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
8910
0
            break;
8911
0
        }
8912
0
    case TPTextureChild:
8913
0
        {
8914
0
            new (mozilla::KnownNotNull, ptr_PTextureChild()) PTextureChild*(const_cast<PTextureChild*>(std::move((aOther).get_PTextureChild())));
8915
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
8916
0
            break;
8917
0
        }
8918
0
    case Tnull_t:
8919
0
        {
8920
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move((aOther).get_null_t()));
8921
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
8922
0
            break;
8923
0
        }
8924
0
    case T__None:
8925
0
        {
8926
0
            break;
8927
0
        }
8928
0
    default:
8929
0
        {
8930
0
            mozilla::ipc::LogicError("unreached");
8931
0
            return;
8932
0
        }
8933
0
    }
8934
0
    (aOther).mType = T__None;
8935
0
    mType = t;
8936
0
}
8937
8938
MaybeTexture::~MaybeTexture()
8939
0
{
8940
0
    static_cast<void>(MaybeDestroy(T__None));
8941
0
}
8942
8943
auto MaybeTexture::operator=(PTextureParent* aRhs) -> MaybeTexture&
8944
0
{
8945
0
    if (MaybeDestroy(TPTextureParent)) {
8946
0
        new (mozilla::KnownNotNull, ptr_PTextureParent()) PTextureParent*;
8947
0
    }
8948
0
    (*(ptr_PTextureParent())) = const_cast<PTextureParent*>(aRhs);
8949
0
    mType = TPTextureParent;
8950
0
    return (*(this));
8951
0
}
8952
8953
auto MaybeTexture::operator=(PTextureChild* aRhs) -> MaybeTexture&
8954
0
{
8955
0
    if (MaybeDestroy(TPTextureChild)) {
8956
0
        new (mozilla::KnownNotNull, ptr_PTextureChild()) PTextureChild*;
8957
0
    }
8958
0
    (*(ptr_PTextureChild())) = const_cast<PTextureChild*>(aRhs);
8959
0
    mType = TPTextureChild;
8960
0
    return (*(this));
8961
0
}
8962
8963
auto MaybeTexture::operator=(const null_t& aRhs) -> MaybeTexture&
8964
0
{
8965
0
    if (MaybeDestroy(Tnull_t)) {
8966
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
8967
0
    }
8968
0
    (*(ptr_null_t())) = aRhs;
8969
0
    mType = Tnull_t;
8970
0
    return (*(this));
8971
0
}
8972
8973
auto MaybeTexture::operator=(null_t&& aRhs) -> MaybeTexture&
8974
0
{
8975
0
    if (MaybeDestroy(Tnull_t)) {
8976
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
8977
0
    }
8978
0
    (*(ptr_null_t())) = std::move(aRhs);
8979
0
    mType = Tnull_t;
8980
0
    return (*(this));
8981
0
}
8982
8983
auto MaybeTexture::operator=(const MaybeTexture& aRhs) -> MaybeTexture&
8984
0
{
8985
0
    (aRhs).AssertSanity();
8986
0
    Type t = (aRhs).type();
8987
0
    switch (t) {
8988
0
    case TPTextureParent:
8989
0
        {
8990
0
            if (MaybeDestroy(t)) {
8991
0
                new (mozilla::KnownNotNull, ptr_PTextureParent()) PTextureParent*;
8992
0
            }
8993
0
            (*(ptr_PTextureParent())) = const_cast<PTextureParent*>((aRhs).get_PTextureParent());
8994
0
            break;
8995
0
        }
8996
0
    case TPTextureChild:
8997
0
        {
8998
0
            if (MaybeDestroy(t)) {
8999
0
                new (mozilla::KnownNotNull, ptr_PTextureChild()) PTextureChild*;
9000
0
            }
9001
0
            (*(ptr_PTextureChild())) = const_cast<PTextureChild*>((aRhs).get_PTextureChild());
9002
0
            break;
9003
0
        }
9004
0
    case Tnull_t:
9005
0
        {
9006
0
            if (MaybeDestroy(t)) {
9007
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
9008
0
            }
9009
0
            (*(ptr_null_t())) = (aRhs).get_null_t();
9010
0
            break;
9011
0
        }
9012
0
    case T__None:
9013
0
        {
9014
0
            static_cast<void>(MaybeDestroy(t));
9015
0
            break;
9016
0
        }
9017
0
    default:
9018
0
        {
9019
0
            mozilla::ipc::LogicError("unreached");
9020
0
            break;
9021
0
        }
9022
0
    }
9023
0
    mType = t;
9024
0
    return (*(this));
9025
0
}
9026
9027
auto MaybeTexture::operator=(MaybeTexture&& aRhs) -> MaybeTexture&
9028
0
{
9029
0
    (aRhs).AssertSanity();
9030
0
    Type t = (aRhs).type();
9031
0
    switch (t) {
9032
0
    case TPTextureParent:
9033
0
        {
9034
0
            if (MaybeDestroy(t)) {
9035
0
                new (mozilla::KnownNotNull, ptr_PTextureParent()) PTextureParent*;
9036
0
            }
9037
0
            (*(ptr_PTextureParent())) = const_cast<PTextureParent*>(std::move((aRhs).get_PTextureParent()));
9038
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
9039
0
            break;
9040
0
        }
9041
0
    case TPTextureChild:
9042
0
        {
9043
0
            if (MaybeDestroy(t)) {
9044
0
                new (mozilla::KnownNotNull, ptr_PTextureChild()) PTextureChild*;
9045
0
            }
9046
0
            (*(ptr_PTextureChild())) = const_cast<PTextureChild*>(std::move((aRhs).get_PTextureChild()));
9047
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
9048
0
            break;
9049
0
        }
9050
0
    case Tnull_t:
9051
0
        {
9052
0
            if (MaybeDestroy(t)) {
9053
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
9054
0
            }
9055
0
            (*(ptr_null_t())) = std::move((aRhs).get_null_t());
9056
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
9057
0
            break;
9058
0
        }
9059
0
    case T__None:
9060
0
        {
9061
0
            static_cast<void>(MaybeDestroy(t));
9062
0
            break;
9063
0
        }
9064
0
    default:
9065
0
        {
9066
0
            mozilla::ipc::LogicError("unreached");
9067
0
            break;
9068
0
        }
9069
0
    }
9070
0
    (aRhs).mType = T__None;
9071
0
    mType = t;
9072
0
    return (*(this));
9073
0
}
9074
9075
auto MaybeTexture::operator==(PTextureParent* aRhs) const -> bool
9076
0
{
9077
0
    return (get_PTextureParent()) == (aRhs);
9078
0
}
9079
9080
auto MaybeTexture::operator==(PTextureChild* aRhs) const -> bool
9081
0
{
9082
0
    return (get_PTextureChild()) == (aRhs);
9083
0
}
9084
9085
auto MaybeTexture::operator==(const null_t& aRhs) const -> bool
9086
0
{
9087
0
    return (get_null_t()) == (aRhs);
9088
0
}
9089
9090
auto MaybeTexture::operator==(const MaybeTexture& aRhs) const -> bool
9091
0
{
9092
0
    if ((type()) != ((aRhs).type())) {
9093
0
        return false;
9094
0
    }
9095
0
9096
0
    switch (type()) {
9097
0
    case TPTextureParent:
9098
0
        {
9099
0
            return (get_PTextureParent()) == ((aRhs).get_PTextureParent());
9100
0
        }
9101
0
    case TPTextureChild:
9102
0
        {
9103
0
            return (get_PTextureChild()) == ((aRhs).get_PTextureChild());
9104
0
        }
9105
0
    case Tnull_t:
9106
0
        {
9107
0
            return (get_null_t()) == ((aRhs).get_null_t());
9108
0
        }
9109
0
    default:
9110
0
        {
9111
0
            mozilla::ipc::LogicError("unreached");
9112
0
            return false;
9113
0
        }
9114
0
    }
9115
0
}
9116
9117
auto MaybeTexture::get(PTextureParent** aOutValue) const -> void
9118
0
{
9119
0
    (*(aOutValue)) = get_PTextureParent();
9120
0
}
9121
9122
auto MaybeTexture::get(PTextureChild** aOutValue) const -> void
9123
0
{
9124
0
    (*(aOutValue)) = get_PTextureChild();
9125
0
}
9126
9127
auto MaybeTexture::get(null_t* aOutValue) const -> void
9128
0
{
9129
0
    (*(aOutValue)) = get_null_t();
9130
0
}
9131
9132
} // namespace layers
9133
} // namespace mozilla
9134
9135
namespace mozilla {
9136
namespace ipc {
9137
auto IPDLParamTraits<mozilla::layers::MaybeTexture>::Write(
9138
        IPC::Message* aMsg,
9139
        mozilla::ipc::IProtocol* aActor,
9140
        const paramType& aVar) -> void
9141
0
{
9142
0
    typedef mozilla::layers::MaybeTexture union__;
9143
0
    int type;
9144
0
    type = (aVar).type();
9145
0
    WriteIPDLParam(aMsg, aActor, type);
9146
0
    // Sentinel = 'MaybeTexture'
9147
0
    (aMsg)->WriteSentinel(264725529);
9148
0
9149
0
    switch (type) {
9150
0
    case union__::TPTextureParent:
9151
0
        {
9152
0
            if ((mozilla::ipc::ParentSide) == ((aActor)->GetSide())) {
9153
0
                MOZ_RELEASE_ASSERT((aVar).get_PTextureParent(), "NULL actor value passed to non-nullable param");
9154
0
                WriteIPDLParam(aMsg, aActor, (aVar).get_PTextureParent());
9155
0
                // Sentinel = 'TPTextureParent'
9156
0
                (aMsg)->WriteSentinel(896696938);
9157
0
            }
9158
0
            else {
9159
0
                (aActor)->FatalError("wrong side!");
9160
0
            }
9161
0
            return;
9162
0
        }
9163
0
    case union__::TPTextureChild:
9164
0
        {
9165
0
            if ((mozilla::ipc::ChildSide) == ((aActor)->GetSide())) {
9166
0
                MOZ_RELEASE_ASSERT((aVar).get_PTextureChild(), "NULL actor value passed to non-nullable param");
9167
0
                WriteIPDLParam(aMsg, aActor, (aVar).get_PTextureChild());
9168
0
                // Sentinel = 'TPTextureChild'
9169
0
                (aMsg)->WriteSentinel(3251900187);
9170
0
            }
9171
0
            else {
9172
0
                (aActor)->FatalError("wrong side!");
9173
0
            }
9174
0
            return;
9175
0
        }
9176
0
    case union__::Tnull_t:
9177
0
        {
9178
0
            WriteIPDLParam(aMsg, aActor, (aVar).get_null_t());
9179
0
            // Sentinel = 'Tnull_t'
9180
0
            (aMsg)->WriteSentinel(3731137201);
9181
0
            return;
9182
0
        }
9183
0
    default:
9184
0
        {
9185
0
            (aActor)->FatalError("unknown union type");
9186
0
            return;
9187
0
        }
9188
0
    }
9189
0
}
9190
9191
auto IPDLParamTraits<mozilla::layers::MaybeTexture>::Read(
9192
        const IPC::Message* aMsg,
9193
        PickleIterator* aIter,
9194
        mozilla::ipc::IProtocol* aActor,
9195
        paramType* aVar) -> bool
9196
0
{
9197
0
    typedef mozilla::layers::MaybeTexture union__;
9198
0
    int type;
9199
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
9200
0
        (aActor)->FatalError("Error deserializing type of union MaybeTexture");
9201
0
        return false;
9202
0
    }
9203
0
    // Sentinel = 'MaybeTexture'
9204
0
    if ((!((aMsg)->ReadSentinel(aIter, 264725529)))) {
9205
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union MaybeTexture");
9206
0
        return false;
9207
0
    }
9208
0
9209
0
    switch (type) {
9210
0
    case union__::TPTextureParent:
9211
0
        {
9212
0
            if ((mozilla::ipc::ParentSide) == ((aActor)->GetSide())) {
9213
0
                {
9214
0
                    (aActor)->FatalError("wrong side!");
9215
0
                    return false;
9216
0
                }
9217
0
            }
9218
0
            mozilla::layers::PTextureChild* tmp = nullptr;
9219
0
            (*(aVar)) = tmp;
9220
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_PTextureChild())))))) {
9221
0
                (aActor)->FatalError("Error deserializing variant TPTextureParent of union MaybeTexture");
9222
0
                return false;
9223
0
            }
9224
0
            if ((!((*((&((aVar)->get_PTextureChild()))))))) {
9225
0
                (aActor)->FatalError("Error deserializing variant TPTextureParent of union MaybeTexture");
9226
0
                return false;
9227
0
            }
9228
0
            // Sentinel = 'TPTextureParent'
9229
0
            if ((!((aMsg)->ReadSentinel(aIter, 896696938)))) {
9230
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TPTextureParent of union MaybeTexture");
9231
0
                return false;
9232
0
            }
9233
0
            return true;
9234
0
        }
9235
0
    case union__::TPTextureChild:
9236
0
        {
9237
0
            if ((mozilla::ipc::ChildSide) == ((aActor)->GetSide())) {
9238
0
                {
9239
0
                    (aActor)->FatalError("wrong side!");
9240
0
                    return false;
9241
0
                }
9242
0
            }
9243
0
            mozilla::layers::PTextureParent* tmp = nullptr;
9244
0
            (*(aVar)) = tmp;
9245
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_PTextureParent())))))) {
9246
0
                (aActor)->FatalError("Error deserializing variant TPTextureChild of union MaybeTexture");
9247
0
                return false;
9248
0
            }
9249
0
            if ((!((*((&((aVar)->get_PTextureParent()))))))) {
9250
0
                (aActor)->FatalError("Error deserializing variant TPTextureChild of union MaybeTexture");
9251
0
                return false;
9252
0
            }
9253
0
            // Sentinel = 'TPTextureChild'
9254
0
            if ((!((aMsg)->ReadSentinel(aIter, 3251900187)))) {
9255
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TPTextureChild of union MaybeTexture");
9256
0
                return false;
9257
0
            }
9258
0
            return true;
9259
0
        }
9260
0
    case union__::Tnull_t:
9261
0
        {
9262
0
            mozilla::null_t tmp = mozilla::null_t();
9263
0
            (*(aVar)) = tmp;
9264
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_null_t())))))) {
9265
0
                (aActor)->FatalError("Error deserializing variant Tnull_t of union MaybeTexture");
9266
0
                return false;
9267
0
            }
9268
0
            // Sentinel = 'Tnull_t'
9269
0
            if ((!((aMsg)->ReadSentinel(aIter, 3731137201)))) {
9270
0
                mozilla::ipc::SentinelReadError("Error deserializing variant Tnull_t of union MaybeTexture");
9271
0
                return false;
9272
0
            }
9273
0
            return true;
9274
0
        }
9275
0
    default:
9276
0
        {
9277
0
            (aActor)->FatalError("unknown union type");
9278
0
            return false;
9279
0
        }
9280
0
    }
9281
0
}
9282
9283
} // namespace ipc
9284
} // namespace mozilla
9285
9286
//-----------------------------------------------------------------------------
9287
// Method definitions for the IPDL type |struct TexturedTileDescriptor|
9288
//
9289
namespace mozilla {
9290
namespace layers {
9291
auto TexturedTileDescriptor::operator==(const TexturedTileDescriptor& _o) const -> bool
9292
0
{
9293
0
    if ((!((textureParent()) == ((_o).textureParent())))) {
9294
0
        return false;
9295
0
    }
9296
0
    if ((!((textureChild()) == ((_o).textureChild())))) {
9297
0
        return false;
9298
0
    }
9299
0
    if ((!((textureOnWhite()) == ((_o).textureOnWhite())))) {
9300
0
        return false;
9301
0
    }
9302
0
    if ((!((updateRect()) == ((_o).updateRect())))) {
9303
0
        return false;
9304
0
    }
9305
0
    if ((!((readLocked()) == ((_o).readLocked())))) {
9306
0
        return false;
9307
0
    }
9308
0
    if ((!((readLockedOnWhite()) == ((_o).readLockedOnWhite())))) {
9309
0
        return false;
9310
0
    }
9311
0
    if ((!((wasPlaceholder()) == ((_o).wasPlaceholder())))) {
9312
0
        return false;
9313
0
    }
9314
0
    return true;
9315
0
}
9316
9317
auto TexturedTileDescriptor::operator!=(const TexturedTileDescriptor& _o) const -> bool
9318
0
{
9319
0
    return (!(operator==(_o)));
9320
0
}
9321
9322
} // namespace layers
9323
} // namespace mozilla
9324
9325
namespace mozilla {
9326
namespace ipc {
9327
auto IPDLParamTraits<mozilla::layers::TexturedTileDescriptor>::Write(
9328
        IPC::Message* aMsg,
9329
        mozilla::ipc::IProtocol* aActor,
9330
        const paramType& aVar) -> void
9331
0
{
9332
0
    if ((mozilla::ipc::ParentSide) == ((aActor)->GetSide())) {
9333
0
        MOZ_RELEASE_ASSERT((aVar).textureParent(), "NULL actor value passed to non-nullable param");
9334
0
        WriteIPDLParam(aMsg, aActor, (aVar).textureParent());
9335
0
        // Sentinel = 'texture'
9336
0
        (aMsg)->WriteSentinel(3654462510);
9337
0
    }
9338
0
    if ((mozilla::ipc::ChildSide) == ((aActor)->GetSide())) {
9339
0
        MOZ_RELEASE_ASSERT((aVar).textureChild(), "NULL actor value passed to non-nullable param");
9340
0
        WriteIPDLParam(aMsg, aActor, (aVar).textureChild());
9341
0
        // Sentinel = 'texture'
9342
0
        (aMsg)->WriteSentinel(3654462510);
9343
0
    }
9344
0
    WriteIPDLParam(aMsg, aActor, (aVar).textureOnWhite());
9345
0
    // Sentinel = 'textureOnWhite'
9346
0
    (aMsg)->WriteSentinel(4123373327);
9347
0
    WriteIPDLParam(aMsg, aActor, (aVar).updateRect());
9348
0
    // Sentinel = 'updateRect'
9349
0
    (aMsg)->WriteSentinel(655450235);
9350
0
    WriteIPDLParam(aMsg, aActor, (aVar).readLocked());
9351
0
    // Sentinel = 'readLocked'
9352
0
    (aMsg)->WriteSentinel(1975024740);
9353
0
    WriteIPDLParam(aMsg, aActor, (aVar).readLockedOnWhite());
9354
0
    // Sentinel = 'readLockedOnWhite'
9355
0
    (aMsg)->WriteSentinel(3410832245);
9356
0
    WriteIPDLParam(aMsg, aActor, (aVar).wasPlaceholder());
9357
0
    // Sentinel = 'wasPlaceholder'
9358
0
    (aMsg)->WriteSentinel(3801375384);
9359
0
}
9360
9361
auto IPDLParamTraits<mozilla::layers::TexturedTileDescriptor>::Read(
9362
        const IPC::Message* aMsg,
9363
        PickleIterator* aIter,
9364
        mozilla::ipc::IProtocol* aActor,
9365
        paramType* aVar) -> bool
9366
0
{
9367
0
    if ((mozilla::ipc::ParentSide) == ((aActor)->GetSide())) {
9368
0
        if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->textureParent())))))) {
9369
0
            (aActor)->FatalError("Error deserializing 'textureParent' (PTexture) member of 'TexturedTileDescriptor'");
9370
0
            return false;
9371
0
        }
9372
0
        if ((!((*((&((aVar)->textureParent()))))))) {
9373
0
            (aActor)->FatalError("Error deserializing 'textureParent' (PTexture) member of 'TexturedTileDescriptor'");
9374
0
            return false;
9375
0
        }
9376
0
        // Sentinel = 'texture'
9377
0
        if ((!((aMsg)->ReadSentinel(aIter, 3654462510)))) {
9378
0
            mozilla::ipc::SentinelReadError("Error deserializing 'textureParent' (PTexture) member of 'TexturedTileDescriptor'");
9379
0
            return false;
9380
0
        }
9381
0
    }
9382
0
    if ((mozilla::ipc::ChildSide) == ((aActor)->GetSide())) {
9383
0
        if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->textureChild())))))) {
9384
0
            (aActor)->FatalError("Error deserializing 'textureChild' (PTexture) member of 'TexturedTileDescriptor'");
9385
0
            return false;
9386
0
        }
9387
0
        if ((!((*((&((aVar)->textureChild()))))))) {
9388
0
            (aActor)->FatalError("Error deserializing 'textureChild' (PTexture) member of 'TexturedTileDescriptor'");
9389
0
            return false;
9390
0
        }
9391
0
        // Sentinel = 'texture'
9392
0
        if ((!((aMsg)->ReadSentinel(aIter, 3654462510)))) {
9393
0
            mozilla::ipc::SentinelReadError("Error deserializing 'textureChild' (PTexture) member of 'TexturedTileDescriptor'");
9394
0
            return false;
9395
0
        }
9396
0
    }
9397
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->textureOnWhite())))))) {
9398
0
        (aActor)->FatalError("Error deserializing 'textureOnWhite' (MaybeTexture) member of 'TexturedTileDescriptor'");
9399
0
        return false;
9400
0
    }
9401
0
    // Sentinel = 'textureOnWhite'
9402
0
    if ((!((aMsg)->ReadSentinel(aIter, 4123373327)))) {
9403
0
        mozilla::ipc::SentinelReadError("Error deserializing 'textureOnWhite' (MaybeTexture) member of 'TexturedTileDescriptor'");
9404
0
        return false;
9405
0
    }
9406
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->updateRect())))))) {
9407
0
        (aActor)->FatalError("Error deserializing 'updateRect' (IntRect) member of 'TexturedTileDescriptor'");
9408
0
        return false;
9409
0
    }
9410
0
    // Sentinel = 'updateRect'
9411
0
    if ((!((aMsg)->ReadSentinel(aIter, 655450235)))) {
9412
0
        mozilla::ipc::SentinelReadError("Error deserializing 'updateRect' (IntRect) member of 'TexturedTileDescriptor'");
9413
0
        return false;
9414
0
    }
9415
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->readLocked())))))) {
9416
0
        (aActor)->FatalError("Error deserializing 'readLocked' (bool) member of 'TexturedTileDescriptor'");
9417
0
        return false;
9418
0
    }
9419
0
    // Sentinel = 'readLocked'
9420
0
    if ((!((aMsg)->ReadSentinel(aIter, 1975024740)))) {
9421
0
        mozilla::ipc::SentinelReadError("Error deserializing 'readLocked' (bool) member of 'TexturedTileDescriptor'");
9422
0
        return false;
9423
0
    }
9424
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->readLockedOnWhite())))))) {
9425
0
        (aActor)->FatalError("Error deserializing 'readLockedOnWhite' (bool) member of 'TexturedTileDescriptor'");
9426
0
        return false;
9427
0
    }
9428
0
    // Sentinel = 'readLockedOnWhite'
9429
0
    if ((!((aMsg)->ReadSentinel(aIter, 3410832245)))) {
9430
0
        mozilla::ipc::SentinelReadError("Error deserializing 'readLockedOnWhite' (bool) member of 'TexturedTileDescriptor'");
9431
0
        return false;
9432
0
    }
9433
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->wasPlaceholder())))))) {
9434
0
        (aActor)->FatalError("Error deserializing 'wasPlaceholder' (bool) member of 'TexturedTileDescriptor'");
9435
0
        return false;
9436
0
    }
9437
0
    // Sentinel = 'wasPlaceholder'
9438
0
    if ((!((aMsg)->ReadSentinel(aIter, 3801375384)))) {
9439
0
        mozilla::ipc::SentinelReadError("Error deserializing 'wasPlaceholder' (bool) member of 'TexturedTileDescriptor'");
9440
0
        return false;
9441
0
    }
9442
0
    return true;
9443
0
}
9444
9445
} // namespace ipc
9446
} // namespace mozilla
9447
9448
//-----------------------------------------------------------------------------
9449
// Method definitions for the IPDL type |struct PlaceholderTileDescriptor|
9450
//
9451
namespace mozilla {
9452
namespace layers {
9453
auto PlaceholderTileDescriptor::operator==(const PlaceholderTileDescriptor& _o) const -> bool
9454
0
{
9455
0
    return true;
9456
0
}
9457
9458
auto PlaceholderTileDescriptor::operator!=(const PlaceholderTileDescriptor& _o) const -> bool
9459
0
{
9460
0
    return (!(operator==(_o)));
9461
0
}
9462
9463
} // namespace layers
9464
} // namespace mozilla
9465
9466
namespace mozilla {
9467
namespace ipc {
9468
auto IPDLParamTraits<mozilla::layers::PlaceholderTileDescriptor>::Write(
9469
        IPC::Message* aMsg,
9470
        mozilla::ipc::IProtocol* aActor,
9471
        const paramType& aVar) -> void
9472
0
{
9473
0
}
9474
9475
auto IPDLParamTraits<mozilla::layers::PlaceholderTileDescriptor>::Read(
9476
        const IPC::Message* aMsg,
9477
        PickleIterator* aIter,
9478
        mozilla::ipc::IProtocol* aActor,
9479
        paramType* aVar) -> bool
9480
0
{
9481
0
    return true;
9482
0
}
9483
9484
} // namespace ipc
9485
} // namespace mozilla
9486
9487
//-----------------------------------------------------------------------------
9488
// Method definitions for the IPDL type |union TileDescriptor|
9489
//
9490
namespace mozilla {
9491
namespace layers {
9492
auto TileDescriptor::MaybeDestroy(Type aNewType) -> bool
9493
0
{
9494
0
    if ((mType) == (T__None)) {
9495
0
        return true;
9496
0
    }
9497
0
    if ((mType) == (aNewType)) {
9498
0
        return false;
9499
0
    }
9500
0
    switch (mType) {
9501
0
    case TTexturedTileDescriptor:
9502
0
        {
9503
0
            (ptr_TexturedTileDescriptor())->~TexturedTileDescriptor__tdef();
9504
0
            break;
9505
0
        }
9506
0
    case TPlaceholderTileDescriptor:
9507
0
        {
9508
0
            (ptr_PlaceholderTileDescriptor())->~PlaceholderTileDescriptor__tdef();
9509
0
            break;
9510
0
        }
9511
0
    default:
9512
0
        {
9513
0
            mozilla::ipc::LogicError("not reached");
9514
0
            break;
9515
0
        }
9516
0
    }
9517
0
    return true;
9518
0
}
9519
9520
MOZ_IMPLICIT TileDescriptor::TileDescriptor(const TexturedTileDescriptor& aOther)
9521
0
{
9522
0
    new (mozilla::KnownNotNull, ptr_TexturedTileDescriptor()) TexturedTileDescriptor(aOther);
9523
0
    mType = TTexturedTileDescriptor;
9524
0
}
9525
9526
MOZ_IMPLICIT TileDescriptor::TileDescriptor(TexturedTileDescriptor&& aOther)
9527
0
{
9528
0
    new (mozilla::KnownNotNull, ptr_TexturedTileDescriptor()) TexturedTileDescriptor(std::move(aOther));
9529
0
    mType = TTexturedTileDescriptor;
9530
0
}
9531
9532
MOZ_IMPLICIT TileDescriptor::TileDescriptor(const PlaceholderTileDescriptor& aOther)
9533
0
{
9534
0
    new (mozilla::KnownNotNull, ptr_PlaceholderTileDescriptor()) PlaceholderTileDescriptor(aOther);
9535
0
    mType = TPlaceholderTileDescriptor;
9536
0
}
9537
9538
MOZ_IMPLICIT TileDescriptor::TileDescriptor(PlaceholderTileDescriptor&& aOther)
9539
0
{
9540
0
    new (mozilla::KnownNotNull, ptr_PlaceholderTileDescriptor()) PlaceholderTileDescriptor(std::move(aOther));
9541
0
    mType = TPlaceholderTileDescriptor;
9542
0
}
9543
9544
MOZ_IMPLICIT TileDescriptor::TileDescriptor(const TileDescriptor& aOther)
9545
0
{
9546
0
    (aOther).AssertSanity();
9547
0
    switch ((aOther).type()) {
9548
0
    case TTexturedTileDescriptor:
9549
0
        {
9550
0
            new (mozilla::KnownNotNull, ptr_TexturedTileDescriptor()) TexturedTileDescriptor((aOther).get_TexturedTileDescriptor());
9551
0
            break;
9552
0
        }
9553
0
    case TPlaceholderTileDescriptor:
9554
0
        {
9555
0
            new (mozilla::KnownNotNull, ptr_PlaceholderTileDescriptor()) PlaceholderTileDescriptor((aOther).get_PlaceholderTileDescriptor());
9556
0
            break;
9557
0
        }
9558
0
    case T__None:
9559
0
        {
9560
0
            break;
9561
0
        }
9562
0
    default:
9563
0
        {
9564
0
            mozilla::ipc::LogicError("unreached");
9565
0
            return;
9566
0
        }
9567
0
    }
9568
0
    mType = (aOther).type();
9569
0
}
9570
9571
MOZ_IMPLICIT TileDescriptor::TileDescriptor(TileDescriptor&& aOther)
9572
0
{
9573
0
    (aOther).AssertSanity();
9574
0
    Type t = (aOther).type();
9575
0
    switch (t) {
9576
0
    case TTexturedTileDescriptor:
9577
0
        {
9578
0
            new (mozilla::KnownNotNull, ptr_TexturedTileDescriptor()) TexturedTileDescriptor(std::move((aOther).get_TexturedTileDescriptor()));
9579
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
9580
0
            break;
9581
0
        }
9582
0
    case TPlaceholderTileDescriptor:
9583
0
        {
9584
0
            new (mozilla::KnownNotNull, ptr_PlaceholderTileDescriptor()) PlaceholderTileDescriptor(std::move((aOther).get_PlaceholderTileDescriptor()));
9585
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
9586
0
            break;
9587
0
        }
9588
0
    case T__None:
9589
0
        {
9590
0
            break;
9591
0
        }
9592
0
    default:
9593
0
        {
9594
0
            mozilla::ipc::LogicError("unreached");
9595
0
            return;
9596
0
        }
9597
0
    }
9598
0
    (aOther).mType = T__None;
9599
0
    mType = t;
9600
0
}
9601
9602
TileDescriptor::~TileDescriptor()
9603
0
{
9604
0
    static_cast<void>(MaybeDestroy(T__None));
9605
0
}
9606
9607
auto TileDescriptor::operator=(const TexturedTileDescriptor& aRhs) -> TileDescriptor&
9608
0
{
9609
0
    if (MaybeDestroy(TTexturedTileDescriptor)) {
9610
0
        new (mozilla::KnownNotNull, ptr_TexturedTileDescriptor()) TexturedTileDescriptor;
9611
0
    }
9612
0
    (*(ptr_TexturedTileDescriptor())) = aRhs;
9613
0
    mType = TTexturedTileDescriptor;
9614
0
    return (*(this));
9615
0
}
9616
9617
auto TileDescriptor::operator=(TexturedTileDescriptor&& aRhs) -> TileDescriptor&
9618
0
{
9619
0
    if (MaybeDestroy(TTexturedTileDescriptor)) {
9620
0
        new (mozilla::KnownNotNull, ptr_TexturedTileDescriptor()) TexturedTileDescriptor;
9621
0
    }
9622
0
    (*(ptr_TexturedTileDescriptor())) = std::move(aRhs);
9623
0
    mType = TTexturedTileDescriptor;
9624
0
    return (*(this));
9625
0
}
9626
9627
auto TileDescriptor::operator=(const PlaceholderTileDescriptor& aRhs) -> TileDescriptor&
9628
0
{
9629
0
    if (MaybeDestroy(TPlaceholderTileDescriptor)) {
9630
0
        new (mozilla::KnownNotNull, ptr_PlaceholderTileDescriptor()) PlaceholderTileDescriptor;
9631
0
    }
9632
0
    (*(ptr_PlaceholderTileDescriptor())) = aRhs;
9633
0
    mType = TPlaceholderTileDescriptor;
9634
0
    return (*(this));
9635
0
}
9636
9637
auto TileDescriptor::operator=(PlaceholderTileDescriptor&& aRhs) -> TileDescriptor&
9638
0
{
9639
0
    if (MaybeDestroy(TPlaceholderTileDescriptor)) {
9640
0
        new (mozilla::KnownNotNull, ptr_PlaceholderTileDescriptor()) PlaceholderTileDescriptor;
9641
0
    }
9642
0
    (*(ptr_PlaceholderTileDescriptor())) = std::move(aRhs);
9643
0
    mType = TPlaceholderTileDescriptor;
9644
0
    return (*(this));
9645
0
}
9646
9647
auto TileDescriptor::operator=(const TileDescriptor& aRhs) -> TileDescriptor&
9648
0
{
9649
0
    (aRhs).AssertSanity();
9650
0
    Type t = (aRhs).type();
9651
0
    switch (t) {
9652
0
    case TTexturedTileDescriptor:
9653
0
        {
9654
0
            if (MaybeDestroy(t)) {
9655
0
                new (mozilla::KnownNotNull, ptr_TexturedTileDescriptor()) TexturedTileDescriptor;
9656
0
            }
9657
0
            (*(ptr_TexturedTileDescriptor())) = (aRhs).get_TexturedTileDescriptor();
9658
0
            break;
9659
0
        }
9660
0
    case TPlaceholderTileDescriptor:
9661
0
        {
9662
0
            if (MaybeDestroy(t)) {
9663
0
                new (mozilla::KnownNotNull, ptr_PlaceholderTileDescriptor()) PlaceholderTileDescriptor;
9664
0
            }
9665
0
            (*(ptr_PlaceholderTileDescriptor())) = (aRhs).get_PlaceholderTileDescriptor();
9666
0
            break;
9667
0
        }
9668
0
    case T__None:
9669
0
        {
9670
0
            static_cast<void>(MaybeDestroy(t));
9671
0
            break;
9672
0
        }
9673
0
    default:
9674
0
        {
9675
0
            mozilla::ipc::LogicError("unreached");
9676
0
            break;
9677
0
        }
9678
0
    }
9679
0
    mType = t;
9680
0
    return (*(this));
9681
0
}
9682
9683
auto TileDescriptor::operator=(TileDescriptor&& aRhs) -> TileDescriptor&
9684
0
{
9685
0
    (aRhs).AssertSanity();
9686
0
    Type t = (aRhs).type();
9687
0
    switch (t) {
9688
0
    case TTexturedTileDescriptor:
9689
0
        {
9690
0
            if (MaybeDestroy(t)) {
9691
0
                new (mozilla::KnownNotNull, ptr_TexturedTileDescriptor()) TexturedTileDescriptor;
9692
0
            }
9693
0
            (*(ptr_TexturedTileDescriptor())) = std::move((aRhs).get_TexturedTileDescriptor());
9694
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
9695
0
            break;
9696
0
        }
9697
0
    case TPlaceholderTileDescriptor:
9698
0
        {
9699
0
            if (MaybeDestroy(t)) {
9700
0
                new (mozilla::KnownNotNull, ptr_PlaceholderTileDescriptor()) PlaceholderTileDescriptor;
9701
0
            }
9702
0
            (*(ptr_PlaceholderTileDescriptor())) = std::move((aRhs).get_PlaceholderTileDescriptor());
9703
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
9704
0
            break;
9705
0
        }
9706
0
    case T__None:
9707
0
        {
9708
0
            static_cast<void>(MaybeDestroy(t));
9709
0
            break;
9710
0
        }
9711
0
    default:
9712
0
        {
9713
0
            mozilla::ipc::LogicError("unreached");
9714
0
            break;
9715
0
        }
9716
0
    }
9717
0
    (aRhs).mType = T__None;
9718
0
    mType = t;
9719
0
    return (*(this));
9720
0
}
9721
9722
auto TileDescriptor::operator==(const TexturedTileDescriptor& aRhs) const -> bool
9723
0
{
9724
0
    return (get_TexturedTileDescriptor()) == (aRhs);
9725
0
}
9726
9727
auto TileDescriptor::operator==(const PlaceholderTileDescriptor& aRhs) const -> bool
9728
0
{
9729
0
    return (get_PlaceholderTileDescriptor()) == (aRhs);
9730
0
}
9731
9732
auto TileDescriptor::operator==(const TileDescriptor& aRhs) const -> bool
9733
0
{
9734
0
    if ((type()) != ((aRhs).type())) {
9735
0
        return false;
9736
0
    }
9737
0
9738
0
    switch (type()) {
9739
0
    case TTexturedTileDescriptor:
9740
0
        {
9741
0
            return (get_TexturedTileDescriptor()) == ((aRhs).get_TexturedTileDescriptor());
9742
0
        }
9743
0
    case TPlaceholderTileDescriptor:
9744
0
        {
9745
0
            return (get_PlaceholderTileDescriptor()) == ((aRhs).get_PlaceholderTileDescriptor());
9746
0
        }
9747
0
    default:
9748
0
        {
9749
0
            mozilla::ipc::LogicError("unreached");
9750
0
            return false;
9751
0
        }
9752
0
    }
9753
0
}
9754
9755
auto TileDescriptor::get(TexturedTileDescriptor* aOutValue) const -> void
9756
0
{
9757
0
    (*(aOutValue)) = get_TexturedTileDescriptor();
9758
0
}
9759
9760
auto TileDescriptor::get(PlaceholderTileDescriptor* aOutValue) const -> void
9761
0
{
9762
0
    (*(aOutValue)) = get_PlaceholderTileDescriptor();
9763
0
}
9764
9765
} // namespace layers
9766
} // namespace mozilla
9767
9768
namespace mozilla {
9769
namespace ipc {
9770
auto IPDLParamTraits<mozilla::layers::TileDescriptor>::Write(
9771
        IPC::Message* aMsg,
9772
        mozilla::ipc::IProtocol* aActor,
9773
        const paramType& aVar) -> void
9774
{
9775
    typedef mozilla::layers::TileDescriptor union__;
9776
    int type;
9777
    type = (aVar).type();
9778
    WriteIPDLParam(aMsg, aActor, type);
9779
    // Sentinel = 'TileDescriptor'
9780
    (aMsg)->WriteSentinel(1522454921);
9781
9782
    switch (type) {
9783
    case union__::TTexturedTileDescriptor:
9784
        {
9785
            WriteIPDLParam(aMsg, aActor, (aVar).get_TexturedTileDescriptor());
9786
            // Sentinel = 'TTexturedTileDescriptor'
9787
            (aMsg)->WriteSentinel(2237132903);
9788
            return;
9789
        }
9790
    case union__::TPlaceholderTileDescriptor:
9791
        {
9792
            WriteIPDLParam(aMsg, aActor, (aVar).get_PlaceholderTileDescriptor());
9793
            // Sentinel = 'TPlaceholderTileDescriptor'
9794
            (aMsg)->WriteSentinel(1643451770);
9795
            return;
9796
        }
9797
    default:
9798
        {
9799
            (aActor)->FatalError("unknown union type");
9800
            return;
9801
        }
9802
    }
9803
}
9804
9805
auto IPDLParamTraits<mozilla::layers::TileDescriptor>::Read(
9806
        const IPC::Message* aMsg,
9807
        PickleIterator* aIter,
9808
        mozilla::ipc::IProtocol* aActor,
9809
        paramType* aVar) -> bool
9810
0
{
9811
0
    typedef mozilla::layers::TileDescriptor union__;
9812
0
    int type;
9813
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
9814
0
        (aActor)->FatalError("Error deserializing type of union TileDescriptor");
9815
0
        return false;
9816
0
    }
9817
0
    // Sentinel = 'TileDescriptor'
9818
0
    if ((!((aMsg)->ReadSentinel(aIter, 1522454921)))) {
9819
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union TileDescriptor");
9820
0
        return false;
9821
0
    }
9822
0
9823
0
    switch (type) {
9824
0
    case union__::TTexturedTileDescriptor:
9825
0
        {
9826
0
            mozilla::layers::TexturedTileDescriptor tmp = mozilla::layers::TexturedTileDescriptor();
9827
0
            (*(aVar)) = tmp;
9828
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_TexturedTileDescriptor())))))) {
9829
0
                (aActor)->FatalError("Error deserializing variant TTexturedTileDescriptor of union TileDescriptor");
9830
0
                return false;
9831
0
            }
9832
0
            // Sentinel = 'TTexturedTileDescriptor'
9833
0
            if ((!((aMsg)->ReadSentinel(aIter, 2237132903)))) {
9834
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TTexturedTileDescriptor of union TileDescriptor");
9835
0
                return false;
9836
0
            }
9837
0
            return true;
9838
0
        }
9839
0
    case union__::TPlaceholderTileDescriptor:
9840
0
        {
9841
0
            mozilla::layers::PlaceholderTileDescriptor tmp = mozilla::layers::PlaceholderTileDescriptor();
9842
0
            (*(aVar)) = tmp;
9843
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_PlaceholderTileDescriptor())))))) {
9844
0
                (aActor)->FatalError("Error deserializing variant TPlaceholderTileDescriptor of union TileDescriptor");
9845
0
                return false;
9846
0
            }
9847
0
            // Sentinel = 'TPlaceholderTileDescriptor'
9848
0
            if ((!((aMsg)->ReadSentinel(aIter, 1643451770)))) {
9849
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TPlaceholderTileDescriptor of union TileDescriptor");
9850
0
                return false;
9851
0
            }
9852
0
            return true;
9853
0
        }
9854
0
    default:
9855
0
        {
9856
0
            (aActor)->FatalError("unknown union type");
9857
0
            return false;
9858
0
        }
9859
0
    }
9860
0
}
9861
9862
} // namespace ipc
9863
} // namespace mozilla
9864
9865
//-----------------------------------------------------------------------------
9866
// Method definitions for the IPDL type |struct SurfaceDescriptorTiles|
9867
//
9868
namespace mozilla {
9869
namespace layers {
9870
auto SurfaceDescriptorTiles::operator==(const SurfaceDescriptorTiles& _o) const -> bool
9871
0
{
9872
0
    if ((!((validRegion()) == ((_o).validRegion())))) {
9873
0
        return false;
9874
0
    }
9875
0
    if ((!((tiles()) == ((_o).tiles())))) {
9876
0
        return false;
9877
0
    }
9878
0
    if ((!((tileOrigin()) == ((_o).tileOrigin())))) {
9879
0
        return false;
9880
0
    }
9881
0
    if ((!((tileSize()) == ((_o).tileSize())))) {
9882
0
        return false;
9883
0
    }
9884
0
    if ((!((firstTileX()) == ((_o).firstTileX())))) {
9885
0
        return false;
9886
0
    }
9887
0
    if ((!((firstTileY()) == ((_o).firstTileY())))) {
9888
0
        return false;
9889
0
    }
9890
0
    if ((!((retainedWidth()) == ((_o).retainedWidth())))) {
9891
0
        return false;
9892
0
    }
9893
0
    if ((!((retainedHeight()) == ((_o).retainedHeight())))) {
9894
0
        return false;
9895
0
    }
9896
0
    if ((!((resolution()) == ((_o).resolution())))) {
9897
0
        return false;
9898
0
    }
9899
0
    if ((!((frameXResolution()) == ((_o).frameXResolution())))) {
9900
0
        return false;
9901
0
    }
9902
0
    if ((!((frameYResolution()) == ((_o).frameYResolution())))) {
9903
0
        return false;
9904
0
    }
9905
0
    if ((!((isProgressive()) == ((_o).isProgressive())))) {
9906
0
        return false;
9907
0
    }
9908
0
    return true;
9909
0
}
9910
9911
auto SurfaceDescriptorTiles::operator!=(const SurfaceDescriptorTiles& _o) const -> bool
9912
0
{
9913
0
    return (!(operator==(_o)));
9914
0
}
9915
9916
} // namespace layers
9917
} // namespace mozilla
9918
9919
namespace mozilla {
9920
namespace ipc {
9921
auto IPDLParamTraits<mozilla::layers::SurfaceDescriptorTiles>::Write(
9922
        IPC::Message* aMsg,
9923
        mozilla::ipc::IProtocol* aActor,
9924
        const paramType& aVar) -> void
9925
0
{
9926
0
    WriteIPDLParam(aMsg, aActor, (aVar).validRegion());
9927
0
    // Sentinel = 'validRegion'
9928
0
    (aMsg)->WriteSentinel(1063106721);
9929
0
    WriteIPDLParam(aMsg, aActor, (aVar).tiles());
9930
0
    // Sentinel = 'tiles'
9931
0
    (aMsg)->WriteSentinel(2787066946);
9932
0
    WriteIPDLParam(aMsg, aActor, (aVar).tileOrigin());
9933
0
    // Sentinel = 'tileOrigin'
9934
0
    (aMsg)->WriteSentinel(41129744);
9935
0
    WriteIPDLParam(aMsg, aActor, (aVar).tileSize());
9936
0
    // Sentinel = 'tileSize'
9937
0
    (aMsg)->WriteSentinel(2603105767);
9938
0
    WriteIPDLParam(aMsg, aActor, (aVar).firstTileX());
9939
0
    // Sentinel = 'firstTileX'
9940
0
    (aMsg)->WriteSentinel(1961114936);
9941
0
    WriteIPDLParam(aMsg, aActor, (aVar).firstTileY());
9942
0
    // Sentinel = 'firstTileY'
9943
0
    (aMsg)->WriteSentinel(1961114937);
9944
0
    WriteIPDLParam(aMsg, aActor, (aVar).retainedWidth());
9945
0
    // Sentinel = 'retainedWidth'
9946
0
    (aMsg)->WriteSentinel(2490297853);
9947
0
    WriteIPDLParam(aMsg, aActor, (aVar).retainedHeight());
9948
0
    // Sentinel = 'retainedHeight'
9949
0
    (aMsg)->WriteSentinel(3230772307);
9950
0
    WriteIPDLParam(aMsg, aActor, (aVar).resolution());
9951
0
    // Sentinel = 'resolution'
9952
0
    (aMsg)->WriteSentinel(4077768700);
9953
0
    WriteIPDLParam(aMsg, aActor, (aVar).frameXResolution());
9954
0
    // Sentinel = 'frameXResolution'
9955
0
    (aMsg)->WriteSentinel(876167199);
9956
0
    WriteIPDLParam(aMsg, aActor, (aVar).frameYResolution());
9957
0
    // Sentinel = 'frameYResolution'
9958
0
    (aMsg)->WriteSentinel(2856703858);
9959
0
    WriteIPDLParam(aMsg, aActor, (aVar).isProgressive());
9960
0
    // Sentinel = 'isProgressive'
9961
0
    (aMsg)->WriteSentinel(1291560808);
9962
0
}
9963
9964
auto IPDLParamTraits<mozilla::layers::SurfaceDescriptorTiles>::Read(
9965
        const IPC::Message* aMsg,
9966
        PickleIterator* aIter,
9967
        mozilla::ipc::IProtocol* aActor,
9968
        paramType* aVar) -> bool
9969
0
{
9970
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->validRegion())))))) {
9971
0
        (aActor)->FatalError("Error deserializing 'validRegion' (nsIntRegion) member of 'SurfaceDescriptorTiles'");
9972
0
        return false;
9973
0
    }
9974
0
    // Sentinel = 'validRegion'
9975
0
    if ((!((aMsg)->ReadSentinel(aIter, 1063106721)))) {
9976
0
        mozilla::ipc::SentinelReadError("Error deserializing 'validRegion' (nsIntRegion) member of 'SurfaceDescriptorTiles'");
9977
0
        return false;
9978
0
    }
9979
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->tiles())))))) {
9980
0
        (aActor)->FatalError("Error deserializing 'tiles' (TileDescriptor[]) member of 'SurfaceDescriptorTiles'");
9981
0
        return false;
9982
0
    }
9983
0
    // Sentinel = 'tiles'
9984
0
    if ((!((aMsg)->ReadSentinel(aIter, 2787066946)))) {
9985
0
        mozilla::ipc::SentinelReadError("Error deserializing 'tiles' (TileDescriptor[]) member of 'SurfaceDescriptorTiles'");
9986
0
        return false;
9987
0
    }
9988
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->tileOrigin())))))) {
9989
0
        (aActor)->FatalError("Error deserializing 'tileOrigin' (IntPoint) member of 'SurfaceDescriptorTiles'");
9990
0
        return false;
9991
0
    }
9992
0
    // Sentinel = 'tileOrigin'
9993
0
    if ((!((aMsg)->ReadSentinel(aIter, 41129744)))) {
9994
0
        mozilla::ipc::SentinelReadError("Error deserializing 'tileOrigin' (IntPoint) member of 'SurfaceDescriptorTiles'");
9995
0
        return false;
9996
0
    }
9997
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->tileSize())))))) {
9998
0
        (aActor)->FatalError("Error deserializing 'tileSize' (IntSize) member of 'SurfaceDescriptorTiles'");
9999
0
        return false;
10000
0
    }
10001
0
    // Sentinel = 'tileSize'
10002
0
    if ((!((aMsg)->ReadSentinel(aIter, 2603105767)))) {
10003
0
        mozilla::ipc::SentinelReadError("Error deserializing 'tileSize' (IntSize) member of 'SurfaceDescriptorTiles'");
10004
0
        return false;
10005
0
    }
10006
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->firstTileX())))))) {
10007
0
        (aActor)->FatalError("Error deserializing 'firstTileX' (int) member of 'SurfaceDescriptorTiles'");
10008
0
        return false;
10009
0
    }
10010
0
    // Sentinel = 'firstTileX'
10011
0
    if ((!((aMsg)->ReadSentinel(aIter, 1961114936)))) {
10012
0
        mozilla::ipc::SentinelReadError("Error deserializing 'firstTileX' (int) member of 'SurfaceDescriptorTiles'");
10013
0
        return false;
10014
0
    }
10015
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->firstTileY())))))) {
10016
0
        (aActor)->FatalError("Error deserializing 'firstTileY' (int) member of 'SurfaceDescriptorTiles'");
10017
0
        return false;
10018
0
    }
10019
0
    // Sentinel = 'firstTileY'
10020
0
    if ((!((aMsg)->ReadSentinel(aIter, 1961114937)))) {
10021
0
        mozilla::ipc::SentinelReadError("Error deserializing 'firstTileY' (int) member of 'SurfaceDescriptorTiles'");
10022
0
        return false;
10023
0
    }
10024
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->retainedWidth())))))) {
10025
0
        (aActor)->FatalError("Error deserializing 'retainedWidth' (int) member of 'SurfaceDescriptorTiles'");
10026
0
        return false;
10027
0
    }
10028
0
    // Sentinel = 'retainedWidth'
10029
0
    if ((!((aMsg)->ReadSentinel(aIter, 2490297853)))) {
10030
0
        mozilla::ipc::SentinelReadError("Error deserializing 'retainedWidth' (int) member of 'SurfaceDescriptorTiles'");
10031
0
        return false;
10032
0
    }
10033
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->retainedHeight())))))) {
10034
0
        (aActor)->FatalError("Error deserializing 'retainedHeight' (int) member of 'SurfaceDescriptorTiles'");
10035
0
        return false;
10036
0
    }
10037
0
    // Sentinel = 'retainedHeight'
10038
0
    if ((!((aMsg)->ReadSentinel(aIter, 3230772307)))) {
10039
0
        mozilla::ipc::SentinelReadError("Error deserializing 'retainedHeight' (int) member of 'SurfaceDescriptorTiles'");
10040
0
        return false;
10041
0
    }
10042
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->resolution())))))) {
10043
0
        (aActor)->FatalError("Error deserializing 'resolution' (float) member of 'SurfaceDescriptorTiles'");
10044
0
        return false;
10045
0
    }
10046
0
    // Sentinel = 'resolution'
10047
0
    if ((!((aMsg)->ReadSentinel(aIter, 4077768700)))) {
10048
0
        mozilla::ipc::SentinelReadError("Error deserializing 'resolution' (float) member of 'SurfaceDescriptorTiles'");
10049
0
        return false;
10050
0
    }
10051
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->frameXResolution())))))) {
10052
0
        (aActor)->FatalError("Error deserializing 'frameXResolution' (float) member of 'SurfaceDescriptorTiles'");
10053
0
        return false;
10054
0
    }
10055
0
    // Sentinel = 'frameXResolution'
10056
0
    if ((!((aMsg)->ReadSentinel(aIter, 876167199)))) {
10057
0
        mozilla::ipc::SentinelReadError("Error deserializing 'frameXResolution' (float) member of 'SurfaceDescriptorTiles'");
10058
0
        return false;
10059
0
    }
10060
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->frameYResolution())))))) {
10061
0
        (aActor)->FatalError("Error deserializing 'frameYResolution' (float) member of 'SurfaceDescriptorTiles'");
10062
0
        return false;
10063
0
    }
10064
0
    // Sentinel = 'frameYResolution'
10065
0
    if ((!((aMsg)->ReadSentinel(aIter, 2856703858)))) {
10066
0
        mozilla::ipc::SentinelReadError("Error deserializing 'frameYResolution' (float) member of 'SurfaceDescriptorTiles'");
10067
0
        return false;
10068
0
    }
10069
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->isProgressive())))))) {
10070
0
        (aActor)->FatalError("Error deserializing 'isProgressive' (bool) member of 'SurfaceDescriptorTiles'");
10071
0
        return false;
10072
0
    }
10073
0
    // Sentinel = 'isProgressive'
10074
0
    if ((!((aMsg)->ReadSentinel(aIter, 1291560808)))) {
10075
0
        mozilla::ipc::SentinelReadError("Error deserializing 'isProgressive' (bool) member of 'SurfaceDescriptorTiles'");
10076
0
        return false;
10077
0
    }
10078
0
    return true;
10079
0
}
10080
10081
} // namespace ipc
10082
} // namespace mozilla
10083
10084
//-----------------------------------------------------------------------------
10085
// Method definitions for the IPDL type |struct OpUseTiledLayerBuffer|
10086
//
10087
namespace mozilla {
10088
namespace layers {
10089
auto OpUseTiledLayerBuffer::operator==(const OpUseTiledLayerBuffer& _o) const -> bool
10090
0
{
10091
0
    if ((!((tileLayerDescriptor()) == ((_o).tileLayerDescriptor())))) {
10092
0
        return false;
10093
0
    }
10094
0
    return true;
10095
0
}
10096
10097
auto OpUseTiledLayerBuffer::operator!=(const OpUseTiledLayerBuffer& _o) const -> bool
10098
0
{
10099
0
    return (!(operator==(_o)));
10100
0
}
10101
10102
} // namespace layers
10103
} // namespace mozilla
10104
10105
namespace mozilla {
10106
namespace ipc {
10107
auto IPDLParamTraits<mozilla::layers::OpUseTiledLayerBuffer>::Write(
10108
        IPC::Message* aMsg,
10109
        mozilla::ipc::IProtocol* aActor,
10110
        const paramType& aVar) -> void
10111
0
{
10112
0
    WriteIPDLParam(aMsg, aActor, (aVar).tileLayerDescriptor());
10113
0
    // Sentinel = 'tileLayerDescriptor'
10114
0
    (aMsg)->WriteSentinel(1059372119);
10115
0
}
10116
10117
auto IPDLParamTraits<mozilla::layers::OpUseTiledLayerBuffer>::Read(
10118
        const IPC::Message* aMsg,
10119
        PickleIterator* aIter,
10120
        mozilla::ipc::IProtocol* aActor,
10121
        paramType* aVar) -> bool
10122
0
{
10123
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->tileLayerDescriptor())))))) {
10124
0
        (aActor)->FatalError("Error deserializing 'tileLayerDescriptor' (SurfaceDescriptorTiles) member of 'OpUseTiledLayerBuffer'");
10125
0
        return false;
10126
0
    }
10127
0
    // Sentinel = 'tileLayerDescriptor'
10128
0
    if ((!((aMsg)->ReadSentinel(aIter, 1059372119)))) {
10129
0
        mozilla::ipc::SentinelReadError("Error deserializing 'tileLayerDescriptor' (SurfaceDescriptorTiles) member of 'OpUseTiledLayerBuffer'");
10130
0
        return false;
10131
0
    }
10132
0
    return true;
10133
0
}
10134
10135
} // namespace ipc
10136
} // namespace mozilla
10137
10138
//-----------------------------------------------------------------------------
10139
// Method definitions for the IPDL type |struct OpPaintTextureRegion|
10140
//
10141
namespace mozilla {
10142
namespace layers {
10143
auto OpPaintTextureRegion::operator==(const OpPaintTextureRegion& _o) const -> bool
10144
0
{
10145
0
    if ((!((bufferData()) == ((_o).bufferData())))) {
10146
0
        return false;
10147
0
    }
10148
0
    if ((!((updatedRegion()) == ((_o).updatedRegion())))) {
10149
0
        return false;
10150
0
    }
10151
0
    return true;
10152
0
}
10153
10154
auto OpPaintTextureRegion::operator!=(const OpPaintTextureRegion& _o) const -> bool
10155
0
{
10156
0
    return (!(operator==(_o)));
10157
0
}
10158
10159
} // namespace layers
10160
} // namespace mozilla
10161
10162
namespace mozilla {
10163
namespace ipc {
10164
auto IPDLParamTraits<mozilla::layers::OpPaintTextureRegion>::Write(
10165
        IPC::Message* aMsg,
10166
        mozilla::ipc::IProtocol* aActor,
10167
        const paramType& aVar) -> void
10168
0
{
10169
0
    WriteIPDLParam(aMsg, aActor, (aVar).bufferData());
10170
0
    // Sentinel = 'bufferData'
10171
0
    (aMsg)->WriteSentinel(1624783476);
10172
0
    WriteIPDLParam(aMsg, aActor, (aVar).updatedRegion());
10173
0
    // Sentinel = 'updatedRegion'
10174
0
    (aMsg)->WriteSentinel(2578696480);
10175
0
}
10176
10177
auto IPDLParamTraits<mozilla::layers::OpPaintTextureRegion>::Read(
10178
        const IPC::Message* aMsg,
10179
        PickleIterator* aIter,
10180
        mozilla::ipc::IProtocol* aActor,
10181
        paramType* aVar) -> bool
10182
0
{
10183
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->bufferData())))))) {
10184
0
        (aActor)->FatalError("Error deserializing 'bufferData' (ThebesBufferData) member of 'OpPaintTextureRegion'");
10185
0
        return false;
10186
0
    }
10187
0
    // Sentinel = 'bufferData'
10188
0
    if ((!((aMsg)->ReadSentinel(aIter, 1624783476)))) {
10189
0
        mozilla::ipc::SentinelReadError("Error deserializing 'bufferData' (ThebesBufferData) member of 'OpPaintTextureRegion'");
10190
0
        return false;
10191
0
    }
10192
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->updatedRegion())))))) {
10193
0
        (aActor)->FatalError("Error deserializing 'updatedRegion' (nsIntRegion) member of 'OpPaintTextureRegion'");
10194
0
        return false;
10195
0
    }
10196
0
    // Sentinel = 'updatedRegion'
10197
0
    if ((!((aMsg)->ReadSentinel(aIter, 2578696480)))) {
10198
0
        mozilla::ipc::SentinelReadError("Error deserializing 'updatedRegion' (nsIntRegion) member of 'OpPaintTextureRegion'");
10199
0
        return false;
10200
0
    }
10201
0
    return true;
10202
0
}
10203
10204
} // namespace ipc
10205
} // namespace mozilla
10206
10207
//-----------------------------------------------------------------------------
10208
// Method definitions for the IPDL type |struct OpRemoveTexture|
10209
//
10210
namespace mozilla {
10211
namespace layers {
10212
auto OpRemoveTexture::operator==(const OpRemoveTexture& _o) const -> bool
10213
0
{
10214
0
    if ((!((textureParent()) == ((_o).textureParent())))) {
10215
0
        return false;
10216
0
    }
10217
0
    if ((!((textureChild()) == ((_o).textureChild())))) {
10218
0
        return false;
10219
0
    }
10220
0
    return true;
10221
0
}
10222
10223
auto OpRemoveTexture::operator!=(const OpRemoveTexture& _o) const -> bool
10224
0
{
10225
0
    return (!(operator==(_o)));
10226
0
}
10227
10228
} // namespace layers
10229
} // namespace mozilla
10230
10231
namespace mozilla {
10232
namespace ipc {
10233
auto IPDLParamTraits<mozilla::layers::OpRemoveTexture>::Write(
10234
        IPC::Message* aMsg,
10235
        mozilla::ipc::IProtocol* aActor,
10236
        const paramType& aVar) -> void
10237
0
{
10238
0
    if ((mozilla::ipc::ParentSide) == ((aActor)->GetSide())) {
10239
0
        MOZ_RELEASE_ASSERT((aVar).textureParent(), "NULL actor value passed to non-nullable param");
10240
0
        WriteIPDLParam(aMsg, aActor, (aVar).textureParent());
10241
0
        // Sentinel = 'texture'
10242
0
        (aMsg)->WriteSentinel(3654462510);
10243
0
    }
10244
0
    if ((mozilla::ipc::ChildSide) == ((aActor)->GetSide())) {
10245
0
        MOZ_RELEASE_ASSERT((aVar).textureChild(), "NULL actor value passed to non-nullable param");
10246
0
        WriteIPDLParam(aMsg, aActor, (aVar).textureChild());
10247
0
        // Sentinel = 'texture'
10248
0
        (aMsg)->WriteSentinel(3654462510);
10249
0
    }
10250
0
}
10251
10252
auto IPDLParamTraits<mozilla::layers::OpRemoveTexture>::Read(
10253
        const IPC::Message* aMsg,
10254
        PickleIterator* aIter,
10255
        mozilla::ipc::IProtocol* aActor,
10256
        paramType* aVar) -> bool
10257
0
{
10258
0
    if ((mozilla::ipc::ParentSide) == ((aActor)->GetSide())) {
10259
0
        if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->textureParent())))))) {
10260
0
            (aActor)->FatalError("Error deserializing 'textureParent' (PTexture) member of 'OpRemoveTexture'");
10261
0
            return false;
10262
0
        }
10263
0
        if ((!((*((&((aVar)->textureParent()))))))) {
10264
0
            (aActor)->FatalError("Error deserializing 'textureParent' (PTexture) member of 'OpRemoveTexture'");
10265
0
            return false;
10266
0
        }
10267
0
        // Sentinel = 'texture'
10268
0
        if ((!((aMsg)->ReadSentinel(aIter, 3654462510)))) {
10269
0
            mozilla::ipc::SentinelReadError("Error deserializing 'textureParent' (PTexture) member of 'OpRemoveTexture'");
10270
0
            return false;
10271
0
        }
10272
0
    }
10273
0
    if ((mozilla::ipc::ChildSide) == ((aActor)->GetSide())) {
10274
0
        if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->textureChild())))))) {
10275
0
            (aActor)->FatalError("Error deserializing 'textureChild' (PTexture) member of 'OpRemoveTexture'");
10276
0
            return false;
10277
0
        }
10278
0
        if ((!((*((&((aVar)->textureChild()))))))) {
10279
0
            (aActor)->FatalError("Error deserializing 'textureChild' (PTexture) member of 'OpRemoveTexture'");
10280
0
            return false;
10281
0
        }
10282
0
        // Sentinel = 'texture'
10283
0
        if ((!((aMsg)->ReadSentinel(aIter, 3654462510)))) {
10284
0
            mozilla::ipc::SentinelReadError("Error deserializing 'textureChild' (PTexture) member of 'OpRemoveTexture'");
10285
0
            return false;
10286
0
        }
10287
0
    }
10288
0
    return true;
10289
0
}
10290
10291
} // namespace ipc
10292
} // namespace mozilla
10293
10294
//-----------------------------------------------------------------------------
10295
// Method definitions for the IPDL type |struct TimedTexture|
10296
//
10297
namespace mozilla {
10298
namespace layers {
10299
auto TimedTexture::operator==(const TimedTexture& _o) const -> bool
10300
0
{
10301
0
    if ((!((textureParent()) == ((_o).textureParent())))) {
10302
0
        return false;
10303
0
    }
10304
0
    if ((!((textureChild()) == ((_o).textureChild())))) {
10305
0
        return false;
10306
0
    }
10307
0
    if ((!((timeStamp()) == ((_o).timeStamp())))) {
10308
0
        return false;
10309
0
    }
10310
0
    if ((!((picture()) == ((_o).picture())))) {
10311
0
        return false;
10312
0
    }
10313
0
    if ((!((frameID()) == ((_o).frameID())))) {
10314
0
        return false;
10315
0
    }
10316
0
    if ((!((producerID()) == ((_o).producerID())))) {
10317
0
        return false;
10318
0
    }
10319
0
    if ((!((readLocked()) == ((_o).readLocked())))) {
10320
0
        return false;
10321
0
    }
10322
0
    return true;
10323
0
}
10324
10325
auto TimedTexture::operator!=(const TimedTexture& _o) const -> bool
10326
0
{
10327
0
    return (!(operator==(_o)));
10328
0
}
10329
10330
} // namespace layers
10331
} // namespace mozilla
10332
10333
namespace mozilla {
10334
namespace ipc {
10335
auto IPDLParamTraits<mozilla::layers::TimedTexture>::Write(
10336
        IPC::Message* aMsg,
10337
        mozilla::ipc::IProtocol* aActor,
10338
        const paramType& aVar) -> void
10339
0
{
10340
0
    if ((mozilla::ipc::ParentSide) == ((aActor)->GetSide())) {
10341
0
        MOZ_RELEASE_ASSERT((aVar).textureParent(), "NULL actor value passed to non-nullable param");
10342
0
        WriteIPDLParam(aMsg, aActor, (aVar).textureParent());
10343
0
        // Sentinel = 'texture'
10344
0
        (aMsg)->WriteSentinel(3654462510);
10345
0
    }
10346
0
    if ((mozilla::ipc::ChildSide) == ((aActor)->GetSide())) {
10347
0
        MOZ_RELEASE_ASSERT((aVar).textureChild(), "NULL actor value passed to non-nullable param");
10348
0
        WriteIPDLParam(aMsg, aActor, (aVar).textureChild());
10349
0
        // Sentinel = 'texture'
10350
0
        (aMsg)->WriteSentinel(3654462510);
10351
0
    }
10352
0
    WriteIPDLParam(aMsg, aActor, (aVar).timeStamp());
10353
0
    // Sentinel = 'timeStamp'
10354
0
    (aMsg)->WriteSentinel(988250409);
10355
0
    WriteIPDLParam(aMsg, aActor, (aVar).picture());
10356
0
    // Sentinel = 'picture'
10357
0
    (aMsg)->WriteSentinel(3195561921);
10358
0
    WriteIPDLParam(aMsg, aActor, (aVar).frameID());
10359
0
    // Sentinel = 'frameID'
10360
0
    (aMsg)->WriteSentinel(3054835247);
10361
0
    WriteIPDLParam(aMsg, aActor, (aVar).producerID());
10362
0
    // Sentinel = 'producerID'
10363
0
    (aMsg)->WriteSentinel(1942472743);
10364
0
    WriteIPDLParam(aMsg, aActor, (aVar).readLocked());
10365
0
    // Sentinel = 'readLocked'
10366
0
    (aMsg)->WriteSentinel(1975024740);
10367
0
}
10368
10369
auto IPDLParamTraits<mozilla::layers::TimedTexture>::Read(
10370
        const IPC::Message* aMsg,
10371
        PickleIterator* aIter,
10372
        mozilla::ipc::IProtocol* aActor,
10373
        paramType* aVar) -> bool
10374
0
{
10375
0
    if ((mozilla::ipc::ParentSide) == ((aActor)->GetSide())) {
10376
0
        if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->textureParent())))))) {
10377
0
            (aActor)->FatalError("Error deserializing 'textureParent' (PTexture) member of 'TimedTexture'");
10378
0
            return false;
10379
0
        }
10380
0
        if ((!((*((&((aVar)->textureParent()))))))) {
10381
0
            (aActor)->FatalError("Error deserializing 'textureParent' (PTexture) member of 'TimedTexture'");
10382
0
            return false;
10383
0
        }
10384
0
        // Sentinel = 'texture'
10385
0
        if ((!((aMsg)->ReadSentinel(aIter, 3654462510)))) {
10386
0
            mozilla::ipc::SentinelReadError("Error deserializing 'textureParent' (PTexture) member of 'TimedTexture'");
10387
0
            return false;
10388
0
        }
10389
0
    }
10390
0
    if ((mozilla::ipc::ChildSide) == ((aActor)->GetSide())) {
10391
0
        if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->textureChild())))))) {
10392
0
            (aActor)->FatalError("Error deserializing 'textureChild' (PTexture) member of 'TimedTexture'");
10393
0
            return false;
10394
0
        }
10395
0
        if ((!((*((&((aVar)->textureChild()))))))) {
10396
0
            (aActor)->FatalError("Error deserializing 'textureChild' (PTexture) member of 'TimedTexture'");
10397
0
            return false;
10398
0
        }
10399
0
        // Sentinel = 'texture'
10400
0
        if ((!((aMsg)->ReadSentinel(aIter, 3654462510)))) {
10401
0
            mozilla::ipc::SentinelReadError("Error deserializing 'textureChild' (PTexture) member of 'TimedTexture'");
10402
0
            return false;
10403
0
        }
10404
0
    }
10405
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->timeStamp())))))) {
10406
0
        (aActor)->FatalError("Error deserializing 'timeStamp' (TimeStamp) member of 'TimedTexture'");
10407
0
        return false;
10408
0
    }
10409
0
    // Sentinel = 'timeStamp'
10410
0
    if ((!((aMsg)->ReadSentinel(aIter, 988250409)))) {
10411
0
        mozilla::ipc::SentinelReadError("Error deserializing 'timeStamp' (TimeStamp) member of 'TimedTexture'");
10412
0
        return false;
10413
0
    }
10414
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->picture())))))) {
10415
0
        (aActor)->FatalError("Error deserializing 'picture' (IntRect) member of 'TimedTexture'");
10416
0
        return false;
10417
0
    }
10418
0
    // Sentinel = 'picture'
10419
0
    if ((!((aMsg)->ReadSentinel(aIter, 3195561921)))) {
10420
0
        mozilla::ipc::SentinelReadError("Error deserializing 'picture' (IntRect) member of 'TimedTexture'");
10421
0
        return false;
10422
0
    }
10423
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->frameID())))))) {
10424
0
        (aActor)->FatalError("Error deserializing 'frameID' (uint32_t) member of 'TimedTexture'");
10425
0
        return false;
10426
0
    }
10427
0
    // Sentinel = 'frameID'
10428
0
    if ((!((aMsg)->ReadSentinel(aIter, 3054835247)))) {
10429
0
        mozilla::ipc::SentinelReadError("Error deserializing 'frameID' (uint32_t) member of 'TimedTexture'");
10430
0
        return false;
10431
0
    }
10432
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->producerID())))))) {
10433
0
        (aActor)->FatalError("Error deserializing 'producerID' (uint32_t) member of 'TimedTexture'");
10434
0
        return false;
10435
0
    }
10436
0
    // Sentinel = 'producerID'
10437
0
    if ((!((aMsg)->ReadSentinel(aIter, 1942472743)))) {
10438
0
        mozilla::ipc::SentinelReadError("Error deserializing 'producerID' (uint32_t) member of 'TimedTexture'");
10439
0
        return false;
10440
0
    }
10441
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->readLocked())))))) {
10442
0
        (aActor)->FatalError("Error deserializing 'readLocked' (bool) member of 'TimedTexture'");
10443
0
        return false;
10444
0
    }
10445
0
    // Sentinel = 'readLocked'
10446
0
    if ((!((aMsg)->ReadSentinel(aIter, 1975024740)))) {
10447
0
        mozilla::ipc::SentinelReadError("Error deserializing 'readLocked' (bool) member of 'TimedTexture'");
10448
0
        return false;
10449
0
    }
10450
0
    return true;
10451
0
}
10452
10453
} // namespace ipc
10454
} // namespace mozilla
10455
10456
//-----------------------------------------------------------------------------
10457
// Method definitions for the IPDL type |struct OpUseTexture|
10458
//
10459
namespace mozilla {
10460
namespace layers {
10461
auto OpUseTexture::operator==(const OpUseTexture& _o) const -> bool
10462
0
{
10463
0
    if ((!((textures()) == ((_o).textures())))) {
10464
0
        return false;
10465
0
    }
10466
0
    return true;
10467
0
}
10468
10469
auto OpUseTexture::operator!=(const OpUseTexture& _o) const -> bool
10470
0
{
10471
0
    return (!(operator==(_o)));
10472
0
}
10473
10474
} // namespace layers
10475
} // namespace mozilla
10476
10477
namespace mozilla {
10478
namespace ipc {
10479
auto IPDLParamTraits<mozilla::layers::OpUseTexture>::Write(
10480
        IPC::Message* aMsg,
10481
        mozilla::ipc::IProtocol* aActor,
10482
        const paramType& aVar) -> void
10483
0
{
10484
0
    WriteIPDLParam(aMsg, aActor, (aVar).textures());
10485
0
    // Sentinel = 'textures'
10486
0
    (aMsg)->WriteSentinel(1760338112);
10487
0
}
10488
10489
auto IPDLParamTraits<mozilla::layers::OpUseTexture>::Read(
10490
        const IPC::Message* aMsg,
10491
        PickleIterator* aIter,
10492
        mozilla::ipc::IProtocol* aActor,
10493
        paramType* aVar) -> bool
10494
0
{
10495
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->textures())))))) {
10496
0
        (aActor)->FatalError("Error deserializing 'textures' (TimedTexture[]) member of 'OpUseTexture'");
10497
0
        return false;
10498
0
    }
10499
0
    // Sentinel = 'textures'
10500
0
    if ((!((aMsg)->ReadSentinel(aIter, 1760338112)))) {
10501
0
        mozilla::ipc::SentinelReadError("Error deserializing 'textures' (TimedTexture[]) member of 'OpUseTexture'");
10502
0
        return false;
10503
0
    }
10504
0
    return true;
10505
0
}
10506
10507
} // namespace ipc
10508
} // namespace mozilla
10509
10510
//-----------------------------------------------------------------------------
10511
// Method definitions for the IPDL type |struct OpUseComponentAlphaTextures|
10512
//
10513
namespace mozilla {
10514
namespace layers {
10515
auto OpUseComponentAlphaTextures::operator==(const OpUseComponentAlphaTextures& _o) const -> bool
10516
0
{
10517
0
    if ((!((textureOnBlackParent()) == ((_o).textureOnBlackParent())))) {
10518
0
        return false;
10519
0
    }
10520
0
    if ((!((textureOnBlackChild()) == ((_o).textureOnBlackChild())))) {
10521
0
        return false;
10522
0
    }
10523
0
    if ((!((textureOnWhiteParent()) == ((_o).textureOnWhiteParent())))) {
10524
0
        return false;
10525
0
    }
10526
0
    if ((!((textureOnWhiteChild()) == ((_o).textureOnWhiteChild())))) {
10527
0
        return false;
10528
0
    }
10529
0
    if ((!((readLockedBlack()) == ((_o).readLockedBlack())))) {
10530
0
        return false;
10531
0
    }
10532
0
    if ((!((readLockedWhite()) == ((_o).readLockedWhite())))) {
10533
0
        return false;
10534
0
    }
10535
0
    return true;
10536
0
}
10537
10538
auto OpUseComponentAlphaTextures::operator!=(const OpUseComponentAlphaTextures& _o) const -> bool
10539
0
{
10540
0
    return (!(operator==(_o)));
10541
0
}
10542
10543
} // namespace layers
10544
} // namespace mozilla
10545
10546
namespace mozilla {
10547
namespace ipc {
10548
auto IPDLParamTraits<mozilla::layers::OpUseComponentAlphaTextures>::Write(
10549
        IPC::Message* aMsg,
10550
        mozilla::ipc::IProtocol* aActor,
10551
        const paramType& aVar) -> void
10552
0
{
10553
0
    if ((mozilla::ipc::ParentSide) == ((aActor)->GetSide())) {
10554
0
        MOZ_RELEASE_ASSERT((aVar).textureOnBlackParent(), "NULL actor value passed to non-nullable param");
10555
0
        WriteIPDLParam(aMsg, aActor, (aVar).textureOnBlackParent());
10556
0
        // Sentinel = 'textureOnBlack'
10557
0
        (aMsg)->WriteSentinel(2782165397);
10558
0
    }
10559
0
    if ((mozilla::ipc::ChildSide) == ((aActor)->GetSide())) {
10560
0
        MOZ_RELEASE_ASSERT((aVar).textureOnBlackChild(), "NULL actor value passed to non-nullable param");
10561
0
        WriteIPDLParam(aMsg, aActor, (aVar).textureOnBlackChild());
10562
0
        // Sentinel = 'textureOnBlack'
10563
0
        (aMsg)->WriteSentinel(2782165397);
10564
0
    }
10565
0
    if ((mozilla::ipc::ParentSide) == ((aActor)->GetSide())) {
10566
0
        MOZ_RELEASE_ASSERT((aVar).textureOnWhiteParent(), "NULL actor value passed to non-nullable param");
10567
0
        WriteIPDLParam(aMsg, aActor, (aVar).textureOnWhiteParent());
10568
0
        // Sentinel = 'textureOnWhite'
10569
0
        (aMsg)->WriteSentinel(4123373327);
10570
0
    }
10571
0
    if ((mozilla::ipc::ChildSide) == ((aActor)->GetSide())) {
10572
0
        MOZ_RELEASE_ASSERT((aVar).textureOnWhiteChild(), "NULL actor value passed to non-nullable param");
10573
0
        WriteIPDLParam(aMsg, aActor, (aVar).textureOnWhiteChild());
10574
0
        // Sentinel = 'textureOnWhite'
10575
0
        (aMsg)->WriteSentinel(4123373327);
10576
0
    }
10577
0
    WriteIPDLParam(aMsg, aActor, (aVar).readLockedBlack());
10578
0
    // Sentinel = 'readLockedBlack'
10579
0
    (aMsg)->WriteSentinel(4262845016);
10580
0
    WriteIPDLParam(aMsg, aActor, (aVar).readLockedWhite());
10581
0
    // Sentinel = 'readLockedWhite'
10582
0
    (aMsg)->WriteSentinel(44179186);
10583
0
}
10584
10585
auto IPDLParamTraits<mozilla::layers::OpUseComponentAlphaTextures>::Read(
10586
        const IPC::Message* aMsg,
10587
        PickleIterator* aIter,
10588
        mozilla::ipc::IProtocol* aActor,
10589
        paramType* aVar) -> bool
10590
0
{
10591
0
    if ((mozilla::ipc::ParentSide) == ((aActor)->GetSide())) {
10592
0
        if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->textureOnBlackParent())))))) {
10593
0
            (aActor)->FatalError("Error deserializing 'textureOnBlackParent' (PTexture) member of 'OpUseComponentAlphaTextures'");
10594
0
            return false;
10595
0
        }
10596
0
        if ((!((*((&((aVar)->textureOnBlackParent()))))))) {
10597
0
            (aActor)->FatalError("Error deserializing 'textureOnBlackParent' (PTexture) member of 'OpUseComponentAlphaTextures'");
10598
0
            return false;
10599
0
        }
10600
0
        // Sentinel = 'textureOnBlack'
10601
0
        if ((!((aMsg)->ReadSentinel(aIter, 2782165397)))) {
10602
0
            mozilla::ipc::SentinelReadError("Error deserializing 'textureOnBlackParent' (PTexture) member of 'OpUseComponentAlphaTextures'");
10603
0
            return false;
10604
0
        }
10605
0
    }
10606
0
    if ((mozilla::ipc::ChildSide) == ((aActor)->GetSide())) {
10607
0
        if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->textureOnBlackChild())))))) {
10608
0
            (aActor)->FatalError("Error deserializing 'textureOnBlackChild' (PTexture) member of 'OpUseComponentAlphaTextures'");
10609
0
            return false;
10610
0
        }
10611
0
        if ((!((*((&((aVar)->textureOnBlackChild()))))))) {
10612
0
            (aActor)->FatalError("Error deserializing 'textureOnBlackChild' (PTexture) member of 'OpUseComponentAlphaTextures'");
10613
0
            return false;
10614
0
        }
10615
0
        // Sentinel = 'textureOnBlack'
10616
0
        if ((!((aMsg)->ReadSentinel(aIter, 2782165397)))) {
10617
0
            mozilla::ipc::SentinelReadError("Error deserializing 'textureOnBlackChild' (PTexture) member of 'OpUseComponentAlphaTextures'");
10618
0
            return false;
10619
0
        }
10620
0
    }
10621
0
    if ((mozilla::ipc::ParentSide) == ((aActor)->GetSide())) {
10622
0
        if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->textureOnWhiteParent())))))) {
10623
0
            (aActor)->FatalError("Error deserializing 'textureOnWhiteParent' (PTexture) member of 'OpUseComponentAlphaTextures'");
10624
0
            return false;
10625
0
        }
10626
0
        if ((!((*((&((aVar)->textureOnWhiteParent()))))))) {
10627
0
            (aActor)->FatalError("Error deserializing 'textureOnWhiteParent' (PTexture) member of 'OpUseComponentAlphaTextures'");
10628
0
            return false;
10629
0
        }
10630
0
        // Sentinel = 'textureOnWhite'
10631
0
        if ((!((aMsg)->ReadSentinel(aIter, 4123373327)))) {
10632
0
            mozilla::ipc::SentinelReadError("Error deserializing 'textureOnWhiteParent' (PTexture) member of 'OpUseComponentAlphaTextures'");
10633
0
            return false;
10634
0
        }
10635
0
    }
10636
0
    if ((mozilla::ipc::ChildSide) == ((aActor)->GetSide())) {
10637
0
        if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->textureOnWhiteChild())))))) {
10638
0
            (aActor)->FatalError("Error deserializing 'textureOnWhiteChild' (PTexture) member of 'OpUseComponentAlphaTextures'");
10639
0
            return false;
10640
0
        }
10641
0
        if ((!((*((&((aVar)->textureOnWhiteChild()))))))) {
10642
0
            (aActor)->FatalError("Error deserializing 'textureOnWhiteChild' (PTexture) member of 'OpUseComponentAlphaTextures'");
10643
0
            return false;
10644
0
        }
10645
0
        // Sentinel = 'textureOnWhite'
10646
0
        if ((!((aMsg)->ReadSentinel(aIter, 4123373327)))) {
10647
0
            mozilla::ipc::SentinelReadError("Error deserializing 'textureOnWhiteChild' (PTexture) member of 'OpUseComponentAlphaTextures'");
10648
0
            return false;
10649
0
        }
10650
0
    }
10651
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->readLockedBlack())))))) {
10652
0
        (aActor)->FatalError("Error deserializing 'readLockedBlack' (bool) member of 'OpUseComponentAlphaTextures'");
10653
0
        return false;
10654
0
    }
10655
0
    // Sentinel = 'readLockedBlack'
10656
0
    if ((!((aMsg)->ReadSentinel(aIter, 4262845016)))) {
10657
0
        mozilla::ipc::SentinelReadError("Error deserializing 'readLockedBlack' (bool) member of 'OpUseComponentAlphaTextures'");
10658
0
        return false;
10659
0
    }
10660
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->readLockedWhite())))))) {
10661
0
        (aActor)->FatalError("Error deserializing 'readLockedWhite' (bool) member of 'OpUseComponentAlphaTextures'");
10662
0
        return false;
10663
0
    }
10664
0
    // Sentinel = 'readLockedWhite'
10665
0
    if ((!((aMsg)->ReadSentinel(aIter, 44179186)))) {
10666
0
        mozilla::ipc::SentinelReadError("Error deserializing 'readLockedWhite' (bool) member of 'OpUseComponentAlphaTextures'");
10667
0
        return false;
10668
0
    }
10669
0
    return true;
10670
0
}
10671
10672
} // namespace ipc
10673
} // namespace mozilla
10674
10675
//-----------------------------------------------------------------------------
10676
// Method definitions for the IPDL type |union MaybeRegion|
10677
//
10678
namespace mozilla {
10679
namespace layers {
10680
auto MaybeRegion::MaybeDestroy(Type aNewType) -> bool
10681
0
{
10682
0
    if ((mType) == (T__None)) {
10683
0
        return true;
10684
0
    }
10685
0
    if ((mType) == (aNewType)) {
10686
0
        return false;
10687
0
    }
10688
0
    switch (mType) {
10689
0
    case TnsIntRegion:
10690
0
        {
10691
0
            (ptr_nsIntRegion())->~nsIntRegion__tdef();
10692
0
            break;
10693
0
        }
10694
0
    case Tnull_t:
10695
0
        {
10696
0
            (ptr_null_t())->~null_t__tdef();
10697
0
            break;
10698
0
        }
10699
0
    default:
10700
0
        {
10701
0
            mozilla::ipc::LogicError("not reached");
10702
0
            break;
10703
0
        }
10704
0
    }
10705
0
    return true;
10706
0
}
10707
10708
MOZ_IMPLICIT MaybeRegion::MaybeRegion(const nsIntRegion& aOther)
10709
0
{
10710
0
    new (mozilla::KnownNotNull, ptr_nsIntRegion()) nsIntRegion(aOther);
10711
0
    mType = TnsIntRegion;
10712
0
}
10713
10714
MOZ_IMPLICIT MaybeRegion::MaybeRegion(nsIntRegion&& aOther)
10715
0
{
10716
0
    new (mozilla::KnownNotNull, ptr_nsIntRegion()) nsIntRegion(std::move(aOther));
10717
0
    mType = TnsIntRegion;
10718
0
}
10719
10720
MOZ_IMPLICIT MaybeRegion::MaybeRegion(const null_t& aOther)
10721
0
{
10722
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(aOther);
10723
0
    mType = Tnull_t;
10724
0
}
10725
10726
MOZ_IMPLICIT MaybeRegion::MaybeRegion(null_t&& aOther)
10727
0
{
10728
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move(aOther));
10729
0
    mType = Tnull_t;
10730
0
}
10731
10732
MOZ_IMPLICIT MaybeRegion::MaybeRegion(const MaybeRegion& aOther)
10733
0
{
10734
0
    (aOther).AssertSanity();
10735
0
    switch ((aOther).type()) {
10736
0
    case TnsIntRegion:
10737
0
        {
10738
0
            new (mozilla::KnownNotNull, ptr_nsIntRegion()) nsIntRegion((aOther).get_nsIntRegion());
10739
0
            break;
10740
0
        }
10741
0
    case Tnull_t:
10742
0
        {
10743
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t((aOther).get_null_t());
10744
0
            break;
10745
0
        }
10746
0
    case T__None:
10747
0
        {
10748
0
            break;
10749
0
        }
10750
0
    default:
10751
0
        {
10752
0
            mozilla::ipc::LogicError("unreached");
10753
0
            return;
10754
0
        }
10755
0
    }
10756
0
    mType = (aOther).type();
10757
0
}
10758
10759
MOZ_IMPLICIT MaybeRegion::MaybeRegion(MaybeRegion&& aOther)
10760
0
{
10761
0
    (aOther).AssertSanity();
10762
0
    Type t = (aOther).type();
10763
0
    switch (t) {
10764
0
    case TnsIntRegion:
10765
0
        {
10766
0
            new (mozilla::KnownNotNull, ptr_nsIntRegion()) nsIntRegion(std::move((aOther).get_nsIntRegion()));
10767
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
10768
0
            break;
10769
0
        }
10770
0
    case Tnull_t:
10771
0
        {
10772
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move((aOther).get_null_t()));
10773
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
10774
0
            break;
10775
0
        }
10776
0
    case T__None:
10777
0
        {
10778
0
            break;
10779
0
        }
10780
0
    default:
10781
0
        {
10782
0
            mozilla::ipc::LogicError("unreached");
10783
0
            return;
10784
0
        }
10785
0
    }
10786
0
    (aOther).mType = T__None;
10787
0
    mType = t;
10788
0
}
10789
10790
MaybeRegion::~MaybeRegion()
10791
0
{
10792
0
    static_cast<void>(MaybeDestroy(T__None));
10793
0
}
10794
10795
auto MaybeRegion::operator=(const nsIntRegion& aRhs) -> MaybeRegion&
10796
0
{
10797
0
    if (MaybeDestroy(TnsIntRegion)) {
10798
0
        new (mozilla::KnownNotNull, ptr_nsIntRegion()) nsIntRegion;
10799
0
    }
10800
0
    (*(ptr_nsIntRegion())) = aRhs;
10801
0
    mType = TnsIntRegion;
10802
0
    return (*(this));
10803
0
}
10804
10805
auto MaybeRegion::operator=(nsIntRegion&& aRhs) -> MaybeRegion&
10806
0
{
10807
0
    if (MaybeDestroy(TnsIntRegion)) {
10808
0
        new (mozilla::KnownNotNull, ptr_nsIntRegion()) nsIntRegion;
10809
0
    }
10810
0
    (*(ptr_nsIntRegion())) = std::move(aRhs);
10811
0
    mType = TnsIntRegion;
10812
0
    return (*(this));
10813
0
}
10814
10815
auto MaybeRegion::operator=(const null_t& aRhs) -> MaybeRegion&
10816
0
{
10817
0
    if (MaybeDestroy(Tnull_t)) {
10818
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
10819
0
    }
10820
0
    (*(ptr_null_t())) = aRhs;
10821
0
    mType = Tnull_t;
10822
0
    return (*(this));
10823
0
}
10824
10825
auto MaybeRegion::operator=(null_t&& aRhs) -> MaybeRegion&
10826
0
{
10827
0
    if (MaybeDestroy(Tnull_t)) {
10828
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
10829
0
    }
10830
0
    (*(ptr_null_t())) = std::move(aRhs);
10831
0
    mType = Tnull_t;
10832
0
    return (*(this));
10833
0
}
10834
10835
auto MaybeRegion::operator=(const MaybeRegion& aRhs) -> MaybeRegion&
10836
0
{
10837
0
    (aRhs).AssertSanity();
10838
0
    Type t = (aRhs).type();
10839
0
    switch (t) {
10840
0
    case TnsIntRegion:
10841
0
        {
10842
0
            if (MaybeDestroy(t)) {
10843
0
                new (mozilla::KnownNotNull, ptr_nsIntRegion()) nsIntRegion;
10844
0
            }
10845
0
            (*(ptr_nsIntRegion())) = (aRhs).get_nsIntRegion();
10846
0
            break;
10847
0
        }
10848
0
    case Tnull_t:
10849
0
        {
10850
0
            if (MaybeDestroy(t)) {
10851
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
10852
0
            }
10853
0
            (*(ptr_null_t())) = (aRhs).get_null_t();
10854
0
            break;
10855
0
        }
10856
0
    case T__None:
10857
0
        {
10858
0
            static_cast<void>(MaybeDestroy(t));
10859
0
            break;
10860
0
        }
10861
0
    default:
10862
0
        {
10863
0
            mozilla::ipc::LogicError("unreached");
10864
0
            break;
10865
0
        }
10866
0
    }
10867
0
    mType = t;
10868
0
    return (*(this));
10869
0
}
10870
10871
auto MaybeRegion::operator=(MaybeRegion&& aRhs) -> MaybeRegion&
10872
0
{
10873
0
    (aRhs).AssertSanity();
10874
0
    Type t = (aRhs).type();
10875
0
    switch (t) {
10876
0
    case TnsIntRegion:
10877
0
        {
10878
0
            if (MaybeDestroy(t)) {
10879
0
                new (mozilla::KnownNotNull, ptr_nsIntRegion()) nsIntRegion;
10880
0
            }
10881
0
            (*(ptr_nsIntRegion())) = std::move((aRhs).get_nsIntRegion());
10882
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
10883
0
            break;
10884
0
        }
10885
0
    case Tnull_t:
10886
0
        {
10887
0
            if (MaybeDestroy(t)) {
10888
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
10889
0
            }
10890
0
            (*(ptr_null_t())) = std::move((aRhs).get_null_t());
10891
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
10892
0
            break;
10893
0
        }
10894
0
    case T__None:
10895
0
        {
10896
0
            static_cast<void>(MaybeDestroy(t));
10897
0
            break;
10898
0
        }
10899
0
    default:
10900
0
        {
10901
0
            mozilla::ipc::LogicError("unreached");
10902
0
            break;
10903
0
        }
10904
0
    }
10905
0
    (aRhs).mType = T__None;
10906
0
    mType = t;
10907
0
    return (*(this));
10908
0
}
10909
10910
auto MaybeRegion::operator==(const nsIntRegion& aRhs) const -> bool
10911
0
{
10912
0
    return (get_nsIntRegion()) == (aRhs);
10913
0
}
10914
10915
auto MaybeRegion::operator==(const null_t& aRhs) const -> bool
10916
0
{
10917
0
    return (get_null_t()) == (aRhs);
10918
0
}
10919
10920
auto MaybeRegion::operator==(const MaybeRegion& aRhs) const -> bool
10921
0
{
10922
0
    if ((type()) != ((aRhs).type())) {
10923
0
        return false;
10924
0
    }
10925
0
10926
0
    switch (type()) {
10927
0
    case TnsIntRegion:
10928
0
        {
10929
0
            return (get_nsIntRegion()) == ((aRhs).get_nsIntRegion());
10930
0
        }
10931
0
    case Tnull_t:
10932
0
        {
10933
0
            return (get_null_t()) == ((aRhs).get_null_t());
10934
0
        }
10935
0
    default:
10936
0
        {
10937
0
            mozilla::ipc::LogicError("unreached");
10938
0
            return false;
10939
0
        }
10940
0
    }
10941
0
}
10942
10943
auto MaybeRegion::get(nsIntRegion* aOutValue) const -> void
10944
0
{
10945
0
    (*(aOutValue)) = get_nsIntRegion();
10946
0
}
10947
10948
auto MaybeRegion::get(null_t* aOutValue) const -> void
10949
0
{
10950
0
    (*(aOutValue)) = get_null_t();
10951
0
}
10952
10953
} // namespace layers
10954
} // namespace mozilla
10955
10956
namespace mozilla {
10957
namespace ipc {
10958
auto IPDLParamTraits<mozilla::layers::MaybeRegion>::Write(
10959
        IPC::Message* aMsg,
10960
        mozilla::ipc::IProtocol* aActor,
10961
        const paramType& aVar) -> void
10962
{
10963
    typedef mozilla::layers::MaybeRegion union__;
10964
    int type;
10965
    type = (aVar).type();
10966
    WriteIPDLParam(aMsg, aActor, type);
10967
    // Sentinel = 'MaybeRegion'
10968
    (aMsg)->WriteSentinel(2276006867);
10969
10970
    switch (type) {
10971
    case union__::TnsIntRegion:
10972
        {
10973
            WriteIPDLParam(aMsg, aActor, (aVar).get_nsIntRegion());
10974
            // Sentinel = 'TnsIntRegion'
10975
            (aMsg)->WriteSentinel(2606628352);
10976
            return;
10977
        }
10978
    case union__::Tnull_t:
10979
        {
10980
            WriteIPDLParam(aMsg, aActor, (aVar).get_null_t());
10981
            // Sentinel = 'Tnull_t'
10982
            (aMsg)->WriteSentinel(3731137201);
10983
            return;
10984
        }
10985
    default:
10986
        {
10987
            (aActor)->FatalError("unknown union type");
10988
            return;
10989
        }
10990
    }
10991
}
10992
10993
auto IPDLParamTraits<mozilla::layers::MaybeRegion>::Read(
10994
        const IPC::Message* aMsg,
10995
        PickleIterator* aIter,
10996
        mozilla::ipc::IProtocol* aActor,
10997
        paramType* aVar) -> bool
10998
0
{
10999
0
    typedef mozilla::layers::MaybeRegion union__;
11000
0
    int type;
11001
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
11002
0
        (aActor)->FatalError("Error deserializing type of union MaybeRegion");
11003
0
        return false;
11004
0
    }
11005
0
    // Sentinel = 'MaybeRegion'
11006
0
    if ((!((aMsg)->ReadSentinel(aIter, 2276006867)))) {
11007
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union MaybeRegion");
11008
0
        return false;
11009
0
    }
11010
0
11011
0
    switch (type) {
11012
0
    case union__::TnsIntRegion:
11013
0
        {
11014
0
            nsIntRegion tmp = nsIntRegion();
11015
0
            (*(aVar)) = tmp;
11016
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_nsIntRegion())))))) {
11017
0
                (aActor)->FatalError("Error deserializing variant TnsIntRegion of union MaybeRegion");
11018
0
                return false;
11019
0
            }
11020
0
            // Sentinel = 'TnsIntRegion'
11021
0
            if ((!((aMsg)->ReadSentinel(aIter, 2606628352)))) {
11022
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TnsIntRegion of union MaybeRegion");
11023
0
                return false;
11024
0
            }
11025
0
            return true;
11026
0
        }
11027
0
    case union__::Tnull_t:
11028
0
        {
11029
0
            mozilla::null_t tmp = mozilla::null_t();
11030
0
            (*(aVar)) = tmp;
11031
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_null_t())))))) {
11032
0
                (aActor)->FatalError("Error deserializing variant Tnull_t of union MaybeRegion");
11033
0
                return false;
11034
0
            }
11035
0
            // Sentinel = 'Tnull_t'
11036
0
            if ((!((aMsg)->ReadSentinel(aIter, 3731137201)))) {
11037
0
                mozilla::ipc::SentinelReadError("Error deserializing variant Tnull_t of union MaybeRegion");
11038
0
                return false;
11039
0
            }
11040
0
            return true;
11041
0
        }
11042
0
    default:
11043
0
        {
11044
0
            (aActor)->FatalError("unknown union type");
11045
0
            return false;
11046
0
        }
11047
0
    }
11048
0
}
11049
11050
} // namespace ipc
11051
} // namespace mozilla
11052
11053
//-----------------------------------------------------------------------------
11054
// Method definitions for the IPDL type |struct OpNotifyNotUsed|
11055
//
11056
namespace mozilla {
11057
namespace layers {
11058
auto OpNotifyNotUsed::operator==(const OpNotifyNotUsed& _o) const -> bool
11059
0
{
11060
0
    if ((!((TextureId()) == ((_o).TextureId())))) {
11061
0
        return false;
11062
0
    }
11063
0
    if ((!((fwdTransactionId()) == ((_o).fwdTransactionId())))) {
11064
0
        return false;
11065
0
    }
11066
0
    return true;
11067
0
}
11068
11069
auto OpNotifyNotUsed::operator!=(const OpNotifyNotUsed& _o) const -> bool
11070
0
{
11071
0
    return (!(operator==(_o)));
11072
0
}
11073
11074
} // namespace layers
11075
} // namespace mozilla
11076
11077
namespace mozilla {
11078
namespace ipc {
11079
auto IPDLParamTraits<mozilla::layers::OpNotifyNotUsed>::Write(
11080
        IPC::Message* aMsg,
11081
        mozilla::ipc::IProtocol* aActor,
11082
        const paramType& aVar) -> void
11083
0
{
11084
0
    WriteIPDLParam(aMsg, aActor, (aVar).TextureId());
11085
0
    // Sentinel = 'TextureId'
11086
0
    (aMsg)->WriteSentinel(2545498075);
11087
0
    WriteIPDLParam(aMsg, aActor, (aVar).fwdTransactionId());
11088
0
    // Sentinel = 'fwdTransactionId'
11089
0
    (aMsg)->WriteSentinel(2023976742);
11090
0
}
11091
11092
auto IPDLParamTraits<mozilla::layers::OpNotifyNotUsed>::Read(
11093
        const IPC::Message* aMsg,
11094
        PickleIterator* aIter,
11095
        mozilla::ipc::IProtocol* aActor,
11096
        paramType* aVar) -> bool
11097
0
{
11098
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->TextureId())))))) {
11099
0
        (aActor)->FatalError("Error deserializing 'TextureId' (uint64_t) member of 'OpNotifyNotUsed'");
11100
0
        return false;
11101
0
    }
11102
0
    // Sentinel = 'TextureId'
11103
0
    if ((!((aMsg)->ReadSentinel(aIter, 2545498075)))) {
11104
0
        mozilla::ipc::SentinelReadError("Error deserializing 'TextureId' (uint64_t) member of 'OpNotifyNotUsed'");
11105
0
        return false;
11106
0
    }
11107
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->fwdTransactionId())))))) {
11108
0
        (aActor)->FatalError("Error deserializing 'fwdTransactionId' (uint64_t) member of 'OpNotifyNotUsed'");
11109
0
        return false;
11110
0
    }
11111
0
    // Sentinel = 'fwdTransactionId'
11112
0
    if ((!((aMsg)->ReadSentinel(aIter, 2023976742)))) {
11113
0
        mozilla::ipc::SentinelReadError("Error deserializing 'fwdTransactionId' (uint64_t) member of 'OpNotifyNotUsed'");
11114
0
        return false;
11115
0
    }
11116
0
    return true;
11117
0
}
11118
11119
} // namespace ipc
11120
} // namespace mozilla
11121
11122
//-----------------------------------------------------------------------------
11123
// Method definitions for the IPDL type |union CompositableOperationDetail|
11124
//
11125
namespace mozilla {
11126
namespace layers {
11127
auto CompositableOperationDetail::MaybeDestroy(Type aNewType) -> bool
11128
0
{
11129
0
    if ((mType) == (T__None)) {
11130
0
        return true;
11131
0
    }
11132
0
    if ((mType) == (aNewType)) {
11133
0
        return false;
11134
0
    }
11135
0
    switch (mType) {
11136
0
    case TOpPaintTextureRegion:
11137
0
        {
11138
0
            (ptr_OpPaintTextureRegion())->~OpPaintTextureRegion__tdef();
11139
0
            break;
11140
0
        }
11141
0
    case TOpUseTiledLayerBuffer:
11142
0
        {
11143
0
            (ptr_OpUseTiledLayerBuffer())->~OpUseTiledLayerBuffer__tdef();
11144
0
            break;
11145
0
        }
11146
0
    case TOpRemoveTexture:
11147
0
        {
11148
0
            (ptr_OpRemoveTexture())->~OpRemoveTexture__tdef();
11149
0
            break;
11150
0
        }
11151
0
    case TOpUseTexture:
11152
0
        {
11153
0
            (ptr_OpUseTexture())->~OpUseTexture__tdef();
11154
0
            break;
11155
0
        }
11156
0
    case TOpUseComponentAlphaTextures:
11157
0
        {
11158
0
            (ptr_OpUseComponentAlphaTextures())->~OpUseComponentAlphaTextures__tdef();
11159
0
            break;
11160
0
        }
11161
0
    default:
11162
0
        {
11163
0
            mozilla::ipc::LogicError("not reached");
11164
0
            break;
11165
0
        }
11166
0
    }
11167
0
    return true;
11168
0
}
11169
11170
MOZ_IMPLICIT CompositableOperationDetail::CompositableOperationDetail(const OpPaintTextureRegion& aOther)
11171
0
{
11172
0
    new (mozilla::KnownNotNull, ptr_OpPaintTextureRegion()) OpPaintTextureRegion(aOther);
11173
0
    mType = TOpPaintTextureRegion;
11174
0
}
11175
11176
MOZ_IMPLICIT CompositableOperationDetail::CompositableOperationDetail(OpPaintTextureRegion&& aOther)
11177
0
{
11178
0
    new (mozilla::KnownNotNull, ptr_OpPaintTextureRegion()) OpPaintTextureRegion(std::move(aOther));
11179
0
    mType = TOpPaintTextureRegion;
11180
0
}
11181
11182
MOZ_IMPLICIT CompositableOperationDetail::CompositableOperationDetail(const OpUseTiledLayerBuffer& aOther)
11183
0
{
11184
0
    new (mozilla::KnownNotNull, ptr_OpUseTiledLayerBuffer()) OpUseTiledLayerBuffer(aOther);
11185
0
    mType = TOpUseTiledLayerBuffer;
11186
0
}
11187
11188
MOZ_IMPLICIT CompositableOperationDetail::CompositableOperationDetail(OpUseTiledLayerBuffer&& aOther)
11189
0
{
11190
0
    new (mozilla::KnownNotNull, ptr_OpUseTiledLayerBuffer()) OpUseTiledLayerBuffer(std::move(aOther));
11191
0
    mType = TOpUseTiledLayerBuffer;
11192
0
}
11193
11194
MOZ_IMPLICIT CompositableOperationDetail::CompositableOperationDetail(const OpRemoveTexture& aOther)
11195
0
{
11196
0
    new (mozilla::KnownNotNull, ptr_OpRemoveTexture()) OpRemoveTexture(aOther);
11197
0
    mType = TOpRemoveTexture;
11198
0
}
11199
11200
MOZ_IMPLICIT CompositableOperationDetail::CompositableOperationDetail(OpRemoveTexture&& aOther)
11201
0
{
11202
0
    new (mozilla::KnownNotNull, ptr_OpRemoveTexture()) OpRemoveTexture(std::move(aOther));
11203
0
    mType = TOpRemoveTexture;
11204
0
}
11205
11206
MOZ_IMPLICIT CompositableOperationDetail::CompositableOperationDetail(const OpUseTexture& aOther)
11207
0
{
11208
0
    new (mozilla::KnownNotNull, ptr_OpUseTexture()) OpUseTexture(aOther);
11209
0
    mType = TOpUseTexture;
11210
0
}
11211
11212
MOZ_IMPLICIT CompositableOperationDetail::CompositableOperationDetail(OpUseTexture&& aOther)
11213
0
{
11214
0
    new (mozilla::KnownNotNull, ptr_OpUseTexture()) OpUseTexture(std::move(aOther));
11215
0
    mType = TOpUseTexture;
11216
0
}
11217
11218
MOZ_IMPLICIT CompositableOperationDetail::CompositableOperationDetail(const OpUseComponentAlphaTextures& aOther)
11219
0
{
11220
0
    new (mozilla::KnownNotNull, ptr_OpUseComponentAlphaTextures()) OpUseComponentAlphaTextures(aOther);
11221
0
    mType = TOpUseComponentAlphaTextures;
11222
0
}
11223
11224
MOZ_IMPLICIT CompositableOperationDetail::CompositableOperationDetail(OpUseComponentAlphaTextures&& aOther)
11225
0
{
11226
0
    new (mozilla::KnownNotNull, ptr_OpUseComponentAlphaTextures()) OpUseComponentAlphaTextures(std::move(aOther));
11227
0
    mType = TOpUseComponentAlphaTextures;
11228
0
}
11229
11230
MOZ_IMPLICIT CompositableOperationDetail::CompositableOperationDetail(const CompositableOperationDetail& aOther)
11231
0
{
11232
0
    (aOther).AssertSanity();
11233
0
    switch ((aOther).type()) {
11234
0
    case TOpPaintTextureRegion:
11235
0
        {
11236
0
            new (mozilla::KnownNotNull, ptr_OpPaintTextureRegion()) OpPaintTextureRegion((aOther).get_OpPaintTextureRegion());
11237
0
            break;
11238
0
        }
11239
0
    case TOpUseTiledLayerBuffer:
11240
0
        {
11241
0
            new (mozilla::KnownNotNull, ptr_OpUseTiledLayerBuffer()) OpUseTiledLayerBuffer((aOther).get_OpUseTiledLayerBuffer());
11242
0
            break;
11243
0
        }
11244
0
    case TOpRemoveTexture:
11245
0
        {
11246
0
            new (mozilla::KnownNotNull, ptr_OpRemoveTexture()) OpRemoveTexture((aOther).get_OpRemoveTexture());
11247
0
            break;
11248
0
        }
11249
0
    case TOpUseTexture:
11250
0
        {
11251
0
            new (mozilla::KnownNotNull, ptr_OpUseTexture()) OpUseTexture((aOther).get_OpUseTexture());
11252
0
            break;
11253
0
        }
11254
0
    case TOpUseComponentAlphaTextures:
11255
0
        {
11256
0
            new (mozilla::KnownNotNull, ptr_OpUseComponentAlphaTextures()) OpUseComponentAlphaTextures((aOther).get_OpUseComponentAlphaTextures());
11257
0
            break;
11258
0
        }
11259
0
    case T__None:
11260
0
        {
11261
0
            break;
11262
0
        }
11263
0
    default:
11264
0
        {
11265
0
            mozilla::ipc::LogicError("unreached");
11266
0
            return;
11267
0
        }
11268
0
    }
11269
0
    mType = (aOther).type();
11270
0
}
11271
11272
MOZ_IMPLICIT CompositableOperationDetail::CompositableOperationDetail(CompositableOperationDetail&& aOther)
11273
0
{
11274
0
    (aOther).AssertSanity();
11275
0
    Type t = (aOther).type();
11276
0
    switch (t) {
11277
0
    case TOpPaintTextureRegion:
11278
0
        {
11279
0
            new (mozilla::KnownNotNull, ptr_OpPaintTextureRegion()) OpPaintTextureRegion(std::move((aOther).get_OpPaintTextureRegion()));
11280
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
11281
0
            break;
11282
0
        }
11283
0
    case TOpUseTiledLayerBuffer:
11284
0
        {
11285
0
            new (mozilla::KnownNotNull, ptr_OpUseTiledLayerBuffer()) OpUseTiledLayerBuffer(std::move((aOther).get_OpUseTiledLayerBuffer()));
11286
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
11287
0
            break;
11288
0
        }
11289
0
    case TOpRemoveTexture:
11290
0
        {
11291
0
            new (mozilla::KnownNotNull, ptr_OpRemoveTexture()) OpRemoveTexture(std::move((aOther).get_OpRemoveTexture()));
11292
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
11293
0
            break;
11294
0
        }
11295
0
    case TOpUseTexture:
11296
0
        {
11297
0
            new (mozilla::KnownNotNull, ptr_OpUseTexture()) OpUseTexture(std::move((aOther).get_OpUseTexture()));
11298
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
11299
0
            break;
11300
0
        }
11301
0
    case TOpUseComponentAlphaTextures:
11302
0
        {
11303
0
            new (mozilla::KnownNotNull, ptr_OpUseComponentAlphaTextures()) OpUseComponentAlphaTextures(std::move((aOther).get_OpUseComponentAlphaTextures()));
11304
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
11305
0
            break;
11306
0
        }
11307
0
    case T__None:
11308
0
        {
11309
0
            break;
11310
0
        }
11311
0
    default:
11312
0
        {
11313
0
            mozilla::ipc::LogicError("unreached");
11314
0
            return;
11315
0
        }
11316
0
    }
11317
0
    (aOther).mType = T__None;
11318
0
    mType = t;
11319
0
}
11320
11321
CompositableOperationDetail::~CompositableOperationDetail()
11322
0
{
11323
0
    static_cast<void>(MaybeDestroy(T__None));
11324
0
}
11325
11326
auto CompositableOperationDetail::operator=(const OpPaintTextureRegion& aRhs) -> CompositableOperationDetail&
11327
0
{
11328
0
    if (MaybeDestroy(TOpPaintTextureRegion)) {
11329
0
        new (mozilla::KnownNotNull, ptr_OpPaintTextureRegion()) OpPaintTextureRegion;
11330
0
    }
11331
0
    (*(ptr_OpPaintTextureRegion())) = aRhs;
11332
0
    mType = TOpPaintTextureRegion;
11333
0
    return (*(this));
11334
0
}
11335
11336
auto CompositableOperationDetail::operator=(OpPaintTextureRegion&& aRhs) -> CompositableOperationDetail&
11337
0
{
11338
0
    if (MaybeDestroy(TOpPaintTextureRegion)) {
11339
0
        new (mozilla::KnownNotNull, ptr_OpPaintTextureRegion()) OpPaintTextureRegion;
11340
0
    }
11341
0
    (*(ptr_OpPaintTextureRegion())) = std::move(aRhs);
11342
0
    mType = TOpPaintTextureRegion;
11343
0
    return (*(this));
11344
0
}
11345
11346
auto CompositableOperationDetail::operator=(const OpUseTiledLayerBuffer& aRhs) -> CompositableOperationDetail&
11347
0
{
11348
0
    if (MaybeDestroy(TOpUseTiledLayerBuffer)) {
11349
0
        new (mozilla::KnownNotNull, ptr_OpUseTiledLayerBuffer()) OpUseTiledLayerBuffer;
11350
0
    }
11351
0
    (*(ptr_OpUseTiledLayerBuffer())) = aRhs;
11352
0
    mType = TOpUseTiledLayerBuffer;
11353
0
    return (*(this));
11354
0
}
11355
11356
auto CompositableOperationDetail::operator=(OpUseTiledLayerBuffer&& aRhs) -> CompositableOperationDetail&
11357
0
{
11358
0
    if (MaybeDestroy(TOpUseTiledLayerBuffer)) {
11359
0
        new (mozilla::KnownNotNull, ptr_OpUseTiledLayerBuffer()) OpUseTiledLayerBuffer;
11360
0
    }
11361
0
    (*(ptr_OpUseTiledLayerBuffer())) = std::move(aRhs);
11362
0
    mType = TOpUseTiledLayerBuffer;
11363
0
    return (*(this));
11364
0
}
11365
11366
auto CompositableOperationDetail::operator=(const OpRemoveTexture& aRhs) -> CompositableOperationDetail&
11367
0
{
11368
0
    if (MaybeDestroy(TOpRemoveTexture)) {
11369
0
        new (mozilla::KnownNotNull, ptr_OpRemoveTexture()) OpRemoveTexture;
11370
0
    }
11371
0
    (*(ptr_OpRemoveTexture())) = aRhs;
11372
0
    mType = TOpRemoveTexture;
11373
0
    return (*(this));
11374
0
}
11375
11376
auto CompositableOperationDetail::operator=(OpRemoveTexture&& aRhs) -> CompositableOperationDetail&
11377
0
{
11378
0
    if (MaybeDestroy(TOpRemoveTexture)) {
11379
0
        new (mozilla::KnownNotNull, ptr_OpRemoveTexture()) OpRemoveTexture;
11380
0
    }
11381
0
    (*(ptr_OpRemoveTexture())) = std::move(aRhs);
11382
0
    mType = TOpRemoveTexture;
11383
0
    return (*(this));
11384
0
}
11385
11386
auto CompositableOperationDetail::operator=(const OpUseTexture& aRhs) -> CompositableOperationDetail&
11387
0
{
11388
0
    if (MaybeDestroy(TOpUseTexture)) {
11389
0
        new (mozilla::KnownNotNull, ptr_OpUseTexture()) OpUseTexture;
11390
0
    }
11391
0
    (*(ptr_OpUseTexture())) = aRhs;
11392
0
    mType = TOpUseTexture;
11393
0
    return (*(this));
11394
0
}
11395
11396
auto CompositableOperationDetail::operator=(OpUseTexture&& aRhs) -> CompositableOperationDetail&
11397
0
{
11398
0
    if (MaybeDestroy(TOpUseTexture)) {
11399
0
        new (mozilla::KnownNotNull, ptr_OpUseTexture()) OpUseTexture;
11400
0
    }
11401
0
    (*(ptr_OpUseTexture())) = std::move(aRhs);
11402
0
    mType = TOpUseTexture;
11403
0
    return (*(this));
11404
0
}
11405
11406
auto CompositableOperationDetail::operator=(const OpUseComponentAlphaTextures& aRhs) -> CompositableOperationDetail&
11407
0
{
11408
0
    if (MaybeDestroy(TOpUseComponentAlphaTextures)) {
11409
0
        new (mozilla::KnownNotNull, ptr_OpUseComponentAlphaTextures()) OpUseComponentAlphaTextures;
11410
0
    }
11411
0
    (*(ptr_OpUseComponentAlphaTextures())) = aRhs;
11412
0
    mType = TOpUseComponentAlphaTextures;
11413
0
    return (*(this));
11414
0
}
11415
11416
auto CompositableOperationDetail::operator=(OpUseComponentAlphaTextures&& aRhs) -> CompositableOperationDetail&
11417
0
{
11418
0
    if (MaybeDestroy(TOpUseComponentAlphaTextures)) {
11419
0
        new (mozilla::KnownNotNull, ptr_OpUseComponentAlphaTextures()) OpUseComponentAlphaTextures;
11420
0
    }
11421
0
    (*(ptr_OpUseComponentAlphaTextures())) = std::move(aRhs);
11422
0
    mType = TOpUseComponentAlphaTextures;
11423
0
    return (*(this));
11424
0
}
11425
11426
auto CompositableOperationDetail::operator=(const CompositableOperationDetail& aRhs) -> CompositableOperationDetail&
11427
0
{
11428
0
    (aRhs).AssertSanity();
11429
0
    Type t = (aRhs).type();
11430
0
    switch (t) {
11431
0
    case TOpPaintTextureRegion:
11432
0
        {
11433
0
            if (MaybeDestroy(t)) {
11434
0
                new (mozilla::KnownNotNull, ptr_OpPaintTextureRegion()) OpPaintTextureRegion;
11435
0
            }
11436
0
            (*(ptr_OpPaintTextureRegion())) = (aRhs).get_OpPaintTextureRegion();
11437
0
            break;
11438
0
        }
11439
0
    case TOpUseTiledLayerBuffer:
11440
0
        {
11441
0
            if (MaybeDestroy(t)) {
11442
0
                new (mozilla::KnownNotNull, ptr_OpUseTiledLayerBuffer()) OpUseTiledLayerBuffer;
11443
0
            }
11444
0
            (*(ptr_OpUseTiledLayerBuffer())) = (aRhs).get_OpUseTiledLayerBuffer();
11445
0
            break;
11446
0
        }
11447
0
    case TOpRemoveTexture:
11448
0
        {
11449
0
            if (MaybeDestroy(t)) {
11450
0
                new (mozilla::KnownNotNull, ptr_OpRemoveTexture()) OpRemoveTexture;
11451
0
            }
11452
0
            (*(ptr_OpRemoveTexture())) = (aRhs).get_OpRemoveTexture();
11453
0
            break;
11454
0
        }
11455
0
    case TOpUseTexture:
11456
0
        {
11457
0
            if (MaybeDestroy(t)) {
11458
0
                new (mozilla::KnownNotNull, ptr_OpUseTexture()) OpUseTexture;
11459
0
            }
11460
0
            (*(ptr_OpUseTexture())) = (aRhs).get_OpUseTexture();
11461
0
            break;
11462
0
        }
11463
0
    case TOpUseComponentAlphaTextures:
11464
0
        {
11465
0
            if (MaybeDestroy(t)) {
11466
0
                new (mozilla::KnownNotNull, ptr_OpUseComponentAlphaTextures()) OpUseComponentAlphaTextures;
11467
0
            }
11468
0
            (*(ptr_OpUseComponentAlphaTextures())) = (aRhs).get_OpUseComponentAlphaTextures();
11469
0
            break;
11470
0
        }
11471
0
    case T__None:
11472
0
        {
11473
0
            static_cast<void>(MaybeDestroy(t));
11474
0
            break;
11475
0
        }
11476
0
    default:
11477
0
        {
11478
0
            mozilla::ipc::LogicError("unreached");
11479
0
            break;
11480
0
        }
11481
0
    }
11482
0
    mType = t;
11483
0
    return (*(this));
11484
0
}
11485
11486
auto CompositableOperationDetail::operator=(CompositableOperationDetail&& aRhs) -> CompositableOperationDetail&
11487
0
{
11488
0
    (aRhs).AssertSanity();
11489
0
    Type t = (aRhs).type();
11490
0
    switch (t) {
11491
0
    case TOpPaintTextureRegion:
11492
0
        {
11493
0
            if (MaybeDestroy(t)) {
11494
0
                new (mozilla::KnownNotNull, ptr_OpPaintTextureRegion()) OpPaintTextureRegion;
11495
0
            }
11496
0
            (*(ptr_OpPaintTextureRegion())) = std::move((aRhs).get_OpPaintTextureRegion());
11497
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
11498
0
            break;
11499
0
        }
11500
0
    case TOpUseTiledLayerBuffer:
11501
0
        {
11502
0
            if (MaybeDestroy(t)) {
11503
0
                new (mozilla::KnownNotNull, ptr_OpUseTiledLayerBuffer()) OpUseTiledLayerBuffer;
11504
0
            }
11505
0
            (*(ptr_OpUseTiledLayerBuffer())) = std::move((aRhs).get_OpUseTiledLayerBuffer());
11506
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
11507
0
            break;
11508
0
        }
11509
0
    case TOpRemoveTexture:
11510
0
        {
11511
0
            if (MaybeDestroy(t)) {
11512
0
                new (mozilla::KnownNotNull, ptr_OpRemoveTexture()) OpRemoveTexture;
11513
0
            }
11514
0
            (*(ptr_OpRemoveTexture())) = std::move((aRhs).get_OpRemoveTexture());
11515
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
11516
0
            break;
11517
0
        }
11518
0
    case TOpUseTexture:
11519
0
        {
11520
0
            if (MaybeDestroy(t)) {
11521
0
                new (mozilla::KnownNotNull, ptr_OpUseTexture()) OpUseTexture;
11522
0
            }
11523
0
            (*(ptr_OpUseTexture())) = std::move((aRhs).get_OpUseTexture());
11524
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
11525
0
            break;
11526
0
        }
11527
0
    case TOpUseComponentAlphaTextures:
11528
0
        {
11529
0
            if (MaybeDestroy(t)) {
11530
0
                new (mozilla::KnownNotNull, ptr_OpUseComponentAlphaTextures()) OpUseComponentAlphaTextures;
11531
0
            }
11532
0
            (*(ptr_OpUseComponentAlphaTextures())) = std::move((aRhs).get_OpUseComponentAlphaTextures());
11533
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
11534
0
            break;
11535
0
        }
11536
0
    case T__None:
11537
0
        {
11538
0
            static_cast<void>(MaybeDestroy(t));
11539
0
            break;
11540
0
        }
11541
0
    default:
11542
0
        {
11543
0
            mozilla::ipc::LogicError("unreached");
11544
0
            break;
11545
0
        }
11546
0
    }
11547
0
    (aRhs).mType = T__None;
11548
0
    mType = t;
11549
0
    return (*(this));
11550
0
}
11551
11552
auto CompositableOperationDetail::operator==(const OpPaintTextureRegion& aRhs) const -> bool
11553
0
{
11554
0
    return (get_OpPaintTextureRegion()) == (aRhs);
11555
0
}
11556
11557
auto CompositableOperationDetail::operator==(const OpUseTiledLayerBuffer& aRhs) const -> bool
11558
0
{
11559
0
    return (get_OpUseTiledLayerBuffer()) == (aRhs);
11560
0
}
11561
11562
auto CompositableOperationDetail::operator==(const OpRemoveTexture& aRhs) const -> bool
11563
0
{
11564
0
    return (get_OpRemoveTexture()) == (aRhs);
11565
0
}
11566
11567
auto CompositableOperationDetail::operator==(const OpUseTexture& aRhs) const -> bool
11568
0
{
11569
0
    return (get_OpUseTexture()) == (aRhs);
11570
0
}
11571
11572
auto CompositableOperationDetail::operator==(const OpUseComponentAlphaTextures& aRhs) const -> bool
11573
0
{
11574
0
    return (get_OpUseComponentAlphaTextures()) == (aRhs);
11575
0
}
11576
11577
auto CompositableOperationDetail::operator==(const CompositableOperationDetail& aRhs) const -> bool
11578
0
{
11579
0
    if ((type()) != ((aRhs).type())) {
11580
0
        return false;
11581
0
    }
11582
0
11583
0
    switch (type()) {
11584
0
    case TOpPaintTextureRegion:
11585
0
        {
11586
0
            return (get_OpPaintTextureRegion()) == ((aRhs).get_OpPaintTextureRegion());
11587
0
        }
11588
0
    case TOpUseTiledLayerBuffer:
11589
0
        {
11590
0
            return (get_OpUseTiledLayerBuffer()) == ((aRhs).get_OpUseTiledLayerBuffer());
11591
0
        }
11592
0
    case TOpRemoveTexture:
11593
0
        {
11594
0
            return (get_OpRemoveTexture()) == ((aRhs).get_OpRemoveTexture());
11595
0
        }
11596
0
    case TOpUseTexture:
11597
0
        {
11598
0
            return (get_OpUseTexture()) == ((aRhs).get_OpUseTexture());
11599
0
        }
11600
0
    case TOpUseComponentAlphaTextures:
11601
0
        {
11602
0
            return (get_OpUseComponentAlphaTextures()) == ((aRhs).get_OpUseComponentAlphaTextures());
11603
0
        }
11604
0
    default:
11605
0
        {
11606
0
            mozilla::ipc::LogicError("unreached");
11607
0
            return false;
11608
0
        }
11609
0
    }
11610
0
}
11611
11612
auto CompositableOperationDetail::get(OpPaintTextureRegion* aOutValue) const -> void
11613
0
{
11614
0
    (*(aOutValue)) = get_OpPaintTextureRegion();
11615
0
}
11616
11617
auto CompositableOperationDetail::get(OpUseTiledLayerBuffer* aOutValue) const -> void
11618
0
{
11619
0
    (*(aOutValue)) = get_OpUseTiledLayerBuffer();
11620
0
}
11621
11622
auto CompositableOperationDetail::get(OpRemoveTexture* aOutValue) const -> void
11623
0
{
11624
0
    (*(aOutValue)) = get_OpRemoveTexture();
11625
0
}
11626
11627
auto CompositableOperationDetail::get(OpUseTexture* aOutValue) const -> void
11628
0
{
11629
0
    (*(aOutValue)) = get_OpUseTexture();
11630
0
}
11631
11632
auto CompositableOperationDetail::get(OpUseComponentAlphaTextures* aOutValue) const -> void
11633
0
{
11634
0
    (*(aOutValue)) = get_OpUseComponentAlphaTextures();
11635
0
}
11636
11637
} // namespace layers
11638
} // namespace mozilla
11639
11640
namespace mozilla {
11641
namespace ipc {
11642
auto IPDLParamTraits<mozilla::layers::CompositableOperationDetail>::Write(
11643
        IPC::Message* aMsg,
11644
        mozilla::ipc::IProtocol* aActor,
11645
        const paramType& aVar) -> void
11646
{
11647
    typedef mozilla::layers::CompositableOperationDetail union__;
11648
    int type;
11649
    type = (aVar).type();
11650
    WriteIPDLParam(aMsg, aActor, type);
11651
    // Sentinel = 'CompositableOperationDetail'
11652
    (aMsg)->WriteSentinel(676020439);
11653
11654
    switch (type) {
11655
    case union__::TOpPaintTextureRegion:
11656
        {
11657
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpPaintTextureRegion());
11658
            // Sentinel = 'TOpPaintTextureRegion'
11659
            (aMsg)->WriteSentinel(734509049);
11660
            return;
11661
        }
11662
    case union__::TOpUseTiledLayerBuffer:
11663
        {
11664
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpUseTiledLayerBuffer());
11665
            // Sentinel = 'TOpUseTiledLayerBuffer'
11666
            (aMsg)->WriteSentinel(916924693);
11667
            return;
11668
        }
11669
    case union__::TOpRemoveTexture:
11670
        {
11671
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpRemoveTexture());
11672
            // Sentinel = 'TOpRemoveTexture'
11673
            (aMsg)->WriteSentinel(2379906162);
11674
            return;
11675
        }
11676
    case union__::TOpUseTexture:
11677
        {
11678
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpUseTexture());
11679
            // Sentinel = 'TOpUseTexture'
11680
            (aMsg)->WriteSentinel(581630962);
11681
            return;
11682
        }
11683
    case union__::TOpUseComponentAlphaTextures:
11684
        {
11685
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpUseComponentAlphaTextures());
11686
            // Sentinel = 'TOpUseComponentAlphaTextures'
11687
            (aMsg)->WriteSentinel(457985329);
11688
            return;
11689
        }
11690
    default:
11691
        {
11692
            (aActor)->FatalError("unknown union type");
11693
            return;
11694
        }
11695
    }
11696
}
11697
11698
auto IPDLParamTraits<mozilla::layers::CompositableOperationDetail>::Read(
11699
        const IPC::Message* aMsg,
11700
        PickleIterator* aIter,
11701
        mozilla::ipc::IProtocol* aActor,
11702
        paramType* aVar) -> bool
11703
0
{
11704
0
    typedef mozilla::layers::CompositableOperationDetail union__;
11705
0
    int type;
11706
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
11707
0
        (aActor)->FatalError("Error deserializing type of union CompositableOperationDetail");
11708
0
        return false;
11709
0
    }
11710
0
    // Sentinel = 'CompositableOperationDetail'
11711
0
    if ((!((aMsg)->ReadSentinel(aIter, 676020439)))) {
11712
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union CompositableOperationDetail");
11713
0
        return false;
11714
0
    }
11715
0
11716
0
    switch (type) {
11717
0
    case union__::TOpPaintTextureRegion:
11718
0
        {
11719
0
            mozilla::layers::OpPaintTextureRegion tmp = mozilla::layers::OpPaintTextureRegion();
11720
0
            (*(aVar)) = tmp;
11721
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpPaintTextureRegion())))))) {
11722
0
                (aActor)->FatalError("Error deserializing variant TOpPaintTextureRegion of union CompositableOperationDetail");
11723
0
                return false;
11724
0
            }
11725
0
            // Sentinel = 'TOpPaintTextureRegion'
11726
0
            if ((!((aMsg)->ReadSentinel(aIter, 734509049)))) {
11727
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpPaintTextureRegion of union CompositableOperationDetail");
11728
0
                return false;
11729
0
            }
11730
0
            return true;
11731
0
        }
11732
0
    case union__::TOpUseTiledLayerBuffer:
11733
0
        {
11734
0
            mozilla::layers::OpUseTiledLayerBuffer tmp = mozilla::layers::OpUseTiledLayerBuffer();
11735
0
            (*(aVar)) = tmp;
11736
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpUseTiledLayerBuffer())))))) {
11737
0
                (aActor)->FatalError("Error deserializing variant TOpUseTiledLayerBuffer of union CompositableOperationDetail");
11738
0
                return false;
11739
0
            }
11740
0
            // Sentinel = 'TOpUseTiledLayerBuffer'
11741
0
            if ((!((aMsg)->ReadSentinel(aIter, 916924693)))) {
11742
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpUseTiledLayerBuffer of union CompositableOperationDetail");
11743
0
                return false;
11744
0
            }
11745
0
            return true;
11746
0
        }
11747
0
    case union__::TOpRemoveTexture:
11748
0
        {
11749
0
            mozilla::layers::OpRemoveTexture tmp = mozilla::layers::OpRemoveTexture();
11750
0
            (*(aVar)) = tmp;
11751
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpRemoveTexture())))))) {
11752
0
                (aActor)->FatalError("Error deserializing variant TOpRemoveTexture of union CompositableOperationDetail");
11753
0
                return false;
11754
0
            }
11755
0
            // Sentinel = 'TOpRemoveTexture'
11756
0
            if ((!((aMsg)->ReadSentinel(aIter, 2379906162)))) {
11757
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpRemoveTexture of union CompositableOperationDetail");
11758
0
                return false;
11759
0
            }
11760
0
            return true;
11761
0
        }
11762
0
    case union__::TOpUseTexture:
11763
0
        {
11764
0
            mozilla::layers::OpUseTexture tmp = mozilla::layers::OpUseTexture();
11765
0
            (*(aVar)) = tmp;
11766
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpUseTexture())))))) {
11767
0
                (aActor)->FatalError("Error deserializing variant TOpUseTexture of union CompositableOperationDetail");
11768
0
                return false;
11769
0
            }
11770
0
            // Sentinel = 'TOpUseTexture'
11771
0
            if ((!((aMsg)->ReadSentinel(aIter, 581630962)))) {
11772
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpUseTexture of union CompositableOperationDetail");
11773
0
                return false;
11774
0
            }
11775
0
            return true;
11776
0
        }
11777
0
    case union__::TOpUseComponentAlphaTextures:
11778
0
        {
11779
0
            mozilla::layers::OpUseComponentAlphaTextures tmp = mozilla::layers::OpUseComponentAlphaTextures();
11780
0
            (*(aVar)) = tmp;
11781
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpUseComponentAlphaTextures())))))) {
11782
0
                (aActor)->FatalError("Error deserializing variant TOpUseComponentAlphaTextures of union CompositableOperationDetail");
11783
0
                return false;
11784
0
            }
11785
0
            // Sentinel = 'TOpUseComponentAlphaTextures'
11786
0
            if ((!((aMsg)->ReadSentinel(aIter, 457985329)))) {
11787
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpUseComponentAlphaTextures of union CompositableOperationDetail");
11788
0
                return false;
11789
0
            }
11790
0
            return true;
11791
0
        }
11792
0
    default:
11793
0
        {
11794
0
            (aActor)->FatalError("unknown union type");
11795
0
            return false;
11796
0
        }
11797
0
    }
11798
0
}
11799
11800
} // namespace ipc
11801
} // namespace mozilla
11802
11803
//-----------------------------------------------------------------------------
11804
// Method definitions for the IPDL type |struct CompositableOperation|
11805
//
11806
namespace mozilla {
11807
namespace layers {
11808
auto CompositableOperation::operator==(const CompositableOperation& _o) const -> bool
11809
0
{
11810
0
    if ((!((compositable()) == ((_o).compositable())))) {
11811
0
        return false;
11812
0
    }
11813
0
    if ((!((detail()) == ((_o).detail())))) {
11814
0
        return false;
11815
0
    }
11816
0
    return true;
11817
0
}
11818
11819
auto CompositableOperation::operator!=(const CompositableOperation& _o) const -> bool
11820
0
{
11821
0
    return (!(operator==(_o)));
11822
0
}
11823
11824
} // namespace layers
11825
} // namespace mozilla
11826
11827
namespace mozilla {
11828
namespace ipc {
11829
auto IPDLParamTraits<mozilla::layers::CompositableOperation>::Write(
11830
        IPC::Message* aMsg,
11831
        mozilla::ipc::IProtocol* aActor,
11832
        const paramType& aVar) -> void
11833
0
{
11834
0
    WriteIPDLParam(aMsg, aActor, (aVar).compositable());
11835
0
    // Sentinel = 'compositable'
11836
0
    (aMsg)->WriteSentinel(4031958248);
11837
0
    WriteIPDLParam(aMsg, aActor, (aVar).detail());
11838
0
    // Sentinel = 'detail'
11839
0
    (aMsg)->WriteSentinel(3931660205);
11840
0
}
11841
11842
auto IPDLParamTraits<mozilla::layers::CompositableOperation>::Read(
11843
        const IPC::Message* aMsg,
11844
        PickleIterator* aIter,
11845
        mozilla::ipc::IProtocol* aActor,
11846
        paramType* aVar) -> bool
11847
0
{
11848
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->compositable())))))) {
11849
0
        (aActor)->FatalError("Error deserializing 'compositable' (CompositableHandle) member of 'CompositableOperation'");
11850
0
        return false;
11851
0
    }
11852
0
    // Sentinel = 'compositable'
11853
0
    if ((!((aMsg)->ReadSentinel(aIter, 4031958248)))) {
11854
0
        mozilla::ipc::SentinelReadError("Error deserializing 'compositable' (CompositableHandle) member of 'CompositableOperation'");
11855
0
        return false;
11856
0
    }
11857
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->detail())))))) {
11858
0
        (aActor)->FatalError("Error deserializing 'detail' (CompositableOperationDetail) member of 'CompositableOperation'");
11859
0
        return false;
11860
0
    }
11861
0
    // Sentinel = 'detail'
11862
0
    if ((!((aMsg)->ReadSentinel(aIter, 3931660205)))) {
11863
0
        mozilla::ipc::SentinelReadError("Error deserializing 'detail' (CompositableOperationDetail) member of 'CompositableOperation'");
11864
0
        return false;
11865
0
    }
11866
0
    return true;
11867
0
}
11868
11869
} // namespace ipc
11870
} // namespace mozilla
11871
11872
//-----------------------------------------------------------------------------
11873
// Method definitions for the IPDL type |union Edit|
11874
//
11875
namespace mozilla {
11876
namespace layers {
11877
auto Edit::MaybeDestroy(Type aNewType) -> bool
11878
0
{
11879
0
    if ((mType) == (T__None)) {
11880
0
        return true;
11881
0
    }
11882
0
    if ((mType) == (aNewType)) {
11883
0
        return false;
11884
0
    }
11885
0
    switch (mType) {
11886
0
    case TOpCreatePaintedLayer:
11887
0
        {
11888
0
            (ptr_OpCreatePaintedLayer())->~OpCreatePaintedLayer__tdef();
11889
0
            break;
11890
0
        }
11891
0
    case TOpCreateContainerLayer:
11892
0
        {
11893
0
            (ptr_OpCreateContainerLayer())->~OpCreateContainerLayer__tdef();
11894
0
            break;
11895
0
        }
11896
0
    case TOpCreateImageLayer:
11897
0
        {
11898
0
            (ptr_OpCreateImageLayer())->~OpCreateImageLayer__tdef();
11899
0
            break;
11900
0
        }
11901
0
    case TOpCreateColorLayer:
11902
0
        {
11903
0
            (ptr_OpCreateColorLayer())->~OpCreateColorLayer__tdef();
11904
0
            break;
11905
0
        }
11906
0
    case TOpCreateCanvasLayer:
11907
0
        {
11908
0
            (ptr_OpCreateCanvasLayer())->~OpCreateCanvasLayer__tdef();
11909
0
            break;
11910
0
        }
11911
0
    case TOpCreateRefLayer:
11912
0
        {
11913
0
            (ptr_OpCreateRefLayer())->~OpCreateRefLayer__tdef();
11914
0
            break;
11915
0
        }
11916
0
    case TOpSetDiagnosticTypes:
11917
0
        {
11918
0
            (ptr_OpSetDiagnosticTypes())->~OpSetDiagnosticTypes__tdef();
11919
0
            break;
11920
0
        }
11921
0
    case TOpWindowOverlayChanged:
11922
0
        {
11923
0
            (ptr_OpWindowOverlayChanged())->~OpWindowOverlayChanged__tdef();
11924
0
            break;
11925
0
        }
11926
0
    case TOpSetRoot:
11927
0
        {
11928
0
            (ptr_OpSetRoot())->~OpSetRoot__tdef();
11929
0
            break;
11930
0
        }
11931
0
    case TOpInsertAfter:
11932
0
        {
11933
0
            (ptr_OpInsertAfter())->~OpInsertAfter__tdef();
11934
0
            break;
11935
0
        }
11936
0
    case TOpPrependChild:
11937
0
        {
11938
0
            (ptr_OpPrependChild())->~OpPrependChild__tdef();
11939
0
            break;
11940
0
        }
11941
0
    case TOpRemoveChild:
11942
0
        {
11943
0
            (ptr_OpRemoveChild())->~OpRemoveChild__tdef();
11944
0
            break;
11945
0
        }
11946
0
    case TOpRepositionChild:
11947
0
        {
11948
0
            (ptr_OpRepositionChild())->~OpRepositionChild__tdef();
11949
0
            break;
11950
0
        }
11951
0
    case TOpRaiseToTopChild:
11952
0
        {
11953
0
            (ptr_OpRaiseToTopChild())->~OpRaiseToTopChild__tdef();
11954
0
            break;
11955
0
        }
11956
0
    case TOpAttachCompositable:
11957
0
        {
11958
0
            (ptr_OpAttachCompositable())->~OpAttachCompositable__tdef();
11959
0
            break;
11960
0
        }
11961
0
    case TOpAttachAsyncCompositable:
11962
0
        {
11963
0
            (ptr_OpAttachAsyncCompositable())->~OpAttachAsyncCompositable__tdef();
11964
0
            break;
11965
0
        }
11966
0
    case TCompositableOperation:
11967
0
        {
11968
0
            (ptr_CompositableOperation())->~CompositableOperation__tdef();
11969
0
            break;
11970
0
        }
11971
0
    default:
11972
0
        {
11973
0
            mozilla::ipc::LogicError("not reached");
11974
0
            break;
11975
0
        }
11976
0
    }
11977
0
    return true;
11978
0
}
11979
11980
MOZ_IMPLICIT Edit::Edit(const OpCreatePaintedLayer& aOther)
11981
0
{
11982
0
    new (mozilla::KnownNotNull, ptr_OpCreatePaintedLayer()) OpCreatePaintedLayer(aOther);
11983
0
    mType = TOpCreatePaintedLayer;
11984
0
}
11985
11986
MOZ_IMPLICIT Edit::Edit(OpCreatePaintedLayer&& aOther)
11987
0
{
11988
0
    new (mozilla::KnownNotNull, ptr_OpCreatePaintedLayer()) OpCreatePaintedLayer(std::move(aOther));
11989
0
    mType = TOpCreatePaintedLayer;
11990
0
}
11991
11992
MOZ_IMPLICIT Edit::Edit(const OpCreateContainerLayer& aOther)
11993
0
{
11994
0
    new (mozilla::KnownNotNull, ptr_OpCreateContainerLayer()) OpCreateContainerLayer(aOther);
11995
0
    mType = TOpCreateContainerLayer;
11996
0
}
11997
11998
MOZ_IMPLICIT Edit::Edit(OpCreateContainerLayer&& aOther)
11999
0
{
12000
0
    new (mozilla::KnownNotNull, ptr_OpCreateContainerLayer()) OpCreateContainerLayer(std::move(aOther));
12001
0
    mType = TOpCreateContainerLayer;
12002
0
}
12003
12004
MOZ_IMPLICIT Edit::Edit(const OpCreateImageLayer& aOther)
12005
0
{
12006
0
    new (mozilla::KnownNotNull, ptr_OpCreateImageLayer()) OpCreateImageLayer(aOther);
12007
0
    mType = TOpCreateImageLayer;
12008
0
}
12009
12010
MOZ_IMPLICIT Edit::Edit(OpCreateImageLayer&& aOther)
12011
0
{
12012
0
    new (mozilla::KnownNotNull, ptr_OpCreateImageLayer()) OpCreateImageLayer(std::move(aOther));
12013
0
    mType = TOpCreateImageLayer;
12014
0
}
12015
12016
MOZ_IMPLICIT Edit::Edit(const OpCreateColorLayer& aOther)
12017
0
{
12018
0
    new (mozilla::KnownNotNull, ptr_OpCreateColorLayer()) OpCreateColorLayer(aOther);
12019
0
    mType = TOpCreateColorLayer;
12020
0
}
12021
12022
MOZ_IMPLICIT Edit::Edit(OpCreateColorLayer&& aOther)
12023
0
{
12024
0
    new (mozilla::KnownNotNull, ptr_OpCreateColorLayer()) OpCreateColorLayer(std::move(aOther));
12025
0
    mType = TOpCreateColorLayer;
12026
0
}
12027
12028
MOZ_IMPLICIT Edit::Edit(const OpCreateCanvasLayer& aOther)
12029
0
{
12030
0
    new (mozilla::KnownNotNull, ptr_OpCreateCanvasLayer()) OpCreateCanvasLayer(aOther);
12031
0
    mType = TOpCreateCanvasLayer;
12032
0
}
12033
12034
MOZ_IMPLICIT Edit::Edit(OpCreateCanvasLayer&& aOther)
12035
0
{
12036
0
    new (mozilla::KnownNotNull, ptr_OpCreateCanvasLayer()) OpCreateCanvasLayer(std::move(aOther));
12037
0
    mType = TOpCreateCanvasLayer;
12038
0
}
12039
12040
MOZ_IMPLICIT Edit::Edit(const OpCreateRefLayer& aOther)
12041
0
{
12042
0
    new (mozilla::KnownNotNull, ptr_OpCreateRefLayer()) OpCreateRefLayer(aOther);
12043
0
    mType = TOpCreateRefLayer;
12044
0
}
12045
12046
MOZ_IMPLICIT Edit::Edit(OpCreateRefLayer&& aOther)
12047
0
{
12048
0
    new (mozilla::KnownNotNull, ptr_OpCreateRefLayer()) OpCreateRefLayer(std::move(aOther));
12049
0
    mType = TOpCreateRefLayer;
12050
0
}
12051
12052
MOZ_IMPLICIT Edit::Edit(const OpSetDiagnosticTypes& aOther)
12053
0
{
12054
0
    new (mozilla::KnownNotNull, ptr_OpSetDiagnosticTypes()) OpSetDiagnosticTypes(aOther);
12055
0
    mType = TOpSetDiagnosticTypes;
12056
0
}
12057
12058
MOZ_IMPLICIT Edit::Edit(OpSetDiagnosticTypes&& aOther)
12059
0
{
12060
0
    new (mozilla::KnownNotNull, ptr_OpSetDiagnosticTypes()) OpSetDiagnosticTypes(std::move(aOther));
12061
0
    mType = TOpSetDiagnosticTypes;
12062
0
}
12063
12064
MOZ_IMPLICIT Edit::Edit(const OpWindowOverlayChanged& aOther)
12065
0
{
12066
0
    new (mozilla::KnownNotNull, ptr_OpWindowOverlayChanged()) OpWindowOverlayChanged(aOther);
12067
0
    mType = TOpWindowOverlayChanged;
12068
0
}
12069
12070
MOZ_IMPLICIT Edit::Edit(OpWindowOverlayChanged&& aOther)
12071
0
{
12072
0
    new (mozilla::KnownNotNull, ptr_OpWindowOverlayChanged()) OpWindowOverlayChanged(std::move(aOther));
12073
0
    mType = TOpWindowOverlayChanged;
12074
0
}
12075
12076
MOZ_IMPLICIT Edit::Edit(const OpSetRoot& aOther)
12077
0
{
12078
0
    new (mozilla::KnownNotNull, ptr_OpSetRoot()) OpSetRoot(aOther);
12079
0
    mType = TOpSetRoot;
12080
0
}
12081
12082
MOZ_IMPLICIT Edit::Edit(OpSetRoot&& aOther)
12083
0
{
12084
0
    new (mozilla::KnownNotNull, ptr_OpSetRoot()) OpSetRoot(std::move(aOther));
12085
0
    mType = TOpSetRoot;
12086
0
}
12087
12088
MOZ_IMPLICIT Edit::Edit(const OpInsertAfter& aOther)
12089
0
{
12090
0
    new (mozilla::KnownNotNull, ptr_OpInsertAfter()) OpInsertAfter(aOther);
12091
0
    mType = TOpInsertAfter;
12092
0
}
12093
12094
MOZ_IMPLICIT Edit::Edit(OpInsertAfter&& aOther)
12095
0
{
12096
0
    new (mozilla::KnownNotNull, ptr_OpInsertAfter()) OpInsertAfter(std::move(aOther));
12097
0
    mType = TOpInsertAfter;
12098
0
}
12099
12100
MOZ_IMPLICIT Edit::Edit(const OpPrependChild& aOther)
12101
0
{
12102
0
    new (mozilla::KnownNotNull, ptr_OpPrependChild()) OpPrependChild(aOther);
12103
0
    mType = TOpPrependChild;
12104
0
}
12105
12106
MOZ_IMPLICIT Edit::Edit(OpPrependChild&& aOther)
12107
0
{
12108
0
    new (mozilla::KnownNotNull, ptr_OpPrependChild()) OpPrependChild(std::move(aOther));
12109
0
    mType = TOpPrependChild;
12110
0
}
12111
12112
MOZ_IMPLICIT Edit::Edit(const OpRemoveChild& aOther)
12113
0
{
12114
0
    new (mozilla::KnownNotNull, ptr_OpRemoveChild()) OpRemoveChild(aOther);
12115
0
    mType = TOpRemoveChild;
12116
0
}
12117
12118
MOZ_IMPLICIT Edit::Edit(OpRemoveChild&& aOther)
12119
0
{
12120
0
    new (mozilla::KnownNotNull, ptr_OpRemoveChild()) OpRemoveChild(std::move(aOther));
12121
0
    mType = TOpRemoveChild;
12122
0
}
12123
12124
MOZ_IMPLICIT Edit::Edit(const OpRepositionChild& aOther)
12125
0
{
12126
0
    new (mozilla::KnownNotNull, ptr_OpRepositionChild()) OpRepositionChild(aOther);
12127
0
    mType = TOpRepositionChild;
12128
0
}
12129
12130
MOZ_IMPLICIT Edit::Edit(OpRepositionChild&& aOther)
12131
0
{
12132
0
    new (mozilla::KnownNotNull, ptr_OpRepositionChild()) OpRepositionChild(std::move(aOther));
12133
0
    mType = TOpRepositionChild;
12134
0
}
12135
12136
MOZ_IMPLICIT Edit::Edit(const OpRaiseToTopChild& aOther)
12137
0
{
12138
0
    new (mozilla::KnownNotNull, ptr_OpRaiseToTopChild()) OpRaiseToTopChild(aOther);
12139
0
    mType = TOpRaiseToTopChild;
12140
0
}
12141
12142
MOZ_IMPLICIT Edit::Edit(OpRaiseToTopChild&& aOther)
12143
0
{
12144
0
    new (mozilla::KnownNotNull, ptr_OpRaiseToTopChild()) OpRaiseToTopChild(std::move(aOther));
12145
0
    mType = TOpRaiseToTopChild;
12146
0
}
12147
12148
MOZ_IMPLICIT Edit::Edit(const OpAttachCompositable& aOther)
12149
0
{
12150
0
    new (mozilla::KnownNotNull, ptr_OpAttachCompositable()) OpAttachCompositable(aOther);
12151
0
    mType = TOpAttachCompositable;
12152
0
}
12153
12154
MOZ_IMPLICIT Edit::Edit(OpAttachCompositable&& aOther)
12155
0
{
12156
0
    new (mozilla::KnownNotNull, ptr_OpAttachCompositable()) OpAttachCompositable(std::move(aOther));
12157
0
    mType = TOpAttachCompositable;
12158
0
}
12159
12160
MOZ_IMPLICIT Edit::Edit(const OpAttachAsyncCompositable& aOther)
12161
0
{
12162
0
    new (mozilla::KnownNotNull, ptr_OpAttachAsyncCompositable()) OpAttachAsyncCompositable(aOther);
12163
0
    mType = TOpAttachAsyncCompositable;
12164
0
}
12165
12166
MOZ_IMPLICIT Edit::Edit(OpAttachAsyncCompositable&& aOther)
12167
0
{
12168
0
    new (mozilla::KnownNotNull, ptr_OpAttachAsyncCompositable()) OpAttachAsyncCompositable(std::move(aOther));
12169
0
    mType = TOpAttachAsyncCompositable;
12170
0
}
12171
12172
MOZ_IMPLICIT Edit::Edit(const CompositableOperation& aOther)
12173
0
{
12174
0
    new (mozilla::KnownNotNull, ptr_CompositableOperation()) CompositableOperation(aOther);
12175
0
    mType = TCompositableOperation;
12176
0
}
12177
12178
MOZ_IMPLICIT Edit::Edit(CompositableOperation&& aOther)
12179
0
{
12180
0
    new (mozilla::KnownNotNull, ptr_CompositableOperation()) CompositableOperation(std::move(aOther));
12181
0
    mType = TCompositableOperation;
12182
0
}
12183
12184
MOZ_IMPLICIT Edit::Edit(const Edit& aOther)
12185
0
{
12186
0
    (aOther).AssertSanity();
12187
0
    switch ((aOther).type()) {
12188
0
    case TOpCreatePaintedLayer:
12189
0
        {
12190
0
            new (mozilla::KnownNotNull, ptr_OpCreatePaintedLayer()) OpCreatePaintedLayer((aOther).get_OpCreatePaintedLayer());
12191
0
            break;
12192
0
        }
12193
0
    case TOpCreateContainerLayer:
12194
0
        {
12195
0
            new (mozilla::KnownNotNull, ptr_OpCreateContainerLayer()) OpCreateContainerLayer((aOther).get_OpCreateContainerLayer());
12196
0
            break;
12197
0
        }
12198
0
    case TOpCreateImageLayer:
12199
0
        {
12200
0
            new (mozilla::KnownNotNull, ptr_OpCreateImageLayer()) OpCreateImageLayer((aOther).get_OpCreateImageLayer());
12201
0
            break;
12202
0
        }
12203
0
    case TOpCreateColorLayer:
12204
0
        {
12205
0
            new (mozilla::KnownNotNull, ptr_OpCreateColorLayer()) OpCreateColorLayer((aOther).get_OpCreateColorLayer());
12206
0
            break;
12207
0
        }
12208
0
    case TOpCreateCanvasLayer:
12209
0
        {
12210
0
            new (mozilla::KnownNotNull, ptr_OpCreateCanvasLayer()) OpCreateCanvasLayer((aOther).get_OpCreateCanvasLayer());
12211
0
            break;
12212
0
        }
12213
0
    case TOpCreateRefLayer:
12214
0
        {
12215
0
            new (mozilla::KnownNotNull, ptr_OpCreateRefLayer()) OpCreateRefLayer((aOther).get_OpCreateRefLayer());
12216
0
            break;
12217
0
        }
12218
0
    case TOpSetDiagnosticTypes:
12219
0
        {
12220
0
            new (mozilla::KnownNotNull, ptr_OpSetDiagnosticTypes()) OpSetDiagnosticTypes((aOther).get_OpSetDiagnosticTypes());
12221
0
            break;
12222
0
        }
12223
0
    case TOpWindowOverlayChanged:
12224
0
        {
12225
0
            new (mozilla::KnownNotNull, ptr_OpWindowOverlayChanged()) OpWindowOverlayChanged((aOther).get_OpWindowOverlayChanged());
12226
0
            break;
12227
0
        }
12228
0
    case TOpSetRoot:
12229
0
        {
12230
0
            new (mozilla::KnownNotNull, ptr_OpSetRoot()) OpSetRoot((aOther).get_OpSetRoot());
12231
0
            break;
12232
0
        }
12233
0
    case TOpInsertAfter:
12234
0
        {
12235
0
            new (mozilla::KnownNotNull, ptr_OpInsertAfter()) OpInsertAfter((aOther).get_OpInsertAfter());
12236
0
            break;
12237
0
        }
12238
0
    case TOpPrependChild:
12239
0
        {
12240
0
            new (mozilla::KnownNotNull, ptr_OpPrependChild()) OpPrependChild((aOther).get_OpPrependChild());
12241
0
            break;
12242
0
        }
12243
0
    case TOpRemoveChild:
12244
0
        {
12245
0
            new (mozilla::KnownNotNull, ptr_OpRemoveChild()) OpRemoveChild((aOther).get_OpRemoveChild());
12246
0
            break;
12247
0
        }
12248
0
    case TOpRepositionChild:
12249
0
        {
12250
0
            new (mozilla::KnownNotNull, ptr_OpRepositionChild()) OpRepositionChild((aOther).get_OpRepositionChild());
12251
0
            break;
12252
0
        }
12253
0
    case TOpRaiseToTopChild:
12254
0
        {
12255
0
            new (mozilla::KnownNotNull, ptr_OpRaiseToTopChild()) OpRaiseToTopChild((aOther).get_OpRaiseToTopChild());
12256
0
            break;
12257
0
        }
12258
0
    case TOpAttachCompositable:
12259
0
        {
12260
0
            new (mozilla::KnownNotNull, ptr_OpAttachCompositable()) OpAttachCompositable((aOther).get_OpAttachCompositable());
12261
0
            break;
12262
0
        }
12263
0
    case TOpAttachAsyncCompositable:
12264
0
        {
12265
0
            new (mozilla::KnownNotNull, ptr_OpAttachAsyncCompositable()) OpAttachAsyncCompositable((aOther).get_OpAttachAsyncCompositable());
12266
0
            break;
12267
0
        }
12268
0
    case TCompositableOperation:
12269
0
        {
12270
0
            new (mozilla::KnownNotNull, ptr_CompositableOperation()) CompositableOperation((aOther).get_CompositableOperation());
12271
0
            break;
12272
0
        }
12273
0
    case T__None:
12274
0
        {
12275
0
            break;
12276
0
        }
12277
0
    default:
12278
0
        {
12279
0
            mozilla::ipc::LogicError("unreached");
12280
0
            return;
12281
0
        }
12282
0
    }
12283
0
    mType = (aOther).type();
12284
0
}
12285
12286
MOZ_IMPLICIT Edit::Edit(Edit&& aOther)
12287
0
{
12288
0
    (aOther).AssertSanity();
12289
0
    Type t = (aOther).type();
12290
0
    switch (t) {
12291
0
    case TOpCreatePaintedLayer:
12292
0
        {
12293
0
            new (mozilla::KnownNotNull, ptr_OpCreatePaintedLayer()) OpCreatePaintedLayer(std::move((aOther).get_OpCreatePaintedLayer()));
12294
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
12295
0
            break;
12296
0
        }
12297
0
    case TOpCreateContainerLayer:
12298
0
        {
12299
0
            new (mozilla::KnownNotNull, ptr_OpCreateContainerLayer()) OpCreateContainerLayer(std::move((aOther).get_OpCreateContainerLayer()));
12300
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
12301
0
            break;
12302
0
        }
12303
0
    case TOpCreateImageLayer:
12304
0
        {
12305
0
            new (mozilla::KnownNotNull, ptr_OpCreateImageLayer()) OpCreateImageLayer(std::move((aOther).get_OpCreateImageLayer()));
12306
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
12307
0
            break;
12308
0
        }
12309
0
    case TOpCreateColorLayer:
12310
0
        {
12311
0
            new (mozilla::KnownNotNull, ptr_OpCreateColorLayer()) OpCreateColorLayer(std::move((aOther).get_OpCreateColorLayer()));
12312
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
12313
0
            break;
12314
0
        }
12315
0
    case TOpCreateCanvasLayer:
12316
0
        {
12317
0
            new (mozilla::KnownNotNull, ptr_OpCreateCanvasLayer()) OpCreateCanvasLayer(std::move((aOther).get_OpCreateCanvasLayer()));
12318
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
12319
0
            break;
12320
0
        }
12321
0
    case TOpCreateRefLayer:
12322
0
        {
12323
0
            new (mozilla::KnownNotNull, ptr_OpCreateRefLayer()) OpCreateRefLayer(std::move((aOther).get_OpCreateRefLayer()));
12324
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
12325
0
            break;
12326
0
        }
12327
0
    case TOpSetDiagnosticTypes:
12328
0
        {
12329
0
            new (mozilla::KnownNotNull, ptr_OpSetDiagnosticTypes()) OpSetDiagnosticTypes(std::move((aOther).get_OpSetDiagnosticTypes()));
12330
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
12331
0
            break;
12332
0
        }
12333
0
    case TOpWindowOverlayChanged:
12334
0
        {
12335
0
            new (mozilla::KnownNotNull, ptr_OpWindowOverlayChanged()) OpWindowOverlayChanged(std::move((aOther).get_OpWindowOverlayChanged()));
12336
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
12337
0
            break;
12338
0
        }
12339
0
    case TOpSetRoot:
12340
0
        {
12341
0
            new (mozilla::KnownNotNull, ptr_OpSetRoot()) OpSetRoot(std::move((aOther).get_OpSetRoot()));
12342
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
12343
0
            break;
12344
0
        }
12345
0
    case TOpInsertAfter:
12346
0
        {
12347
0
            new (mozilla::KnownNotNull, ptr_OpInsertAfter()) OpInsertAfter(std::move((aOther).get_OpInsertAfter()));
12348
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
12349
0
            break;
12350
0
        }
12351
0
    case TOpPrependChild:
12352
0
        {
12353
0
            new (mozilla::KnownNotNull, ptr_OpPrependChild()) OpPrependChild(std::move((aOther).get_OpPrependChild()));
12354
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
12355
0
            break;
12356
0
        }
12357
0
    case TOpRemoveChild:
12358
0
        {
12359
0
            new (mozilla::KnownNotNull, ptr_OpRemoveChild()) OpRemoveChild(std::move((aOther).get_OpRemoveChild()));
12360
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
12361
0
            break;
12362
0
        }
12363
0
    case TOpRepositionChild:
12364
0
        {
12365
0
            new (mozilla::KnownNotNull, ptr_OpRepositionChild()) OpRepositionChild(std::move((aOther).get_OpRepositionChild()));
12366
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
12367
0
            break;
12368
0
        }
12369
0
    case TOpRaiseToTopChild:
12370
0
        {
12371
0
            new (mozilla::KnownNotNull, ptr_OpRaiseToTopChild()) OpRaiseToTopChild(std::move((aOther).get_OpRaiseToTopChild()));
12372
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
12373
0
            break;
12374
0
        }
12375
0
    case TOpAttachCompositable:
12376
0
        {
12377
0
            new (mozilla::KnownNotNull, ptr_OpAttachCompositable()) OpAttachCompositable(std::move((aOther).get_OpAttachCompositable()));
12378
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
12379
0
            break;
12380
0
        }
12381
0
    case TOpAttachAsyncCompositable:
12382
0
        {
12383
0
            new (mozilla::KnownNotNull, ptr_OpAttachAsyncCompositable()) OpAttachAsyncCompositable(std::move((aOther).get_OpAttachAsyncCompositable()));
12384
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
12385
0
            break;
12386
0
        }
12387
0
    case TCompositableOperation:
12388
0
        {
12389
0
            new (mozilla::KnownNotNull, ptr_CompositableOperation()) CompositableOperation(std::move((aOther).get_CompositableOperation()));
12390
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
12391
0
            break;
12392
0
        }
12393
0
    case T__None:
12394
0
        {
12395
0
            break;
12396
0
        }
12397
0
    default:
12398
0
        {
12399
0
            mozilla::ipc::LogicError("unreached");
12400
0
            return;
12401
0
        }
12402
0
    }
12403
0
    (aOther).mType = T__None;
12404
0
    mType = t;
12405
0
}
12406
12407
Edit::~Edit()
12408
0
{
12409
0
    static_cast<void>(MaybeDestroy(T__None));
12410
0
}
12411
12412
auto Edit::operator=(const OpCreatePaintedLayer& aRhs) -> Edit&
12413
0
{
12414
0
    if (MaybeDestroy(TOpCreatePaintedLayer)) {
12415
0
        new (mozilla::KnownNotNull, ptr_OpCreatePaintedLayer()) OpCreatePaintedLayer;
12416
0
    }
12417
0
    (*(ptr_OpCreatePaintedLayer())) = aRhs;
12418
0
    mType = TOpCreatePaintedLayer;
12419
0
    return (*(this));
12420
0
}
12421
12422
auto Edit::operator=(OpCreatePaintedLayer&& aRhs) -> Edit&
12423
0
{
12424
0
    if (MaybeDestroy(TOpCreatePaintedLayer)) {
12425
0
        new (mozilla::KnownNotNull, ptr_OpCreatePaintedLayer()) OpCreatePaintedLayer;
12426
0
    }
12427
0
    (*(ptr_OpCreatePaintedLayer())) = std::move(aRhs);
12428
0
    mType = TOpCreatePaintedLayer;
12429
0
    return (*(this));
12430
0
}
12431
12432
auto Edit::operator=(const OpCreateContainerLayer& aRhs) -> Edit&
12433
0
{
12434
0
    if (MaybeDestroy(TOpCreateContainerLayer)) {
12435
0
        new (mozilla::KnownNotNull, ptr_OpCreateContainerLayer()) OpCreateContainerLayer;
12436
0
    }
12437
0
    (*(ptr_OpCreateContainerLayer())) = aRhs;
12438
0
    mType = TOpCreateContainerLayer;
12439
0
    return (*(this));
12440
0
}
12441
12442
auto Edit::operator=(OpCreateContainerLayer&& aRhs) -> Edit&
12443
0
{
12444
0
    if (MaybeDestroy(TOpCreateContainerLayer)) {
12445
0
        new (mozilla::KnownNotNull, ptr_OpCreateContainerLayer()) OpCreateContainerLayer;
12446
0
    }
12447
0
    (*(ptr_OpCreateContainerLayer())) = std::move(aRhs);
12448
0
    mType = TOpCreateContainerLayer;
12449
0
    return (*(this));
12450
0
}
12451
12452
auto Edit::operator=(const OpCreateImageLayer& aRhs) -> Edit&
12453
0
{
12454
0
    if (MaybeDestroy(TOpCreateImageLayer)) {
12455
0
        new (mozilla::KnownNotNull, ptr_OpCreateImageLayer()) OpCreateImageLayer;
12456
0
    }
12457
0
    (*(ptr_OpCreateImageLayer())) = aRhs;
12458
0
    mType = TOpCreateImageLayer;
12459
0
    return (*(this));
12460
0
}
12461
12462
auto Edit::operator=(OpCreateImageLayer&& aRhs) -> Edit&
12463
0
{
12464
0
    if (MaybeDestroy(TOpCreateImageLayer)) {
12465
0
        new (mozilla::KnownNotNull, ptr_OpCreateImageLayer()) OpCreateImageLayer;
12466
0
    }
12467
0
    (*(ptr_OpCreateImageLayer())) = std::move(aRhs);
12468
0
    mType = TOpCreateImageLayer;
12469
0
    return (*(this));
12470
0
}
12471
12472
auto Edit::operator=(const OpCreateColorLayer& aRhs) -> Edit&
12473
0
{
12474
0
    if (MaybeDestroy(TOpCreateColorLayer)) {
12475
0
        new (mozilla::KnownNotNull, ptr_OpCreateColorLayer()) OpCreateColorLayer;
12476
0
    }
12477
0
    (*(ptr_OpCreateColorLayer())) = aRhs;
12478
0
    mType = TOpCreateColorLayer;
12479
0
    return (*(this));
12480
0
}
12481
12482
auto Edit::operator=(OpCreateColorLayer&& aRhs) -> Edit&
12483
0
{
12484
0
    if (MaybeDestroy(TOpCreateColorLayer)) {
12485
0
        new (mozilla::KnownNotNull, ptr_OpCreateColorLayer()) OpCreateColorLayer;
12486
0
    }
12487
0
    (*(ptr_OpCreateColorLayer())) = std::move(aRhs);
12488
0
    mType = TOpCreateColorLayer;
12489
0
    return (*(this));
12490
0
}
12491
12492
auto Edit::operator=(const OpCreateCanvasLayer& aRhs) -> Edit&
12493
0
{
12494
0
    if (MaybeDestroy(TOpCreateCanvasLayer)) {
12495
0
        new (mozilla::KnownNotNull, ptr_OpCreateCanvasLayer()) OpCreateCanvasLayer;
12496
0
    }
12497
0
    (*(ptr_OpCreateCanvasLayer())) = aRhs;
12498
0
    mType = TOpCreateCanvasLayer;
12499
0
    return (*(this));
12500
0
}
12501
12502
auto Edit::operator=(OpCreateCanvasLayer&& aRhs) -> Edit&
12503
0
{
12504
0
    if (MaybeDestroy(TOpCreateCanvasLayer)) {
12505
0
        new (mozilla::KnownNotNull, ptr_OpCreateCanvasLayer()) OpCreateCanvasLayer;
12506
0
    }
12507
0
    (*(ptr_OpCreateCanvasLayer())) = std::move(aRhs);
12508
0
    mType = TOpCreateCanvasLayer;
12509
0
    return (*(this));
12510
0
}
12511
12512
auto Edit::operator=(const OpCreateRefLayer& aRhs) -> Edit&
12513
0
{
12514
0
    if (MaybeDestroy(TOpCreateRefLayer)) {
12515
0
        new (mozilla::KnownNotNull, ptr_OpCreateRefLayer()) OpCreateRefLayer;
12516
0
    }
12517
0
    (*(ptr_OpCreateRefLayer())) = aRhs;
12518
0
    mType = TOpCreateRefLayer;
12519
0
    return (*(this));
12520
0
}
12521
12522
auto Edit::operator=(OpCreateRefLayer&& aRhs) -> Edit&
12523
0
{
12524
0
    if (MaybeDestroy(TOpCreateRefLayer)) {
12525
0
        new (mozilla::KnownNotNull, ptr_OpCreateRefLayer()) OpCreateRefLayer;
12526
0
    }
12527
0
    (*(ptr_OpCreateRefLayer())) = std::move(aRhs);
12528
0
    mType = TOpCreateRefLayer;
12529
0
    return (*(this));
12530
0
}
12531
12532
auto Edit::operator=(const OpSetDiagnosticTypes& aRhs) -> Edit&
12533
0
{
12534
0
    if (MaybeDestroy(TOpSetDiagnosticTypes)) {
12535
0
        new (mozilla::KnownNotNull, ptr_OpSetDiagnosticTypes()) OpSetDiagnosticTypes;
12536
0
    }
12537
0
    (*(ptr_OpSetDiagnosticTypes())) = aRhs;
12538
0
    mType = TOpSetDiagnosticTypes;
12539
0
    return (*(this));
12540
0
}
12541
12542
auto Edit::operator=(OpSetDiagnosticTypes&& aRhs) -> Edit&
12543
0
{
12544
0
    if (MaybeDestroy(TOpSetDiagnosticTypes)) {
12545
0
        new (mozilla::KnownNotNull, ptr_OpSetDiagnosticTypes()) OpSetDiagnosticTypes;
12546
0
    }
12547
0
    (*(ptr_OpSetDiagnosticTypes())) = std::move(aRhs);
12548
0
    mType = TOpSetDiagnosticTypes;
12549
0
    return (*(this));
12550
0
}
12551
12552
auto Edit::operator=(const OpWindowOverlayChanged& aRhs) -> Edit&
12553
0
{
12554
0
    if (MaybeDestroy(TOpWindowOverlayChanged)) {
12555
0
        new (mozilla::KnownNotNull, ptr_OpWindowOverlayChanged()) OpWindowOverlayChanged;
12556
0
    }
12557
0
    (*(ptr_OpWindowOverlayChanged())) = aRhs;
12558
0
    mType = TOpWindowOverlayChanged;
12559
0
    return (*(this));
12560
0
}
12561
12562
auto Edit::operator=(OpWindowOverlayChanged&& aRhs) -> Edit&
12563
0
{
12564
0
    if (MaybeDestroy(TOpWindowOverlayChanged)) {
12565
0
        new (mozilla::KnownNotNull, ptr_OpWindowOverlayChanged()) OpWindowOverlayChanged;
12566
0
    }
12567
0
    (*(ptr_OpWindowOverlayChanged())) = std::move(aRhs);
12568
0
    mType = TOpWindowOverlayChanged;
12569
0
    return (*(this));
12570
0
}
12571
12572
auto Edit::operator=(const OpSetRoot& aRhs) -> Edit&
12573
0
{
12574
0
    if (MaybeDestroy(TOpSetRoot)) {
12575
0
        new (mozilla::KnownNotNull, ptr_OpSetRoot()) OpSetRoot;
12576
0
    }
12577
0
    (*(ptr_OpSetRoot())) = aRhs;
12578
0
    mType = TOpSetRoot;
12579
0
    return (*(this));
12580
0
}
12581
12582
auto Edit::operator=(OpSetRoot&& aRhs) -> Edit&
12583
0
{
12584
0
    if (MaybeDestroy(TOpSetRoot)) {
12585
0
        new (mozilla::KnownNotNull, ptr_OpSetRoot()) OpSetRoot;
12586
0
    }
12587
0
    (*(ptr_OpSetRoot())) = std::move(aRhs);
12588
0
    mType = TOpSetRoot;
12589
0
    return (*(this));
12590
0
}
12591
12592
auto Edit::operator=(const OpInsertAfter& aRhs) -> Edit&
12593
0
{
12594
0
    if (MaybeDestroy(TOpInsertAfter)) {
12595
0
        new (mozilla::KnownNotNull, ptr_OpInsertAfter()) OpInsertAfter;
12596
0
    }
12597
0
    (*(ptr_OpInsertAfter())) = aRhs;
12598
0
    mType = TOpInsertAfter;
12599
0
    return (*(this));
12600
0
}
12601
12602
auto Edit::operator=(OpInsertAfter&& aRhs) -> Edit&
12603
0
{
12604
0
    if (MaybeDestroy(TOpInsertAfter)) {
12605
0
        new (mozilla::KnownNotNull, ptr_OpInsertAfter()) OpInsertAfter;
12606
0
    }
12607
0
    (*(ptr_OpInsertAfter())) = std::move(aRhs);
12608
0
    mType = TOpInsertAfter;
12609
0
    return (*(this));
12610
0
}
12611
12612
auto Edit::operator=(const OpPrependChild& aRhs) -> Edit&
12613
0
{
12614
0
    if (MaybeDestroy(TOpPrependChild)) {
12615
0
        new (mozilla::KnownNotNull, ptr_OpPrependChild()) OpPrependChild;
12616
0
    }
12617
0
    (*(ptr_OpPrependChild())) = aRhs;
12618
0
    mType = TOpPrependChild;
12619
0
    return (*(this));
12620
0
}
12621
12622
auto Edit::operator=(OpPrependChild&& aRhs) -> Edit&
12623
0
{
12624
0
    if (MaybeDestroy(TOpPrependChild)) {
12625
0
        new (mozilla::KnownNotNull, ptr_OpPrependChild()) OpPrependChild;
12626
0
    }
12627
0
    (*(ptr_OpPrependChild())) = std::move(aRhs);
12628
0
    mType = TOpPrependChild;
12629
0
    return (*(this));
12630
0
}
12631
12632
auto Edit::operator=(const OpRemoveChild& aRhs) -> Edit&
12633
0
{
12634
0
    if (MaybeDestroy(TOpRemoveChild)) {
12635
0
        new (mozilla::KnownNotNull, ptr_OpRemoveChild()) OpRemoveChild;
12636
0
    }
12637
0
    (*(ptr_OpRemoveChild())) = aRhs;
12638
0
    mType = TOpRemoveChild;
12639
0
    return (*(this));
12640
0
}
12641
12642
auto Edit::operator=(OpRemoveChild&& aRhs) -> Edit&
12643
0
{
12644
0
    if (MaybeDestroy(TOpRemoveChild)) {
12645
0
        new (mozilla::KnownNotNull, ptr_OpRemoveChild()) OpRemoveChild;
12646
0
    }
12647
0
    (*(ptr_OpRemoveChild())) = std::move(aRhs);
12648
0
    mType = TOpRemoveChild;
12649
0
    return (*(this));
12650
0
}
12651
12652
auto Edit::operator=(const OpRepositionChild& aRhs) -> Edit&
12653
0
{
12654
0
    if (MaybeDestroy(TOpRepositionChild)) {
12655
0
        new (mozilla::KnownNotNull, ptr_OpRepositionChild()) OpRepositionChild;
12656
0
    }
12657
0
    (*(ptr_OpRepositionChild())) = aRhs;
12658
0
    mType = TOpRepositionChild;
12659
0
    return (*(this));
12660
0
}
12661
12662
auto Edit::operator=(OpRepositionChild&& aRhs) -> Edit&
12663
0
{
12664
0
    if (MaybeDestroy(TOpRepositionChild)) {
12665
0
        new (mozilla::KnownNotNull, ptr_OpRepositionChild()) OpRepositionChild;
12666
0
    }
12667
0
    (*(ptr_OpRepositionChild())) = std::move(aRhs);
12668
0
    mType = TOpRepositionChild;
12669
0
    return (*(this));
12670
0
}
12671
12672
auto Edit::operator=(const OpRaiseToTopChild& aRhs) -> Edit&
12673
0
{
12674
0
    if (MaybeDestroy(TOpRaiseToTopChild)) {
12675
0
        new (mozilla::KnownNotNull, ptr_OpRaiseToTopChild()) OpRaiseToTopChild;
12676
0
    }
12677
0
    (*(ptr_OpRaiseToTopChild())) = aRhs;
12678
0
    mType = TOpRaiseToTopChild;
12679
0
    return (*(this));
12680
0
}
12681
12682
auto Edit::operator=(OpRaiseToTopChild&& aRhs) -> Edit&
12683
0
{
12684
0
    if (MaybeDestroy(TOpRaiseToTopChild)) {
12685
0
        new (mozilla::KnownNotNull, ptr_OpRaiseToTopChild()) OpRaiseToTopChild;
12686
0
    }
12687
0
    (*(ptr_OpRaiseToTopChild())) = std::move(aRhs);
12688
0
    mType = TOpRaiseToTopChild;
12689
0
    return (*(this));
12690
0
}
12691
12692
auto Edit::operator=(const OpAttachCompositable& aRhs) -> Edit&
12693
0
{
12694
0
    if (MaybeDestroy(TOpAttachCompositable)) {
12695
0
        new (mozilla::KnownNotNull, ptr_OpAttachCompositable()) OpAttachCompositable;
12696
0
    }
12697
0
    (*(ptr_OpAttachCompositable())) = aRhs;
12698
0
    mType = TOpAttachCompositable;
12699
0
    return (*(this));
12700
0
}
12701
12702
auto Edit::operator=(OpAttachCompositable&& aRhs) -> Edit&
12703
0
{
12704
0
    if (MaybeDestroy(TOpAttachCompositable)) {
12705
0
        new (mozilla::KnownNotNull, ptr_OpAttachCompositable()) OpAttachCompositable;
12706
0
    }
12707
0
    (*(ptr_OpAttachCompositable())) = std::move(aRhs);
12708
0
    mType = TOpAttachCompositable;
12709
0
    return (*(this));
12710
0
}
12711
12712
auto Edit::operator=(const OpAttachAsyncCompositable& aRhs) -> Edit&
12713
0
{
12714
0
    if (MaybeDestroy(TOpAttachAsyncCompositable)) {
12715
0
        new (mozilla::KnownNotNull, ptr_OpAttachAsyncCompositable()) OpAttachAsyncCompositable;
12716
0
    }
12717
0
    (*(ptr_OpAttachAsyncCompositable())) = aRhs;
12718
0
    mType = TOpAttachAsyncCompositable;
12719
0
    return (*(this));
12720
0
}
12721
12722
auto Edit::operator=(OpAttachAsyncCompositable&& aRhs) -> Edit&
12723
0
{
12724
0
    if (MaybeDestroy(TOpAttachAsyncCompositable)) {
12725
0
        new (mozilla::KnownNotNull, ptr_OpAttachAsyncCompositable()) OpAttachAsyncCompositable;
12726
0
    }
12727
0
    (*(ptr_OpAttachAsyncCompositable())) = std::move(aRhs);
12728
0
    mType = TOpAttachAsyncCompositable;
12729
0
    return (*(this));
12730
0
}
12731
12732
auto Edit::operator=(const CompositableOperation& aRhs) -> Edit&
12733
0
{
12734
0
    if (MaybeDestroy(TCompositableOperation)) {
12735
0
        new (mozilla::KnownNotNull, ptr_CompositableOperation()) CompositableOperation;
12736
0
    }
12737
0
    (*(ptr_CompositableOperation())) = aRhs;
12738
0
    mType = TCompositableOperation;
12739
0
    return (*(this));
12740
0
}
12741
12742
auto Edit::operator=(CompositableOperation&& aRhs) -> Edit&
12743
0
{
12744
0
    if (MaybeDestroy(TCompositableOperation)) {
12745
0
        new (mozilla::KnownNotNull, ptr_CompositableOperation()) CompositableOperation;
12746
0
    }
12747
0
    (*(ptr_CompositableOperation())) = std::move(aRhs);
12748
0
    mType = TCompositableOperation;
12749
0
    return (*(this));
12750
0
}
12751
12752
auto Edit::operator=(const Edit& aRhs) -> Edit&
12753
0
{
12754
0
    (aRhs).AssertSanity();
12755
0
    Type t = (aRhs).type();
12756
0
    switch (t) {
12757
0
    case TOpCreatePaintedLayer:
12758
0
        {
12759
0
            if (MaybeDestroy(t)) {
12760
0
                new (mozilla::KnownNotNull, ptr_OpCreatePaintedLayer()) OpCreatePaintedLayer;
12761
0
            }
12762
0
            (*(ptr_OpCreatePaintedLayer())) = (aRhs).get_OpCreatePaintedLayer();
12763
0
            break;
12764
0
        }
12765
0
    case TOpCreateContainerLayer:
12766
0
        {
12767
0
            if (MaybeDestroy(t)) {
12768
0
                new (mozilla::KnownNotNull, ptr_OpCreateContainerLayer()) OpCreateContainerLayer;
12769
0
            }
12770
0
            (*(ptr_OpCreateContainerLayer())) = (aRhs).get_OpCreateContainerLayer();
12771
0
            break;
12772
0
        }
12773
0
    case TOpCreateImageLayer:
12774
0
        {
12775
0
            if (MaybeDestroy(t)) {
12776
0
                new (mozilla::KnownNotNull, ptr_OpCreateImageLayer()) OpCreateImageLayer;
12777
0
            }
12778
0
            (*(ptr_OpCreateImageLayer())) = (aRhs).get_OpCreateImageLayer();
12779
0
            break;
12780
0
        }
12781
0
    case TOpCreateColorLayer:
12782
0
        {
12783
0
            if (MaybeDestroy(t)) {
12784
0
                new (mozilla::KnownNotNull, ptr_OpCreateColorLayer()) OpCreateColorLayer;
12785
0
            }
12786
0
            (*(ptr_OpCreateColorLayer())) = (aRhs).get_OpCreateColorLayer();
12787
0
            break;
12788
0
        }
12789
0
    case TOpCreateCanvasLayer:
12790
0
        {
12791
0
            if (MaybeDestroy(t)) {
12792
0
                new (mozilla::KnownNotNull, ptr_OpCreateCanvasLayer()) OpCreateCanvasLayer;
12793
0
            }
12794
0
            (*(ptr_OpCreateCanvasLayer())) = (aRhs).get_OpCreateCanvasLayer();
12795
0
            break;
12796
0
        }
12797
0
    case TOpCreateRefLayer:
12798
0
        {
12799
0
            if (MaybeDestroy(t)) {
12800
0
                new (mozilla::KnownNotNull, ptr_OpCreateRefLayer()) OpCreateRefLayer;
12801
0
            }
12802
0
            (*(ptr_OpCreateRefLayer())) = (aRhs).get_OpCreateRefLayer();
12803
0
            break;
12804
0
        }
12805
0
    case TOpSetDiagnosticTypes:
12806
0
        {
12807
0
            if (MaybeDestroy(t)) {
12808
0
                new (mozilla::KnownNotNull, ptr_OpSetDiagnosticTypes()) OpSetDiagnosticTypes;
12809
0
            }
12810
0
            (*(ptr_OpSetDiagnosticTypes())) = (aRhs).get_OpSetDiagnosticTypes();
12811
0
            break;
12812
0
        }
12813
0
    case TOpWindowOverlayChanged:
12814
0
        {
12815
0
            if (MaybeDestroy(t)) {
12816
0
                new (mozilla::KnownNotNull, ptr_OpWindowOverlayChanged()) OpWindowOverlayChanged;
12817
0
            }
12818
0
            (*(ptr_OpWindowOverlayChanged())) = (aRhs).get_OpWindowOverlayChanged();
12819
0
            break;
12820
0
        }
12821
0
    case TOpSetRoot:
12822
0
        {
12823
0
            if (MaybeDestroy(t)) {
12824
0
                new (mozilla::KnownNotNull, ptr_OpSetRoot()) OpSetRoot;
12825
0
            }
12826
0
            (*(ptr_OpSetRoot())) = (aRhs).get_OpSetRoot();
12827
0
            break;
12828
0
        }
12829
0
    case TOpInsertAfter:
12830
0
        {
12831
0
            if (MaybeDestroy(t)) {
12832
0
                new (mozilla::KnownNotNull, ptr_OpInsertAfter()) OpInsertAfter;
12833
0
            }
12834
0
            (*(ptr_OpInsertAfter())) = (aRhs).get_OpInsertAfter();
12835
0
            break;
12836
0
        }
12837
0
    case TOpPrependChild:
12838
0
        {
12839
0
            if (MaybeDestroy(t)) {
12840
0
                new (mozilla::KnownNotNull, ptr_OpPrependChild()) OpPrependChild;
12841
0
            }
12842
0
            (*(ptr_OpPrependChild())) = (aRhs).get_OpPrependChild();
12843
0
            break;
12844
0
        }
12845
0
    case TOpRemoveChild:
12846
0
        {
12847
0
            if (MaybeDestroy(t)) {
12848
0
                new (mozilla::KnownNotNull, ptr_OpRemoveChild()) OpRemoveChild;
12849
0
            }
12850
0
            (*(ptr_OpRemoveChild())) = (aRhs).get_OpRemoveChild();
12851
0
            break;
12852
0
        }
12853
0
    case TOpRepositionChild:
12854
0
        {
12855
0
            if (MaybeDestroy(t)) {
12856
0
                new (mozilla::KnownNotNull, ptr_OpRepositionChild()) OpRepositionChild;
12857
0
            }
12858
0
            (*(ptr_OpRepositionChild())) = (aRhs).get_OpRepositionChild();
12859
0
            break;
12860
0
        }
12861
0
    case TOpRaiseToTopChild:
12862
0
        {
12863
0
            if (MaybeDestroy(t)) {
12864
0
                new (mozilla::KnownNotNull, ptr_OpRaiseToTopChild()) OpRaiseToTopChild;
12865
0
            }
12866
0
            (*(ptr_OpRaiseToTopChild())) = (aRhs).get_OpRaiseToTopChild();
12867
0
            break;
12868
0
        }
12869
0
    case TOpAttachCompositable:
12870
0
        {
12871
0
            if (MaybeDestroy(t)) {
12872
0
                new (mozilla::KnownNotNull, ptr_OpAttachCompositable()) OpAttachCompositable;
12873
0
            }
12874
0
            (*(ptr_OpAttachCompositable())) = (aRhs).get_OpAttachCompositable();
12875
0
            break;
12876
0
        }
12877
0
    case TOpAttachAsyncCompositable:
12878
0
        {
12879
0
            if (MaybeDestroy(t)) {
12880
0
                new (mozilla::KnownNotNull, ptr_OpAttachAsyncCompositable()) OpAttachAsyncCompositable;
12881
0
            }
12882
0
            (*(ptr_OpAttachAsyncCompositable())) = (aRhs).get_OpAttachAsyncCompositable();
12883
0
            break;
12884
0
        }
12885
0
    case TCompositableOperation:
12886
0
        {
12887
0
            if (MaybeDestroy(t)) {
12888
0
                new (mozilla::KnownNotNull, ptr_CompositableOperation()) CompositableOperation;
12889
0
            }
12890
0
            (*(ptr_CompositableOperation())) = (aRhs).get_CompositableOperation();
12891
0
            break;
12892
0
        }
12893
0
    case T__None:
12894
0
        {
12895
0
            static_cast<void>(MaybeDestroy(t));
12896
0
            break;
12897
0
        }
12898
0
    default:
12899
0
        {
12900
0
            mozilla::ipc::LogicError("unreached");
12901
0
            break;
12902
0
        }
12903
0
    }
12904
0
    mType = t;
12905
0
    return (*(this));
12906
0
}
12907
12908
auto Edit::operator=(Edit&& aRhs) -> Edit&
12909
0
{
12910
0
    (aRhs).AssertSanity();
12911
0
    Type t = (aRhs).type();
12912
0
    switch (t) {
12913
0
    case TOpCreatePaintedLayer:
12914
0
        {
12915
0
            if (MaybeDestroy(t)) {
12916
0
                new (mozilla::KnownNotNull, ptr_OpCreatePaintedLayer()) OpCreatePaintedLayer;
12917
0
            }
12918
0
            (*(ptr_OpCreatePaintedLayer())) = std::move((aRhs).get_OpCreatePaintedLayer());
12919
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
12920
0
            break;
12921
0
        }
12922
0
    case TOpCreateContainerLayer:
12923
0
        {
12924
0
            if (MaybeDestroy(t)) {
12925
0
                new (mozilla::KnownNotNull, ptr_OpCreateContainerLayer()) OpCreateContainerLayer;
12926
0
            }
12927
0
            (*(ptr_OpCreateContainerLayer())) = std::move((aRhs).get_OpCreateContainerLayer());
12928
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
12929
0
            break;
12930
0
        }
12931
0
    case TOpCreateImageLayer:
12932
0
        {
12933
0
            if (MaybeDestroy(t)) {
12934
0
                new (mozilla::KnownNotNull, ptr_OpCreateImageLayer()) OpCreateImageLayer;
12935
0
            }
12936
0
            (*(ptr_OpCreateImageLayer())) = std::move((aRhs).get_OpCreateImageLayer());
12937
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
12938
0
            break;
12939
0
        }
12940
0
    case TOpCreateColorLayer:
12941
0
        {
12942
0
            if (MaybeDestroy(t)) {
12943
0
                new (mozilla::KnownNotNull, ptr_OpCreateColorLayer()) OpCreateColorLayer;
12944
0
            }
12945
0
            (*(ptr_OpCreateColorLayer())) = std::move((aRhs).get_OpCreateColorLayer());
12946
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
12947
0
            break;
12948
0
        }
12949
0
    case TOpCreateCanvasLayer:
12950
0
        {
12951
0
            if (MaybeDestroy(t)) {
12952
0
                new (mozilla::KnownNotNull, ptr_OpCreateCanvasLayer()) OpCreateCanvasLayer;
12953
0
            }
12954
0
            (*(ptr_OpCreateCanvasLayer())) = std::move((aRhs).get_OpCreateCanvasLayer());
12955
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
12956
0
            break;
12957
0
        }
12958
0
    case TOpCreateRefLayer:
12959
0
        {
12960
0
            if (MaybeDestroy(t)) {
12961
0
                new (mozilla::KnownNotNull, ptr_OpCreateRefLayer()) OpCreateRefLayer;
12962
0
            }
12963
0
            (*(ptr_OpCreateRefLayer())) = std::move((aRhs).get_OpCreateRefLayer());
12964
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
12965
0
            break;
12966
0
        }
12967
0
    case TOpSetDiagnosticTypes:
12968
0
        {
12969
0
            if (MaybeDestroy(t)) {
12970
0
                new (mozilla::KnownNotNull, ptr_OpSetDiagnosticTypes()) OpSetDiagnosticTypes;
12971
0
            }
12972
0
            (*(ptr_OpSetDiagnosticTypes())) = std::move((aRhs).get_OpSetDiagnosticTypes());
12973
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
12974
0
            break;
12975
0
        }
12976
0
    case TOpWindowOverlayChanged:
12977
0
        {
12978
0
            if (MaybeDestroy(t)) {
12979
0
                new (mozilla::KnownNotNull, ptr_OpWindowOverlayChanged()) OpWindowOverlayChanged;
12980
0
            }
12981
0
            (*(ptr_OpWindowOverlayChanged())) = std::move((aRhs).get_OpWindowOverlayChanged());
12982
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
12983
0
            break;
12984
0
        }
12985
0
    case TOpSetRoot:
12986
0
        {
12987
0
            if (MaybeDestroy(t)) {
12988
0
                new (mozilla::KnownNotNull, ptr_OpSetRoot()) OpSetRoot;
12989
0
            }
12990
0
            (*(ptr_OpSetRoot())) = std::move((aRhs).get_OpSetRoot());
12991
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
12992
0
            break;
12993
0
        }
12994
0
    case TOpInsertAfter:
12995
0
        {
12996
0
            if (MaybeDestroy(t)) {
12997
0
                new (mozilla::KnownNotNull, ptr_OpInsertAfter()) OpInsertAfter;
12998
0
            }
12999
0
            (*(ptr_OpInsertAfter())) = std::move((aRhs).get_OpInsertAfter());
13000
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
13001
0
            break;
13002
0
        }
13003
0
    case TOpPrependChild:
13004
0
        {
13005
0
            if (MaybeDestroy(t)) {
13006
0
                new (mozilla::KnownNotNull, ptr_OpPrependChild()) OpPrependChild;
13007
0
            }
13008
0
            (*(ptr_OpPrependChild())) = std::move((aRhs).get_OpPrependChild());
13009
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
13010
0
            break;
13011
0
        }
13012
0
    case TOpRemoveChild:
13013
0
        {
13014
0
            if (MaybeDestroy(t)) {
13015
0
                new (mozilla::KnownNotNull, ptr_OpRemoveChild()) OpRemoveChild;
13016
0
            }
13017
0
            (*(ptr_OpRemoveChild())) = std::move((aRhs).get_OpRemoveChild());
13018
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
13019
0
            break;
13020
0
        }
13021
0
    case TOpRepositionChild:
13022
0
        {
13023
0
            if (MaybeDestroy(t)) {
13024
0
                new (mozilla::KnownNotNull, ptr_OpRepositionChild()) OpRepositionChild;
13025
0
            }
13026
0
            (*(ptr_OpRepositionChild())) = std::move((aRhs).get_OpRepositionChild());
13027
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
13028
0
            break;
13029
0
        }
13030
0
    case TOpRaiseToTopChild:
13031
0
        {
13032
0
            if (MaybeDestroy(t)) {
13033
0
                new (mozilla::KnownNotNull, ptr_OpRaiseToTopChild()) OpRaiseToTopChild;
13034
0
            }
13035
0
            (*(ptr_OpRaiseToTopChild())) = std::move((aRhs).get_OpRaiseToTopChild());
13036
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
13037
0
            break;
13038
0
        }
13039
0
    case TOpAttachCompositable:
13040
0
        {
13041
0
            if (MaybeDestroy(t)) {
13042
0
                new (mozilla::KnownNotNull, ptr_OpAttachCompositable()) OpAttachCompositable;
13043
0
            }
13044
0
            (*(ptr_OpAttachCompositable())) = std::move((aRhs).get_OpAttachCompositable());
13045
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
13046
0
            break;
13047
0
        }
13048
0
    case TOpAttachAsyncCompositable:
13049
0
        {
13050
0
            if (MaybeDestroy(t)) {
13051
0
                new (mozilla::KnownNotNull, ptr_OpAttachAsyncCompositable()) OpAttachAsyncCompositable;
13052
0
            }
13053
0
            (*(ptr_OpAttachAsyncCompositable())) = std::move((aRhs).get_OpAttachAsyncCompositable());
13054
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
13055
0
            break;
13056
0
        }
13057
0
    case TCompositableOperation:
13058
0
        {
13059
0
            if (MaybeDestroy(t)) {
13060
0
                new (mozilla::KnownNotNull, ptr_CompositableOperation()) CompositableOperation;
13061
0
            }
13062
0
            (*(ptr_CompositableOperation())) = std::move((aRhs).get_CompositableOperation());
13063
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
13064
0
            break;
13065
0
        }
13066
0
    case T__None:
13067
0
        {
13068
0
            static_cast<void>(MaybeDestroy(t));
13069
0
            break;
13070
0
        }
13071
0
    default:
13072
0
        {
13073
0
            mozilla::ipc::LogicError("unreached");
13074
0
            break;
13075
0
        }
13076
0
    }
13077
0
    (aRhs).mType = T__None;
13078
0
    mType = t;
13079
0
    return (*(this));
13080
0
}
13081
13082
auto Edit::operator==(const OpCreatePaintedLayer& aRhs) const -> bool
13083
0
{
13084
0
    return (get_OpCreatePaintedLayer()) == (aRhs);
13085
0
}
13086
13087
auto Edit::operator==(const OpCreateContainerLayer& aRhs) const -> bool
13088
0
{
13089
0
    return (get_OpCreateContainerLayer()) == (aRhs);
13090
0
}
13091
13092
auto Edit::operator==(const OpCreateImageLayer& aRhs) const -> bool
13093
0
{
13094
0
    return (get_OpCreateImageLayer()) == (aRhs);
13095
0
}
13096
13097
auto Edit::operator==(const OpCreateColorLayer& aRhs) const -> bool
13098
0
{
13099
0
    return (get_OpCreateColorLayer()) == (aRhs);
13100
0
}
13101
13102
auto Edit::operator==(const OpCreateCanvasLayer& aRhs) const -> bool
13103
0
{
13104
0
    return (get_OpCreateCanvasLayer()) == (aRhs);
13105
0
}
13106
13107
auto Edit::operator==(const OpCreateRefLayer& aRhs) const -> bool
13108
0
{
13109
0
    return (get_OpCreateRefLayer()) == (aRhs);
13110
0
}
13111
13112
auto Edit::operator==(const OpSetDiagnosticTypes& aRhs) const -> bool
13113
0
{
13114
0
    return (get_OpSetDiagnosticTypes()) == (aRhs);
13115
0
}
13116
13117
auto Edit::operator==(const OpWindowOverlayChanged& aRhs) const -> bool
13118
0
{
13119
0
    return (get_OpWindowOverlayChanged()) == (aRhs);
13120
0
}
13121
13122
auto Edit::operator==(const OpSetRoot& aRhs) const -> bool
13123
0
{
13124
0
    return (get_OpSetRoot()) == (aRhs);
13125
0
}
13126
13127
auto Edit::operator==(const OpInsertAfter& aRhs) const -> bool
13128
0
{
13129
0
    return (get_OpInsertAfter()) == (aRhs);
13130
0
}
13131
13132
auto Edit::operator==(const OpPrependChild& aRhs) const -> bool
13133
0
{
13134
0
    return (get_OpPrependChild()) == (aRhs);
13135
0
}
13136
13137
auto Edit::operator==(const OpRemoveChild& aRhs) const -> bool
13138
0
{
13139
0
    return (get_OpRemoveChild()) == (aRhs);
13140
0
}
13141
13142
auto Edit::operator==(const OpRepositionChild& aRhs) const -> bool
13143
0
{
13144
0
    return (get_OpRepositionChild()) == (aRhs);
13145
0
}
13146
13147
auto Edit::operator==(const OpRaiseToTopChild& aRhs) const -> bool
13148
0
{
13149
0
    return (get_OpRaiseToTopChild()) == (aRhs);
13150
0
}
13151
13152
auto Edit::operator==(const OpAttachCompositable& aRhs) const -> bool
13153
0
{
13154
0
    return (get_OpAttachCompositable()) == (aRhs);
13155
0
}
13156
13157
auto Edit::operator==(const OpAttachAsyncCompositable& aRhs) const -> bool
13158
0
{
13159
0
    return (get_OpAttachAsyncCompositable()) == (aRhs);
13160
0
}
13161
13162
auto Edit::operator==(const CompositableOperation& aRhs) const -> bool
13163
0
{
13164
0
    return (get_CompositableOperation()) == (aRhs);
13165
0
}
13166
13167
auto Edit::operator==(const Edit& aRhs) const -> bool
13168
0
{
13169
0
    if ((type()) != ((aRhs).type())) {
13170
0
        return false;
13171
0
    }
13172
0
13173
0
    switch (type()) {
13174
0
    case TOpCreatePaintedLayer:
13175
0
        {
13176
0
            return (get_OpCreatePaintedLayer()) == ((aRhs).get_OpCreatePaintedLayer());
13177
0
        }
13178
0
    case TOpCreateContainerLayer:
13179
0
        {
13180
0
            return (get_OpCreateContainerLayer()) == ((aRhs).get_OpCreateContainerLayer());
13181
0
        }
13182
0
    case TOpCreateImageLayer:
13183
0
        {
13184
0
            return (get_OpCreateImageLayer()) == ((aRhs).get_OpCreateImageLayer());
13185
0
        }
13186
0
    case TOpCreateColorLayer:
13187
0
        {
13188
0
            return (get_OpCreateColorLayer()) == ((aRhs).get_OpCreateColorLayer());
13189
0
        }
13190
0
    case TOpCreateCanvasLayer:
13191
0
        {
13192
0
            return (get_OpCreateCanvasLayer()) == ((aRhs).get_OpCreateCanvasLayer());
13193
0
        }
13194
0
    case TOpCreateRefLayer:
13195
0
        {
13196
0
            return (get_OpCreateRefLayer()) == ((aRhs).get_OpCreateRefLayer());
13197
0
        }
13198
0
    case TOpSetDiagnosticTypes:
13199
0
        {
13200
0
            return (get_OpSetDiagnosticTypes()) == ((aRhs).get_OpSetDiagnosticTypes());
13201
0
        }
13202
0
    case TOpWindowOverlayChanged:
13203
0
        {
13204
0
            return (get_OpWindowOverlayChanged()) == ((aRhs).get_OpWindowOverlayChanged());
13205
0
        }
13206
0
    case TOpSetRoot:
13207
0
        {
13208
0
            return (get_OpSetRoot()) == ((aRhs).get_OpSetRoot());
13209
0
        }
13210
0
    case TOpInsertAfter:
13211
0
        {
13212
0
            return (get_OpInsertAfter()) == ((aRhs).get_OpInsertAfter());
13213
0
        }
13214
0
    case TOpPrependChild:
13215
0
        {
13216
0
            return (get_OpPrependChild()) == ((aRhs).get_OpPrependChild());
13217
0
        }
13218
0
    case TOpRemoveChild:
13219
0
        {
13220
0
            return (get_OpRemoveChild()) == ((aRhs).get_OpRemoveChild());
13221
0
        }
13222
0
    case TOpRepositionChild:
13223
0
        {
13224
0
            return (get_OpRepositionChild()) == ((aRhs).get_OpRepositionChild());
13225
0
        }
13226
0
    case TOpRaiseToTopChild:
13227
0
        {
13228
0
            return (get_OpRaiseToTopChild()) == ((aRhs).get_OpRaiseToTopChild());
13229
0
        }
13230
0
    case TOpAttachCompositable:
13231
0
        {
13232
0
            return (get_OpAttachCompositable()) == ((aRhs).get_OpAttachCompositable());
13233
0
        }
13234
0
    case TOpAttachAsyncCompositable:
13235
0
        {
13236
0
            return (get_OpAttachAsyncCompositable()) == ((aRhs).get_OpAttachAsyncCompositable());
13237
0
        }
13238
0
    case TCompositableOperation:
13239
0
        {
13240
0
            return (get_CompositableOperation()) == ((aRhs).get_CompositableOperation());
13241
0
        }
13242
0
    default:
13243
0
        {
13244
0
            mozilla::ipc::LogicError("unreached");
13245
0
            return false;
13246
0
        }
13247
0
    }
13248
0
}
13249
13250
auto Edit::get(OpCreatePaintedLayer* aOutValue) const -> void
13251
0
{
13252
0
    (*(aOutValue)) = get_OpCreatePaintedLayer();
13253
0
}
13254
13255
auto Edit::get(OpCreateContainerLayer* aOutValue) const -> void
13256
0
{
13257
0
    (*(aOutValue)) = get_OpCreateContainerLayer();
13258
0
}
13259
13260
auto Edit::get(OpCreateImageLayer* aOutValue) const -> void
13261
0
{
13262
0
    (*(aOutValue)) = get_OpCreateImageLayer();
13263
0
}
13264
13265
auto Edit::get(OpCreateColorLayer* aOutValue) const -> void
13266
0
{
13267
0
    (*(aOutValue)) = get_OpCreateColorLayer();
13268
0
}
13269
13270
auto Edit::get(OpCreateCanvasLayer* aOutValue) const -> void
13271
0
{
13272
0
    (*(aOutValue)) = get_OpCreateCanvasLayer();
13273
0
}
13274
13275
auto Edit::get(OpCreateRefLayer* aOutValue) const -> void
13276
0
{
13277
0
    (*(aOutValue)) = get_OpCreateRefLayer();
13278
0
}
13279
13280
auto Edit::get(OpSetDiagnosticTypes* aOutValue) const -> void
13281
0
{
13282
0
    (*(aOutValue)) = get_OpSetDiagnosticTypes();
13283
0
}
13284
13285
auto Edit::get(OpWindowOverlayChanged* aOutValue) const -> void
13286
0
{
13287
0
    (*(aOutValue)) = get_OpWindowOverlayChanged();
13288
0
}
13289
13290
auto Edit::get(OpSetRoot* aOutValue) const -> void
13291
0
{
13292
0
    (*(aOutValue)) = get_OpSetRoot();
13293
0
}
13294
13295
auto Edit::get(OpInsertAfter* aOutValue) const -> void
13296
0
{
13297
0
    (*(aOutValue)) = get_OpInsertAfter();
13298
0
}
13299
13300
auto Edit::get(OpPrependChild* aOutValue) const -> void
13301
0
{
13302
0
    (*(aOutValue)) = get_OpPrependChild();
13303
0
}
13304
13305
auto Edit::get(OpRemoveChild* aOutValue) const -> void
13306
0
{
13307
0
    (*(aOutValue)) = get_OpRemoveChild();
13308
0
}
13309
13310
auto Edit::get(OpRepositionChild* aOutValue) const -> void
13311
0
{
13312
0
    (*(aOutValue)) = get_OpRepositionChild();
13313
0
}
13314
13315
auto Edit::get(OpRaiseToTopChild* aOutValue) const -> void
13316
0
{
13317
0
    (*(aOutValue)) = get_OpRaiseToTopChild();
13318
0
}
13319
13320
auto Edit::get(OpAttachCompositable* aOutValue) const -> void
13321
0
{
13322
0
    (*(aOutValue)) = get_OpAttachCompositable();
13323
0
}
13324
13325
auto Edit::get(OpAttachAsyncCompositable* aOutValue) const -> void
13326
0
{
13327
0
    (*(aOutValue)) = get_OpAttachAsyncCompositable();
13328
0
}
13329
13330
auto Edit::get(CompositableOperation* aOutValue) const -> void
13331
0
{
13332
0
    (*(aOutValue)) = get_CompositableOperation();
13333
0
}
13334
13335
} // namespace layers
13336
} // namespace mozilla
13337
13338
namespace mozilla {
13339
namespace ipc {
13340
auto IPDLParamTraits<mozilla::layers::Edit>::Write(
13341
        IPC::Message* aMsg,
13342
        mozilla::ipc::IProtocol* aActor,
13343
        const paramType& aVar) -> void
13344
{
13345
    typedef mozilla::layers::Edit union__;
13346
    int type;
13347
    type = (aVar).type();
13348
    WriteIPDLParam(aMsg, aActor, type);
13349
    // Sentinel = 'Edit'
13350
    (aMsg)->WriteSentinel(2038278088);
13351
13352
    switch (type) {
13353
    case union__::TOpCreatePaintedLayer:
13354
        {
13355
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpCreatePaintedLayer());
13356
            // Sentinel = 'TOpCreatePaintedLayer'
13357
            (aMsg)->WriteSentinel(3853495226);
13358
            return;
13359
        }
13360
    case union__::TOpCreateContainerLayer:
13361
        {
13362
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpCreateContainerLayer());
13363
            // Sentinel = 'TOpCreateContainerLayer'
13364
            (aMsg)->WriteSentinel(1810998542);
13365
            return;
13366
        }
13367
    case union__::TOpCreateImageLayer:
13368
        {
13369
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpCreateImageLayer());
13370
            // Sentinel = 'TOpCreateImageLayer'
13371
            (aMsg)->WriteSentinel(3556379108);
13372
            return;
13373
        }
13374
    case union__::TOpCreateColorLayer:
13375
        {
13376
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpCreateColorLayer());
13377
            // Sentinel = 'TOpCreateColorLayer'
13378
            (aMsg)->WriteSentinel(1657969326);
13379
            return;
13380
        }
13381
    case union__::TOpCreateCanvasLayer:
13382
        {
13383
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpCreateCanvasLayer());
13384
            // Sentinel = 'TOpCreateCanvasLayer'
13385
            (aMsg)->WriteSentinel(156843276);
13386
            return;
13387
        }
13388
    case union__::TOpCreateRefLayer:
13389
        {
13390
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpCreateRefLayer());
13391
            // Sentinel = 'TOpCreateRefLayer'
13392
            (aMsg)->WriteSentinel(1988949338);
13393
            return;
13394
        }
13395
    case union__::TOpSetDiagnosticTypes:
13396
        {
13397
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpSetDiagnosticTypes());
13398
            // Sentinel = 'TOpSetDiagnosticTypes'
13399
            (aMsg)->WriteSentinel(2447105948);
13400
            return;
13401
        }
13402
    case union__::TOpWindowOverlayChanged:
13403
        {
13404
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpWindowOverlayChanged());
13405
            // Sentinel = 'TOpWindowOverlayChanged'
13406
            (aMsg)->WriteSentinel(3466220546);
13407
            return;
13408
        }
13409
    case union__::TOpSetRoot:
13410
        {
13411
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpSetRoot());
13412
            // Sentinel = 'TOpSetRoot'
13413
            (aMsg)->WriteSentinel(2410055009);
13414
            return;
13415
        }
13416
    case union__::TOpInsertAfter:
13417
        {
13418
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpInsertAfter());
13419
            // Sentinel = 'TOpInsertAfter'
13420
            (aMsg)->WriteSentinel(1382649822);
13421
            return;
13422
        }
13423
    case union__::TOpPrependChild:
13424
        {
13425
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpPrependChild());
13426
            // Sentinel = 'TOpPrependChild'
13427
            (aMsg)->WriteSentinel(444055092);
13428
            return;
13429
        }
13430
    case union__::TOpRemoveChild:
13431
        {
13432
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpRemoveChild());
13433
            // Sentinel = 'TOpRemoveChild'
13434
            (aMsg)->WriteSentinel(2988995859);
13435
            return;
13436
        }
13437
    case union__::TOpRepositionChild:
13438
        {
13439
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpRepositionChild());
13440
            // Sentinel = 'TOpRepositionChild'
13441
            (aMsg)->WriteSentinel(2467889549);
13442
            return;
13443
        }
13444
    case union__::TOpRaiseToTopChild:
13445
        {
13446
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpRaiseToTopChild());
13447
            // Sentinel = 'TOpRaiseToTopChild'
13448
            (aMsg)->WriteSentinel(2024445967);
13449
            return;
13450
        }
13451
    case union__::TOpAttachCompositable:
13452
        {
13453
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpAttachCompositable());
13454
            // Sentinel = 'TOpAttachCompositable'
13455
            (aMsg)->WriteSentinel(1767933903);
13456
            return;
13457
        }
13458
    case union__::TOpAttachAsyncCompositable:
13459
        {
13460
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpAttachAsyncCompositable());
13461
            // Sentinel = 'TOpAttachAsyncCompositable'
13462
            (aMsg)->WriteSentinel(4011154988);
13463
            return;
13464
        }
13465
    case union__::TCompositableOperation:
13466
        {
13467
            WriteIPDLParam(aMsg, aActor, (aVar).get_CompositableOperation());
13468
            // Sentinel = 'TCompositableOperation'
13469
            (aMsg)->WriteSentinel(1903999853);
13470
            return;
13471
        }
13472
    default:
13473
        {
13474
            (aActor)->FatalError("unknown union type");
13475
            return;
13476
        }
13477
    }
13478
}
13479
13480
auto IPDLParamTraits<mozilla::layers::Edit>::Read(
13481
        const IPC::Message* aMsg,
13482
        PickleIterator* aIter,
13483
        mozilla::ipc::IProtocol* aActor,
13484
        paramType* aVar) -> bool
13485
0
{
13486
0
    typedef mozilla::layers::Edit union__;
13487
0
    int type;
13488
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
13489
0
        (aActor)->FatalError("Error deserializing type of union Edit");
13490
0
        return false;
13491
0
    }
13492
0
    // Sentinel = 'Edit'
13493
0
    if ((!((aMsg)->ReadSentinel(aIter, 2038278088)))) {
13494
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union Edit");
13495
0
        return false;
13496
0
    }
13497
0
13498
0
    switch (type) {
13499
0
    case union__::TOpCreatePaintedLayer:
13500
0
        {
13501
0
            mozilla::layers::OpCreatePaintedLayer tmp = mozilla::layers::OpCreatePaintedLayer();
13502
0
            (*(aVar)) = tmp;
13503
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpCreatePaintedLayer())))))) {
13504
0
                (aActor)->FatalError("Error deserializing variant TOpCreatePaintedLayer of union Edit");
13505
0
                return false;
13506
0
            }
13507
0
            // Sentinel = 'TOpCreatePaintedLayer'
13508
0
            if ((!((aMsg)->ReadSentinel(aIter, 3853495226)))) {
13509
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpCreatePaintedLayer of union Edit");
13510
0
                return false;
13511
0
            }
13512
0
            return true;
13513
0
        }
13514
0
    case union__::TOpCreateContainerLayer:
13515
0
        {
13516
0
            mozilla::layers::OpCreateContainerLayer tmp = mozilla::layers::OpCreateContainerLayer();
13517
0
            (*(aVar)) = tmp;
13518
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpCreateContainerLayer())))))) {
13519
0
                (aActor)->FatalError("Error deserializing variant TOpCreateContainerLayer of union Edit");
13520
0
                return false;
13521
0
            }
13522
0
            // Sentinel = 'TOpCreateContainerLayer'
13523
0
            if ((!((aMsg)->ReadSentinel(aIter, 1810998542)))) {
13524
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpCreateContainerLayer of union Edit");
13525
0
                return false;
13526
0
            }
13527
0
            return true;
13528
0
        }
13529
0
    case union__::TOpCreateImageLayer:
13530
0
        {
13531
0
            mozilla::layers::OpCreateImageLayer tmp = mozilla::layers::OpCreateImageLayer();
13532
0
            (*(aVar)) = tmp;
13533
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpCreateImageLayer())))))) {
13534
0
                (aActor)->FatalError("Error deserializing variant TOpCreateImageLayer of union Edit");
13535
0
                return false;
13536
0
            }
13537
0
            // Sentinel = 'TOpCreateImageLayer'
13538
0
            if ((!((aMsg)->ReadSentinel(aIter, 3556379108)))) {
13539
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpCreateImageLayer of union Edit");
13540
0
                return false;
13541
0
            }
13542
0
            return true;
13543
0
        }
13544
0
    case union__::TOpCreateColorLayer:
13545
0
        {
13546
0
            mozilla::layers::OpCreateColorLayer tmp = mozilla::layers::OpCreateColorLayer();
13547
0
            (*(aVar)) = tmp;
13548
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpCreateColorLayer())))))) {
13549
0
                (aActor)->FatalError("Error deserializing variant TOpCreateColorLayer of union Edit");
13550
0
                return false;
13551
0
            }
13552
0
            // Sentinel = 'TOpCreateColorLayer'
13553
0
            if ((!((aMsg)->ReadSentinel(aIter, 1657969326)))) {
13554
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpCreateColorLayer of union Edit");
13555
0
                return false;
13556
0
            }
13557
0
            return true;
13558
0
        }
13559
0
    case union__::TOpCreateCanvasLayer:
13560
0
        {
13561
0
            mozilla::layers::OpCreateCanvasLayer tmp = mozilla::layers::OpCreateCanvasLayer();
13562
0
            (*(aVar)) = tmp;
13563
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpCreateCanvasLayer())))))) {
13564
0
                (aActor)->FatalError("Error deserializing variant TOpCreateCanvasLayer of union Edit");
13565
0
                return false;
13566
0
            }
13567
0
            // Sentinel = 'TOpCreateCanvasLayer'
13568
0
            if ((!((aMsg)->ReadSentinel(aIter, 156843276)))) {
13569
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpCreateCanvasLayer of union Edit");
13570
0
                return false;
13571
0
            }
13572
0
            return true;
13573
0
        }
13574
0
    case union__::TOpCreateRefLayer:
13575
0
        {
13576
0
            mozilla::layers::OpCreateRefLayer tmp = mozilla::layers::OpCreateRefLayer();
13577
0
            (*(aVar)) = tmp;
13578
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpCreateRefLayer())))))) {
13579
0
                (aActor)->FatalError("Error deserializing variant TOpCreateRefLayer of union Edit");
13580
0
                return false;
13581
0
            }
13582
0
            // Sentinel = 'TOpCreateRefLayer'
13583
0
            if ((!((aMsg)->ReadSentinel(aIter, 1988949338)))) {
13584
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpCreateRefLayer of union Edit");
13585
0
                return false;
13586
0
            }
13587
0
            return true;
13588
0
        }
13589
0
    case union__::TOpSetDiagnosticTypes:
13590
0
        {
13591
0
            mozilla::layers::OpSetDiagnosticTypes tmp = mozilla::layers::OpSetDiagnosticTypes();
13592
0
            (*(aVar)) = tmp;
13593
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpSetDiagnosticTypes())))))) {
13594
0
                (aActor)->FatalError("Error deserializing variant TOpSetDiagnosticTypes of union Edit");
13595
0
                return false;
13596
0
            }
13597
0
            // Sentinel = 'TOpSetDiagnosticTypes'
13598
0
            if ((!((aMsg)->ReadSentinel(aIter, 2447105948)))) {
13599
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpSetDiagnosticTypes of union Edit");
13600
0
                return false;
13601
0
            }
13602
0
            return true;
13603
0
        }
13604
0
    case union__::TOpWindowOverlayChanged:
13605
0
        {
13606
0
            mozilla::layers::OpWindowOverlayChanged tmp = mozilla::layers::OpWindowOverlayChanged();
13607
0
            (*(aVar)) = tmp;
13608
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpWindowOverlayChanged())))))) {
13609
0
                (aActor)->FatalError("Error deserializing variant TOpWindowOverlayChanged of union Edit");
13610
0
                return false;
13611
0
            }
13612
0
            // Sentinel = 'TOpWindowOverlayChanged'
13613
0
            if ((!((aMsg)->ReadSentinel(aIter, 3466220546)))) {
13614
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpWindowOverlayChanged of union Edit");
13615
0
                return false;
13616
0
            }
13617
0
            return true;
13618
0
        }
13619
0
    case union__::TOpSetRoot:
13620
0
        {
13621
0
            mozilla::layers::OpSetRoot tmp = mozilla::layers::OpSetRoot();
13622
0
            (*(aVar)) = tmp;
13623
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpSetRoot())))))) {
13624
0
                (aActor)->FatalError("Error deserializing variant TOpSetRoot of union Edit");
13625
0
                return false;
13626
0
            }
13627
0
            // Sentinel = 'TOpSetRoot'
13628
0
            if ((!((aMsg)->ReadSentinel(aIter, 2410055009)))) {
13629
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpSetRoot of union Edit");
13630
0
                return false;
13631
0
            }
13632
0
            return true;
13633
0
        }
13634
0
    case union__::TOpInsertAfter:
13635
0
        {
13636
0
            mozilla::layers::OpInsertAfter tmp = mozilla::layers::OpInsertAfter();
13637
0
            (*(aVar)) = tmp;
13638
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpInsertAfter())))))) {
13639
0
                (aActor)->FatalError("Error deserializing variant TOpInsertAfter of union Edit");
13640
0
                return false;
13641
0
            }
13642
0
            // Sentinel = 'TOpInsertAfter'
13643
0
            if ((!((aMsg)->ReadSentinel(aIter, 1382649822)))) {
13644
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpInsertAfter of union Edit");
13645
0
                return false;
13646
0
            }
13647
0
            return true;
13648
0
        }
13649
0
    case union__::TOpPrependChild:
13650
0
        {
13651
0
            mozilla::layers::OpPrependChild tmp = mozilla::layers::OpPrependChild();
13652
0
            (*(aVar)) = tmp;
13653
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpPrependChild())))))) {
13654
0
                (aActor)->FatalError("Error deserializing variant TOpPrependChild of union Edit");
13655
0
                return false;
13656
0
            }
13657
0
            // Sentinel = 'TOpPrependChild'
13658
0
            if ((!((aMsg)->ReadSentinel(aIter, 444055092)))) {
13659
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpPrependChild of union Edit");
13660
0
                return false;
13661
0
            }
13662
0
            return true;
13663
0
        }
13664
0
    case union__::TOpRemoveChild:
13665
0
        {
13666
0
            mozilla::layers::OpRemoveChild tmp = mozilla::layers::OpRemoveChild();
13667
0
            (*(aVar)) = tmp;
13668
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpRemoveChild())))))) {
13669
0
                (aActor)->FatalError("Error deserializing variant TOpRemoveChild of union Edit");
13670
0
                return false;
13671
0
            }
13672
0
            // Sentinel = 'TOpRemoveChild'
13673
0
            if ((!((aMsg)->ReadSentinel(aIter, 2988995859)))) {
13674
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpRemoveChild of union Edit");
13675
0
                return false;
13676
0
            }
13677
0
            return true;
13678
0
        }
13679
0
    case union__::TOpRepositionChild:
13680
0
        {
13681
0
            mozilla::layers::OpRepositionChild tmp = mozilla::layers::OpRepositionChild();
13682
0
            (*(aVar)) = tmp;
13683
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpRepositionChild())))))) {
13684
0
                (aActor)->FatalError("Error deserializing variant TOpRepositionChild of union Edit");
13685
0
                return false;
13686
0
            }
13687
0
            // Sentinel = 'TOpRepositionChild'
13688
0
            if ((!((aMsg)->ReadSentinel(aIter, 2467889549)))) {
13689
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpRepositionChild of union Edit");
13690
0
                return false;
13691
0
            }
13692
0
            return true;
13693
0
        }
13694
0
    case union__::TOpRaiseToTopChild:
13695
0
        {
13696
0
            mozilla::layers::OpRaiseToTopChild tmp = mozilla::layers::OpRaiseToTopChild();
13697
0
            (*(aVar)) = tmp;
13698
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpRaiseToTopChild())))))) {
13699
0
                (aActor)->FatalError("Error deserializing variant TOpRaiseToTopChild of union Edit");
13700
0
                return false;
13701
0
            }
13702
0
            // Sentinel = 'TOpRaiseToTopChild'
13703
0
            if ((!((aMsg)->ReadSentinel(aIter, 2024445967)))) {
13704
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpRaiseToTopChild of union Edit");
13705
0
                return false;
13706
0
            }
13707
0
            return true;
13708
0
        }
13709
0
    case union__::TOpAttachCompositable:
13710
0
        {
13711
0
            mozilla::layers::OpAttachCompositable tmp = mozilla::layers::OpAttachCompositable();
13712
0
            (*(aVar)) = tmp;
13713
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpAttachCompositable())))))) {
13714
0
                (aActor)->FatalError("Error deserializing variant TOpAttachCompositable of union Edit");
13715
0
                return false;
13716
0
            }
13717
0
            // Sentinel = 'TOpAttachCompositable'
13718
0
            if ((!((aMsg)->ReadSentinel(aIter, 1767933903)))) {
13719
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpAttachCompositable of union Edit");
13720
0
                return false;
13721
0
            }
13722
0
            return true;
13723
0
        }
13724
0
    case union__::TOpAttachAsyncCompositable:
13725
0
        {
13726
0
            mozilla::layers::OpAttachAsyncCompositable tmp = mozilla::layers::OpAttachAsyncCompositable();
13727
0
            (*(aVar)) = tmp;
13728
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpAttachAsyncCompositable())))))) {
13729
0
                (aActor)->FatalError("Error deserializing variant TOpAttachAsyncCompositable of union Edit");
13730
0
                return false;
13731
0
            }
13732
0
            // Sentinel = 'TOpAttachAsyncCompositable'
13733
0
            if ((!((aMsg)->ReadSentinel(aIter, 4011154988)))) {
13734
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpAttachAsyncCompositable of union Edit");
13735
0
                return false;
13736
0
            }
13737
0
            return true;
13738
0
        }
13739
0
    case union__::TCompositableOperation:
13740
0
        {
13741
0
            mozilla::layers::CompositableOperation tmp = mozilla::layers::CompositableOperation();
13742
0
            (*(aVar)) = tmp;
13743
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_CompositableOperation())))))) {
13744
0
                (aActor)->FatalError("Error deserializing variant TCompositableOperation of union Edit");
13745
0
                return false;
13746
0
            }
13747
0
            // Sentinel = 'TCompositableOperation'
13748
0
            if ((!((aMsg)->ReadSentinel(aIter, 1903999853)))) {
13749
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TCompositableOperation of union Edit");
13750
0
                return false;
13751
0
            }
13752
0
            return true;
13753
0
        }
13754
0
    default:
13755
0
        {
13756
0
            (aActor)->FatalError("unknown union type");
13757
0
            return false;
13758
0
        }
13759
0
    }
13760
0
}
13761
13762
} // namespace ipc
13763
} // namespace mozilla
13764
13765
//-----------------------------------------------------------------------------
13766
// Method definitions for the IPDL type |union OpDestroy|
13767
//
13768
namespace mozilla {
13769
namespace layers {
13770
auto OpDestroy::MaybeDestroy(Type aNewType) -> bool
13771
0
{
13772
0
    if ((mType) == (T__None)) {
13773
0
        return true;
13774
0
    }
13775
0
    if ((mType) == (aNewType)) {
13776
0
        return false;
13777
0
    }
13778
0
    switch (mType) {
13779
0
    case TPTextureParent:
13780
0
        {
13781
0
            (ptr_PTextureParent())->~PTextureParent__tdef();
13782
0
            break;
13783
0
        }
13784
0
    case TPTextureChild:
13785
0
        {
13786
0
            (ptr_PTextureChild())->~PTextureChild__tdef();
13787
0
            break;
13788
0
        }
13789
0
    case TCompositableHandle:
13790
0
        {
13791
0
            (ptr_CompositableHandle())->~CompositableHandle__tdef();
13792
0
            break;
13793
0
        }
13794
0
    default:
13795
0
        {
13796
0
            mozilla::ipc::LogicError("not reached");
13797
0
            break;
13798
0
        }
13799
0
    }
13800
0
    return true;
13801
0
}
13802
13803
MOZ_IMPLICIT OpDestroy::OpDestroy(PTextureParent* aOther)
13804
0
{
13805
0
    new (mozilla::KnownNotNull, ptr_PTextureParent()) PTextureParent*(const_cast<PTextureParent*>(aOther));
13806
0
    mType = TPTextureParent;
13807
0
}
13808
13809
MOZ_IMPLICIT OpDestroy::OpDestroy(PTextureChild* aOther)
13810
0
{
13811
0
    new (mozilla::KnownNotNull, ptr_PTextureChild()) PTextureChild*(const_cast<PTextureChild*>(aOther));
13812
0
    mType = TPTextureChild;
13813
0
}
13814
13815
MOZ_IMPLICIT OpDestroy::OpDestroy(const CompositableHandle& aOther)
13816
0
{
13817
0
    new (mozilla::KnownNotNull, ptr_CompositableHandle()) CompositableHandle(aOther);
13818
0
    mType = TCompositableHandle;
13819
0
}
13820
13821
MOZ_IMPLICIT OpDestroy::OpDestroy(CompositableHandle&& aOther)
13822
0
{
13823
0
    new (mozilla::KnownNotNull, ptr_CompositableHandle()) CompositableHandle(std::move(aOther));
13824
0
    mType = TCompositableHandle;
13825
0
}
13826
13827
MOZ_IMPLICIT OpDestroy::OpDestroy(const OpDestroy& aOther)
13828
0
{
13829
0
    (aOther).AssertSanity();
13830
0
    switch ((aOther).type()) {
13831
0
    case TPTextureParent:
13832
0
        {
13833
0
            new (mozilla::KnownNotNull, ptr_PTextureParent()) PTextureParent*(const_cast<PTextureParent*>((aOther).get_PTextureParent()));
13834
0
            break;
13835
0
        }
13836
0
    case TPTextureChild:
13837
0
        {
13838
0
            new (mozilla::KnownNotNull, ptr_PTextureChild()) PTextureChild*(const_cast<PTextureChild*>((aOther).get_PTextureChild()));
13839
0
            break;
13840
0
        }
13841
0
    case TCompositableHandle:
13842
0
        {
13843
0
            new (mozilla::KnownNotNull, ptr_CompositableHandle()) CompositableHandle((aOther).get_CompositableHandle());
13844
0
            break;
13845
0
        }
13846
0
    case T__None:
13847
0
        {
13848
0
            break;
13849
0
        }
13850
0
    default:
13851
0
        {
13852
0
            mozilla::ipc::LogicError("unreached");
13853
0
            return;
13854
0
        }
13855
0
    }
13856
0
    mType = (aOther).type();
13857
0
}
13858
13859
MOZ_IMPLICIT OpDestroy::OpDestroy(OpDestroy&& aOther)
13860
0
{
13861
0
    (aOther).AssertSanity();
13862
0
    Type t = (aOther).type();
13863
0
    switch (t) {
13864
0
    case TPTextureParent:
13865
0
        {
13866
0
            new (mozilla::KnownNotNull, ptr_PTextureParent()) PTextureParent*(const_cast<PTextureParent*>(std::move((aOther).get_PTextureParent())));
13867
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
13868
0
            break;
13869
0
        }
13870
0
    case TPTextureChild:
13871
0
        {
13872
0
            new (mozilla::KnownNotNull, ptr_PTextureChild()) PTextureChild*(const_cast<PTextureChild*>(std::move((aOther).get_PTextureChild())));
13873
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
13874
0
            break;
13875
0
        }
13876
0
    case TCompositableHandle:
13877
0
        {
13878
0
            new (mozilla::KnownNotNull, ptr_CompositableHandle()) CompositableHandle(std::move((aOther).get_CompositableHandle()));
13879
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
13880
0
            break;
13881
0
        }
13882
0
    case T__None:
13883
0
        {
13884
0
            break;
13885
0
        }
13886
0
    default:
13887
0
        {
13888
0
            mozilla::ipc::LogicError("unreached");
13889
0
            return;
13890
0
        }
13891
0
    }
13892
0
    (aOther).mType = T__None;
13893
0
    mType = t;
13894
0
}
13895
13896
OpDestroy::~OpDestroy()
13897
0
{
13898
0
    static_cast<void>(MaybeDestroy(T__None));
13899
0
}
13900
13901
auto OpDestroy::operator=(PTextureParent* aRhs) -> OpDestroy&
13902
0
{
13903
0
    if (MaybeDestroy(TPTextureParent)) {
13904
0
        new (mozilla::KnownNotNull, ptr_PTextureParent()) PTextureParent*;
13905
0
    }
13906
0
    (*(ptr_PTextureParent())) = const_cast<PTextureParent*>(aRhs);
13907
0
    mType = TPTextureParent;
13908
0
    return (*(this));
13909
0
}
13910
13911
auto OpDestroy::operator=(PTextureChild* aRhs) -> OpDestroy&
13912
0
{
13913
0
    if (MaybeDestroy(TPTextureChild)) {
13914
0
        new (mozilla::KnownNotNull, ptr_PTextureChild()) PTextureChild*;
13915
0
    }
13916
0
    (*(ptr_PTextureChild())) = const_cast<PTextureChild*>(aRhs);
13917
0
    mType = TPTextureChild;
13918
0
    return (*(this));
13919
0
}
13920
13921
auto OpDestroy::operator=(const CompositableHandle& aRhs) -> OpDestroy&
13922
0
{
13923
0
    if (MaybeDestroy(TCompositableHandle)) {
13924
0
        new (mozilla::KnownNotNull, ptr_CompositableHandle()) CompositableHandle;
13925
0
    }
13926
0
    (*(ptr_CompositableHandle())) = aRhs;
13927
0
    mType = TCompositableHandle;
13928
0
    return (*(this));
13929
0
}
13930
13931
auto OpDestroy::operator=(CompositableHandle&& aRhs) -> OpDestroy&
13932
0
{
13933
0
    if (MaybeDestroy(TCompositableHandle)) {
13934
0
        new (mozilla::KnownNotNull, ptr_CompositableHandle()) CompositableHandle;
13935
0
    }
13936
0
    (*(ptr_CompositableHandle())) = std::move(aRhs);
13937
0
    mType = TCompositableHandle;
13938
0
    return (*(this));
13939
0
}
13940
13941
auto OpDestroy::operator=(const OpDestroy& aRhs) -> OpDestroy&
13942
0
{
13943
0
    (aRhs).AssertSanity();
13944
0
    Type t = (aRhs).type();
13945
0
    switch (t) {
13946
0
    case TPTextureParent:
13947
0
        {
13948
0
            if (MaybeDestroy(t)) {
13949
0
                new (mozilla::KnownNotNull, ptr_PTextureParent()) PTextureParent*;
13950
0
            }
13951
0
            (*(ptr_PTextureParent())) = const_cast<PTextureParent*>((aRhs).get_PTextureParent());
13952
0
            break;
13953
0
        }
13954
0
    case TPTextureChild:
13955
0
        {
13956
0
            if (MaybeDestroy(t)) {
13957
0
                new (mozilla::KnownNotNull, ptr_PTextureChild()) PTextureChild*;
13958
0
            }
13959
0
            (*(ptr_PTextureChild())) = const_cast<PTextureChild*>((aRhs).get_PTextureChild());
13960
0
            break;
13961
0
        }
13962
0
    case TCompositableHandle:
13963
0
        {
13964
0
            if (MaybeDestroy(t)) {
13965
0
                new (mozilla::KnownNotNull, ptr_CompositableHandle()) CompositableHandle;
13966
0
            }
13967
0
            (*(ptr_CompositableHandle())) = (aRhs).get_CompositableHandle();
13968
0
            break;
13969
0
        }
13970
0
    case T__None:
13971
0
        {
13972
0
            static_cast<void>(MaybeDestroy(t));
13973
0
            break;
13974
0
        }
13975
0
    default:
13976
0
        {
13977
0
            mozilla::ipc::LogicError("unreached");
13978
0
            break;
13979
0
        }
13980
0
    }
13981
0
    mType = t;
13982
0
    return (*(this));
13983
0
}
13984
13985
auto OpDestroy::operator=(OpDestroy&& aRhs) -> OpDestroy&
13986
0
{
13987
0
    (aRhs).AssertSanity();
13988
0
    Type t = (aRhs).type();
13989
0
    switch (t) {
13990
0
    case TPTextureParent:
13991
0
        {
13992
0
            if (MaybeDestroy(t)) {
13993
0
                new (mozilla::KnownNotNull, ptr_PTextureParent()) PTextureParent*;
13994
0
            }
13995
0
            (*(ptr_PTextureParent())) = const_cast<PTextureParent*>(std::move((aRhs).get_PTextureParent()));
13996
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
13997
0
            break;
13998
0
        }
13999
0
    case TPTextureChild:
14000
0
        {
14001
0
            if (MaybeDestroy(t)) {
14002
0
                new (mozilla::KnownNotNull, ptr_PTextureChild()) PTextureChild*;
14003
0
            }
14004
0
            (*(ptr_PTextureChild())) = const_cast<PTextureChild*>(std::move((aRhs).get_PTextureChild()));
14005
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
14006
0
            break;
14007
0
        }
14008
0
    case TCompositableHandle:
14009
0
        {
14010
0
            if (MaybeDestroy(t)) {
14011
0
                new (mozilla::KnownNotNull, ptr_CompositableHandle()) CompositableHandle;
14012
0
            }
14013
0
            (*(ptr_CompositableHandle())) = std::move((aRhs).get_CompositableHandle());
14014
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
14015
0
            break;
14016
0
        }
14017
0
    case T__None:
14018
0
        {
14019
0
            static_cast<void>(MaybeDestroy(t));
14020
0
            break;
14021
0
        }
14022
0
    default:
14023
0
        {
14024
0
            mozilla::ipc::LogicError("unreached");
14025
0
            break;
14026
0
        }
14027
0
    }
14028
0
    (aRhs).mType = T__None;
14029
0
    mType = t;
14030
0
    return (*(this));
14031
0
}
14032
14033
auto OpDestroy::operator==(PTextureParent* aRhs) const -> bool
14034
0
{
14035
0
    return (get_PTextureParent()) == (aRhs);
14036
0
}
14037
14038
auto OpDestroy::operator==(PTextureChild* aRhs) const -> bool
14039
0
{
14040
0
    return (get_PTextureChild()) == (aRhs);
14041
0
}
14042
14043
auto OpDestroy::operator==(const CompositableHandle& aRhs) const -> bool
14044
0
{
14045
0
    return (get_CompositableHandle()) == (aRhs);
14046
0
}
14047
14048
auto OpDestroy::operator==(const OpDestroy& aRhs) const -> bool
14049
0
{
14050
0
    if ((type()) != ((aRhs).type())) {
14051
0
        return false;
14052
0
    }
14053
0
14054
0
    switch (type()) {
14055
0
    case TPTextureParent:
14056
0
        {
14057
0
            return (get_PTextureParent()) == ((aRhs).get_PTextureParent());
14058
0
        }
14059
0
    case TPTextureChild:
14060
0
        {
14061
0
            return (get_PTextureChild()) == ((aRhs).get_PTextureChild());
14062
0
        }
14063
0
    case TCompositableHandle:
14064
0
        {
14065
0
            return (get_CompositableHandle()) == ((aRhs).get_CompositableHandle());
14066
0
        }
14067
0
    default:
14068
0
        {
14069
0
            mozilla::ipc::LogicError("unreached");
14070
0
            return false;
14071
0
        }
14072
0
    }
14073
0
}
14074
14075
auto OpDestroy::get(PTextureParent** aOutValue) const -> void
14076
0
{
14077
0
    (*(aOutValue)) = get_PTextureParent();
14078
0
}
14079
14080
auto OpDestroy::get(PTextureChild** aOutValue) const -> void
14081
0
{
14082
0
    (*(aOutValue)) = get_PTextureChild();
14083
0
}
14084
14085
auto OpDestroy::get(CompositableHandle* aOutValue) const -> void
14086
0
{
14087
0
    (*(aOutValue)) = get_CompositableHandle();
14088
0
}
14089
14090
} // namespace layers
14091
} // namespace mozilla
14092
14093
namespace mozilla {
14094
namespace ipc {
14095
auto IPDLParamTraits<mozilla::layers::OpDestroy>::Write(
14096
        IPC::Message* aMsg,
14097
        mozilla::ipc::IProtocol* aActor,
14098
        const paramType& aVar) -> void
14099
0
{
14100
0
    typedef mozilla::layers::OpDestroy union__;
14101
0
    int type;
14102
0
    type = (aVar).type();
14103
0
    WriteIPDLParam(aMsg, aActor, type);
14104
0
    // Sentinel = 'OpDestroy'
14105
0
    (aMsg)->WriteSentinel(3796861956);
14106
0
14107
0
    switch (type) {
14108
0
    case union__::TPTextureParent:
14109
0
        {
14110
0
            if ((mozilla::ipc::ParentSide) == ((aActor)->GetSide())) {
14111
0
                MOZ_RELEASE_ASSERT((aVar).get_PTextureParent(), "NULL actor value passed to non-nullable param");
14112
0
                WriteIPDLParam(aMsg, aActor, (aVar).get_PTextureParent());
14113
0
                // Sentinel = 'TPTextureParent'
14114
0
                (aMsg)->WriteSentinel(896696938);
14115
0
            }
14116
0
            else {
14117
0
                (aActor)->FatalError("wrong side!");
14118
0
            }
14119
0
            return;
14120
0
        }
14121
0
    case union__::TPTextureChild:
14122
0
        {
14123
0
            if ((mozilla::ipc::ChildSide) == ((aActor)->GetSide())) {
14124
0
                MOZ_RELEASE_ASSERT((aVar).get_PTextureChild(), "NULL actor value passed to non-nullable param");
14125
0
                WriteIPDLParam(aMsg, aActor, (aVar).get_PTextureChild());
14126
0
                // Sentinel = 'TPTextureChild'
14127
0
                (aMsg)->WriteSentinel(3251900187);
14128
0
            }
14129
0
            else {
14130
0
                (aActor)->FatalError("wrong side!");
14131
0
            }
14132
0
            return;
14133
0
        }
14134
0
    case union__::TCompositableHandle:
14135
0
        {
14136
0
            WriteIPDLParam(aMsg, aActor, (aVar).get_CompositableHandle());
14137
0
            // Sentinel = 'TCompositableHandle'
14138
0
            (aMsg)->WriteSentinel(4258010777);
14139
0
            return;
14140
0
        }
14141
0
    default:
14142
0
        {
14143
0
            (aActor)->FatalError("unknown union type");
14144
0
            return;
14145
0
        }
14146
0
    }
14147
0
}
14148
14149
auto IPDLParamTraits<mozilla::layers::OpDestroy>::Read(
14150
        const IPC::Message* aMsg,
14151
        PickleIterator* aIter,
14152
        mozilla::ipc::IProtocol* aActor,
14153
        paramType* aVar) -> bool
14154
0
{
14155
0
    typedef mozilla::layers::OpDestroy union__;
14156
0
    int type;
14157
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
14158
0
        (aActor)->FatalError("Error deserializing type of union OpDestroy");
14159
0
        return false;
14160
0
    }
14161
0
    // Sentinel = 'OpDestroy'
14162
0
    if ((!((aMsg)->ReadSentinel(aIter, 3796861956)))) {
14163
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union OpDestroy");
14164
0
        return false;
14165
0
    }
14166
0
14167
0
    switch (type) {
14168
0
    case union__::TPTextureParent:
14169
0
        {
14170
0
            if ((mozilla::ipc::ParentSide) == ((aActor)->GetSide())) {
14171
0
                {
14172
0
                    (aActor)->FatalError("wrong side!");
14173
0
                    return false;
14174
0
                }
14175
0
            }
14176
0
            mozilla::layers::PTextureChild* tmp = nullptr;
14177
0
            (*(aVar)) = tmp;
14178
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_PTextureChild())))))) {
14179
0
                (aActor)->FatalError("Error deserializing variant TPTextureParent of union OpDestroy");
14180
0
                return false;
14181
0
            }
14182
0
            if ((!((*((&((aVar)->get_PTextureChild()))))))) {
14183
0
                (aActor)->FatalError("Error deserializing variant TPTextureParent of union OpDestroy");
14184
0
                return false;
14185
0
            }
14186
0
            // Sentinel = 'TPTextureParent'
14187
0
            if ((!((aMsg)->ReadSentinel(aIter, 896696938)))) {
14188
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TPTextureParent of union OpDestroy");
14189
0
                return false;
14190
0
            }
14191
0
            return true;
14192
0
        }
14193
0
    case union__::TPTextureChild:
14194
0
        {
14195
0
            if ((mozilla::ipc::ChildSide) == ((aActor)->GetSide())) {
14196
0
                {
14197
0
                    (aActor)->FatalError("wrong side!");
14198
0
                    return false;
14199
0
                }
14200
0
            }
14201
0
            mozilla::layers::PTextureParent* tmp = nullptr;
14202
0
            (*(aVar)) = tmp;
14203
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_PTextureParent())))))) {
14204
0
                (aActor)->FatalError("Error deserializing variant TPTextureChild of union OpDestroy");
14205
0
                return false;
14206
0
            }
14207
0
            if ((!((*((&((aVar)->get_PTextureParent()))))))) {
14208
0
                (aActor)->FatalError("Error deserializing variant TPTextureChild of union OpDestroy");
14209
0
                return false;
14210
0
            }
14211
0
            // Sentinel = 'TPTextureChild'
14212
0
            if ((!((aMsg)->ReadSentinel(aIter, 3251900187)))) {
14213
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TPTextureChild of union OpDestroy");
14214
0
                return false;
14215
0
            }
14216
0
            return true;
14217
0
        }
14218
0
    case union__::TCompositableHandle:
14219
0
        {
14220
0
            mozilla::layers::CompositableHandle tmp = mozilla::layers::CompositableHandle();
14221
0
            (*(aVar)) = tmp;
14222
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_CompositableHandle())))))) {
14223
0
                (aActor)->FatalError("Error deserializing variant TCompositableHandle of union OpDestroy");
14224
0
                return false;
14225
0
            }
14226
0
            // Sentinel = 'TCompositableHandle'
14227
0
            if ((!((aMsg)->ReadSentinel(aIter, 4258010777)))) {
14228
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TCompositableHandle of union OpDestroy");
14229
0
                return false;
14230
0
            }
14231
0
            return true;
14232
0
        }
14233
0
    default:
14234
0
        {
14235
0
            (aActor)->FatalError("unknown union type");
14236
0
            return false;
14237
0
        }
14238
0
    }
14239
0
}
14240
14241
} // namespace ipc
14242
} // namespace mozilla
14243
14244
//-----------------------------------------------------------------------------
14245
// Method definitions for the IPDL type |struct OpContentBufferSwap|
14246
//
14247
namespace mozilla {
14248
namespace layers {
14249
auto OpContentBufferSwap::operator==(const OpContentBufferSwap& _o) const -> bool
14250
0
{
14251
0
    if ((!((compositable()) == ((_o).compositable())))) {
14252
0
        return false;
14253
0
    }
14254
0
    if ((!((frontUpdatedRegion()) == ((_o).frontUpdatedRegion())))) {
14255
0
        return false;
14256
0
    }
14257
0
    return true;
14258
0
}
14259
14260
auto OpContentBufferSwap::operator!=(const OpContentBufferSwap& _o) const -> bool
14261
0
{
14262
0
    return (!(operator==(_o)));
14263
0
}
14264
14265
} // namespace layers
14266
} // namespace mozilla
14267
14268
namespace mozilla {
14269
namespace ipc {
14270
auto IPDLParamTraits<mozilla::layers::OpContentBufferSwap>::Write(
14271
        IPC::Message* aMsg,
14272
        mozilla::ipc::IProtocol* aActor,
14273
        const paramType& aVar) -> void
14274
0
{
14275
0
    WriteIPDLParam(aMsg, aActor, (aVar).compositable());
14276
0
    // Sentinel = 'compositable'
14277
0
    (aMsg)->WriteSentinel(4031958248);
14278
0
    WriteIPDLParam(aMsg, aActor, (aVar).frontUpdatedRegion());
14279
0
    // Sentinel = 'frontUpdatedRegion'
14280
0
    (aMsg)->WriteSentinel(917953220);
14281
0
}
14282
14283
auto IPDLParamTraits<mozilla::layers::OpContentBufferSwap>::Read(
14284
        const IPC::Message* aMsg,
14285
        PickleIterator* aIter,
14286
        mozilla::ipc::IProtocol* aActor,
14287
        paramType* aVar) -> bool
14288
0
{
14289
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->compositable())))))) {
14290
0
        (aActor)->FatalError("Error deserializing 'compositable' (CompositableHandle) member of 'OpContentBufferSwap'");
14291
0
        return false;
14292
0
    }
14293
0
    // Sentinel = 'compositable'
14294
0
    if ((!((aMsg)->ReadSentinel(aIter, 4031958248)))) {
14295
0
        mozilla::ipc::SentinelReadError("Error deserializing 'compositable' (CompositableHandle) member of 'OpContentBufferSwap'");
14296
0
        return false;
14297
0
    }
14298
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->frontUpdatedRegion())))))) {
14299
0
        (aActor)->FatalError("Error deserializing 'frontUpdatedRegion' (nsIntRegion) member of 'OpContentBufferSwap'");
14300
0
        return false;
14301
0
    }
14302
0
    // Sentinel = 'frontUpdatedRegion'
14303
0
    if ((!((aMsg)->ReadSentinel(aIter, 917953220)))) {
14304
0
        mozilla::ipc::SentinelReadError("Error deserializing 'frontUpdatedRegion' (nsIntRegion) member of 'OpContentBufferSwap'");
14305
0
        return false;
14306
0
    }
14307
0
    return true;
14308
0
}
14309
14310
} // namespace ipc
14311
} // namespace mozilla
14312
14313
//-----------------------------------------------------------------------------
14314
// Method definitions for the IPDL type |struct ImageCompositeNotification|
14315
//
14316
namespace mozilla {
14317
namespace layers {
14318
auto ImageCompositeNotification::operator==(const ImageCompositeNotification& _o) const -> bool
14319
0
{
14320
0
    if ((!((compositable()) == ((_o).compositable())))) {
14321
0
        return false;
14322
0
    }
14323
0
    if ((!((imageTimeStamp()) == ((_o).imageTimeStamp())))) {
14324
0
        return false;
14325
0
    }
14326
0
    if ((!((firstCompositeTimeStamp()) == ((_o).firstCompositeTimeStamp())))) {
14327
0
        return false;
14328
0
    }
14329
0
    if ((!((frameID()) == ((_o).frameID())))) {
14330
0
        return false;
14331
0
    }
14332
0
    if ((!((producerID()) == ((_o).producerID())))) {
14333
0
        return false;
14334
0
    }
14335
0
    return true;
14336
0
}
14337
14338
auto ImageCompositeNotification::operator!=(const ImageCompositeNotification& _o) const -> bool
14339
0
{
14340
0
    return (!(operator==(_o)));
14341
0
}
14342
14343
} // namespace layers
14344
} // namespace mozilla
14345
14346
namespace mozilla {
14347
namespace ipc {
14348
auto IPDLParamTraits<mozilla::layers::ImageCompositeNotification>::Write(
14349
        IPC::Message* aMsg,
14350
        mozilla::ipc::IProtocol* aActor,
14351
        const paramType& aVar) -> void
14352
0
{
14353
0
    WriteIPDLParam(aMsg, aActor, (aVar).compositable());
14354
0
    // Sentinel = 'compositable'
14355
0
    (aMsg)->WriteSentinel(4031958248);
14356
0
    WriteIPDLParam(aMsg, aActor, (aVar).imageTimeStamp());
14357
0
    // Sentinel = 'imageTimeStamp'
14358
0
    (aMsg)->WriteSentinel(1759084471);
14359
0
    WriteIPDLParam(aMsg, aActor, (aVar).firstCompositeTimeStamp());
14360
0
    // Sentinel = 'firstCompositeTimeStamp'
14361
0
    (aMsg)->WriteSentinel(2056815046);
14362
0
    WriteIPDLParam(aMsg, aActor, (aVar).frameID());
14363
0
    // Sentinel = 'frameID'
14364
0
    (aMsg)->WriteSentinel(3054835247);
14365
0
    WriteIPDLParam(aMsg, aActor, (aVar).producerID());
14366
0
    // Sentinel = 'producerID'
14367
0
    (aMsg)->WriteSentinel(1942472743);
14368
0
}
14369
14370
auto IPDLParamTraits<mozilla::layers::ImageCompositeNotification>::Read(
14371
        const IPC::Message* aMsg,
14372
        PickleIterator* aIter,
14373
        mozilla::ipc::IProtocol* aActor,
14374
        paramType* aVar) -> bool
14375
0
{
14376
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->compositable())))))) {
14377
0
        (aActor)->FatalError("Error deserializing 'compositable' (CompositableHandle) member of 'ImageCompositeNotification'");
14378
0
        return false;
14379
0
    }
14380
0
    // Sentinel = 'compositable'
14381
0
    if ((!((aMsg)->ReadSentinel(aIter, 4031958248)))) {
14382
0
        mozilla::ipc::SentinelReadError("Error deserializing 'compositable' (CompositableHandle) member of 'ImageCompositeNotification'");
14383
0
        return false;
14384
0
    }
14385
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->imageTimeStamp())))))) {
14386
0
        (aActor)->FatalError("Error deserializing 'imageTimeStamp' (TimeStamp) member of 'ImageCompositeNotification'");
14387
0
        return false;
14388
0
    }
14389
0
    // Sentinel = 'imageTimeStamp'
14390
0
    if ((!((aMsg)->ReadSentinel(aIter, 1759084471)))) {
14391
0
        mozilla::ipc::SentinelReadError("Error deserializing 'imageTimeStamp' (TimeStamp) member of 'ImageCompositeNotification'");
14392
0
        return false;
14393
0
    }
14394
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->firstCompositeTimeStamp())))))) {
14395
0
        (aActor)->FatalError("Error deserializing 'firstCompositeTimeStamp' (TimeStamp) member of 'ImageCompositeNotification'");
14396
0
        return false;
14397
0
    }
14398
0
    // Sentinel = 'firstCompositeTimeStamp'
14399
0
    if ((!((aMsg)->ReadSentinel(aIter, 2056815046)))) {
14400
0
        mozilla::ipc::SentinelReadError("Error deserializing 'firstCompositeTimeStamp' (TimeStamp) member of 'ImageCompositeNotification'");
14401
0
        return false;
14402
0
    }
14403
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->frameID())))))) {
14404
0
        (aActor)->FatalError("Error deserializing 'frameID' (uint32_t) member of 'ImageCompositeNotification'");
14405
0
        return false;
14406
0
    }
14407
0
    // Sentinel = 'frameID'
14408
0
    if ((!((aMsg)->ReadSentinel(aIter, 3054835247)))) {
14409
0
        mozilla::ipc::SentinelReadError("Error deserializing 'frameID' (uint32_t) member of 'ImageCompositeNotification'");
14410
0
        return false;
14411
0
    }
14412
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->producerID())))))) {
14413
0
        (aActor)->FatalError("Error deserializing 'producerID' (uint32_t) member of 'ImageCompositeNotification'");
14414
0
        return false;
14415
0
    }
14416
0
    // Sentinel = 'producerID'
14417
0
    if ((!((aMsg)->ReadSentinel(aIter, 1942472743)))) {
14418
0
        mozilla::ipc::SentinelReadError("Error deserializing 'producerID' (uint32_t) member of 'ImageCompositeNotification'");
14419
0
        return false;
14420
0
    }
14421
0
    return true;
14422
0
}
14423
14424
} // namespace ipc
14425
} // namespace mozilla
14426
14427
//-----------------------------------------------------------------------------
14428
// Method definitions for the IPDL type |union AsyncParentMessageData|
14429
//
14430
namespace mozilla {
14431
namespace layers {
14432
auto AsyncParentMessageData::MaybeDestroy(Type aNewType) -> bool
14433
0
{
14434
0
    if ((mType) == (T__None)) {
14435
0
        return true;
14436
0
    }
14437
0
    if ((mType) == (aNewType)) {
14438
0
        return false;
14439
0
    }
14440
0
    switch (mType) {
14441
0
    case TOpNotifyNotUsed:
14442
0
        {
14443
0
            (ptr_OpNotifyNotUsed())->~OpNotifyNotUsed__tdef();
14444
0
            break;
14445
0
        }
14446
0
    default:
14447
0
        {
14448
0
            mozilla::ipc::LogicError("not reached");
14449
0
            break;
14450
0
        }
14451
0
    }
14452
0
    return true;
14453
0
}
14454
14455
MOZ_IMPLICIT AsyncParentMessageData::AsyncParentMessageData(const OpNotifyNotUsed& aOther)
14456
0
{
14457
0
    new (mozilla::KnownNotNull, ptr_OpNotifyNotUsed()) OpNotifyNotUsed(aOther);
14458
0
    mType = TOpNotifyNotUsed;
14459
0
}
14460
14461
MOZ_IMPLICIT AsyncParentMessageData::AsyncParentMessageData(OpNotifyNotUsed&& aOther)
14462
0
{
14463
0
    new (mozilla::KnownNotNull, ptr_OpNotifyNotUsed()) OpNotifyNotUsed(std::move(aOther));
14464
0
    mType = TOpNotifyNotUsed;
14465
0
}
14466
14467
MOZ_IMPLICIT AsyncParentMessageData::AsyncParentMessageData(const AsyncParentMessageData& aOther)
14468
0
{
14469
0
    (aOther).AssertSanity();
14470
0
    switch ((aOther).type()) {
14471
0
    case TOpNotifyNotUsed:
14472
0
        {
14473
0
            new (mozilla::KnownNotNull, ptr_OpNotifyNotUsed()) OpNotifyNotUsed((aOther).get_OpNotifyNotUsed());
14474
0
            break;
14475
0
        }
14476
0
    case T__None:
14477
0
        {
14478
0
            break;
14479
0
        }
14480
0
    default:
14481
0
        {
14482
0
            mozilla::ipc::LogicError("unreached");
14483
0
            return;
14484
0
        }
14485
0
    }
14486
0
    mType = (aOther).type();
14487
0
}
14488
14489
MOZ_IMPLICIT AsyncParentMessageData::AsyncParentMessageData(AsyncParentMessageData&& aOther)
14490
0
{
14491
0
    (aOther).AssertSanity();
14492
0
    Type t = (aOther).type();
14493
0
    switch (t) {
14494
0
    case TOpNotifyNotUsed:
14495
0
        {
14496
0
            new (mozilla::KnownNotNull, ptr_OpNotifyNotUsed()) OpNotifyNotUsed(std::move((aOther).get_OpNotifyNotUsed()));
14497
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
14498
0
            break;
14499
0
        }
14500
0
    case T__None:
14501
0
        {
14502
0
            break;
14503
0
        }
14504
0
    default:
14505
0
        {
14506
0
            mozilla::ipc::LogicError("unreached");
14507
0
            return;
14508
0
        }
14509
0
    }
14510
0
    (aOther).mType = T__None;
14511
0
    mType = t;
14512
0
}
14513
14514
AsyncParentMessageData::~AsyncParentMessageData()
14515
0
{
14516
0
    static_cast<void>(MaybeDestroy(T__None));
14517
0
}
14518
14519
auto AsyncParentMessageData::operator=(const OpNotifyNotUsed& aRhs) -> AsyncParentMessageData&
14520
0
{
14521
0
    if (MaybeDestroy(TOpNotifyNotUsed)) {
14522
0
        new (mozilla::KnownNotNull, ptr_OpNotifyNotUsed()) OpNotifyNotUsed;
14523
0
    }
14524
0
    (*(ptr_OpNotifyNotUsed())) = aRhs;
14525
0
    mType = TOpNotifyNotUsed;
14526
0
    return (*(this));
14527
0
}
14528
14529
auto AsyncParentMessageData::operator=(OpNotifyNotUsed&& aRhs) -> AsyncParentMessageData&
14530
0
{
14531
0
    if (MaybeDestroy(TOpNotifyNotUsed)) {
14532
0
        new (mozilla::KnownNotNull, ptr_OpNotifyNotUsed()) OpNotifyNotUsed;
14533
0
    }
14534
0
    (*(ptr_OpNotifyNotUsed())) = std::move(aRhs);
14535
0
    mType = TOpNotifyNotUsed;
14536
0
    return (*(this));
14537
0
}
14538
14539
auto AsyncParentMessageData::operator=(const AsyncParentMessageData& aRhs) -> AsyncParentMessageData&
14540
0
{
14541
0
    (aRhs).AssertSanity();
14542
0
    Type t = (aRhs).type();
14543
0
    switch (t) {
14544
0
    case TOpNotifyNotUsed:
14545
0
        {
14546
0
            if (MaybeDestroy(t)) {
14547
0
                new (mozilla::KnownNotNull, ptr_OpNotifyNotUsed()) OpNotifyNotUsed;
14548
0
            }
14549
0
            (*(ptr_OpNotifyNotUsed())) = (aRhs).get_OpNotifyNotUsed();
14550
0
            break;
14551
0
        }
14552
0
    case T__None:
14553
0
        {
14554
0
            static_cast<void>(MaybeDestroy(t));
14555
0
            break;
14556
0
        }
14557
0
    default:
14558
0
        {
14559
0
            mozilla::ipc::LogicError("unreached");
14560
0
            break;
14561
0
        }
14562
0
    }
14563
0
    mType = t;
14564
0
    return (*(this));
14565
0
}
14566
14567
auto AsyncParentMessageData::operator=(AsyncParentMessageData&& aRhs) -> AsyncParentMessageData&
14568
0
{
14569
0
    (aRhs).AssertSanity();
14570
0
    Type t = (aRhs).type();
14571
0
    switch (t) {
14572
0
    case TOpNotifyNotUsed:
14573
0
        {
14574
0
            if (MaybeDestroy(t)) {
14575
0
                new (mozilla::KnownNotNull, ptr_OpNotifyNotUsed()) OpNotifyNotUsed;
14576
0
            }
14577
0
            (*(ptr_OpNotifyNotUsed())) = std::move((aRhs).get_OpNotifyNotUsed());
14578
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
14579
0
            break;
14580
0
        }
14581
0
    case T__None:
14582
0
        {
14583
0
            static_cast<void>(MaybeDestroy(t));
14584
0
            break;
14585
0
        }
14586
0
    default:
14587
0
        {
14588
0
            mozilla::ipc::LogicError("unreached");
14589
0
            break;
14590
0
        }
14591
0
    }
14592
0
    (aRhs).mType = T__None;
14593
0
    mType = t;
14594
0
    return (*(this));
14595
0
}
14596
14597
auto AsyncParentMessageData::operator==(const OpNotifyNotUsed& aRhs) const -> bool
14598
0
{
14599
0
    return (get_OpNotifyNotUsed()) == (aRhs);
14600
0
}
14601
14602
auto AsyncParentMessageData::operator==(const AsyncParentMessageData& aRhs) const -> bool
14603
0
{
14604
0
    if ((type()) != ((aRhs).type())) {
14605
0
        return false;
14606
0
    }
14607
0
14608
0
    switch (type()) {
14609
0
    case TOpNotifyNotUsed:
14610
0
        {
14611
0
            return (get_OpNotifyNotUsed()) == ((aRhs).get_OpNotifyNotUsed());
14612
0
        }
14613
0
    default:
14614
0
        {
14615
0
            mozilla::ipc::LogicError("unreached");
14616
0
            return false;
14617
0
        }
14618
0
    }
14619
0
}
14620
14621
auto AsyncParentMessageData::get(OpNotifyNotUsed* aOutValue) const -> void
14622
0
{
14623
0
    (*(aOutValue)) = get_OpNotifyNotUsed();
14624
0
}
14625
14626
} // namespace layers
14627
} // namespace mozilla
14628
14629
namespace mozilla {
14630
namespace ipc {
14631
auto IPDLParamTraits<mozilla::layers::AsyncParentMessageData>::Write(
14632
        IPC::Message* aMsg,
14633
        mozilla::ipc::IProtocol* aActor,
14634
        const paramType& aVar) -> void
14635
{
14636
    typedef mozilla::layers::AsyncParentMessageData union__;
14637
    int type;
14638
    type = (aVar).type();
14639
    WriteIPDLParam(aMsg, aActor, type);
14640
    // Sentinel = 'AsyncParentMessageData'
14641
    (aMsg)->WriteSentinel(3809282103);
14642
14643
    switch (type) {
14644
    case union__::TOpNotifyNotUsed:
14645
        {
14646
            WriteIPDLParam(aMsg, aActor, (aVar).get_OpNotifyNotUsed());
14647
            // Sentinel = 'TOpNotifyNotUsed'
14648
            (aMsg)->WriteSentinel(2920493638);
14649
            return;
14650
        }
14651
    default:
14652
        {
14653
            (aActor)->FatalError("unknown union type");
14654
            return;
14655
        }
14656
    }
14657
}
14658
14659
auto IPDLParamTraits<mozilla::layers::AsyncParentMessageData>::Read(
14660
        const IPC::Message* aMsg,
14661
        PickleIterator* aIter,
14662
        mozilla::ipc::IProtocol* aActor,
14663
        paramType* aVar) -> bool
14664
0
{
14665
0
    typedef mozilla::layers::AsyncParentMessageData union__;
14666
0
    int type;
14667
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
14668
0
        (aActor)->FatalError("Error deserializing type of union AsyncParentMessageData");
14669
0
        return false;
14670
0
    }
14671
0
    // Sentinel = 'AsyncParentMessageData'
14672
0
    if ((!((aMsg)->ReadSentinel(aIter, 3809282103)))) {
14673
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union AsyncParentMessageData");
14674
0
        return false;
14675
0
    }
14676
0
14677
0
    switch (type) {
14678
0
    case union__::TOpNotifyNotUsed:
14679
0
        {
14680
0
            mozilla::layers::OpNotifyNotUsed tmp = mozilla::layers::OpNotifyNotUsed();
14681
0
            (*(aVar)) = tmp;
14682
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_OpNotifyNotUsed())))))) {
14683
0
                (aActor)->FatalError("Error deserializing variant TOpNotifyNotUsed of union AsyncParentMessageData");
14684
0
                return false;
14685
0
            }
14686
0
            // Sentinel = 'TOpNotifyNotUsed'
14687
0
            if ((!((aMsg)->ReadSentinel(aIter, 2920493638)))) {
14688
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TOpNotifyNotUsed of union AsyncParentMessageData");
14689
0
                return false;
14690
0
            }
14691
0
            return true;
14692
0
        }
14693
0
    default:
14694
0
        {
14695
0
            (aActor)->FatalError("unknown union type");
14696
0
            return false;
14697
0
        }
14698
0
    }
14699
0
}
14700
14701
} // namespace ipc
14702
} // namespace mozilla
14703
14704
//-----------------------------------------------------------------------------
14705
// Method definitions for the IPDL type |struct PaintTiming|
14706
//
14707
namespace mozilla {
14708
namespace layers {
14709
auto PaintTiming::operator==(const PaintTiming& _o) const -> bool
14710
0
{
14711
0
    if ((!((serializeMs()) == ((_o).serializeMs())))) {
14712
0
        return false;
14713
0
    }
14714
0
    if ((!((sendMs()) == ((_o).sendMs())))) {
14715
0
        return false;
14716
0
    }
14717
0
    if ((!((dlMs()) == ((_o).dlMs())))) {
14718
0
        return false;
14719
0
    }
14720
0
    if ((!((dl2Ms()) == ((_o).dl2Ms())))) {
14721
0
        return false;
14722
0
    }
14723
0
    if ((!((flbMs()) == ((_o).flbMs())))) {
14724
0
        return false;
14725
0
    }
14726
0
    if ((!((rasterMs()) == ((_o).rasterMs())))) {
14727
0
        return false;
14728
0
    }
14729
0
    return true;
14730
0
}
14731
14732
auto PaintTiming::operator!=(const PaintTiming& _o) const -> bool
14733
0
{
14734
0
    return (!(operator==(_o)));
14735
0
}
14736
14737
} // namespace layers
14738
} // namespace mozilla
14739
14740
namespace mozilla {
14741
namespace ipc {
14742
auto IPDLParamTraits<mozilla::layers::PaintTiming>::Write(
14743
        IPC::Message* aMsg,
14744
        mozilla::ipc::IProtocol* aActor,
14745
        const paramType& aVar) -> void
14746
0
{
14747
0
    WriteIPDLParam(aMsg, aActor, (aVar).serializeMs());
14748
0
    // Sentinel = 'serializeMs'
14749
0
    (aMsg)->WriteSentinel(1679155289);
14750
0
    WriteIPDLParam(aMsg, aActor, (aVar).sendMs());
14751
0
    // Sentinel = 'sendMs'
14752
0
    (aMsg)->WriteSentinel(1895220908);
14753
0
    WriteIPDLParam(aMsg, aActor, (aVar).dlMs());
14754
0
    // Sentinel = 'dlMs'
14755
0
    (aMsg)->WriteSentinel(1536357008);
14756
0
    WriteIPDLParam(aMsg, aActor, (aVar).dl2Ms());
14757
0
    // Sentinel = 'dl2Ms'
14758
0
    (aMsg)->WriteSentinel(458752615);
14759
0
    WriteIPDLParam(aMsg, aActor, (aVar).flbMs());
14760
0
    // Sentinel = 'flbMs'
14761
0
    (aMsg)->WriteSentinel(315691481);
14762
0
    WriteIPDLParam(aMsg, aActor, (aVar).rasterMs());
14763
0
    // Sentinel = 'rasterMs'
14764
0
    (aMsg)->WriteSentinel(3876624083);
14765
0
}
14766
14767
auto IPDLParamTraits<mozilla::layers::PaintTiming>::Read(
14768
        const IPC::Message* aMsg,
14769
        PickleIterator* aIter,
14770
        mozilla::ipc::IProtocol* aActor,
14771
        paramType* aVar) -> bool
14772
0
{
14773
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->serializeMs())))))) {
14774
0
        (aActor)->FatalError("Error deserializing 'serializeMs' (float) member of 'PaintTiming'");
14775
0
        return false;
14776
0
    }
14777
0
    // Sentinel = 'serializeMs'
14778
0
    if ((!((aMsg)->ReadSentinel(aIter, 1679155289)))) {
14779
0
        mozilla::ipc::SentinelReadError("Error deserializing 'serializeMs' (float) member of 'PaintTiming'");
14780
0
        return false;
14781
0
    }
14782
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->sendMs())))))) {
14783
0
        (aActor)->FatalError("Error deserializing 'sendMs' (float) member of 'PaintTiming'");
14784
0
        return false;
14785
0
    }
14786
0
    // Sentinel = 'sendMs'
14787
0
    if ((!((aMsg)->ReadSentinel(aIter, 1895220908)))) {
14788
0
        mozilla::ipc::SentinelReadError("Error deserializing 'sendMs' (float) member of 'PaintTiming'");
14789
0
        return false;
14790
0
    }
14791
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->dlMs())))))) {
14792
0
        (aActor)->FatalError("Error deserializing 'dlMs' (float) member of 'PaintTiming'");
14793
0
        return false;
14794
0
    }
14795
0
    // Sentinel = 'dlMs'
14796
0
    if ((!((aMsg)->ReadSentinel(aIter, 1536357008)))) {
14797
0
        mozilla::ipc::SentinelReadError("Error deserializing 'dlMs' (float) member of 'PaintTiming'");
14798
0
        return false;
14799
0
    }
14800
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->dl2Ms())))))) {
14801
0
        (aActor)->FatalError("Error deserializing 'dl2Ms' (float) member of 'PaintTiming'");
14802
0
        return false;
14803
0
    }
14804
0
    // Sentinel = 'dl2Ms'
14805
0
    if ((!((aMsg)->ReadSentinel(aIter, 458752615)))) {
14806
0
        mozilla::ipc::SentinelReadError("Error deserializing 'dl2Ms' (float) member of 'PaintTiming'");
14807
0
        return false;
14808
0
    }
14809
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->flbMs())))))) {
14810
0
        (aActor)->FatalError("Error deserializing 'flbMs' (float) member of 'PaintTiming'");
14811
0
        return false;
14812
0
    }
14813
0
    // Sentinel = 'flbMs'
14814
0
    if ((!((aMsg)->ReadSentinel(aIter, 315691481)))) {
14815
0
        mozilla::ipc::SentinelReadError("Error deserializing 'flbMs' (float) member of 'PaintTiming'");
14816
0
        return false;
14817
0
    }
14818
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->rasterMs())))))) {
14819
0
        (aActor)->FatalError("Error deserializing 'rasterMs' (float) member of 'PaintTiming'");
14820
0
        return false;
14821
0
    }
14822
0
    // Sentinel = 'rasterMs'
14823
0
    if ((!((aMsg)->ReadSentinel(aIter, 3876624083)))) {
14824
0
        mozilla::ipc::SentinelReadError("Error deserializing 'rasterMs' (float) member of 'PaintTiming'");
14825
0
        return false;
14826
0
    }
14827
0
    return true;
14828
0
}
14829
14830
} // namespace ipc
14831
} // namespace mozilla
14832
14833
//-----------------------------------------------------------------------------
14834
// Method definitions for the IPDL type |struct TransactionInfo|
14835
//
14836
namespace mozilla {
14837
namespace layers {
14838
auto TransactionInfo::operator==(const TransactionInfo& _o) const -> bool
14839
0
{
14840
0
    if ((!((cset()) == ((_o).cset())))) {
14841
0
        return false;
14842
0
    }
14843
0
    if ((!((setSimpleAttrs()) == ((_o).setSimpleAttrs())))) {
14844
0
        return false;
14845
0
    }
14846
0
    if ((!((setAttrs()) == ((_o).setAttrs())))) {
14847
0
        return false;
14848
0
    }
14849
0
    if ((!((paints()) == ((_o).paints())))) {
14850
0
        return false;
14851
0
    }
14852
0
    if ((!((toDestroy()) == ((_o).toDestroy())))) {
14853
0
        return false;
14854
0
    }
14855
0
    if ((!((fwdTransactionId()) == ((_o).fwdTransactionId())))) {
14856
0
        return false;
14857
0
    }
14858
0
    if ((!((id()) == ((_o).id())))) {
14859
0
        return false;
14860
0
    }
14861
0
    if ((!((targetConfig()) == ((_o).targetConfig())))) {
14862
0
        return false;
14863
0
    }
14864
0
    if ((!((plugins()) == ((_o).plugins())))) {
14865
0
        return false;
14866
0
    }
14867
0
    if ((!((isFirstPaint()) == ((_o).isFirstPaint())))) {
14868
0
        return false;
14869
0
    }
14870
0
    if ((!((focusTarget()) == ((_o).focusTarget())))) {
14871
0
        return false;
14872
0
    }
14873
0
    if ((!((scheduleComposite()) == ((_o).scheduleComposite())))) {
14874
0
        return false;
14875
0
    }
14876
0
    if ((!((paintSequenceNumber()) == ((_o).paintSequenceNumber())))) {
14877
0
        return false;
14878
0
    }
14879
0
    if ((!((isRepeatTransaction()) == ((_o).isRepeatTransaction())))) {
14880
0
        return false;
14881
0
    }
14882
0
    if ((!((refreshStart()) == ((_o).refreshStart())))) {
14883
0
        return false;
14884
0
    }
14885
0
    if ((!((transactionStart()) == ((_o).transactionStart())))) {
14886
0
        return false;
14887
0
    }
14888
0
    if ((!((fwdTime()) == ((_o).fwdTime())))) {
14889
0
        return false;
14890
0
    }
14891
0
    return true;
14892
0
}
14893
14894
auto TransactionInfo::operator!=(const TransactionInfo& _o) const -> bool
14895
0
{
14896
0
    return (!(operator==(_o)));
14897
0
}
14898
14899
} // namespace layers
14900
} // namespace mozilla
14901
14902
namespace mozilla {
14903
namespace ipc {
14904
auto IPDLParamTraits<mozilla::layers::TransactionInfo>::Write(
14905
        IPC::Message* aMsg,
14906
        mozilla::ipc::IProtocol* aActor,
14907
        const paramType& aVar) -> void
14908
0
{
14909
0
    WriteIPDLParam(aMsg, aActor, (aVar).cset());
14910
0
    // Sentinel = 'cset'
14911
0
    (aMsg)->WriteSentinel(1641215409);
14912
0
    WriteIPDLParam(aMsg, aActor, (aVar).setSimpleAttrs());
14913
0
    // Sentinel = 'setSimpleAttrs'
14914
0
    (aMsg)->WriteSentinel(2311501828);
14915
0
    WriteIPDLParam(aMsg, aActor, (aVar).setAttrs());
14916
0
    // Sentinel = 'setAttrs'
14917
0
    (aMsg)->WriteSentinel(1753236472);
14918
0
    WriteIPDLParam(aMsg, aActor, (aVar).paints());
14919
0
    // Sentinel = 'paints'
14920
0
    (aMsg)->WriteSentinel(4193300201);
14921
0
    WriteIPDLParam(aMsg, aActor, (aVar).toDestroy());
14922
0
    // Sentinel = 'toDestroy'
14923
0
    (aMsg)->WriteSentinel(4183172130);
14924
0
    WriteIPDLParam(aMsg, aActor, (aVar).fwdTransactionId());
14925
0
    // Sentinel = 'fwdTransactionId'
14926
0
    (aMsg)->WriteSentinel(2023976742);
14927
0
    WriteIPDLParam(aMsg, aActor, (aVar).id());
14928
0
    // Sentinel = 'id'
14929
0
    (aMsg)->WriteSentinel(2794505629);
14930
0
    WriteIPDLParam(aMsg, aActor, (aVar).targetConfig());
14931
0
    // Sentinel = 'targetConfig'
14932
0
    (aMsg)->WriteSentinel(3027540357);
14933
0
    WriteIPDLParam(aMsg, aActor, (aVar).plugins());
14934
0
    // Sentinel = 'plugins'
14935
0
    (aMsg)->WriteSentinel(2745061527);
14936
0
    WriteIPDLParam(aMsg, aActor, (aVar).isFirstPaint());
14937
0
    // Sentinel = 'isFirstPaint'
14938
0
    (aMsg)->WriteSentinel(3748149138);
14939
0
    WriteIPDLParam(aMsg, aActor, (aVar).focusTarget());
14940
0
    // Sentinel = 'focusTarget'
14941
0
    (aMsg)->WriteSentinel(2511236160);
14942
0
    WriteIPDLParam(aMsg, aActor, (aVar).scheduleComposite());
14943
0
    // Sentinel = 'scheduleComposite'
14944
0
    (aMsg)->WriteSentinel(3730535701);
14945
0
    WriteIPDLParam(aMsg, aActor, (aVar).paintSequenceNumber());
14946
0
    // Sentinel = 'paintSequenceNumber'
14947
0
    (aMsg)->WriteSentinel(3875026487);
14948
0
    WriteIPDLParam(aMsg, aActor, (aVar).isRepeatTransaction());
14949
0
    // Sentinel = 'isRepeatTransaction'
14950
0
    (aMsg)->WriteSentinel(4043798256);
14951
0
    WriteIPDLParam(aMsg, aActor, (aVar).refreshStart());
14952
0
    // Sentinel = 'refreshStart'
14953
0
    (aMsg)->WriteSentinel(3056521935);
14954
0
    WriteIPDLParam(aMsg, aActor, (aVar).transactionStart());
14955
0
    // Sentinel = 'transactionStart'
14956
0
    (aMsg)->WriteSentinel(214152700);
14957
0
    WriteIPDLParam(aMsg, aActor, (aVar).fwdTime());
14958
0
    // Sentinel = 'fwdTime'
14959
0
    (aMsg)->WriteSentinel(1610637679);
14960
0
}
14961
14962
auto IPDLParamTraits<mozilla::layers::TransactionInfo>::Read(
14963
        const IPC::Message* aMsg,
14964
        PickleIterator* aIter,
14965
        mozilla::ipc::IProtocol* aActor,
14966
        paramType* aVar) -> bool
14967
0
{
14968
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->cset())))))) {
14969
0
        (aActor)->FatalError("Error deserializing 'cset' (Edit[]) member of 'TransactionInfo'");
14970
0
        return false;
14971
0
    }
14972
0
    // Sentinel = 'cset'
14973
0
    if ((!((aMsg)->ReadSentinel(aIter, 1641215409)))) {
14974
0
        mozilla::ipc::SentinelReadError("Error deserializing 'cset' (Edit[]) member of 'TransactionInfo'");
14975
0
        return false;
14976
0
    }
14977
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->setSimpleAttrs())))))) {
14978
0
        (aActor)->FatalError("Error deserializing 'setSimpleAttrs' (OpSetSimpleLayerAttributes[]) member of 'TransactionInfo'");
14979
0
        return false;
14980
0
    }
14981
0
    // Sentinel = 'setSimpleAttrs'
14982
0
    if ((!((aMsg)->ReadSentinel(aIter, 2311501828)))) {
14983
0
        mozilla::ipc::SentinelReadError("Error deserializing 'setSimpleAttrs' (OpSetSimpleLayerAttributes[]) member of 'TransactionInfo'");
14984
0
        return false;
14985
0
    }
14986
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->setAttrs())))))) {
14987
0
        (aActor)->FatalError("Error deserializing 'setAttrs' (OpSetLayerAttributes[]) member of 'TransactionInfo'");
14988
0
        return false;
14989
0
    }
14990
0
    // Sentinel = 'setAttrs'
14991
0
    if ((!((aMsg)->ReadSentinel(aIter, 1753236472)))) {
14992
0
        mozilla::ipc::SentinelReadError("Error deserializing 'setAttrs' (OpSetLayerAttributes[]) member of 'TransactionInfo'");
14993
0
        return false;
14994
0
    }
14995
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->paints())))))) {
14996
0
        (aActor)->FatalError("Error deserializing 'paints' (CompositableOperation[]) member of 'TransactionInfo'");
14997
0
        return false;
14998
0
    }
14999
0
    // Sentinel = 'paints'
15000
0
    if ((!((aMsg)->ReadSentinel(aIter, 4193300201)))) {
15001
0
        mozilla::ipc::SentinelReadError("Error deserializing 'paints' (CompositableOperation[]) member of 'TransactionInfo'");
15002
0
        return false;
15003
0
    }
15004
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->toDestroy())))))) {
15005
0
        (aActor)->FatalError("Error deserializing 'toDestroy' (OpDestroy[]) member of 'TransactionInfo'");
15006
0
        return false;
15007
0
    }
15008
0
    // Sentinel = 'toDestroy'
15009
0
    if ((!((aMsg)->ReadSentinel(aIter, 4183172130)))) {
15010
0
        mozilla::ipc::SentinelReadError("Error deserializing 'toDestroy' (OpDestroy[]) member of 'TransactionInfo'");
15011
0
        return false;
15012
0
    }
15013
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->fwdTransactionId())))))) {
15014
0
        (aActor)->FatalError("Error deserializing 'fwdTransactionId' (uint64_t) member of 'TransactionInfo'");
15015
0
        return false;
15016
0
    }
15017
0
    // Sentinel = 'fwdTransactionId'
15018
0
    if ((!((aMsg)->ReadSentinel(aIter, 2023976742)))) {
15019
0
        mozilla::ipc::SentinelReadError("Error deserializing 'fwdTransactionId' (uint64_t) member of 'TransactionInfo'");
15020
0
        return false;
15021
0
    }
15022
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->id())))))) {
15023
0
        (aActor)->FatalError("Error deserializing 'id' (TransactionId) member of 'TransactionInfo'");
15024
0
        return false;
15025
0
    }
15026
0
    // Sentinel = 'id'
15027
0
    if ((!((aMsg)->ReadSentinel(aIter, 2794505629)))) {
15028
0
        mozilla::ipc::SentinelReadError("Error deserializing 'id' (TransactionId) member of 'TransactionInfo'");
15029
0
        return false;
15030
0
    }
15031
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->targetConfig())))))) {
15032
0
        (aActor)->FatalError("Error deserializing 'targetConfig' (TargetConfig) member of 'TransactionInfo'");
15033
0
        return false;
15034
0
    }
15035
0
    // Sentinel = 'targetConfig'
15036
0
    if ((!((aMsg)->ReadSentinel(aIter, 3027540357)))) {
15037
0
        mozilla::ipc::SentinelReadError("Error deserializing 'targetConfig' (TargetConfig) member of 'TransactionInfo'");
15038
0
        return false;
15039
0
    }
15040
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->plugins())))))) {
15041
0
        (aActor)->FatalError("Error deserializing 'plugins' (PluginWindowData[]) member of 'TransactionInfo'");
15042
0
        return false;
15043
0
    }
15044
0
    // Sentinel = 'plugins'
15045
0
    if ((!((aMsg)->ReadSentinel(aIter, 2745061527)))) {
15046
0
        mozilla::ipc::SentinelReadError("Error deserializing 'plugins' (PluginWindowData[]) member of 'TransactionInfo'");
15047
0
        return false;
15048
0
    }
15049
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->isFirstPaint())))))) {
15050
0
        (aActor)->FatalError("Error deserializing 'isFirstPaint' (bool) member of 'TransactionInfo'");
15051
0
        return false;
15052
0
    }
15053
0
    // Sentinel = 'isFirstPaint'
15054
0
    if ((!((aMsg)->ReadSentinel(aIter, 3748149138)))) {
15055
0
        mozilla::ipc::SentinelReadError("Error deserializing 'isFirstPaint' (bool) member of 'TransactionInfo'");
15056
0
        return false;
15057
0
    }
15058
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->focusTarget())))))) {
15059
0
        (aActor)->FatalError("Error deserializing 'focusTarget' (FocusTarget) member of 'TransactionInfo'");
15060
0
        return false;
15061
0
    }
15062
0
    // Sentinel = 'focusTarget'
15063
0
    if ((!((aMsg)->ReadSentinel(aIter, 2511236160)))) {
15064
0
        mozilla::ipc::SentinelReadError("Error deserializing 'focusTarget' (FocusTarget) member of 'TransactionInfo'");
15065
0
        return false;
15066
0
    }
15067
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->scheduleComposite())))))) {
15068
0
        (aActor)->FatalError("Error deserializing 'scheduleComposite' (bool) member of 'TransactionInfo'");
15069
0
        return false;
15070
0
    }
15071
0
    // Sentinel = 'scheduleComposite'
15072
0
    if ((!((aMsg)->ReadSentinel(aIter, 3730535701)))) {
15073
0
        mozilla::ipc::SentinelReadError("Error deserializing 'scheduleComposite' (bool) member of 'TransactionInfo'");
15074
0
        return false;
15075
0
    }
15076
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->paintSequenceNumber())))))) {
15077
0
        (aActor)->FatalError("Error deserializing 'paintSequenceNumber' (uint32_t) member of 'TransactionInfo'");
15078
0
        return false;
15079
0
    }
15080
0
    // Sentinel = 'paintSequenceNumber'
15081
0
    if ((!((aMsg)->ReadSentinel(aIter, 3875026487)))) {
15082
0
        mozilla::ipc::SentinelReadError("Error deserializing 'paintSequenceNumber' (uint32_t) member of 'TransactionInfo'");
15083
0
        return false;
15084
0
    }
15085
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->isRepeatTransaction())))))) {
15086
0
        (aActor)->FatalError("Error deserializing 'isRepeatTransaction' (bool) member of 'TransactionInfo'");
15087
0
        return false;
15088
0
    }
15089
0
    // Sentinel = 'isRepeatTransaction'
15090
0
    if ((!((aMsg)->ReadSentinel(aIter, 4043798256)))) {
15091
0
        mozilla::ipc::SentinelReadError("Error deserializing 'isRepeatTransaction' (bool) member of 'TransactionInfo'");
15092
0
        return false;
15093
0
    }
15094
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->refreshStart())))))) {
15095
0
        (aActor)->FatalError("Error deserializing 'refreshStart' (TimeStamp) member of 'TransactionInfo'");
15096
0
        return false;
15097
0
    }
15098
0
    // Sentinel = 'refreshStart'
15099
0
    if ((!((aMsg)->ReadSentinel(aIter, 3056521935)))) {
15100
0
        mozilla::ipc::SentinelReadError("Error deserializing 'refreshStart' (TimeStamp) member of 'TransactionInfo'");
15101
0
        return false;
15102
0
    }
15103
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->transactionStart())))))) {
15104
0
        (aActor)->FatalError("Error deserializing 'transactionStart' (TimeStamp) member of 'TransactionInfo'");
15105
0
        return false;
15106
0
    }
15107
0
    // Sentinel = 'transactionStart'
15108
0
    if ((!((aMsg)->ReadSentinel(aIter, 214152700)))) {
15109
0
        mozilla::ipc::SentinelReadError("Error deserializing 'transactionStart' (TimeStamp) member of 'TransactionInfo'");
15110
0
        return false;
15111
0
    }
15112
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->fwdTime())))))) {
15113
0
        (aActor)->FatalError("Error deserializing 'fwdTime' (TimeStamp) member of 'TransactionInfo'");
15114
0
        return false;
15115
0
    }
15116
0
    // Sentinel = 'fwdTime'
15117
0
    if ((!((aMsg)->ReadSentinel(aIter, 1610637679)))) {
15118
0
        mozilla::ipc::SentinelReadError("Error deserializing 'fwdTime' (TimeStamp) member of 'TransactionInfo'");
15119
0
        return false;
15120
0
    }
15121
0
    return true;
15122
0
}
15123
15124
} // namespace ipc
15125
} // namespace mozilla
15126
15127
//-----------------------------------------------------------------------------
15128
// Method definitions for the IPDL type |union MaybeTransform|
15129
//
15130
namespace mozilla {
15131
namespace layers {
15132
auto MaybeTransform::MaybeDestroy(Type aNewType) -> bool
15133
0
{
15134
0
    if ((mType) == (T__None)) {
15135
0
        return true;
15136
0
    }
15137
0
    if ((mType) == (aNewType)) {
15138
0
        return false;
15139
0
    }
15140
0
    switch (mType) {
15141
0
    case TMatrix4x4:
15142
0
        {
15143
0
            (ptr_Matrix4x4())->~Matrix4x4__tdef();
15144
0
            break;
15145
0
        }
15146
0
    case Tvoid_t:
15147
0
        {
15148
0
            (ptr_void_t())->~void_t__tdef();
15149
0
            break;
15150
0
        }
15151
0
    default:
15152
0
        {
15153
0
            mozilla::ipc::LogicError("not reached");
15154
0
            break;
15155
0
        }
15156
0
    }
15157
0
    return true;
15158
0
}
15159
15160
MOZ_IMPLICIT MaybeTransform::MaybeTransform(const Matrix4x4& aOther)
15161
0
{
15162
0
    new (mozilla::KnownNotNull, ptr_Matrix4x4()) Matrix4x4(aOther);
15163
0
    mType = TMatrix4x4;
15164
0
}
15165
15166
MOZ_IMPLICIT MaybeTransform::MaybeTransform(Matrix4x4&& aOther)
15167
0
{
15168
0
    new (mozilla::KnownNotNull, ptr_Matrix4x4()) Matrix4x4(std::move(aOther));
15169
0
    mType = TMatrix4x4;
15170
0
}
15171
15172
MOZ_IMPLICIT MaybeTransform::MaybeTransform(const void_t& aOther)
15173
0
{
15174
0
    new (mozilla::KnownNotNull, ptr_void_t()) void_t(aOther);
15175
0
    mType = Tvoid_t;
15176
0
}
15177
15178
MOZ_IMPLICIT MaybeTransform::MaybeTransform(void_t&& aOther)
15179
0
{
15180
0
    new (mozilla::KnownNotNull, ptr_void_t()) void_t(std::move(aOther));
15181
0
    mType = Tvoid_t;
15182
0
}
15183
15184
MOZ_IMPLICIT MaybeTransform::MaybeTransform(const MaybeTransform& aOther)
15185
0
{
15186
0
    (aOther).AssertSanity();
15187
0
    switch ((aOther).type()) {
15188
0
    case TMatrix4x4:
15189
0
        {
15190
0
            new (mozilla::KnownNotNull, ptr_Matrix4x4()) Matrix4x4((aOther).get_Matrix4x4());
15191
0
            break;
15192
0
        }
15193
0
    case Tvoid_t:
15194
0
        {
15195
0
            new (mozilla::KnownNotNull, ptr_void_t()) void_t((aOther).get_void_t());
15196
0
            break;
15197
0
        }
15198
0
    case T__None:
15199
0
        {
15200
0
            break;
15201
0
        }
15202
0
    default:
15203
0
        {
15204
0
            mozilla::ipc::LogicError("unreached");
15205
0
            return;
15206
0
        }
15207
0
    }
15208
0
    mType = (aOther).type();
15209
0
}
15210
15211
MOZ_IMPLICIT MaybeTransform::MaybeTransform(MaybeTransform&& aOther)
15212
0
{
15213
0
    (aOther).AssertSanity();
15214
0
    Type t = (aOther).type();
15215
0
    switch (t) {
15216
0
    case TMatrix4x4:
15217
0
        {
15218
0
            new (mozilla::KnownNotNull, ptr_Matrix4x4()) Matrix4x4(std::move((aOther).get_Matrix4x4()));
15219
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
15220
0
            break;
15221
0
        }
15222
0
    case Tvoid_t:
15223
0
        {
15224
0
            new (mozilla::KnownNotNull, ptr_void_t()) void_t(std::move((aOther).get_void_t()));
15225
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
15226
0
            break;
15227
0
        }
15228
0
    case T__None:
15229
0
        {
15230
0
            break;
15231
0
        }
15232
0
    default:
15233
0
        {
15234
0
            mozilla::ipc::LogicError("unreached");
15235
0
            return;
15236
0
        }
15237
0
    }
15238
0
    (aOther).mType = T__None;
15239
0
    mType = t;
15240
0
}
15241
15242
MaybeTransform::~MaybeTransform()
15243
0
{
15244
0
    static_cast<void>(MaybeDestroy(T__None));
15245
0
}
15246
15247
auto MaybeTransform::operator=(const Matrix4x4& aRhs) -> MaybeTransform&
15248
0
{
15249
0
    if (MaybeDestroy(TMatrix4x4)) {
15250
0
        new (mozilla::KnownNotNull, ptr_Matrix4x4()) Matrix4x4;
15251
0
    }
15252
0
    (*(ptr_Matrix4x4())) = aRhs;
15253
0
    mType = TMatrix4x4;
15254
0
    return (*(this));
15255
0
}
15256
15257
auto MaybeTransform::operator=(Matrix4x4&& aRhs) -> MaybeTransform&
15258
0
{
15259
0
    if (MaybeDestroy(TMatrix4x4)) {
15260
0
        new (mozilla::KnownNotNull, ptr_Matrix4x4()) Matrix4x4;
15261
0
    }
15262
0
    (*(ptr_Matrix4x4())) = std::move(aRhs);
15263
0
    mType = TMatrix4x4;
15264
0
    return (*(this));
15265
0
}
15266
15267
auto MaybeTransform::operator=(const void_t& aRhs) -> MaybeTransform&
15268
0
{
15269
0
    if (MaybeDestroy(Tvoid_t)) {
15270
0
        new (mozilla::KnownNotNull, ptr_void_t()) void_t;
15271
0
    }
15272
0
    (*(ptr_void_t())) = aRhs;
15273
0
    mType = Tvoid_t;
15274
0
    return (*(this));
15275
0
}
15276
15277
auto MaybeTransform::operator=(void_t&& aRhs) -> MaybeTransform&
15278
0
{
15279
0
    if (MaybeDestroy(Tvoid_t)) {
15280
0
        new (mozilla::KnownNotNull, ptr_void_t()) void_t;
15281
0
    }
15282
0
    (*(ptr_void_t())) = std::move(aRhs);
15283
0
    mType = Tvoid_t;
15284
0
    return (*(this));
15285
0
}
15286
15287
auto MaybeTransform::operator=(const MaybeTransform& aRhs) -> MaybeTransform&
15288
0
{
15289
0
    (aRhs).AssertSanity();
15290
0
    Type t = (aRhs).type();
15291
0
    switch (t) {
15292
0
    case TMatrix4x4:
15293
0
        {
15294
0
            if (MaybeDestroy(t)) {
15295
0
                new (mozilla::KnownNotNull, ptr_Matrix4x4()) Matrix4x4;
15296
0
            }
15297
0
            (*(ptr_Matrix4x4())) = (aRhs).get_Matrix4x4();
15298
0
            break;
15299
0
        }
15300
0
    case Tvoid_t:
15301
0
        {
15302
0
            if (MaybeDestroy(t)) {
15303
0
                new (mozilla::KnownNotNull, ptr_void_t()) void_t;
15304
0
            }
15305
0
            (*(ptr_void_t())) = (aRhs).get_void_t();
15306
0
            break;
15307
0
        }
15308
0
    case T__None:
15309
0
        {
15310
0
            static_cast<void>(MaybeDestroy(t));
15311
0
            break;
15312
0
        }
15313
0
    default:
15314
0
        {
15315
0
            mozilla::ipc::LogicError("unreached");
15316
0
            break;
15317
0
        }
15318
0
    }
15319
0
    mType = t;
15320
0
    return (*(this));
15321
0
}
15322
15323
auto MaybeTransform::operator=(MaybeTransform&& aRhs) -> MaybeTransform&
15324
0
{
15325
0
    (aRhs).AssertSanity();
15326
0
    Type t = (aRhs).type();
15327
0
    switch (t) {
15328
0
    case TMatrix4x4:
15329
0
        {
15330
0
            if (MaybeDestroy(t)) {
15331
0
                new (mozilla::KnownNotNull, ptr_Matrix4x4()) Matrix4x4;
15332
0
            }
15333
0
            (*(ptr_Matrix4x4())) = std::move((aRhs).get_Matrix4x4());
15334
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
15335
0
            break;
15336
0
        }
15337
0
    case Tvoid_t:
15338
0
        {
15339
0
            if (MaybeDestroy(t)) {
15340
0
                new (mozilla::KnownNotNull, ptr_void_t()) void_t;
15341
0
            }
15342
0
            (*(ptr_void_t())) = std::move((aRhs).get_void_t());
15343
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
15344
0
            break;
15345
0
        }
15346
0
    case T__None:
15347
0
        {
15348
0
            static_cast<void>(MaybeDestroy(t));
15349
0
            break;
15350
0
        }
15351
0
    default:
15352
0
        {
15353
0
            mozilla::ipc::LogicError("unreached");
15354
0
            break;
15355
0
        }
15356
0
    }
15357
0
    (aRhs).mType = T__None;
15358
0
    mType = t;
15359
0
    return (*(this));
15360
0
}
15361
15362
auto MaybeTransform::operator==(const Matrix4x4& aRhs) const -> bool
15363
0
{
15364
0
    return (get_Matrix4x4()) == (aRhs);
15365
0
}
15366
15367
auto MaybeTransform::operator==(const void_t& aRhs) const -> bool
15368
0
{
15369
0
    return (get_void_t()) == (aRhs);
15370
0
}
15371
15372
auto MaybeTransform::operator==(const MaybeTransform& aRhs) const -> bool
15373
0
{
15374
0
    if ((type()) != ((aRhs).type())) {
15375
0
        return false;
15376
0
    }
15377
0
15378
0
    switch (type()) {
15379
0
    case TMatrix4x4:
15380
0
        {
15381
0
            return (get_Matrix4x4()) == ((aRhs).get_Matrix4x4());
15382
0
        }
15383
0
    case Tvoid_t:
15384
0
        {
15385
0
            return (get_void_t()) == ((aRhs).get_void_t());
15386
0
        }
15387
0
    default:
15388
0
        {
15389
0
            mozilla::ipc::LogicError("unreached");
15390
0
            return false;
15391
0
        }
15392
0
    }
15393
0
}
15394
15395
auto MaybeTransform::get(Matrix4x4* aOutValue) const -> void
15396
0
{
15397
0
    (*(aOutValue)) = get_Matrix4x4();
15398
0
}
15399
15400
auto MaybeTransform::get(void_t* aOutValue) const -> void
15401
0
{
15402
0
    (*(aOutValue)) = get_void_t();
15403
0
}
15404
15405
} // namespace layers
15406
} // namespace mozilla
15407
15408
namespace mozilla {
15409
namespace ipc {
15410
auto IPDLParamTraits<mozilla::layers::MaybeTransform>::Write(
15411
        IPC::Message* aMsg,
15412
        mozilla::ipc::IProtocol* aActor,
15413
        const paramType& aVar) -> void
15414
{
15415
    typedef mozilla::layers::MaybeTransform union__;
15416
    int type;
15417
    type = (aVar).type();
15418
    WriteIPDLParam(aMsg, aActor, type);
15419
    // Sentinel = 'MaybeTransform'
15420
    (aMsg)->WriteSentinel(3057705086);
15421
15422
    switch (type) {
15423
    case union__::TMatrix4x4:
15424
        {
15425
            WriteIPDLParam(aMsg, aActor, (aVar).get_Matrix4x4());
15426
            // Sentinel = 'TMatrix4x4'
15427
            (aMsg)->WriteSentinel(1886581935);
15428
            return;
15429
        }
15430
    case union__::Tvoid_t:
15431
        {
15432
            WriteIPDLParam(aMsg, aActor, (aVar).get_void_t());
15433
            // Sentinel = 'Tvoid_t'
15434
            (aMsg)->WriteSentinel(3041273328);
15435
            return;
15436
        }
15437
    default:
15438
        {
15439
            (aActor)->FatalError("unknown union type");
15440
            return;
15441
        }
15442
    }
15443
}
15444
15445
auto IPDLParamTraits<mozilla::layers::MaybeTransform>::Read(
15446
        const IPC::Message* aMsg,
15447
        PickleIterator* aIter,
15448
        mozilla::ipc::IProtocol* aActor,
15449
        paramType* aVar) -> bool
15450
0
{
15451
0
    typedef mozilla::layers::MaybeTransform union__;
15452
0
    int type;
15453
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
15454
0
        (aActor)->FatalError("Error deserializing type of union MaybeTransform");
15455
0
        return false;
15456
0
    }
15457
0
    // Sentinel = 'MaybeTransform'
15458
0
    if ((!((aMsg)->ReadSentinel(aIter, 3057705086)))) {
15459
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union MaybeTransform");
15460
0
        return false;
15461
0
    }
15462
0
15463
0
    switch (type) {
15464
0
    case union__::TMatrix4x4:
15465
0
        {
15466
0
            mozilla::gfx::Matrix4x4 tmp = mozilla::gfx::Matrix4x4();
15467
0
            (*(aVar)) = tmp;
15468
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_Matrix4x4())))))) {
15469
0
                (aActor)->FatalError("Error deserializing variant TMatrix4x4 of union MaybeTransform");
15470
0
                return false;
15471
0
            }
15472
0
            // Sentinel = 'TMatrix4x4'
15473
0
            if ((!((aMsg)->ReadSentinel(aIter, 1886581935)))) {
15474
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TMatrix4x4 of union MaybeTransform");
15475
0
                return false;
15476
0
            }
15477
0
            return true;
15478
0
        }
15479
0
    case union__::Tvoid_t:
15480
0
        {
15481
0
            mozilla::void_t tmp = mozilla::void_t();
15482
0
            (*(aVar)) = tmp;
15483
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_void_t())))))) {
15484
0
                (aActor)->FatalError("Error deserializing variant Tvoid_t of union MaybeTransform");
15485
0
                return false;
15486
0
            }
15487
0
            // Sentinel = 'Tvoid_t'
15488
0
            if ((!((aMsg)->ReadSentinel(aIter, 3041273328)))) {
15489
0
                mozilla::ipc::SentinelReadError("Error deserializing variant Tvoid_t of union MaybeTransform");
15490
0
                return false;
15491
0
            }
15492
0
            return true;
15493
0
        }
15494
0
    default:
15495
0
        {
15496
0
            (aActor)->FatalError("unknown union type");
15497
0
            return false;
15498
0
        }
15499
0
    }
15500
0
}
15501
15502
} // namespace ipc
15503
} // namespace mozilla
15504
15505
//-----------------------------------------------------------------------------
15506
// Method definitions for the IPDL type |union OMTAValue|
15507
//
15508
namespace mozilla {
15509
namespace layers {
15510
auto OMTAValue::MaybeDestroy(Type aNewType) -> bool
15511
0
{
15512
0
    if ((mType) == (T__None)) {
15513
0
        return true;
15514
0
    }
15515
0
    if ((mType) == (aNewType)) {
15516
0
        return false;
15517
0
    }
15518
0
    switch (mType) {
15519
0
    case Tnull_t:
15520
0
        {
15521
0
            (ptr_null_t())->~null_t__tdef();
15522
0
            break;
15523
0
        }
15524
0
    case Tfloat:
15525
0
        {
15526
0
            (ptr_float())->~float__tdef();
15527
0
            break;
15528
0
        }
15529
0
    case TMatrix4x4:
15530
0
        {
15531
0
            (ptr_Matrix4x4())->~Matrix4x4__tdef();
15532
0
            break;
15533
0
        }
15534
0
    default:
15535
0
        {
15536
0
            mozilla::ipc::LogicError("not reached");
15537
0
            break;
15538
0
        }
15539
0
    }
15540
0
    return true;
15541
0
}
15542
15543
MOZ_IMPLICIT OMTAValue::OMTAValue(const null_t& aOther)
15544
0
{
15545
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(aOther);
15546
0
    mType = Tnull_t;
15547
0
}
15548
15549
MOZ_IMPLICIT OMTAValue::OMTAValue(null_t&& aOther)
15550
0
{
15551
0
    new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move(aOther));
15552
0
    mType = Tnull_t;
15553
0
}
15554
15555
MOZ_IMPLICIT OMTAValue::OMTAValue(const float& aOther)
15556
0
{
15557
0
    new (mozilla::KnownNotNull, ptr_float()) float(aOther);
15558
0
    mType = Tfloat;
15559
0
}
15560
15561
MOZ_IMPLICIT OMTAValue::OMTAValue(float&& aOther)
15562
0
{
15563
0
    new (mozilla::KnownNotNull, ptr_float()) float(std::move(aOther));
15564
0
    mType = Tfloat;
15565
0
}
15566
15567
MOZ_IMPLICIT OMTAValue::OMTAValue(const Matrix4x4& aOther)
15568
0
{
15569
0
    new (mozilla::KnownNotNull, ptr_Matrix4x4()) Matrix4x4(aOther);
15570
0
    mType = TMatrix4x4;
15571
0
}
15572
15573
MOZ_IMPLICIT OMTAValue::OMTAValue(Matrix4x4&& aOther)
15574
0
{
15575
0
    new (mozilla::KnownNotNull, ptr_Matrix4x4()) Matrix4x4(std::move(aOther));
15576
0
    mType = TMatrix4x4;
15577
0
}
15578
15579
MOZ_IMPLICIT OMTAValue::OMTAValue(const OMTAValue& aOther)
15580
0
{
15581
0
    (aOther).AssertSanity();
15582
0
    switch ((aOther).type()) {
15583
0
    case Tnull_t:
15584
0
        {
15585
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t((aOther).get_null_t());
15586
0
            break;
15587
0
        }
15588
0
    case Tfloat:
15589
0
        {
15590
0
            new (mozilla::KnownNotNull, ptr_float()) float((aOther).get_float());
15591
0
            break;
15592
0
        }
15593
0
    case TMatrix4x4:
15594
0
        {
15595
0
            new (mozilla::KnownNotNull, ptr_Matrix4x4()) Matrix4x4((aOther).get_Matrix4x4());
15596
0
            break;
15597
0
        }
15598
0
    case T__None:
15599
0
        {
15600
0
            break;
15601
0
        }
15602
0
    default:
15603
0
        {
15604
0
            mozilla::ipc::LogicError("unreached");
15605
0
            return;
15606
0
        }
15607
0
    }
15608
0
    mType = (aOther).type();
15609
0
}
15610
15611
MOZ_IMPLICIT OMTAValue::OMTAValue(OMTAValue&& aOther)
15612
0
{
15613
0
    (aOther).AssertSanity();
15614
0
    Type t = (aOther).type();
15615
0
    switch (t) {
15616
0
    case Tnull_t:
15617
0
        {
15618
0
            new (mozilla::KnownNotNull, ptr_null_t()) null_t(std::move((aOther).get_null_t()));
15619
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
15620
0
            break;
15621
0
        }
15622
0
    case Tfloat:
15623
0
        {
15624
0
            new (mozilla::KnownNotNull, ptr_float()) float(std::move((aOther).get_float()));
15625
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
15626
0
            break;
15627
0
        }
15628
0
    case TMatrix4x4:
15629
0
        {
15630
0
            new (mozilla::KnownNotNull, ptr_Matrix4x4()) Matrix4x4(std::move((aOther).get_Matrix4x4()));
15631
0
            static_cast<void>((aOther).MaybeDestroy(T__None));
15632
0
            break;
15633
0
        }
15634
0
    case T__None:
15635
0
        {
15636
0
            break;
15637
0
        }
15638
0
    default:
15639
0
        {
15640
0
            mozilla::ipc::LogicError("unreached");
15641
0
            return;
15642
0
        }
15643
0
    }
15644
0
    (aOther).mType = T__None;
15645
0
    mType = t;
15646
0
}
15647
15648
OMTAValue::~OMTAValue()
15649
0
{
15650
0
    static_cast<void>(MaybeDestroy(T__None));
15651
0
}
15652
15653
auto OMTAValue::operator=(const null_t& aRhs) -> OMTAValue&
15654
0
{
15655
0
    if (MaybeDestroy(Tnull_t)) {
15656
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
15657
0
    }
15658
0
    (*(ptr_null_t())) = aRhs;
15659
0
    mType = Tnull_t;
15660
0
    return (*(this));
15661
0
}
15662
15663
auto OMTAValue::operator=(null_t&& aRhs) -> OMTAValue&
15664
0
{
15665
0
    if (MaybeDestroy(Tnull_t)) {
15666
0
        new (mozilla::KnownNotNull, ptr_null_t()) null_t;
15667
0
    }
15668
0
    (*(ptr_null_t())) = std::move(aRhs);
15669
0
    mType = Tnull_t;
15670
0
    return (*(this));
15671
0
}
15672
15673
auto OMTAValue::operator=(const float& aRhs) -> OMTAValue&
15674
0
{
15675
0
    if (MaybeDestroy(Tfloat)) {
15676
0
        new (mozilla::KnownNotNull, ptr_float()) float;
15677
0
    }
15678
0
    (*(ptr_float())) = aRhs;
15679
0
    mType = Tfloat;
15680
0
    return (*(this));
15681
0
}
15682
15683
auto OMTAValue::operator=(float&& aRhs) -> OMTAValue&
15684
0
{
15685
0
    if (MaybeDestroy(Tfloat)) {
15686
0
        new (mozilla::KnownNotNull, ptr_float()) float;
15687
0
    }
15688
0
    (*(ptr_float())) = std::move(aRhs);
15689
0
    mType = Tfloat;
15690
0
    return (*(this));
15691
0
}
15692
15693
auto OMTAValue::operator=(const Matrix4x4& aRhs) -> OMTAValue&
15694
0
{
15695
0
    if (MaybeDestroy(TMatrix4x4)) {
15696
0
        new (mozilla::KnownNotNull, ptr_Matrix4x4()) Matrix4x4;
15697
0
    }
15698
0
    (*(ptr_Matrix4x4())) = aRhs;
15699
0
    mType = TMatrix4x4;
15700
0
    return (*(this));
15701
0
}
15702
15703
auto OMTAValue::operator=(Matrix4x4&& aRhs) -> OMTAValue&
15704
0
{
15705
0
    if (MaybeDestroy(TMatrix4x4)) {
15706
0
        new (mozilla::KnownNotNull, ptr_Matrix4x4()) Matrix4x4;
15707
0
    }
15708
0
    (*(ptr_Matrix4x4())) = std::move(aRhs);
15709
0
    mType = TMatrix4x4;
15710
0
    return (*(this));
15711
0
}
15712
15713
auto OMTAValue::operator=(const OMTAValue& aRhs) -> OMTAValue&
15714
0
{
15715
0
    (aRhs).AssertSanity();
15716
0
    Type t = (aRhs).type();
15717
0
    switch (t) {
15718
0
    case Tnull_t:
15719
0
        {
15720
0
            if (MaybeDestroy(t)) {
15721
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
15722
0
            }
15723
0
            (*(ptr_null_t())) = (aRhs).get_null_t();
15724
0
            break;
15725
0
        }
15726
0
    case Tfloat:
15727
0
        {
15728
0
            if (MaybeDestroy(t)) {
15729
0
                new (mozilla::KnownNotNull, ptr_float()) float;
15730
0
            }
15731
0
            (*(ptr_float())) = (aRhs).get_float();
15732
0
            break;
15733
0
        }
15734
0
    case TMatrix4x4:
15735
0
        {
15736
0
            if (MaybeDestroy(t)) {
15737
0
                new (mozilla::KnownNotNull, ptr_Matrix4x4()) Matrix4x4;
15738
0
            }
15739
0
            (*(ptr_Matrix4x4())) = (aRhs).get_Matrix4x4();
15740
0
            break;
15741
0
        }
15742
0
    case T__None:
15743
0
        {
15744
0
            static_cast<void>(MaybeDestroy(t));
15745
0
            break;
15746
0
        }
15747
0
    default:
15748
0
        {
15749
0
            mozilla::ipc::LogicError("unreached");
15750
0
            break;
15751
0
        }
15752
0
    }
15753
0
    mType = t;
15754
0
    return (*(this));
15755
0
}
15756
15757
auto OMTAValue::operator=(OMTAValue&& aRhs) -> OMTAValue&
15758
0
{
15759
0
    (aRhs).AssertSanity();
15760
0
    Type t = (aRhs).type();
15761
0
    switch (t) {
15762
0
    case Tnull_t:
15763
0
        {
15764
0
            if (MaybeDestroy(t)) {
15765
0
                new (mozilla::KnownNotNull, ptr_null_t()) null_t;
15766
0
            }
15767
0
            (*(ptr_null_t())) = std::move((aRhs).get_null_t());
15768
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
15769
0
            break;
15770
0
        }
15771
0
    case Tfloat:
15772
0
        {
15773
0
            if (MaybeDestroy(t)) {
15774
0
                new (mozilla::KnownNotNull, ptr_float()) float;
15775
0
            }
15776
0
            (*(ptr_float())) = std::move((aRhs).get_float());
15777
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
15778
0
            break;
15779
0
        }
15780
0
    case TMatrix4x4:
15781
0
        {
15782
0
            if (MaybeDestroy(t)) {
15783
0
                new (mozilla::KnownNotNull, ptr_Matrix4x4()) Matrix4x4;
15784
0
            }
15785
0
            (*(ptr_Matrix4x4())) = std::move((aRhs).get_Matrix4x4());
15786
0
            static_cast<void>((aRhs).MaybeDestroy(T__None));
15787
0
            break;
15788
0
        }
15789
0
    case T__None:
15790
0
        {
15791
0
            static_cast<void>(MaybeDestroy(t));
15792
0
            break;
15793
0
        }
15794
0
    default:
15795
0
        {
15796
0
            mozilla::ipc::LogicError("unreached");
15797
0
            break;
15798
0
        }
15799
0
    }
15800
0
    (aRhs).mType = T__None;
15801
0
    mType = t;
15802
0
    return (*(this));
15803
0
}
15804
15805
auto OMTAValue::operator==(const null_t& aRhs) const -> bool
15806
0
{
15807
0
    return (get_null_t()) == (aRhs);
15808
0
}
15809
15810
auto OMTAValue::operator==(const float& aRhs) const -> bool
15811
0
{
15812
0
    return (get_float()) == (aRhs);
15813
0
}
15814
15815
auto OMTAValue::operator==(const Matrix4x4& aRhs) const -> bool
15816
0
{
15817
0
    return (get_Matrix4x4()) == (aRhs);
15818
0
}
15819
15820
auto OMTAValue::operator==(const OMTAValue& aRhs) const -> bool
15821
0
{
15822
0
    if ((type()) != ((aRhs).type())) {
15823
0
        return false;
15824
0
    }
15825
0
15826
0
    switch (type()) {
15827
0
    case Tnull_t:
15828
0
        {
15829
0
            return (get_null_t()) == ((aRhs).get_null_t());
15830
0
        }
15831
0
    case Tfloat:
15832
0
        {
15833
0
            return (get_float()) == ((aRhs).get_float());
15834
0
        }
15835
0
    case TMatrix4x4:
15836
0
        {
15837
0
            return (get_Matrix4x4()) == ((aRhs).get_Matrix4x4());
15838
0
        }
15839
0
    default:
15840
0
        {
15841
0
            mozilla::ipc::LogicError("unreached");
15842
0
            return false;
15843
0
        }
15844
0
    }
15845
0
}
15846
15847
auto OMTAValue::get(null_t* aOutValue) const -> void
15848
0
{
15849
0
    (*(aOutValue)) = get_null_t();
15850
0
}
15851
15852
auto OMTAValue::get(float* aOutValue) const -> void
15853
0
{
15854
0
    (*(aOutValue)) = get_float();
15855
0
}
15856
15857
auto OMTAValue::get(Matrix4x4* aOutValue) const -> void
15858
0
{
15859
0
    (*(aOutValue)) = get_Matrix4x4();
15860
0
}
15861
15862
} // namespace layers
15863
} // namespace mozilla
15864
15865
namespace mozilla {
15866
namespace ipc {
15867
auto IPDLParamTraits<mozilla::layers::OMTAValue>::Write(
15868
        IPC::Message* aMsg,
15869
        mozilla::ipc::IProtocol* aActor,
15870
        const paramType& aVar) -> void
15871
{
15872
    typedef mozilla::layers::OMTAValue union__;
15873
    int type;
15874
    type = (aVar).type();
15875
    WriteIPDLParam(aMsg, aActor, type);
15876
    // Sentinel = 'OMTAValue'
15877
    (aMsg)->WriteSentinel(3685019437);
15878
15879
    switch (type) {
15880
    case union__::Tnull_t:
15881
        {
15882
            WriteIPDLParam(aMsg, aActor, (aVar).get_null_t());
15883
            // Sentinel = 'Tnull_t'
15884
            (aMsg)->WriteSentinel(3731137201);
15885
            return;
15886
        }
15887
    case union__::Tfloat:
15888
        {
15889
            WriteIPDLParam(aMsg, aActor, (aVar).get_float());
15890
            // Sentinel = 'Tfloat'
15891
            (aMsg)->WriteSentinel(2693237468);
15892
            return;
15893
        }
15894
    case union__::TMatrix4x4:
15895
        {
15896
            WriteIPDLParam(aMsg, aActor, (aVar).get_Matrix4x4());
15897
            // Sentinel = 'TMatrix4x4'
15898
            (aMsg)->WriteSentinel(1886581935);
15899
            return;
15900
        }
15901
    default:
15902
        {
15903
            (aActor)->FatalError("unknown union type");
15904
            return;
15905
        }
15906
    }
15907
}
15908
15909
auto IPDLParamTraits<mozilla::layers::OMTAValue>::Read(
15910
        const IPC::Message* aMsg,
15911
        PickleIterator* aIter,
15912
        mozilla::ipc::IProtocol* aActor,
15913
        paramType* aVar) -> bool
15914
0
{
15915
0
    typedef mozilla::layers::OMTAValue union__;
15916
0
    int type;
15917
0
    if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&(type)))))) {
15918
0
        (aActor)->FatalError("Error deserializing type of union OMTAValue");
15919
0
        return false;
15920
0
    }
15921
0
    // Sentinel = 'OMTAValue'
15922
0
    if ((!((aMsg)->ReadSentinel(aIter, 3685019437)))) {
15923
0
        mozilla::ipc::SentinelReadError("Error deserializing type of union OMTAValue");
15924
0
        return false;
15925
0
    }
15926
0
15927
0
    switch (type) {
15928
0
    case union__::Tnull_t:
15929
0
        {
15930
0
            mozilla::null_t tmp = mozilla::null_t();
15931
0
            (*(aVar)) = tmp;
15932
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_null_t())))))) {
15933
0
                (aActor)->FatalError("Error deserializing variant Tnull_t of union OMTAValue");
15934
0
                return false;
15935
0
            }
15936
0
            // Sentinel = 'Tnull_t'
15937
0
            if ((!((aMsg)->ReadSentinel(aIter, 3731137201)))) {
15938
0
                mozilla::ipc::SentinelReadError("Error deserializing variant Tnull_t of union OMTAValue");
15939
0
                return false;
15940
0
            }
15941
0
            return true;
15942
0
        }
15943
0
    case union__::Tfloat:
15944
0
        {
15945
0
            float tmp = float();
15946
0
            (*(aVar)) = tmp;
15947
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_float())))))) {
15948
0
                (aActor)->FatalError("Error deserializing variant Tfloat of union OMTAValue");
15949
0
                return false;
15950
0
            }
15951
0
            // Sentinel = 'Tfloat'
15952
0
            if ((!((aMsg)->ReadSentinel(aIter, 2693237468)))) {
15953
0
                mozilla::ipc::SentinelReadError("Error deserializing variant Tfloat of union OMTAValue");
15954
0
                return false;
15955
0
            }
15956
0
            return true;
15957
0
        }
15958
0
    case union__::TMatrix4x4:
15959
0
        {
15960
0
            mozilla::gfx::Matrix4x4 tmp = mozilla::gfx::Matrix4x4();
15961
0
            (*(aVar)) = tmp;
15962
0
            if ((!(ReadIPDLParam(aMsg, aIter, aActor, (&((aVar)->get_Matrix4x4())))))) {
15963
0
                (aActor)->FatalError("Error deserializing variant TMatrix4x4 of union OMTAValue");
15964
0
                return false;
15965
0
            }
15966
0
            // Sentinel = 'TMatrix4x4'
15967
0
            if ((!((aMsg)->ReadSentinel(aIter, 1886581935)))) {
15968
0
                mozilla::ipc::SentinelReadError("Error deserializing variant TMatrix4x4 of union OMTAValue");
15969
0
                return false;
15970
0
            }
15971
0
            return true;
15972
0
        }
15973
0
    default:
15974
0
        {
15975
0
            (aActor)->FatalError("unknown union type");
15976
0
            return false;
15977
0
        }
15978
0
    }
15979
0
}
15980
15981
} // namespace ipc
15982
} // namespace mozilla