Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/dist/include/mozilla/dom/WidevineCDMManifestBinding.h
Line
Count
Source (jump to first uncovered line)
1
/* THIS FILE IS AUTOGENERATED FROM WidevineCDMManifest.webidl BY Codegen.py - DO NOT EDIT */
2
3
#ifndef mozilla_dom_WidevineCDMManifestBinding_h
4
#define mozilla_dom_WidevineCDMManifestBinding_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/Nullable.h"
12
13
namespace mozilla {
14
namespace dom {
15
16
struct NativePropertyHooks;
17
class ProtoAndIfaceCache;
18
struct WidevineCDMManifestAtoms;
19
20
} // namespace dom
21
} // namespace mozilla
22
23
namespace mozilla {
24
namespace dom {
25
26
struct WidevineCDMManifest : public DictionaryBase
27
{
28
  MOZ_INIT_OUTSIDE_CTOR nsString mDescription;
29
  MOZ_INIT_OUTSIDE_CTOR nsString mName;
30
  MOZ_INIT_OUTSIDE_CTOR nsString mVersion;
31
  MOZ_INIT_OUTSIDE_CTOR nsString mX_cdm_codecs;
32
  MOZ_INIT_OUTSIDE_CTOR nsString mX_cdm_host_versions;
33
  MOZ_INIT_OUTSIDE_CTOR nsString mX_cdm_interface_versions;
34
  MOZ_INIT_OUTSIDE_CTOR nsString mX_cdm_module_versions;
35
36
  WidevineCDMManifest();
37
38
  explicit inline WidevineCDMManifest(const FastDictionaryInitializer& )
39
0
  {
40
0
    // Do nothing here; this is used by our "Fast" subclass
41
0
  }
42
43
  explicit inline WidevineCDMManifest(const WidevineCDMManifest& aOther)
44
0
  {
45
0
    *this = aOther;
46
0
  }
47
48
  bool
49
  Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
50
51
  bool
52
  Init(const nsAString& aJSON);
53
54
  bool
55
  ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
56
57
  bool
58
  ToJSON(nsAString& aJSON) const;
59
60
  void
61
  TraceDictionary(JSTracer* trc);
62
63
  WidevineCDMManifest&
64
  operator=(const WidevineCDMManifest& aOther);
65
66
private:
67
  static bool
68
  InitIds(JSContext* cx, WidevineCDMManifestAtoms* atomsCache);
69
};
70
71
namespace binding_detail {
72
struct FastWidevineCDMManifest : public WidevineCDMManifest
73
{
74
  inline FastWidevineCDMManifest()
75
    : WidevineCDMManifest(FastDictionaryInitializer())
76
0
  {
77
0
    // Doesn't matter what int we pass to the parent constructor
78
0
  }
79
};
80
} // namespace binding_detail
81
82
83
} // namespace dom
84
} // namespace mozilla
85
86
#endif // mozilla_dom_WidevineCDMManifestBinding_h