Line data Source code
1 : /* THIS FILE IS AUTOGENERATED FROM KeyframeAnimationOptions.webidl BY Codegen.py - DO NOT EDIT */
2 :
3 : #include "KeyframeAnimationOptionsBinding.h"
4 : #include "mozilla/dom/NonRefcountedDOMObject.h"
5 : #include "mozilla/dom/PrimitiveConversions.h"
6 :
7 : namespace mozilla {
8 : namespace dom {
9 :
10 : bool
11 0 : UnrestrictedDoubleOrKeyframeAnimationOptions::ToJSVal(JSContext* cx, JS::Handle<JSObject*> scopeObj, JS::MutableHandle<JS::Value> rval) const
12 : {
13 0 : switch (mType) {
14 : case eUninitialized: {
15 0 : return false;
16 : break;
17 : }
18 : case eUnrestrictedDouble: {
19 0 : rval.set(JS_NumberValue(double(mValue.mUnrestrictedDouble.Value())));
20 0 : return true;
21 : break;
22 : }
23 : case eKeyframeAnimationOptions: {
24 0 : if (!mValue.mKeyframeAnimationOptions.Value().ToObjectInternal(cx, rval)) {
25 0 : return false;
26 : }
27 0 : return true;
28 : break;
29 : }
30 : default: {
31 0 : return false;
32 : break;
33 : }
34 : }
35 :
36 : return false;
37 : }
38 :
39 :
40 : double&
41 0 : OwningUnrestrictedDoubleOrKeyframeAnimationOptions::RawSetAsUnrestrictedDouble()
42 : {
43 0 : if (mType == eUnrestrictedDouble) {
44 0 : return mValue.mUnrestrictedDouble.Value();
45 : }
46 0 : MOZ_ASSERT(mType == eUninitialized);
47 0 : mType = eUnrestrictedDouble;
48 0 : return mValue.mUnrestrictedDouble.SetValue();
49 : }
50 :
51 : double&
52 0 : OwningUnrestrictedDoubleOrKeyframeAnimationOptions::SetAsUnrestrictedDouble()
53 : {
54 0 : if (mType == eUnrestrictedDouble) {
55 0 : return mValue.mUnrestrictedDouble.Value();
56 : }
57 0 : Uninit();
58 0 : mType = eUnrestrictedDouble;
59 0 : return mValue.mUnrestrictedDouble.SetValue();
60 : }
61 :
62 : bool
63 0 : OwningUnrestrictedDoubleOrKeyframeAnimationOptions::TrySetToUnrestrictedDouble(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl)
64 : {
65 0 : tryNext = false;
66 : { // scope for memberSlot
67 0 : double& memberSlot = RawSetAsUnrestrictedDouble();
68 0 : if (!ValueToPrimitive<double, eDefault>(cx, value, &memberSlot)) {
69 0 : return false;
70 : }
71 : }
72 0 : return true;
73 : }
74 :
75 : void
76 0 : OwningUnrestrictedDoubleOrKeyframeAnimationOptions::DestroyUnrestrictedDouble()
77 : {
78 0 : MOZ_ASSERT(IsUnrestrictedDouble(), "Wrong type!");
79 0 : mValue.mUnrestrictedDouble.Destroy();
80 0 : mType = eUninitialized;
81 0 : }
82 :
83 :
84 :
85 :
86 : KeyframeAnimationOptions&
87 0 : OwningUnrestrictedDoubleOrKeyframeAnimationOptions::RawSetAsKeyframeAnimationOptions()
88 : {
89 0 : if (mType == eKeyframeAnimationOptions) {
90 0 : return mValue.mKeyframeAnimationOptions.Value();
91 : }
92 0 : MOZ_ASSERT(mType == eUninitialized);
93 0 : mType = eKeyframeAnimationOptions;
94 0 : return mValue.mKeyframeAnimationOptions.SetValue();
95 : }
96 :
97 : KeyframeAnimationOptions&
98 0 : OwningUnrestrictedDoubleOrKeyframeAnimationOptions::SetAsKeyframeAnimationOptions()
99 : {
100 0 : if (mType == eKeyframeAnimationOptions) {
101 0 : return mValue.mKeyframeAnimationOptions.Value();
102 : }
103 0 : Uninit();
104 0 : mType = eKeyframeAnimationOptions;
105 0 : return mValue.mKeyframeAnimationOptions.SetValue();
106 : }
107 :
108 : bool
109 0 : OwningUnrestrictedDoubleOrKeyframeAnimationOptions::TrySetToKeyframeAnimationOptions(JSContext* cx, JS::Handle<JS::Value> value, bool& tryNext, bool passedToJSImpl)
110 : {
111 0 : tryNext = false;
112 : { // scope for memberSlot
113 0 : KeyframeAnimationOptions& memberSlot = RawSetAsKeyframeAnimationOptions();
114 0 : if (!IsConvertibleToDictionary(value)) {
115 0 : DestroyKeyframeAnimationOptions();
116 0 : tryNext = true;
117 0 : return true;
118 : }
119 0 : if (!memberSlot.Init(cx, value, "Member of UnrestrictedDoubleOrKeyframeAnimationOptions", passedToJSImpl)) {
120 0 : return false;
121 : }
122 : }
123 0 : return true;
124 : }
125 :
126 : void
127 0 : OwningUnrestrictedDoubleOrKeyframeAnimationOptions::DestroyKeyframeAnimationOptions()
128 : {
129 0 : MOZ_ASSERT(IsKeyframeAnimationOptions(), "Wrong type!");
130 0 : mValue.mKeyframeAnimationOptions.Destroy();
131 0 : mType = eUninitialized;
132 0 : }
133 :
134 :
135 :
136 :
137 : void
138 0 : OwningUnrestrictedDoubleOrKeyframeAnimationOptions::Uninit()
139 : {
140 0 : switch (mType) {
141 : case eUninitialized: {
142 0 : break;
143 : }
144 : case eUnrestrictedDouble: {
145 0 : DestroyUnrestrictedDouble();
146 0 : break;
147 : }
148 : case eKeyframeAnimationOptions: {
149 0 : DestroyKeyframeAnimationOptions();
150 0 : break;
151 : }
152 : }
153 0 : }
154 :
155 : bool
156 0 : OwningUnrestrictedDoubleOrKeyframeAnimationOptions::ToJSVal(JSContext* cx, JS::Handle<JSObject*> scopeObj, JS::MutableHandle<JS::Value> rval) const
157 : {
158 0 : switch (mType) {
159 : case eUninitialized: {
160 0 : return false;
161 : break;
162 : }
163 : case eUnrestrictedDouble: {
164 0 : rval.set(JS_NumberValue(double(mValue.mUnrestrictedDouble.Value())));
165 0 : return true;
166 : break;
167 : }
168 : case eKeyframeAnimationOptions: {
169 0 : if (!mValue.mKeyframeAnimationOptions.Value().ToObjectInternal(cx, rval)) {
170 0 : return false;
171 : }
172 0 : return true;
173 : break;
174 : }
175 : default: {
176 0 : return false;
177 : break;
178 : }
179 : }
180 :
181 : return false;
182 : }
183 :
184 : void
185 0 : OwningUnrestrictedDoubleOrKeyframeAnimationOptions::TraceUnion(JSTracer* trc)
186 : {
187 0 : }
188 :
189 : OwningUnrestrictedDoubleOrKeyframeAnimationOptions&
190 0 : OwningUnrestrictedDoubleOrKeyframeAnimationOptions::operator=(const OwningUnrestrictedDoubleOrKeyframeAnimationOptions& aOther)
191 : {
192 0 : switch (aOther.mType) {
193 : case eUninitialized: {
194 0 : MOZ_ASSERT(mType == eUninitialized,
195 : "We need to destroy ourselves?");
196 0 : break;
197 : }
198 : case eUnrestrictedDouble: {
199 0 : SetAsUnrestrictedDouble() = aOther.GetAsUnrestrictedDouble();
200 0 : break;
201 : }
202 : case eKeyframeAnimationOptions: {
203 0 : SetAsKeyframeAnimationOptions() = aOther.GetAsKeyframeAnimationOptions();
204 0 : break;
205 : }
206 : }
207 0 : return *this;
208 : }
209 :
210 :
211 : } // namespace dom
212 : } // namespace mozilla
|