Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/dist/include/mozilla/dom/VRDisplayBinding.h
Line
Count
Source (jump to first uncovered line)
1
/* THIS FILE IS AUTOGENERATED FROM VRDisplay.webidl BY Codegen.py - DO NOT EDIT */
2
3
#ifndef mozilla_dom_VRDisplayBinding_h
4
#define mozilla_dom_VRDisplayBinding_h
5
6
#include "GeckoProfiler.h"
7
#include "js/RootingAPI.h"
8
#include "jspubtd.h"
9
#include "mozilla/ErrorResult.h"
10
#include "mozilla/dom/BindingDeclarations.h"
11
#include "mozilla/dom/HTMLCanvasElement.h"
12
#include "mozilla/dom/Nullable.h"
13
#include "mozilla/dom/PrototypeList.h"
14
15
namespace mozilla {
16
namespace dom {
17
18
class HTMLCanvasElement;
19
struct NativePropertyHooks;
20
class ProtoAndIfaceCache;
21
class VRDisplay;
22
struct VRDisplayAtoms;
23
class VRDisplayCapabilities;
24
struct VRDisplayCapabilitiesAtoms;
25
class VREyeParameters;
26
struct VREyeParametersAtoms;
27
class VRFieldOfView;
28
struct VRFieldOfViewAtoms;
29
class VRFrameData;
30
struct VRFrameDataAtoms;
31
struct VRLayerAtoms;
32
class VRPose;
33
struct VRPoseAtoms;
34
class VRStageParameters;
35
struct VRStageParametersAtoms;
36
class VRSubmitFrameResult;
37
struct VRSubmitFrameResultAtoms;
38
39
} // namespace dom
40
} // namespace mozilla
41
42
namespace mozilla {
43
namespace dom {
44
45
enum class VREye : uint8_t {
46
  Left,
47
  Right,
48
  EndGuard_
49
};
50
51
namespace VREyeValues {
52
extern const EnumEntry strings[3];
53
} // namespace VREyeValues
54
55
bool
56
ToJSValue(JSContext* aCx, VREye aArgument, JS::MutableHandle<JS::Value> aValue);
57
58
59
struct VRLayer : public DictionaryBase
60
{
61
  MOZ_INIT_OUTSIDE_CTOR Sequence<float> mLeftBounds;
62
  MOZ_INIT_OUTSIDE_CTOR Sequence<float> mRightBounds;
63
  MOZ_INIT_OUTSIDE_CTOR RefPtr<mozilla::dom::HTMLCanvasElement> mSource;
64
65
  VRLayer();
66
67
  explicit inline VRLayer(const FastDictionaryInitializer& )
68
0
  {
69
0
    // Do nothing here; this is used by our "Fast" subclass
70
0
  }
71
72
  explicit inline VRLayer(const VRLayer& aOther)
73
0
  {
74
0
    *this = aOther;
75
0
  }
76
77
  bool
78
  Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
79
80
  bool
81
  ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
82
83
  void
84
  TraceDictionary(JSTracer* trc);
85
86
  inline void
87
  TraverseForCC(nsCycleCollectionTraversalCallback& aCallback, uint32_t aFlags)
88
0
  {
89
0
    ImplCycleCollectionTraverse(aCallback, mSource, "mSource", aFlags);
90
0
  }
91
92
  inline void
93
  UnlinkForCC()
94
0
  {
95
0
    ImplCycleCollectionUnlink(mSource);
96
0
  }
97
98
  VRLayer&
99
  operator=(const VRLayer& aOther);
100
101
private:
102
  static bool
103
  InitIds(JSContext* cx, VRLayerAtoms* atomsCache);
104
};
105
106
namespace binding_detail {
107
struct FastVRLayer : public VRLayer
108
{
109
  inline FastVRLayer()
110
    : VRLayer(FastDictionaryInitializer())
111
0
  {
112
0
    // Doesn't matter what int we pass to the parent constructor
113
0
  }
114
};
115
} // namespace binding_detail
116
117
118
namespace VRDisplay_Binding {
119
120
  typedef mozilla::dom::VRDisplay NativeType;
121
122
  bool
123
  ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
124
125
  const JSClass*
126
  GetJSClass();
127
128
  bool
129
  Wrap(JSContext* aCx, mozilla::dom::VRDisplay* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
130
131
  template <class T>
132
  inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
133
0
  {
134
0
    JS::Rooted<JSObject*> reflector(aCx);
135
0
    return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
136
0
  }
137
138
  // We declare this as an array so that retrieving a pointer to this
139
  // binding's property hooks only requires compile/link-time resolvable
140
  // address arithmetic.  Declaring it as a pointer instead would require
141
  // doing a run-time load to fetch a pointer to this binding's property
142
  // hooks.  And then structures which embedded a pointer to this structure
143
  // would require a run-time load for proper initialization, which would
144
  // then induce static constructors.  Lots of static constructors.
145
  extern const NativePropertyHooks sNativePropertyHooks[];
146
147
  void
148
  CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
149
150
  inline JS::Handle<JSObject*> GetProtoObjectHandle(JSContext* aCx)
151
0
  {
152
0
    /* Get the interface prototype object for this class.  This will create the
153
0
       object as needed. */
154
0
    return GetPerInterfaceObjectHandle(aCx, prototypes::id::VRDisplay,
155
0
                                       &CreateInterfaceObjects,
156
0
                                       /* aDefineOnGlobal = */ true);
157
0
158
0
  }
159
160
  inline JS::Handle<JSObject*> GetConstructorObjectHandle(JSContext* aCx, bool aDefineOnGlobal = true)
161
0
  {
162
0
    /* Get the interface object for this class.  This will create the object as
163
0
       needed. */
164
0
165
0
    return GetPerInterfaceObjectHandle(aCx, constructors::id::VRDisplay,
166
0
                                       &CreateInterfaceObjects,
167
0
                                       aDefineOnGlobal);
168
0
  }
169
170
  JSObject*
171
  GetConstructorObject(JSContext* aCx);
172
173
} // namespace VRDisplay_Binding
174
175
176
177
namespace VRDisplayCapabilities_Binding {
178
179
  typedef mozilla::dom::VRDisplayCapabilities NativeType;
180
181
  bool
182
  ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
183
184
  const JSClass*
185
  GetJSClass();
186
187
  bool
188
  Wrap(JSContext* aCx, mozilla::dom::VRDisplayCapabilities* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
189
190
  template <class T>
191
  inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
192
0
  {
193
0
    JS::Rooted<JSObject*> reflector(aCx);
194
0
    return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
195
0
  }
196
197
  // We declare this as an array so that retrieving a pointer to this
198
  // binding's property hooks only requires compile/link-time resolvable
199
  // address arithmetic.  Declaring it as a pointer instead would require
200
  // doing a run-time load to fetch a pointer to this binding's property
201
  // hooks.  And then structures which embedded a pointer to this structure
202
  // would require a run-time load for proper initialization, which would
203
  // then induce static constructors.  Lots of static constructors.
204
  extern const NativePropertyHooks sNativePropertyHooks[];
205
206
  void
207
  CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
208
209
  inline JS::Handle<JSObject*> GetProtoObjectHandle(JSContext* aCx)
210
0
  {
211
0
    /* Get the interface prototype object for this class.  This will create the
212
0
       object as needed. */
213
0
    return GetPerInterfaceObjectHandle(aCx, prototypes::id::VRDisplayCapabilities,
214
0
                                       &CreateInterfaceObjects,
215
0
                                       /* aDefineOnGlobal = */ true);
216
0
217
0
  }
218
219
  inline JS::Handle<JSObject*> GetConstructorObjectHandle(JSContext* aCx, bool aDefineOnGlobal = true)
220
0
  {
221
0
    /* Get the interface object for this class.  This will create the object as
222
0
       needed. */
223
0
224
0
    return GetPerInterfaceObjectHandle(aCx, constructors::id::VRDisplayCapabilities,
225
0
                                       &CreateInterfaceObjects,
226
0
                                       aDefineOnGlobal);
227
0
  }
228
229
  JSObject*
230
  GetConstructorObject(JSContext* aCx);
231
232
} // namespace VRDisplayCapabilities_Binding
233
234
235
236
namespace VREyeParameters_Binding {
237
238
  typedef mozilla::dom::VREyeParameters NativeType;
239
240
  bool
241
  ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
242
243
  const JSClass*
244
  GetJSClass();
245
246
  bool
247
  Wrap(JSContext* aCx, mozilla::dom::VREyeParameters* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
248
249
  template <class T>
250
  inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
251
0
  {
252
0
    JS::Rooted<JSObject*> reflector(aCx);
253
0
    return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
254
0
  }
255
256
  // We declare this as an array so that retrieving a pointer to this
257
  // binding's property hooks only requires compile/link-time resolvable
258
  // address arithmetic.  Declaring it as a pointer instead would require
259
  // doing a run-time load to fetch a pointer to this binding's property
260
  // hooks.  And then structures which embedded a pointer to this structure
261
  // would require a run-time load for proper initialization, which would
262
  // then induce static constructors.  Lots of static constructors.
263
  extern const NativePropertyHooks sNativePropertyHooks[];
264
265
  void
266
  CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
267
268
  inline JS::Handle<JSObject*> GetProtoObjectHandle(JSContext* aCx)
269
0
  {
270
0
    /* Get the interface prototype object for this class.  This will create the
271
0
       object as needed. */
272
0
    return GetPerInterfaceObjectHandle(aCx, prototypes::id::VREyeParameters,
273
0
                                       &CreateInterfaceObjects,
274
0
                                       /* aDefineOnGlobal = */ true);
275
0
276
0
  }
277
278
  inline JS::Handle<JSObject*> GetConstructorObjectHandle(JSContext* aCx, bool aDefineOnGlobal = true)
279
0
  {
280
0
    /* Get the interface object for this class.  This will create the object as
281
0
       needed. */
282
0
283
0
    return GetPerInterfaceObjectHandle(aCx, constructors::id::VREyeParameters,
284
0
                                       &CreateInterfaceObjects,
285
0
                                       aDefineOnGlobal);
286
0
  }
287
288
  JSObject*
289
  GetConstructorObject(JSContext* aCx);
290
291
} // namespace VREyeParameters_Binding
292
293
294
295
namespace VRFieldOfView_Binding {
296
297
  typedef mozilla::dom::VRFieldOfView NativeType;
298
299
  bool
300
  ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
301
302
  const JSClass*
303
  GetJSClass();
304
305
  bool
306
  Wrap(JSContext* aCx, mozilla::dom::VRFieldOfView* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
307
308
  template <class T>
309
  inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
310
0
  {
311
0
    JS::Rooted<JSObject*> reflector(aCx);
312
0
    return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
313
0
  }
314
315
  // We declare this as an array so that retrieving a pointer to this
316
  // binding's property hooks only requires compile/link-time resolvable
317
  // address arithmetic.  Declaring it as a pointer instead would require
318
  // doing a run-time load to fetch a pointer to this binding's property
319
  // hooks.  And then structures which embedded a pointer to this structure
320
  // would require a run-time load for proper initialization, which would
321
  // then induce static constructors.  Lots of static constructors.
322
  extern const NativePropertyHooks sNativePropertyHooks[];
323
324
  void
325
  CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
326
327
  inline JS::Handle<JSObject*> GetProtoObjectHandle(JSContext* aCx)
328
0
  {
329
0
    /* Get the interface prototype object for this class.  This will create the
330
0
       object as needed. */
331
0
    return GetPerInterfaceObjectHandle(aCx, prototypes::id::VRFieldOfView,
332
0
                                       &CreateInterfaceObjects,
333
0
                                       /* aDefineOnGlobal = */ true);
334
0
335
0
  }
336
337
  inline JS::Handle<JSObject*> GetConstructorObjectHandle(JSContext* aCx, bool aDefineOnGlobal = true)
338
0
  {
339
0
    /* Get the interface object for this class.  This will create the object as
340
0
       needed. */
341
0
342
0
    return GetPerInterfaceObjectHandle(aCx, constructors::id::VRFieldOfView,
343
0
                                       &CreateInterfaceObjects,
344
0
                                       aDefineOnGlobal);
345
0
  }
346
347
  JSObject*
348
  GetConstructorObject(JSContext* aCx);
349
350
} // namespace VRFieldOfView_Binding
351
352
353
354
namespace VRFrameData_Binding {
355
356
  typedef mozilla::dom::VRFrameData NativeType;
357
358
  bool
359
  ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
360
361
  const JSClass*
362
  GetJSClass();
363
364
  bool
365
  Wrap(JSContext* aCx, mozilla::dom::VRFrameData* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
366
367
  template <class T>
368
  inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
369
0
  {
370
0
    JS::Rooted<JSObject*> reflector(aCx);
371
0
    return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
372
0
  }
373
374
  // We declare this as an array so that retrieving a pointer to this
375
  // binding's property hooks only requires compile/link-time resolvable
376
  // address arithmetic.  Declaring it as a pointer instead would require
377
  // doing a run-time load to fetch a pointer to this binding's property
378
  // hooks.  And then structures which embedded a pointer to this structure
379
  // would require a run-time load for proper initialization, which would
380
  // then induce static constructors.  Lots of static constructors.
381
  extern const NativePropertyHooks sNativePropertyHooks[];
382
383
  void
384
  CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
385
386
  inline JS::Handle<JSObject*> GetProtoObjectHandle(JSContext* aCx)
387
0
  {
388
0
    /* Get the interface prototype object for this class.  This will create the
389
0
       object as needed. */
390
0
    return GetPerInterfaceObjectHandle(aCx, prototypes::id::VRFrameData,
391
0
                                       &CreateInterfaceObjects,
392
0
                                       /* aDefineOnGlobal = */ true);
393
0
394
0
  }
395
396
  inline JS::Handle<JSObject*> GetConstructorObjectHandle(JSContext* aCx, bool aDefineOnGlobal = true)
397
0
  {
398
0
    /* Get the interface object for this class.  This will create the object as
399
0
       needed. */
400
0
401
0
    return GetPerInterfaceObjectHandle(aCx, constructors::id::VRFrameData,
402
0
                                       &CreateInterfaceObjects,
403
0
                                       aDefineOnGlobal);
404
0
  }
405
406
  JSObject*
407
  GetConstructorObject(JSContext* aCx);
408
409
} // namespace VRFrameData_Binding
410
411
412
413
namespace VRPose_Binding {
414
415
  typedef mozilla::dom::VRPose NativeType;
416
417
  bool
418
  ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
419
420
  const JSClass*
421
  GetJSClass();
422
423
  bool
424
  Wrap(JSContext* aCx, mozilla::dom::VRPose* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
425
426
  template <class T>
427
  inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
428
0
  {
429
0
    JS::Rooted<JSObject*> reflector(aCx);
430
0
    return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
431
0
  }
432
433
  // We declare this as an array so that retrieving a pointer to this
434
  // binding's property hooks only requires compile/link-time resolvable
435
  // address arithmetic.  Declaring it as a pointer instead would require
436
  // doing a run-time load to fetch a pointer to this binding's property
437
  // hooks.  And then structures which embedded a pointer to this structure
438
  // would require a run-time load for proper initialization, which would
439
  // then induce static constructors.  Lots of static constructors.
440
  extern const NativePropertyHooks sNativePropertyHooks[];
441
442
  void
443
  CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
444
445
  inline JS::Handle<JSObject*> GetProtoObjectHandle(JSContext* aCx)
446
0
  {
447
0
    /* Get the interface prototype object for this class.  This will create the
448
0
       object as needed. */
449
0
    return GetPerInterfaceObjectHandle(aCx, prototypes::id::VRPose,
450
0
                                       &CreateInterfaceObjects,
451
0
                                       /* aDefineOnGlobal = */ true);
452
0
453
0
  }
454
455
  inline JS::Handle<JSObject*> GetConstructorObjectHandle(JSContext* aCx, bool aDefineOnGlobal = true)
456
0
  {
457
0
    /* Get the interface object for this class.  This will create the object as
458
0
       needed. */
459
0
460
0
    return GetPerInterfaceObjectHandle(aCx, constructors::id::VRPose,
461
0
                                       &CreateInterfaceObjects,
462
0
                                       aDefineOnGlobal);
463
0
  }
464
465
  JSObject*
466
  GetConstructorObject(JSContext* aCx);
467
468
} // namespace VRPose_Binding
469
470
471
472
namespace VRStageParameters_Binding {
473
474
  typedef mozilla::dom::VRStageParameters NativeType;
475
476
  bool
477
  ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
478
479
  const JSClass*
480
  GetJSClass();
481
482
  bool
483
  Wrap(JSContext* aCx, mozilla::dom::VRStageParameters* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
484
485
  template <class T>
486
  inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
487
0
  {
488
0
    JS::Rooted<JSObject*> reflector(aCx);
489
0
    return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
490
0
  }
491
492
  // We declare this as an array so that retrieving a pointer to this
493
  // binding's property hooks only requires compile/link-time resolvable
494
  // address arithmetic.  Declaring it as a pointer instead would require
495
  // doing a run-time load to fetch a pointer to this binding's property
496
  // hooks.  And then structures which embedded a pointer to this structure
497
  // would require a run-time load for proper initialization, which would
498
  // then induce static constructors.  Lots of static constructors.
499
  extern const NativePropertyHooks sNativePropertyHooks[];
500
501
  void
502
  CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
503
504
  inline JS::Handle<JSObject*> GetProtoObjectHandle(JSContext* aCx)
505
0
  {
506
0
    /* Get the interface prototype object for this class.  This will create the
507
0
       object as needed. */
508
0
    return GetPerInterfaceObjectHandle(aCx, prototypes::id::VRStageParameters,
509
0
                                       &CreateInterfaceObjects,
510
0
                                       /* aDefineOnGlobal = */ true);
511
0
512
0
  }
513
514
  inline JS::Handle<JSObject*> GetConstructorObjectHandle(JSContext* aCx, bool aDefineOnGlobal = true)
515
0
  {
516
0
    /* Get the interface object for this class.  This will create the object as
517
0
       needed. */
518
0
519
0
    return GetPerInterfaceObjectHandle(aCx, constructors::id::VRStageParameters,
520
0
                                       &CreateInterfaceObjects,
521
0
                                       aDefineOnGlobal);
522
0
  }
523
524
  JSObject*
525
  GetConstructorObject(JSContext* aCx);
526
527
} // namespace VRStageParameters_Binding
528
529
530
531
namespace VRSubmitFrameResult_Binding {
532
533
  typedef mozilla::dom::VRSubmitFrameResult NativeType;
534
535
  bool
536
  ConstructorEnabled(JSContext* aCx, JS::Handle<JSObject*> aObj);
537
538
  const JSClass*
539
  GetJSClass();
540
541
  bool
542
  Wrap(JSContext* aCx, mozilla::dom::VRSubmitFrameResult* aObject, nsWrapperCache* aCache, JS::Handle<JSObject*> aGivenProto, JS::MutableHandle<JSObject*> aReflector);
543
544
  template <class T>
545
  inline JSObject* Wrap(JSContext* aCx, T* aObject, JS::Handle<JSObject*> aGivenProto)
546
0
  {
547
0
    JS::Rooted<JSObject*> reflector(aCx);
548
0
    return Wrap(aCx, aObject, aObject, aGivenProto, &reflector) ? reflector.get() : nullptr;
549
0
  }
550
551
  // We declare this as an array so that retrieving a pointer to this
552
  // binding's property hooks only requires compile/link-time resolvable
553
  // address arithmetic.  Declaring it as a pointer instead would require
554
  // doing a run-time load to fetch a pointer to this binding's property
555
  // hooks.  And then structures which embedded a pointer to this structure
556
  // would require a run-time load for proper initialization, which would
557
  // then induce static constructors.  Lots of static constructors.
558
  extern const NativePropertyHooks sNativePropertyHooks[];
559
560
  void
561
  CreateInterfaceObjects(JSContext* aCx, JS::Handle<JSObject*> aGlobal, ProtoAndIfaceCache& aProtoAndIfaceCache, bool aDefineOnGlobal);
562
563
  inline JS::Handle<JSObject*> GetProtoObjectHandle(JSContext* aCx)
564
0
  {
565
0
    /* Get the interface prototype object for this class.  This will create the
566
0
       object as needed. */
567
0
    return GetPerInterfaceObjectHandle(aCx, prototypes::id::VRSubmitFrameResult,
568
0
                                       &CreateInterfaceObjects,
569
0
                                       /* aDefineOnGlobal = */ true);
570
0
571
0
  }
572
573
  inline JS::Handle<JSObject*> GetConstructorObjectHandle(JSContext* aCx, bool aDefineOnGlobal = true)
574
0
  {
575
0
    /* Get the interface object for this class.  This will create the object as
576
0
       needed. */
577
0
578
0
    return GetPerInterfaceObjectHandle(aCx, constructors::id::VRSubmitFrameResult,
579
0
                                       &CreateInterfaceObjects,
580
0
                                       aDefineOnGlobal);
581
0
  }
582
583
  JSObject*
584
  GetConstructorObject(JSContext* aCx);
585
586
} // namespace VRSubmitFrameResult_Binding
587
588
589
590
} // namespace dom
591
} // namespace mozilla
592
593
#endif // mozilla_dom_VRDisplayBinding_h