Line data Source code
1 : /* THIS FILE IS AUTOGENERATED FROM BaseKeyframeTypes.webidl BY Codegen.py - DO NOT EDIT */
2 :
3 : #ifndef mozilla_dom_BaseKeyframeTypesBinding_h
4 : #define mozilla_dom_BaseKeyframeTypesBinding_h
5 :
6 : #include "BaseKeyframeTypesBinding.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 BaseComputedKeyframeAtoms;
17 : struct BaseKeyframeAtoms;
18 : struct BasePropertyIndexedKeyframeAtoms;
19 : struct NativePropertyHooks;
20 : class ProtoAndIfaceCache;
21 :
22 : } // namespace dom
23 : } // namespace mozilla
24 :
25 : namespace mozilla {
26 : namespace dom {
27 :
28 : enum class CompositeOperation : uint8_t {
29 : Replace,
30 : Add,
31 : Accumulate,
32 : EndGuard_
33 : };
34 :
35 : namespace CompositeOperationValues {
36 : extern const EnumEntry strings[4];
37 : } // namespace CompositeOperationValues
38 :
39 : bool
40 : ToJSValue(JSContext* aCx, CompositeOperation aArgument, JS::MutableHandle<JS::Value> aValue);
41 :
42 :
43 0 : struct BaseKeyframe : public DictionaryBase
44 : {
45 : MOZ_INIT_OUTSIDE_CTOR Optional<CompositeOperation> mComposite;
46 : MOZ_INIT_OUTSIDE_CTOR nsString mEasing;
47 : MOZ_INIT_OUTSIDE_CTOR Nullable<double> mOffset;
48 : MOZ_INIT_OUTSIDE_CTOR bool mSimulateComputeValuesFailure;
49 :
50 : BaseKeyframe();
51 :
52 0 : explicit inline BaseKeyframe(const FastDictionaryInitializer& )
53 0 : {
54 : // Do nothing here; this is used by our "Fast" subclass
55 0 : }
56 :
57 : explicit inline BaseKeyframe(const BaseKeyframe& aOther)
58 : {
59 : *this = aOther;
60 : }
61 :
62 : bool
63 : Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
64 :
65 : bool
66 : Init(const nsAString& aJSON);
67 :
68 : bool
69 : ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
70 :
71 : bool
72 : ToJSON(nsAString& aJSON) const;
73 :
74 : void
75 : TraceDictionary(JSTracer* trc);
76 :
77 : BaseKeyframe&
78 : operator=(const BaseKeyframe& aOther);
79 :
80 : private:
81 : static bool
82 : InitIds(JSContext* cx, BaseKeyframeAtoms* atomsCache);
83 : };
84 :
85 : namespace binding_detail {
86 0 : struct FastBaseKeyframe : public BaseKeyframe
87 : {
88 0 : inline FastBaseKeyframe()
89 0 : : BaseKeyframe(FastDictionaryInitializer())
90 : {
91 : // Doesn't matter what int we pass to the parent constructor
92 0 : }
93 : };
94 : } // namespace binding_detail
95 :
96 :
97 0 : struct BasePropertyIndexedKeyframe : public DictionaryBase
98 : {
99 : MOZ_INIT_OUTSIDE_CTOR Optional<CompositeOperation> mComposite;
100 : MOZ_INIT_OUTSIDE_CTOR nsString mEasing;
101 :
102 : BasePropertyIndexedKeyframe();
103 :
104 0 : explicit inline BasePropertyIndexedKeyframe(const FastDictionaryInitializer& )
105 0 : {
106 : // Do nothing here; this is used by our "Fast" subclass
107 0 : }
108 :
109 : explicit inline BasePropertyIndexedKeyframe(const BasePropertyIndexedKeyframe& aOther)
110 : {
111 : *this = aOther;
112 : }
113 :
114 : bool
115 : Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
116 :
117 : bool
118 : Init(const nsAString& aJSON);
119 :
120 : bool
121 : ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
122 :
123 : bool
124 : ToJSON(nsAString& aJSON) const;
125 :
126 : void
127 : TraceDictionary(JSTracer* trc);
128 :
129 : BasePropertyIndexedKeyframe&
130 : operator=(const BasePropertyIndexedKeyframe& aOther);
131 :
132 : private:
133 : static bool
134 : InitIds(JSContext* cx, BasePropertyIndexedKeyframeAtoms* atomsCache);
135 : };
136 :
137 : namespace binding_detail {
138 0 : struct FastBasePropertyIndexedKeyframe : public BasePropertyIndexedKeyframe
139 : {
140 0 : inline FastBasePropertyIndexedKeyframe()
141 0 : : BasePropertyIndexedKeyframe(FastDictionaryInitializer())
142 : {
143 : // Doesn't matter what int we pass to the parent constructor
144 0 : }
145 : };
146 : } // namespace binding_detail
147 :
148 :
149 0 : struct BaseComputedKeyframe : public BaseKeyframe
150 : {
151 : MOZ_INIT_OUTSIDE_CTOR Optional<double> mComputedOffset;
152 :
153 : BaseComputedKeyframe();
154 :
155 : explicit inline BaseComputedKeyframe(const FastDictionaryInitializer& )
156 : : BaseKeyframe(FastDictionaryInitializer())
157 : {
158 : // Do nothing here; this is used by our "Fast" subclass
159 : }
160 :
161 : explicit inline BaseComputedKeyframe(const BaseComputedKeyframe& aOther)
162 : {
163 : *this = aOther;
164 : }
165 :
166 : bool
167 : Init(JSContext* cx, JS::Handle<JS::Value> val, const char* sourceDescription = "Value", bool passedToJSImpl = false);
168 :
169 : bool
170 : Init(const nsAString& aJSON);
171 :
172 : bool
173 : ToObjectInternal(JSContext* cx, JS::MutableHandle<JS::Value> rval) const;
174 :
175 : bool
176 : ToJSON(nsAString& aJSON) const;
177 :
178 : void
179 : TraceDictionary(JSTracer* trc);
180 :
181 : BaseComputedKeyframe&
182 : operator=(const BaseComputedKeyframe& aOther);
183 :
184 : private:
185 : static bool
186 : InitIds(JSContext* cx, BaseComputedKeyframeAtoms* atomsCache);
187 : };
188 :
189 : namespace binding_detail {
190 : struct FastBaseComputedKeyframe : public BaseComputedKeyframe
191 : {
192 : inline FastBaseComputedKeyframe()
193 : : BaseComputedKeyframe(FastDictionaryInitializer())
194 : {
195 : // Doesn't matter what int we pass to the parent constructor
196 : }
197 : };
198 : } // namespace binding_detail
199 :
200 :
201 : } // namespace dom
202 : } // namespace mozilla
203 :
204 : #endif // mozilla_dom_BaseKeyframeTypesBinding_h
|